Jest to związane z następującą Zachowaj symbolikę ESRI w Mapinfo TAB . Na wstępie (w trybie arcpy) chcę uzyskać dostęp do symboliki wszystkich zestawów danych i utworzyć dokument, który ma szczegóły dotyczące symboliki zgodnie z poniższą grafiką.
Czy jest to możliwe (czy powinienem poświęcić czas na wypracowanie tego), czy jeśli nie jest to możliwe, będę musiał po prostu popękać za zrobienie tego ręcznie na setkach MXD (: -
Aby rozbić kroki - mam nadzieję, że mogę zautomatyzować przynajmniej część procesu.
przewijanie mxd i pobieranie zestawów danych nie stanowi problemu
lyrFile = arcpy.mapping.Layer if lyrFile.visible == True:
gdy znajdzie zestaw danych, powinien utworzyć plik .lyr (ponieważ większość to tylko pliki shp / gdb), a następnie AttribXXX = lyrFile.xxx
gdzie są XXX i xxx
BRIGHTNESS = lyrFile.brightness
(powyżej formatu do następujących)
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
Problemem jest to, że nie mogę znaleźć niczego, co otrzyma RGB, typ linii / punktu / wieloboku, grubości linii, czcionkę itp. Jeśli można je znaleźć, to następny krok
zapisz każdą z powyższych wartości do pliku CSV (łatwe) ... na przykład (należy to rozwinąć)
f = open(origPath+'\\LayerAtrributes_LOG.txt', 'a') f.write(str(DATASETNAME)+","+str(DATASOURCE)+","+str(DESCRIPTION)+","+str(MXDName)+"\n") f.close()
Jeśli to możliwe, należy wygenerować plik JPG z symboliki jak w przykładzie, a link do niego dodać do pliku CSV.
Czy pytasz zbyt wiele o arkowanie?
źródło
Odpowiedzi:
Rozwiązałem podobny problem, konwertując dokument MXD na MSD (który jest tylko plikiem zip), więc jeśli zmienisz rozszerzenie na „.zip” i otworzysz, znajdziesz kilka dokumentów .xml, które zawierają wiele informacji o tym, jak każdy z nich wyświetlana jest warstwa w mxd. arcpy.ConvertToMSD Może być trochę pracy przy uzyskiwaniu potrzebnych informacji, ale powinna gdzieś tam być. Mam nadzieję, że to pomaga!
źródło
Zasadniczo nie było to możliwe, ale wymyślił rondo, aby uzyskać wynik. Zobacz skrypt Pythona arcgis, aby uzyskać informacje na temat narzędzia, aby uzyskać końcowy wynik.
Inne pytania, aby przejść do tego etapu, to:
Konwertujesz styl ArcGIS (symbolikę) na czcionkę dla MapInfo / OpenGeo?
Zachowaj symbolikę ESRI w Mapinfo TAB
i
Czy tworzysz tabelę podsumowań symboli wszystkich zestawów danych w wielu MXD?
źródło