Здравствуйте!
Простой вопрос, возможно, но не найду ответа. Треубется написать аддин для получения координат карты при клике мыши по карте. Решение есть:
How To: Capture map coordinates with a mouse click using Python Однако, так мы получаем координаты в виде XY (метры), но как получить их в виде DD (градусы) системы координат карты/фрейма данных?
Подскажите, пожалуйста!
Метры можно перевести в градусы если вы знаете текущую проекцию фрейма. Код будет примерно такой:
sr_web_mercator = arcpy.SpatialReference(3857) # текущая проекция фрейма, как вариант
sr_wgs84 = arcpy.SpatialReference(4326)
point = arcpy.Point(25282, 43770)
ptGeometry = arcpy.PointGeometry(point, sr_web_mercator)
ptProjected = ptGeometry.projectAs(sr_wgs84) # перепроецируем объект PointGeometry
X_deg = ptProjected.centroid.X # координата X в градусах
Y_deg = ptProjected.centroid.Y # координата Y в градусах
Получить доступ к текущему датафрейму и его проеции можно следующим образом:
mxd = arcpy.mapping.MapDocument("CURRENT")
df = arcpy.mapping.ListDataFrames(mxd)[0]
sr = df.spatialReference
будет работать при условии, что нужный вам датафрейм первый в списке.