Это связано со следующей символикой сохранения ESRI в Mapinfo TAB . В качестве начального шага (в arcpy) я хочу получить доступ к символике всех наборов данных и создать документ, который содержит подробную информацию о символике, как показано на рисунке ниже.
Возможно ли это (если я потрачу время, чтобы разобраться с этим) или, если это невозможно, мне просто придется взломать работу вручную на сотнях MXD (: -
Чтобы разбить шаги - надеюсь, я могу автоматизировать хотя бы часть процесса.
прокрутка MXD и получение включенных наборов данных не проблема
lyrFile = arcpy.mapping.Layer if lyrFile.visible == True:
поскольку он находит набор данных, он должен создать файл .lyr (так как большинство из них - просто файлы shp / gdb), а затем AttribXXX = lyrFile.xxx
где XXX и XXX
BRIGHTNESS = lyrFile.brightness
(формат выше к следующему)
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
Проблема в том, что я не могу найти ничего, что получает RGB, тип линии / точки / многоугольника, веса линий, шрифт и т. Д. Если это можно найти, то следующий шаг
записать каждое из значений выше в CSV (легко) ... например (это должно быть расширено)
f = open(origPath+'\\LayerAtrributes_LOG.txt', 'a') f.write(str(DATASETNAME)+","+str(DATASOURCE)+","+str(DESCRIPTION)+","+str(MXDName)+"\n") f.close()
Если возможно, нужно создать jpg символов, как в примере, и добавить ссылку на него в CSV.
Я прошу большую часть arcpy?
источник
Ответы:
Я решил похожую проблему, преобразовав документ MXD в MSD (который является просто файлом zip), поэтому, если вы измените расширение на «.zip» и откроете его, вы найдете несколько XML-документов, которые содержат много информации о том, как каждый слой внутри mxd отображается. arcpy.ConvertToMSD. Может быть, есть некоторая работа для получения необходимой информации, но она должна быть где-то там. Надеюсь, это поможет!
источник
В принципе это было невозможно, но придумал обходной способ получить результат. См. Скрипт Python Arcgis для выпуска инструмента для получения окончательного результата.
Другие вопросы, чтобы добраться до этого этапа
Конвертировать стиль ArcGIS (символы) в шрифт для MapInfo / OpenGeo?
Сохранить символику ESRI в Mapinfo TAB
а также
Создание сводной таблицы символов всех наборов данных в нескольких MXD?
источник