Erstellen Sie in ArcGIS 10 Metadaten für mehrere Datasets gleichzeitig

11

Ich versuche, eine Möglichkeit zu finden, Metadaten über Arc Catalog für mehrere Datasets gleichzeitig zu erstellen. Ich arbeite in einer Datei-Geodatabase, die aus mehreren Feature-Classes und Rastern besteht. Die Daten haben ein gemeinsames Thema, daher möchte ich eine Vorlage mit Metadaten für ein Element erstellen und dann andere Datensätze mit denselben Metadateninformationen füllen. Ich plane die Verwendung einer ISO-Standard-Metadatenvorlage.

Ich habe einige Nachforschungen angestellt und es scheint, dass es drei Optionen gibt (aber keine davon ist bisher zu erfolgreich): - Verwenden Sie das Tool 'Metadata Importer' in der Conversion Toolbox (ich kann jedoch Metadaten eins zu eins kopieren Nur Basis) - X-tools pro verfügt über die Option "Batch-Metadaten bearbeiten". Nach dem Festlegen der Parameter in ArcMap können diese Änderungen jedoch nicht über Arc Catalog angezeigt werden. Die dritte Option ist das Hinzufügen von "Batch-Importer" ( http: //edndoc.esri) .com / arcobjects / 9.0 / Samples / Metadaten / Importeure / Batch_Importer / Batch_Importer.htm ). Ich konnte es zu ArcCatalog hinzufügen, kann es jedoch nicht ausführen (ich erhalte die Fehlermeldung 'ICommand_OnClick ()).

Ich arbeite mit ArcGIS 10.

Magda
quelle
Ich habe versucht, die Schritte zu machen, wie Oliver sagte, und es macht Sinn, aber ich weiß nicht, was ich mit der ISO anfangen soll, weil er sagte (das System natürlich ...) "Datensatz Arcgis zu ISO 19139 existiert nicht oder nicht unterstützt "Ich habe die Option all ausprobiert, aber sie funktioniert nicht. Ich arbeite mit Arcinfo 10.0 / SP5-Bitten, die mich ansprechen: [email protected]

Antworten:

4

Es tut mir leid zu sagen, dass Sie ab SP2 keinen schnellen Weg finden werden, dies zu tun. In erster Linie, weil Metadaten in ArcGIS 10 stark beschädigt sind. Ich würde wirklich nicht erwarten, dass der Beispielcode, den Sie sehen, sauber funktioniert. Ich vermute, dass er sogar die Metadaten beschädigen könnte. Ihre einzige Möglichkeit besteht darin, dies manuell zu tun.

Wir haben in den letzten 2 Monaten ein umfangreiches Projekt zur Aktualisierung von Metadaten durchgeführt. Aufgrund der Probleme in ArcGIS 10 mussten wir es manuell ausführen. Schicht nach Schicht.

Ich wünschte, es gäbe bessere Nachrichten für Sie. Ich wünsche Ihnen Glück.

DEWright
quelle
Danke für deine Antwort. Glücklicherweise ist der Datensatz, an dem ich arbeite, nicht zu umfangreich, sodass ich ihn innerhalb weniger Stunden manuell ausführen kann. Eine Frage stellt sich jedoch, wenn der Datensatz groß ist. Etwas für Esri zum Nachdenken ..
Magda
Ich verstehe, oder was ist mit der Möglichkeit, bestimmte globale Optionen auf einen Stapel von Dateien festzulegen, z. B. Aktualisierungen von Kontaktinformationen oder Ihre Haftungsausschlüsse. So etwas würde so vielen Benutzern helfen.
DEWright
Ich glaube, ich habe es mit ein paar Änderungen an den vorhandenen Tools geknackt. Lassen Sie mich wissen, wenn Sie interessiert sind
Oliver Burdekin
@ Magda Hast du das Tool schon ausprobiert?
Oliver Burdekin
5

Ich habe gerade gleichzeitig Metadaten für einige Raster erstellt. Sie befanden sich in einem Dateiarbeitsbereich im Gegensatz zu einem Geodatabase-Arbeitsbereich, daher bin ich mir nicht sicher, ob dies ein Problem sein wird. Wenn ich das richtig verstehe, versuchen Sie, generische Metadaten für mehrere Dateien zu erstellen. Folgendes habe ich getan:

Öffnen Sie arcCatalog und aktualisieren Sie die Metadaten für eine der Dateien

Seien Sie generisch, damit der Text für alle Dateien gilt

Exportieren Sie die Metadaten in denselben Ordner. (Ich habe die Implementierungsspezifikation für ISO 19139-Metadaten in meinen arcCatalog-Optionen ausgewählt.)

Die Datei wird als XML-Datei exportiert.

Öffnen Sie das folgende Tool: Konvertierungs-Tools> Metadaten> Metadaten importieren ... öffnen Sie es mit einem Rechtsklick und wählen Sie "Stapel" (es ist das mit dem Model Builder-Symbol daneben).

Jetzt können Sie Ihre exportierte XML-Metadaten-Datei als Quelle hinzufügen und zu allen Dateien navigieren, auf die Sie als Ziel anwenden möchten.

Zugegeben, es ist etwas umständlich, dies für große Datenmengen zu tun (z. B. zum Navigieren zu jeder Datei), aber da dies ein Modell ist, können Sie es leicht ändern, um stattdessen als Werkzeug zu arbeiten. Wählen Sie die rekursive Option, um alle Dateien in einem Ordner hinzuzufügen, an die die Metadaten angehängt werden sollen. Tatsächlich könnte ich das jetzt tun und es hier posten.

* Update *

Ich habe ein Tool erstellt, das meinen Zweck erfüllt, nur den Abschnitt BESCHREIBUNG einer Datei zu aktualisieren. Wenn Sie es verwenden möchten, lassen Sie es mich bitte wissen. Es hat Macken, aber es läuft.

Oliver Burdekin
quelle
Ich habe im Batch-Modus "Metadaten importieren" verwendet. @Oliver - ja - ich wäre sehr interessiert, dieses Tool zu sehen!
Magda
@Magda Sie können mir eine E-Mail an [email protected] senden. Es wäre gut, dieses Modell an Daten anderer zu testen.
Oliver Burdekin
Hallo @Oliver, ich möchte Ihr Tool verwenden. Dann muss ich es nicht noch einmal selbst versuchen. Danke :-)
Shiuli Pervin
Hallo @ShiuliPervin Bitte senden Sie mir eine E-Mail an [email protected] mit einem Beispiel Ihrer Daten und Ihren genauen Anforderungen. Bitte geben Sie Ihre Version von ArcGIS an. Vielen Dank.
Oliver Burdekin
0

Ja, ich habe dieses kleine Skript erstellt, das ich mit dem Jupyter-Notizbuch ausführe. Ändern Sie einfach nach Bedarf die Variablen metadatain und metawriter . Es werden rekursiv Metadaten zu allen Dateien mit einer Erweiterung (z. B. shp) in einem Verzeichnis hinzugefügt.

import os
import xml.etree.ElementTree as ET
metadatain = ET.parse(r'ADDRESS\TO\METADATA.xml')
root = metadatain.getroot()

def metawriter(folder_path, extension):
    for path, subdirs, files in os.walk(folder_path):
        for name in files:
            file_extension = os.path.splitext(name)[-1]
            if(extension in file_extension):
            #if(file_extension.lower() in name.lower()):
                file_path = os.path.join(path,name)
                file_name = os.path.splitext(file_path)[0]
                print(file_path)
                print(file_name)
                metafile = file_name + extension + ".xml"
                print(metafile)
                metadatain.write(metafile)



metawriter(r'ADDRESS\TO\FOLDER', '.FILEXTENSION')

* Beachten Sie die Backslashes

Roberto Zeeland
quelle