Wir hatten einen großen Bedarf an ähnlichen Funktionen und bauten zu diesem Zweck eine allgemeine, kostenlose Open-Source-Python-Bibliothek auf. Sie finden es unter https://github.com/ucd-cws/arcpy_metadata oder indem Sie eine "pip install arcpy_metadata" ausführen. Es gibt einige Dokumentationen zu Funktionen und deren Verwendung sowie einige zusätzliche Beiträge des World Resources Institute. Wir haben versucht, die Dinge relativ pythonisch zu halten, damit sie sich gut integrieren und schnell erlernt werden können. Hier ist ein Beispiel:
import arcpy_metadata as md
import datetime
metadata = md.MetadataEditor(path_to_some_feature_class) # also has a feature_layer parameter if you're working with one, but edits get saved back to the source feature class
metadata.title = "The metadata title!"
generated_time = "This layer was generated on {0:s}".format(datetime.datetime.now().strftime("%m/%d/%Y %I:%M %p"))
metadata.purpose = "Layer represents locations of the rare Snipe."
metadata.abstract.append("generated by ___ software")
metadata.abstract.append(generated_time) # .prepend also exists
metadata.tags.add(["foo", "bar", "baz"]) # tags.extend is equivalent to maintain list semantics
metadata.finish() # save the metadata back to the original source feature class and cleanup. Without calling finish(), your edits are NOT saved!
Es gibt noch viele, die hinzugefügt werden könnten, ist aber ziemlich erweiterbar, wenn Sie die bereits vorhandenen Elemente in Unterklassen unterteilen oder sie korrekt konfigurieren. Es geht immer noch um Software in Alpha-Qualität, aber es funktioniert und wir sind damit zufrieden.
Für alle, die diese Funktion in ArcGIS Pro ab Version 2.5 suchen, ist jetzt eine Metadaten-API von Python enthalten. Weitere Details finden Sie in der Dokumentation zur Metadatenklasse .