Gibt es eine Möglichkeit mit ArcPy die Version eines zu identifizieren Kartendokument (MXD). Ich arbeite an einer Lösung zur Inventarisierung unserer MXDs und möchte wissen, ob ein Dokument 8.1, 9.2, 10.0 usw. ist.
Ich verwende derzeit ArcGIS 10.0. Wenn es jedoch ein Update in 10.1 gibt, das in 10.0 nicht vorhanden ist, würde ich dies ebenfalls begrüßen.
Es wurde eine frühere Frage zu " Wie können Sie die ArcGIS-Version programmgesteuert finden?" Es verweist jedoch auf alle ArcObjects-Lösungen (die ich vermutlich von Python aus aufrufen könnte , aber ich würde es vorziehen, dies nicht zu tun ).
arcpy
arcgis-10.0
arcgis-10.1
mxd
RyanDalton
quelle
quelle
Antworten:
Ich weiß, dass diese Frage ein paar Monate alt ist, aber ich poste dies, falls es anderen hilft. Ich habe diesen Kludge entwickelt, um Versionsnummern aus MXD-Dokumenten zu analysieren. Grundsätzlich werden die ersten 4000 Zeichen eines MXD-Dokuments gelesen und nach einer Versionsnummer gesucht. Ich habe mit MXD-Versionen 9.2, 9.3, 10.0 und 10.1 getestet.
Hier ist ein Beispiel für das Scannen eines Ordners nach MXD-Dateien und das Drucken der Version und der Namen
Was dies zurückgibt:
quelle
Die folgende Funktion basiert auf Ryans Idee, ist jedoch etwas direkter. ArcGIS-
oletools
Kartendokumente sind tatsächlich OLE-Dokumente, die mit dem Modul analysiert werden können (verfügbar unter pypi: https://pypi.python.org/pypi/oletools ). Die Funktion öffnet die Datei und liest den Versionsstring. Getestet mit 9.0, 9.3, 10.1 und 10.3, sollte aber mit allem funktionieren (nicht sicher über 3.x ...).quelle