Mehr

Kontrollkästchenparameter im Python-Skriptwerkzeug für ArcGIS Desktop erstellen?


Ich arbeite daran, ein ArcGIS-Tool aus einem Python-Skript zu erstellen, das ich schreibe. Ich frage mich, ob es möglich ist, einen Checkbox-Parameter zu haben.

Ich möchte einen Parameter haben, bei dem der Benutzer eine Feature-Class auswählt, dann wählt der Benutzer aus der Feature-Class das Feld für den obersten Layer in seinem Modell aus mit einer Checkbox-Struktur, die aus dem obersten Layer-Feld abgeleitet wird, weiterzulaufen.

Ist dies mit Python und ArcGIS Desktop möglich?


Ein Beispielcode für ein Skripttool mit einem einzelnen Kontrollkästchen. Wenn ein Kontrollkästchen von einem Benutzer aktiviert wird, überprüft das Tool die Existenz einer angegebenen Datendatei.

import arcpy input_fc = r'C:GISTempdata_shp.shp' #Abrufen des Eingabeparameters - wird ein Werkzeugparameter in ArcGIS vom booleschen Typ ischecked = arcpy.GetParameterAsText(0) #Wichtig, um den Kontrollkästchenwert in . zu konvertieren zuerst eine Schnur. #Sollte 'true' sein mit dem kleinen Fall für 't', #nicht 'True' wie im Python-Fenster in ArcGIS angezeigt if str(ichecked) == 'true': arcpy.AddMessage("Das Kontrollkästchen wurde aktiviert ") result = arcpy.Exists(input_fc) #um 'True' oder 'False' zurückzugeben, je nachdem ob die Datendatei existiert #da es ein Boolean ist, ist es wichtig, sie in einen String umzuwandeln arcpy.AddMessage(str(result)) else: #in diesem Fall ist der Wert des Kontrollkästchens 'false', der Benutzer hat das Kontrollkästchen arcpy.AddMessage("Das Kontrollkästchen wurde nicht aktiviert") nicht aktiviert

Denken Sie daran, einen Werkzeugparameter vom Datentyp Boolean hinzuzufügen, wenn Sie ein neues Skriptwerkzeug in der ArcGIS Desktop-Anwendung erstellen. Dieser Parameter wird automatisch als Kontrollkästchen angezeigt, wenn der Benutzer das Tool ausführt.


Um zu sehen, wie Sie ein Kontrollkästchen im Dialogfeld eines Python-Skripttools anzeigen, verwenden Sie einen Testcode wie diesen:

inputString = arcpy.GetParameterAsText(0) inputBoolean = arcpy.GetParameterAsText(1) arcpy.AddMessage("String set to " + inputString) arcpy.AddMessage("Boolean set to " + str(inputBoolean))

Wenn Sie dieses Skript dann als Werkzeug hinzufügen, benötigen Sie zwei Parameter, den ersten vom Datentyp String und den zweiten vom Datentyp Boolean.


  • In jedem Windows-Betriebssystem befindet sich der Anwendungsdatenordner unter %appdata% und der Temp-Ordner des Benutzers unter %temp% . Wenn Sie %appdata% in ein Befehlsfenster eingeben, wird der Speicherort der AppData-Datei zurückgegeben. Die Eingabe von %temp% gibt den Speicherort des temporären Ordners zurück.
  • In Unix-Systemen befinden sich die Ordner tmp und Application Data im Home-Verzeichnis des Benutzers unter $HOME bzw. $TMP . Die Eingabe von /tmp in einem Terminal gibt den Standort zurück.

Jedes Geoverarbeitungswerkzeug, das geografische Transformationen verwendet, betrachtet alle benutzerdefinierten Transformationen am Standardspeicherort und zeigt sie als gültige Transformationsoptionen im Dialogfeld unter der Dropdown-Liste des Parameters Geografische Transformation an.

Benutzerdefinierte Transformationsdateien können nicht bearbeitet werden. Es handelt sich um Binärdateien, die Versions- und Zeichenfolgenlängeninformationen speichern, die beschädigt werden können, wenn sie außerhalb des Geoverarbeitungs-Frameworks bearbeitet werden. Um die Datei zu aktualisieren, sollten Sie eine neue benutzerdefinierte geografische Transformation erstellen und die vorhandene Datei überschreiben.


