Dies hängt mit der folgenden ESRI-Symbologie in Mapinfo TAB zusammen . Als ersten Schritt (in arcpy) möchte ich auf die Symbologie aller Datensätze zugreifen und ein Dokument erstellen, das die Details der Symbologie gemäß der folgenden Grafik enthält.
Ist dies möglich (sollte ich die Zeit investieren, um es auszuarbeiten) oder wenn es nicht möglich ist, muss ich mich nur daran machen, es manuell auf Hunderten von MXDs zu machen (: -
Um die Schritte aufzuschlüsseln, kann ich hoffentlich zumindest einen Teil des Prozesses automatisieren.
Das Scrollen durch MXDs und das Abrufen der Datensätze, die aktiviert sind, ist kein Problem
lyrFile = arcpy.mapping.Layer wenn lyrFile.visible == True:
Wenn es ein Dataset findet, sollte es eine .lyr-Datei erstellen (da die meisten nur shp / gdb-Dateien sind) und dann AttribXXX = lyrFile.xxx
wo XXX und xxx sind
BRIGHTNESS = lyrFile.brightness
(über Format zu folgenden)
CONTRAST —contrast
DATASETNAME —datasetName
DATASOURCE —dataSource
DESCRIPTION —description
LABELCLASSES —labelClasses
LONGNAME —longName
NAME —name
SHOWLABELS —showLabels
TRANSPARENCY —transparency
WORKSPACEPATH —A layer's workspace or connection file path
Das Problem ist, dass ich nichts finden kann, das den RGB-, Linien- / Punkt- / Polygontyp, die Strichstärken, die Schriftart usw. abruft. Wenn diese gefunden werden können, dann der nächste Schritt
Schreiben Sie jeden der oben genannten Werte in eine CSV (einfach) ... zum Beispiel (dies muss erweitert werden)
f = open(origPath+'\\LayerAtrributes_LOG.txt', 'a') f.write(str(DATASETNAME)+","+str(DATASOURCE)+","+str(DESCRIPTION)+","+str(MXDName)+"\n") f.close()
Wenn möglich, sollte ein JPG der Symbologie wie im Beispiel erstellt und der Link dazu zur CSV hinzugefügt werden.
Bin zu viel von arcpy gefragt?
quelle
Antworten:
Ich habe ein ähnliches Problem gelöst, indem ich ein MXD-Dokument in eine MSD (die nur eine Zip-Datei ist) konvertiert habe. Wenn Sie also die Erweiterung in ".zip" ändern und öffnen, finden Sie einige .xml-Dokumente, die viele Informationen darüber enthalten, wie die einzelnen Dokumente aussehen Ebene innerhalb des mxd wird angezeigt. arcpy.ConvertToMSD Möglicherweise sind einige Arbeiten erforderlich, um die gewünschten Informationen zu erhalten, diese sollten sich jedoch irgendwo befinden. Ich hoffe, das hilft!
quelle
Grundsätzlich war dies nicht möglich, aber es wurde ein Umweg gefunden, um das Ergebnis zu erhalten. Das endgültige Ergebnis finden Sie unter Arcgis Python-Skript zum Tool-Problem .
Andere Fragen, um zu diesem Stadium zu gelangen, sind
Konvertieren des ArcGIS-Stils (Symbologie) in eine Schriftart für MapInfo / OpenGeo?
Behalten Sie die ESRI-Symbologie in Mapinfo TAB bei
und
Erstellen einer Übersichtstabelle der Symbologie aller Datensätze in mehreren MXDs?
quelle