Получение текущей СК проекта
- zubenko1592
- Активный участник
- Сообщения: 164
- Зарегистрирован: 23 апр 2011, 10:18
- Репутация: -1
Получение текущей СК проекта
Подскажите, пожалуйста, какой командой Python можно получить в переменную текущую систему координат проекта аркгис про чтобы ее дальше использовать в качестве параметра инструментов.
Почему не могу вручную задать? - по тому что планирую скрипт использовать в разных проектах и хочу автоматизировать выбор СК. если оставлять параметр пустым - автоматически устанавливается ВГС84.
Почему не могу вручную задать? - по тому что планирую скрипт использовать в разных проектах и хочу автоматизировать выбор СК. если оставлять параметр пустым - автоматически устанавливается ВГС84.
-
- Интересующийся
- Сообщения: 17
- Зарегистрирован: 12 янв 2016, 09:33
- Репутация: 7
- Откуда: Екатеринбург
Re: Получение текущей СК проекта
>>> mxd = arcpy.mapping.MapDocument('CURRENT')
>>> mxd
<MapDocument object at 0x184bae90[0x1ec0afa0]>
>>> df = mxd.activeDataFrame
>>> df
<DataFrame object at 0x1ec0a770[0x1ea34a48]>
>>> df.spatialReference
<SpatialReference object at 0x1ec0a4f0[0x1b1171e8]>
>>> df.spatialReference.PCSName
u'Pulkovo_1942_GK_Zone_10'
>>> mxd
<MapDocument object at 0x184bae90[0x1ec0afa0]>
>>> df = mxd.activeDataFrame
>>> df
<DataFrame object at 0x1ec0a770[0x1ea34a48]>
>>> df.spatialReference
<SpatialReference object at 0x1ec0a4f0[0x1b1171e8]>
>>> df.spatialReference.PCSName
u'Pulkovo_1942_GK_Zone_10'
- zubenko1592
- Активный участник
- Сообщения: 164
- Зарегистрирован: 23 апр 2011, 10:18
- Репутация: -1
Re: Получение текущей СК проекта
Спасибо!
для ArcGis Pro это выглядит во так:
arcpy.mp.ArcGISProject('CURRENT').activeMap.spatialReference.PCSName
только теперь еще один вопрос:
в midelbuilder`е через утилиту "вычислить значение" с помощью этого кода я получаю текущую СК проккта в еременную типа "любое значение" (допустим ее имя "СК")
Далее в поле "Система координат" инструмена "XY таблица в точки" вписываю %СК% (чтобы установить этот параметр как текущей ск). Но это поле просто сбрасывается. и устанавливается автоматически WGS84...
Как в этот параметр автоматически вставлять такущую СК проекта?
для ArcGis Pro это выглядит во так:
arcpy.mp.ArcGISProject('CURRENT').activeMap.spatialReference.PCSName
только теперь еще один вопрос:
в midelbuilder`е через утилиту "вычислить значение" с помощью этого кода я получаю текущую СК проккта в еременную типа "любое значение" (допустим ее имя "СК")
Далее в поле "Система координат" инструмена "XY таблица в точки" вписываю %СК% (чтобы установить этот параметр как текущей ск). Но это поле просто сбрасывается. и устанавливается автоматически WGS84...
Как в этот параметр автоматически вставлять такущую СК проекта?
-
- Интересующийся
- Сообщения: 17
- Зарегистрирован: 12 янв 2016, 09:33
- Репутация: 7
- Откуда: Екатеринбург
Re: Получение текущей СК проекта
Может проще выбрать систему координат карты?
-
- Интересующийся
- Сообщения: 17
- Зарегистрирован: 12 янв 2016, 09:33
- Репутация: 7
- Откуда: Екатеринбург
Re: Получение текущей СК проекта
Если хочется взять систему координат из активной карты, то нужно в поле Expression инструмента CalculateValue писать arcpy.mp.ArcGISProject('CURRENT').activeMap.spatialReference, без .GCSName и PCSName. И поставить Data type CoordinateSystem.
Потом соединить результат с инструментом XY TableToPoint и выбрать результатом соединения параметр Coordinate System.
У меня английская версия, не знаю как по-русски всё это будет называться.
Потом соединить результат с инструментом XY TableToPoint и выбрать результатом соединения параметр Coordinate System.
У меня английская версия, не знаю как по-русски всё это будет называться.
- zubenko1592
- Активный участник
- Сообщения: 164
- Зарегистрирован: 23 апр 2011, 10:18
- Репутация: -1
Re: Получение текущей СК проекта
Спасибоgork писал(а): ↑14 ноя 2022, 11:20Если хочется взять систему координат из активной карты, то нужно в поле Expression инструмента CalculateValue писать arcpy.mp.ArcGISProject('CURRENT').activeMap.spatialReference, без .GCSName и PCSName. И поставить Data type CoordinateSystem.
Потом соединить результат с инструментом XY TableToPoint и выбрать результатом соединения параметр Coordinate System.
- zubenko1592
- Активный участник
- Сообщения: 164
- Зарегистрирован: 23 апр 2011, 10:18
- Репутация: -1
-
- Интересующийся
- Сообщения: 17
- Зарегистрирован: 12 янв 2016, 09:33
- Репутация: 7
- Откуда: Екатеринбург
Re: Получение текущей СК проекта
zubenko1592, она и будет сама меняться, какая текущая СК будет у карты - такая и подставится
- zubenko1592
- Активный участник
- Сообщения: 164
- Зарегистрирован: 23 апр 2011, 10:18
- Репутация: -1
Re: Получение текущей СК проекта
Если руками в модели выбрать "текущая СК" это выражение автоматически заменится текущей ск и в модели сохраниться конкретная без автоматической подстановки.
А тот код, который мы обсуждаем даст именно нужный результат.
Кто сейчас на конференции
Сейчас этот форум просматривают: Amazon [Bot] и 4 гостя