7 Antworten 7

Es ist unklar, was Sie mit "Aktualisieren" meinen, aber das normale Verhalten von Python ist, dass Sie die Software neu starten müssen, um ein Python-Modul neu zu betrachten und es erneut zu lesen.

Wenn Ihre Änderungen auch nach dem Neustart nicht berücksichtigt werden, liegt dies an einem von zwei Fehlern:

  1. Der Zeitstempel in der pyc-Datei ist falsch und liegt in der Zukunft.
  2. Sie bearbeiten tatsächlich die falsche Datei.

Sie können mit reload eine Datei erneut lesen, auch ohne die Software mit dem Befehl reload() neu zu starten. Beachten Sie, dass jede Variable, die auf etwas im Modul verweist, nach dem Neuladen neu importiert werden muss. Etwas wie das:

Eine Möglichkeit, dies zu tun, besteht darin, reload aufzurufen.

Beispiel: Hier ist der Inhalt von foo.py :

In einer interaktiven Sitzung kann ich Folgendes tun:

Dann kann ich in einem anderen Fenster foo.py ändern in:

Zurück in der interaktiven Sitzung gibt der Aufruf von foo.bar() immer noch 1 zurück, bis ich Folgendes tue:

Reload aufrufen ist einer um sicherzustellen, dass Ihr Modul auf dem neuesten Stand ist, auch wenn sich die Datei auf der Festplatte geändert hat. Es ist nicht unbedingt das effizienteste (möglicherweise ist es besser, den letzten Änderungszeitpunkt der Datei zu überprüfen oder etwas wie pyinotify zu verwenden, bevor Sie neu laden), aber es ist sicherlich schnell zu implementieren.

Ein Grund dafür, dass Python nicht jedes Mal aus dem Quellmodul liest, ist, dass das Laden eines Moduls (relativ) teuer ist – was wäre, wenn Sie ein 300-kb-Modul hätten und nur eine einzelne Konstante aus der Datei verwenden würden? Python lädt ein Modul einmal und behält es im Speicher, bis Sie es erneut laden.

Ich habe beim Importieren aller Objekte aus einem Modul Folgendes verwendet, um sicherzustellen, dass web2py meinen aktuellen Code verwendet:

Wenn Sie in einer IPython-Shell laufen, gibt es einige magische Befehle.

Die IPython-Dokumentation behandelt diese Funktion, die als Autoreload-Erweiterung bezeichnet wird.

Ursprünglich habe ich diese Lösung aus dem Blog-Posting von Jonathan March zu genau diesem Thema gefunden (siehe Punkt 3 von diesem Link).

Im Grunde müssen Sie nur Folgendes tun, und Änderungen, die Sie vornehmen, werden nach dem Speichern automatisch übernommen:

Ich bin mir nicht sicher, ob Sie das meinen, also zögern Sie nicht, mich zu korrigieren. Sie importieren ein Modul - nennen wir es mymodule.py - in Ihr Programm, aber wenn Sie seinen Inhalt ändern, sehen Sie keinen Unterschied?

Python sucht nicht bei jeder Verwendung nach Änderungen in mymodule.py, sondern lädt es ein erstes Mal, kompiliert es in Bytecode und behält es intern bei. Es wird normalerweise auch den kompilierten Bytecode (mymodule.pyc) speichern. Wenn Sie Ihr Programm das nächste Mal starten, prüft es, ob mymodule.py aktueller ist als mymodule.pyc und kompiliert es gegebenenfalls neu.

Bei Bedarf können Sie das Modul explizit neu laden:

Natürlich ist es komplizierter und Sie können Nebenwirkungen haben, je nachdem, was Sie mit Ihrem Programm in Bezug auf das andere Modul tun, zum Beispiel wenn Variablen von Klassen abhängig sind, die in mymodule definiert sind.

Alternativ können Sie die Funktion execfile (oder exec() , eval() , compil() ) verwenden.


Erfolg bei der Integration von Hawth's Tools und ArcGIS 10.1 über Python?

