Получение текущей СК проекта

ArcGIS 8.x,9.x,10.x (Arcview, ArcEditor, Arcinfo).
Ответить
Аватара пользователя
zubenko1592
Активный участник
Сообщения: 164
Зарегистрирован: 23 апр 2011, 10:18
Репутация: -1

Получение текущей СК проекта

Сообщение zubenko1592 » 13 окт 2022, 23:16

Подскажите, пожалуйста, какой командой Python можно получить в переменную текущую систему координат проекта аркгис про чтобы ее дальше использовать в качестве параметра инструментов.

Почему не могу вручную задать? - по тому что планирую скрипт использовать в разных проектах и хочу автоматизировать выбор СК. если оставлять параметр пустым - автоматически устанавливается ВГС84.

gork
Интересующийся
Сообщения: 17
Зарегистрирован: 12 янв 2016, 09:33
Репутация: 7
Откуда: Екатеринбург

Re: Получение текущей СК проекта

Сообщение gork » 02 ноя 2022, 09:45

>>> 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'

Аватара пользователя
zubenko1592
Активный участник
Сообщения: 164
Зарегистрирован: 23 апр 2011, 10:18
Репутация: -1

Re: Получение текущей СК проекта

Сообщение zubenko1592 » 12 ноя 2022, 00:26

Спасибо!
для ArcGis Pro это выглядит во так:
arcpy.mp.ArcGISProject('CURRENT').activeMap.spatialReference.PCSName

только теперь еще один вопрос:

в midelbuilder`е через утилиту "вычислить значение" с помощью этого кода я получаю текущую СК проккта в еременную типа "любое значение" (допустим ее имя "СК")

Далее в поле "Система координат" инструмена "XY таблица в точки" вписываю %СК% (чтобы установить этот параметр как текущей ск). Но это поле просто сбрасывается. и устанавливается автоматически WGS84...

Как в этот параметр автоматически вставлять такущую СК проекта?

gork
Интересующийся
Сообщения: 17
Зарегистрирован: 12 янв 2016, 09:33
Репутация: 7
Откуда: Екатеринбург

Re: Получение текущей СК проекта

Сообщение gork » 14 ноя 2022, 10:34

Annotation 2022-11-14 123258.png
Annotation 2022-11-14 123258.png (29.82 КБ) 2392 просмотра
Может проще выбрать систему координат карты?

gork
Интересующийся
Сообщения: 17
Зарегистрирован: 12 янв 2016, 09:33
Репутация: 7
Откуда: Екатеринбург

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

Re: Получение текущей СК проекта

Сообщение zubenko1592 » 14 ноя 2022, 16:42

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

Re: Получение текущей СК проекта

Сообщение zubenko1592 » 14 ноя 2022, 22:10

gork писал(а):
14 ноя 2022, 10:34
Может проще выбрать систему координат карты?
Наверное проще. только если использовать эту модель только в 1м проекте.
а если постоянно в разных с разными ск и модель должна выдавать файл в СК проекта - удобнее это автоматизировать.

gork
Интересующийся
Сообщения: 17
Зарегистрирован: 12 янв 2016, 09:33
Репутация: 7
Откуда: Екатеринбург

Re: Получение текущей СК проекта

Сообщение gork » 15 ноя 2022, 09:25

zubenko1592, она и будет сама меняться, какая текущая СК будет у карты - такая и подставится

Аватара пользователя
zubenko1592
Активный участник
Сообщения: 164
Зарегистрирован: 23 апр 2011, 10:18
Репутация: -1

Re: Получение текущей СК проекта

Сообщение zubenko1592 » 15 ноя 2022, 21:40

gork писал(а):
15 ноя 2022, 09:25
она и будет сама меняться, какая текущая СК будет у карты - такая и подставится
Если руками в модели выбрать "текущая СК" это выражение автоматически заменится текущей ск и в модели сохраниться конкретная без автоматической подстановки.

А тот код, который мы обсуждаем даст именно нужный результат.

Ответить

Вернуться в «ArcGIS»

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 5 гостей