Bardzo potrzebowaliśmy podobnych możliwości i do tego celu stworzyliśmy ogólną, darmową bibliotekę Pythona typu open source. Można go znaleźć na https://github.com/ucd-cws/arcpy_metadata lub uruchamiając „pip install arcpy_metadata”. Istnieje pewna dokumentacja funkcji i sposobu ich używania, z dodatkowymi wkładami World Resources Institute. Staraliśmy się zachować względnie Pythonic, aby dobrze się integrował i mógł być szybko nauczony. Oto przykład:
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!
Nadal ma wiele do dodania, ale jest dość rozszerzalny, jeśli podklasujesz już istniejące elementy lub skonfigurujesz je poprawnie. Nadal chodzi o oprogramowanie w jakości alfa, ale działa i jesteśmy z niego zadowoleni.
Każdy, kto szuka tej możliwości w ArcGIS Pro, począwszy od wersji 2.5, ma teraz interfejs API metadanych z Python. Więcej informacji znajduje się w dokumentacji klasy Metadata .