Daher habe ich daran gearbeitet, die Werkzeuge für die Geospatial Modeling Environment (ehemals Hawth's) über Python in ArcGIS 10.1 zu integrieren. Unten ist der Code, den ich verwende, der hervorragend funktioniert, um eine Textdatei mit Code zu erstellen und dann GME über Python aufzurufen, um die von mir verwendeten Shapefiles zu verarbeiten. Soweit ich das beurteilen kann, konnte ich wörtlich nachahmen, was der Ersteller in Python angibt (siehe seine Dokumentation hier: http://www.spatialecology.com/gme/images/SpatialEcologyGME.pdf)

Während dieser Prozess jedoch gut funktioniert, stoße ich am Ende einfach auf eine andere Wand. Es öffnet GME, aber leider tut es nichts. Es scheint letztendlich die erstellte Textdatei nicht auszuführen. Das isectpolyrst-Tool funktioniert wie Tabulate Area, also sollten theoretisch alle Werte an die Polygondaten angehängt werden, aber durch Python scheint dies nicht zu funktionieren. (Und ich verwende GME, weil Tabulate Area die Größe meiner Datendateien nicht verarbeiten kann und sowohl in Arc als auch als Python-Skript abstürzt).

Ich frage mich, ob es jemandem gelungen ist, GME erfolgreich über Python zur Verwendung in einem ArcPy-Skript auszuführen, damit die Aufgabe automatisiert werden kann, anstatt über GME und dann in Arc gehen zu müssen. Meine Suche deutet darauf hin, dass dies ein häufiges Problem für diejenigen ist, die versuchen, den Prozess zu automatisieren, aber soweit ich weiß, fehlt mir nur irgendwo ein Doppelpunkt oder ein anderer Code.


Einige unserer Kunden

Wächst schnell!

Wir möchten unsere Präsenz in Indien ausbauen!

Als Business Development Manager werden Sie:

  • Geschäft in Indien ausbauen
  • lokale Talente rekrutieren (Vertrieb, Agenten, Trainer, Berater)
  • lokale Trainer und Berater rekrutieren

Wir bieten:

  • Künstliche Intelligenz und Big Data-Systeme zur Unterstützung Ihres lokalen Betriebs
  • Hightech-Automatisierung
  • laufend aktualisierter Kurskatalog und Inhalt
  • viel spaß im internationalen team

Wenn Sie daran interessiert sind, ein hochtechnologisches, qualitativ hochwertiges Schulungs- und Beratungsunternehmen zu führen.


Installieren Sie das folgende Modul, das den 2to3-Befehl direkt zu entry_points hinzufügt.

Wie es in 2to3-Dokumenten geschrieben steht, verwenden Sie zum Übersetzen eines gesamten Projekts von einem Verzeichnisbaum in einen anderen:

Wenn Sie 2to3 nicht in Ihrem Pfad haben, können Sie lib2to3 direkt aufrufen:

Und wie in den Dokumenten (und anderen Antworten) erwähnt, können Sie einige Flags für weitere Anpassungen verwenden:

  • das Flag -w, um das Zurückschreiben zu aktivieren, das die Änderungen auf die Datei anwendet
  • das -n um Backups zu deaktivieren disable

(Es gibt noch ein paar weitere Flags. Weitere Informationen finden Sie in der Dokumentation.)

Führen Sie zuerst 2to3 im "soft mode" aus, um zu sehen, was es tatsächlich tun würde:

Wenn Sie damit zufrieden sind, können Sie 2to3 "echt" ausführen:

Und jetzt hast du richtig 2to3 gelaufen :)

path_to_python = Verzeichnis, in dem Python installiert ist

output_dir = Verzeichnis, in das die Python3-Skripte ausgegeben werden sollen

input_dir = Verzeichnis, aus dem die Python2-Skripte gelesen werden sollen

Um alle Python-2-Dateien in einem Verzeichnis in 3 zu konvertieren, können Sie einfach $ C:ProgrammePythonToolsScripts2to3.py -w -n ausführen. in dem Verzeichnis, das Sie übersetzen möchten. Es würde sowieso alle Nicht-.py-Dateien überspringen und den Rest konvertieren.
Hinweis: Entfernen Sie das Flag -n, wenn Sie auch die Sicherungsdatei möchten.

Um den Code von Python2 in Python3 zu konvertieren, installieren Sie zuerst das 2to3-Paket mit package

Führen Sie dann diesen Befehl in dem Verzeichnis aus, in dem sich Ihr Python-Code befindet

  • -w Flag zum Aktivieren des Rückschreibens, das die Änderungen auf die Datei anwendet
  • -n um Backups zu deaktivieren

Installieren Sie zuerst das Python 2to3-Paket:

Konvertieren Sie dann Ihre Python2-Datei in Python3 in Ihrem neuen Ordner, dh python3-version/mycode

Ihre neue Python3-Datei kann in einem neuen Ordner angezeigt werden, z. B. python3-version/mycode

Das Ausführen ist sehr einfach! Ich gehe davon aus, dass Sie es bereits installiert haben und erklären Ihnen Schritt für Schritt, wie Sie danach vorgehen:

  1. Öffnen Sie das Terminal (oder cmd für Win-Benutzer) im Hauptordner mit den Dateien, die Sie konvertieren möchten

z.B. in meinem Fall (win10) wäre es:

python C:"Programme"Python39Toolsscripts2to3.py -w .

Dadurch scannt das Programm das gesamte Verzeichnis (und auch Unterverzeichnisse) und konvertiert automatisch alles, was in Python2 geschrieben ist, in Python3.

-w Flag bewirkt, dass das Skript die Änderungen anwendet und neue konvertierte Dateien erstellt. Entfernen Sie dies, das Sie einfach scannen und sehen möchten, was eine Konvertierung erfordert (aber ohne tatsächlich etwas zu tun).

Wenn Sie nur eine Datei anstelle von ganzen Ordnern konvertieren möchten, ersetzen Sie einfach . für python2_file_name.py :

z.B. Python -w python2_file_name.py

Außerdem erstellt es standardmäßig eine .bak-Datei für alles, was es konvertiert. Es wird dringend empfohlen, dies beizubehalten, da jede Konvertierung fehleranfällig ist. Wenn Sie jedoch die automatische Sicherung deaktivieren möchten, können Sie auch das Flag -n hinzufügen.


Python-Skript: Erstellen Sie separate Feature-Classes für jeden Datensatz im Shapefile

Ich muss aus jedem Datensatz in einem Shapefile eine separate Feature-Class erstellen
(d. h. jede Zeile im ursprünglichen Shapefile muss eine eigene neue Feature-Class sein).
Ich muss jede neue Feature-Class nach ihrer ID-Nummer aus dem AWS_ID-Feld im ursprünglichen Shapefile benennen
Siehe Python-Skript unten:

1.#Erforderliche Module importieren
2.importieren Sie arcpy, os, traceback
3.from arcpy import env
4.
5.env.workspace = r"C: emp"
6.env. overwriteOutput = True
7.
8.# Skriptargumente
9.awsInput = r"C:TempAWS.shp"
10.awsName = "AWS_ID" # Feld in AWS.shp, das als Name für die Ausgabe-shpfile verwendet werden soll
11.cursor = arcpy.SearchCursor(awsInput)
12.
13.für aws im Cursor:
14. awsID = aws.getValue(awsName)
15. awsName = "<>_AWS".format(aws)
16. arcpy.CopyFeatures_management(awsInput, r"C:TempDataExtract_Work.gdbawsName", "0", "0", "0")

(Achtung: Zeilennummern wirken sich auf den Einzug aus!)

Ich habe versucht, es zum Laufen zu bringen
a) Suche in der arcpy-Hilfe - Quelle von Zeile 11, SearchCursor
b) Überprüfung der von mir durchgeführten Online-Pythonkurse von Esri - Quelle von Zeile 15
c) Anzeigen von Online-Video-Tutorials zur ModelBuilder-Iteration

Bevor ich die Zeilen 14,15 hinzugefügt, aber Zeile 16 ausgeführt habe, wurde das Skript ausgeführt, aber entweder alle bis auf den letzten Datensatz überschrieben oder
alle Datensätze gemäß dem ursprünglichen Shapefile hinzugefügt. Aktuell bekomme ich einen RuntimeError: ERROR 999999,
unter Bezugnahme auf Zeile 14. Bevor Sie die Zeilen 15-16 hinzufügen und eine print aws.getValue(aws)-Anweisung haben,
es druckte jede ID-Nummer in einer separaten Zeile aus.

Frage 1. Wo habe ich Mist gebaut?

Frage 2. Muss man zuerst eine Liste erstellen, wenn man nur eine einzelne Feature-Class/Shapefile als Eingabe verwendet?


5 Antworten 5

Ich denke, wenn ich dich richtig verstehe, kannst du hier "Templating in Python" sehen.

Dominate ist eine Python-Bibliothek zum Erstellen von HTML-Dokumenten und -Fragmenten direkt im Code, ohne Vorlagen zu verwenden. Sie könnten eine einfache Bildergalerie mit etwas wie diesem erstellen:

Haftungsausschluss: Ich bin der Autor von dominieren

Verwenden Sie eine Templating-Engine wie Genshi oder Jinja2.

Python ist eine Sprache mit Batterien. Warum also nicht xml.dom.minidom verwenden?

Die Schnittstelle sieht nicht nach Python aus, aber wenn Sie ein Fronted-Entwickler waren und die JavaScript-DOM-Manipulation verwendet haben, passt sie besser zu Ihrem Verstand und ja, sie befreit Sie von unnötigen Abhängigkeiten.

Templating, wie in anderen Antworten vorgeschlagen, ist wahrscheinlich die beste Antwort (ich habe ein frühes, skurriles Templating-Modul namens yaptu geschrieben, aber moderne, ausgereifte, wie in anderen Antworten vorgeschlagen, werden Sie wahrscheinlich glücklicher machen).

Obwohl es lange her ist, dass ich es das letzte Mal verwendet habe, erinnere ich mich gerne an den Quixote-Ansatz, der ungefähr ein "umgekehrtes Templating" ist (das Einbetten der HTML-Generierung in Python und nicht umgekehrt wie beim normalen Templating). Vielleicht solltest du mal reinschauen, ob es dir besser gefällt-).


ArcUser Online

Während die Angst vor einem echten Python berechtigt sein könnte, sollten Sie sich von der Sprache Python nicht einschüchtern lassen. Esri hat Python als die Sprache angenommen, die die Bedürfnisse seiner Benutzergemeinschaft erfüllt.

Stellen Sie sicher, dass im Kartendokument die Felder Titel, Beschreibung und Autor ausgefüllt sind.

Die Programmierung mit Python unter Verwendung des neuen ArcPy-Site-Pakets in ArcGIS 10 macht die GIS-Programmierung für den durchschnittlichen GIS-Experten zugänglich. Für langjährige GIS-Anwender, die sich nach den einfacheren Tagen von Avenue (der Skriptsprache von ArcView 3.x) sehnen, bietet Python einige der gleichen attraktiven Funktionen: eine überschaubare Anzahl gut dokumentierter Klassen und Funktionen, Skripte, die leicht geladen werden können in ein Dokument umgewandelt und ausgeführt, Code als einfache Textdateien geteilt und (vielleicht das Beste) Sie müssen nicht wissen, was QueryInterface bedeutet. Python ist eine weit verbreitete, nicht proprietäre Sprache, daher kann das Erlernen von Python für Nicht-GIS-Anwendungen von Vorteil sein.

Um Ihnen den Einstieg in Python zu erleichtern, wird in diesem Tutorial beschrieben, wie Sie ein Skript erstellen, das einen einfachen Bericht für das aktuelle Kartendokument erstellt. Der generierte Bericht enthält Informationen zu allen Datenrahmen und Layern in der Karte. Optional kann es alle Layer mit defekten Datenlinks auflisten und ein Kartenpaket (*.mpk) für das Dokument erstellen.

Obwohl das Skript selbst nicht besonders aufregend ist, besteht das Hauptziel des Tutorials darin, Techniken zu veranschaulichen, die häufig beim Schreiben von Python-Skripten verwendet werden. Konkret zeigt das Tutorial, wie man

  • Verweisen Sie auf zusätzliche Bibliotheken (d. h. Importfunktionen) zur Verwendung in einem Skript.
  • Akzeptieren Sie vom Benutzer bereitgestellte Argumente.
  • Nachrichten anzeigen, die den Fortschritt des Skripts melden.
  • Rufen Sie einen Verweis auf das aktuelle Kartendokument ab.
  • Führen Sie ein Geoverarbeitungswerkzeug aus.
  • Greifen Sie auf Objekte in einem Kartendokument zu (Datenrahmen, Layer, Tabellen).
  • Schreiben Sie Verzweigungs- und Schleifenanweisungen.
  • Erstellen, öffnen und schreiben Sie in Dateien.

Einstieg

Laden Sie MxdReport.py herunter, damit Sie während der Übung darauf verweisen können.

Es gibt mehrere Möglichkeiten, Python-Code in ArcGIS auszuführen. Das Python-Fenster, neu in ArcGIS 10, kann verwendet werden, um einzelne Zeilen Python-Code auszuführen oder ein ganzes Skript in ein Dialogfeld vom Typ Befehlszeile zu laden. Für das Erstellen vollständiger Skripts, wie das in diesem Tutorial beschriebene, ist jedoch eine integrierte Python-Entwicklungsumgebung (IDE) die beste Option. Für Python stehen mehrere IDEs zur Verfügung. In dieser Übung wird der in ArcGIS 10 enthaltene Python IDLE-Editor verwendet.

Definieren Sie die Eigenschaften für das Skript, indem Sie drei Parameter (Ausgabepfad, Paketzuordnung und Unterbrochene Links verfolgen) mit den in Tabelle 1 gezeigten Werten hinzufügen.


Tools für Geodaten-Metadaten

Zur Unterstützung der Metadatenentwicklung steht eine Vielzahl kostenloser und kommerzieller Softwaretools zur Verfügung. Diese Tools bieten eine Reihe von Funktionen und Fähigkeiten. Berücksichtigen Sie bei der Bewertung des richtigen Tools Folgendes:

  • Bietet Ihre GIS-Software ein internes Dienstprogramm zur Daten-/Metadatenverwaltung, das die automatische Erfassung von Datensatzeigenschaften (Ausdehnung, Projektion, Attributbeschriftungen usw.) unterstützt?
  • Benötigen Sie ein Tool, das ein oder mehrere CSDGM-Profile oder -Erweiterungen unterstützt?
  • Müssen Sie Datenressourcen dokumentieren, die über die in Ihrem GIS verwalteten hinausgehen?
  • Benötigen Sie ein Tool, das leicht an Partner verteilt werden kann?
  • Welche Funktionen sind Ihnen am wichtigsten?
    • automatische Erfassung von Informationen
    • Bündelung von Metadaten mit Daten
    • Erstellung und Verwendung von Vorlagen
    • einfach zu bedienende Schnittstelle
    • robuste Hilfesysteme und Tutorials

    Die FGDC fördert nicht die Verwendung eines bestimmten Metadaten-Tools. Es testet jedoch die Einhaltung des CSDGM mit dem von Peter Schweitzer von der USGS entwickelten Dienstprogramm Metadata Parser (mp).

    Metadata Tools for Geospatial Data ist eine unabhängige Bewertungsseite für Metadaten-Software, die von Hugh Phillips verwaltet und vom Wisconsin Land Information Clearinghouse (WiscLINC) gehostet wird.

    ISO Geospatial Metadata Editors Registry Feature-Informationen, die von Entwicklern und Benutzern über verfügbare ISO 19115-Metadaten-Editoren gesammelt wurden

    Welche Tools zur Erstellung und Bearbeitung von Metadaten stehen zur Verfügung?


    Die folgende Auflistung ist keine erschöpfende Auflistung und impliziert keine FGDC-Befürwortung:

    Freeware-/Shareware-Tools
    :

      - Windows-basiertes Tool, das von Peter Schweitzer von der USGS Geology Discipline entwickelt und aktiv gepflegt wird. Unterstützt die biologischen, Küstenlinien- und Fernerkundungsprofile/Erweiterungen. - Unix-basierte Version von tkme. - Online-Dienstprogramm zum Erstellen, Bearbeiten, Validieren, Speichern und Exportieren von Metadatensätzen über das NOAA Coastal Data Development Center. Bietet strenge Validierung, verwalteten Workflow mit benutzerdefinierten Berechtigungen, Änderungsverfolgung und Speicherung von Dateien, die mit den Metadaten verknüpft sind. MERMAid unterstützt den FGDC-Standard, die biologischen und Küstenlinienprofile sowie die Fernerkundungserweiterung und bietet die Möglichkeit zur Metadatenkonvertierung zwischen diesen Standards. Eine Exportoption beinhaltet die Konvertierung von FGDC-Metadaten in MARC-XML. MERMAid unterstützt auch die Ecological Metadata Language. - Eigenständiges Werkzeug zur Erstellung und Bearbeitung von Metadaten, entwickelt von der USDA Forest Service North Central Research Station. Metavist 2005 erstellt Metadaten, die mit dem Metadatenstandard CSDGM (FGDC) 1998 und dem Biologischen Datenprofil der National Biological Information Infrastructure (NBII) 1999 für den FGDC-Standard konform sind. Die Software läuft unter den Betriebssystemen Microsoft Windows 2000 und XP und erfordert das Vorhandensein von Microsofts .Net Framework Version 1.1. Die Metadaten werden im XML-Format ausgegeben.
  • EPA-Metadaten-Editor - Der EPA-Metadaten-Editor (EME) ist ein einfacher Geodaten-Metadaten-Editor, mit dem Benutzer Datensätze erstellen und bearbeiten können, die der technischen Spezifikation der EPA Geospatial Metadata und dem Content Standard for Digital Geospatial Metadata (CSDGM) des Federal Geographic Data Committee (FGDC) entsprechen. Anforderungen. EME ist eine Erweiterung von ArcCatalog von ESRI.
  • USGS Online Metadata Editor - Ein Tool, mit dem Sie Ihren Datensatz dokumentieren können, indem Sie Fragen zu Ihren Daten in einer jargonfreien Sprache stellen. Mit diesem frei verfügbaren Tool können Sie: sich anmelden und neue Datensätze erstellen oder bestehende hochladen und bearbeiten alle Datensätze anzeigen, die Sie in der Vergangenheit erstellt oder hochgeladen haben, Datensätze speichern und später zurückkehren, um sie zu vervollständigen und fertige Datensätze auf Ihrem Desktop zu speichern. Derzeit unterstützt das Tool die XML-Ausgabe im Content Standard for Digital Geospatial Metadata des Federal Geographic Data Committee (FGDC). Hinweis: Der Editor steht derzeit nur USGS-Mitarbeitern zur Verfügung. USGS wird das Tool Anfang 2015 auf ein anderes Authentifizierungssystem migrieren, um andere Benutzer außerhalb von USGS zu unterstützen.
  • USGS Metadata Wizard - Der U.S. Geological Survey Metadata Wizard ist eine Python-Toolbox für ESRI ArcDesktop, um einen halbautomatischen Workflow zum Erstellen und Aktualisieren von CSDGM-Metadatensätzen in der ESRI 10.x-Software zu ermöglichen. Das Tool bietet ein einfaches Design ohne kryptische Metadatensprache und füllt automatisch mehrere Metadatenelemente für Eingaben: den Raumbezug, die räumliche Ausdehnung, das räumliche Darstellungsformat, die Vektor-Feature-Anzahl oder die Anzahl der Rasterspalten/-zeilen, die native System-/Verarbeitungsumgebung und die Metadaten Erstellungsdatum. Sobald die Software diese Elemente automatisch ausgefüllt hat, können Benutzer auf einfache Weise Attributdefinitionen und andere relevante Metadateninformationen in einer einfachen grafischen Benutzeroberfläche hinzufügen. Eine funktionierende Version des Tools ist jetzt für ESRI ArcDesktop, Version 10.0, 10.1 und 10.2 verfügbar.
  • Kommerzielle Werkzeuge:

      – Die ArcGIS Desktop-Anwendungen von Esri speichern Metadaten mithilfe eines proprietären (aber öffentlich dokumentierten) Schemas. Die Software verwendet "Stile" und XSLT-Transformationen, um den Import, die Bearbeitung, die Synchronisation und den Export von Metadaten zu unterstützen, die mehreren Standards entsprechen, einschließlich FGDC CSDGM, ISO 19115 und anderen. Bei 10.x unterstützen ArcGIS-Metadaten XLink nicht, ermöglichen jedoch das Speichern und Wiederherstellen von "Ausschnitten" von Inhalten im Editor. Die ArcGIS Desktop-Suche nutzt Metadatensätze, die mit Datasets und Werkzeugen verknüpft sind. Weitere Informationen finden Sie unter: Ein neuer Ansatz für Metadaten mit ArcGIS 10. - GeoMedia (v6.0) GeoMedia-Verwaltungsfunktionen für Metadaten von Intergraph, die Funktionen zum Erstellen und Bearbeiten von Metadaten, Datensuch- und -erkennungsfunktionen, automatische Erfassung von Dateneigenschaften aus den meisten Vektoren umfassen und Raster-Datentypen, Erstellung benutzerdefinierter Vorlagen und Erstellung von Kontakt-, Zitations-, Verteilungsmethoden und Schlüsselwortbibliotheken, die die Wiederverwendung von Informationen unterstützen. Unterstützt das biologische Profil des FGDC und den Export/die Veröffentlichung von ISO-19139PDTS XML-Metadatendateien. (Standalone) – Standalone-Desktop-Version von SMMS GeoMedia, für die keine Installation der Intergraph GeoMedia-Software erforderlich ist.
    • MapInfo Manager – Das Metadaten-Management-Tool von Pitney Bowes ermöglicht Unternehmen die Erstellung, Pflege und Verwaltung zentralisierter Geodatenkataloge, die eine einfache Suche, den Zugriff und die Nutzung von Daten ermöglichen – unternehmensweit. MapInfo Manager, der auf offenen Standards basiert, ist für eine Vielzahl potenzieller Benutzer geeignet.

    Welche Metadatentools stehen zur Verfügung, um die Einhaltung des CSDGM zu beurteilen?

    Freeware-/Shareware-Tools:

    Die folgenden Metadatenvalidierungstools werden verwendet, um die Übereinstimmung eines Metadatensatzes mit dem CSDGM zu überprüfen. Die vorgestellten Tools sind Shareware-Produkte, die von Peter Schweitzer von der USGS Geology Discipline entwickelt und aktiv gepflegt werden.

      (mp) - Verfügbar als Windows-, Unix- und Linux-Dienstprogramm, das die Konformität mit den angegebenen CSDGM überprüft:
      • Konditionalität (sind alle Pflichtelemente ausgefüllt?)
      • Datenformate
      • Elementdomänen.
        (cns) - Ein Metadaten-Pre-Parser, der entwickelt wurde, um schlecht formatierte Metadaten in einen Datensatz zu konvertieren, der von mp geparst oder von tkme/xtme gelesen werden kann. Das Dienstprogramm sucht nach Text, der CSDGM-Elementnamen ähnelt, fügt die Unterstriche ein, die zum Identifizieren von Elementnamen erforderlich sind, z. Identification_Information und formatiert den Text in die hierarchische Struktur um, die vom CSDGM spezifiziert ist. Der Pre-Parser wird typischerweise auf Metadaten angewendet, die mit einem Texteditor oder einer Textverarbeitungssoftware erstellt wurden. Metadaten, die von den meisten Softwares zum Erstellen und Bearbeiten von Metadaten erstellt werden, erfordern keine Verwendung von CNS.
        - Eine Online-Version von mp, die Fehler für Metadaten überprüft und meldet, die in eingerückten Text-, XML- und SGML-Formaten hochgeladen wurden. - Ein kostenlos herunterladbares, von Intergraph entwickeltes Dienstprogramm, mit dem Benutzer Parameter vorkonfigurieren können, die den Betrieb von "cns" und "mp" steuern, und sie in einer oder mehreren Initialisierungsdateien (*.INI) speichern, damit sie verwendet werden können zur späteren Verwendung durch den MP Batch Processor. Benutzer können dann eine gespeicherte INI-Datei auswählen und ihre gespeicherten Parameter bei der Verarbeitung von Stapeln von Eingabedateien über "cns" und "mp" verwenden.

      Welche anderen Metadaten-Software und Dienstprogramme sind verfügbar?

      Die folgende Software und Dienstprogramme sind auf der USGS Geology Discipline Site verfügbar, die von Peter Schweitzer, Formal Metadata, verwaltet wird: Information and Software.

      • err2html - interpretiert die mp-Fehlerberichte in eine leichter verständliche Sprache.
      • DBFmeta - Konvertiert dbf-Dateien in eine CSDGM-Entität und Attribut Detailed_Description.
      • mq - bietet eine Schnittstelle zum Anwenden erweiterter Bearbeitungsvorgänge auf große, vielfältige Sammlungen von Metadaten.


      Zusätzliche Metadaten-Software und Dienstprogramme werden unter beschrieben

        unabhängige Bewertungsseite für Metadaten-Software, die von Hugh Philips verwaltet und vom Wisconsin Land Information Clearinghouse (WiscLINC) gehostet wird. Colorado Plateau Environmental Metadata Clearinghouse Tool Review, das vom Merriam-Powell Center for Environmental Research verwaltet wird.