Python-Arcmap Arcpy Insertcursor Points неправильно отображаетсяPython

Программы на Python
Ответить
Anonymous
 Python-Arcmap Arcpy Insertcursor Points неправильно отображается

Сообщение Anonymous »

Конечная цель — обновить текущий шейп-файл недостающими данными скважины. Когда полевые агенты находят недостающие скважины, они могут обновлять электронную таблицу, добавляя в нее координаты GPS (десятичные градусы). Примерно раз в месяц я могу запускать код Python в ArcMAP и обновлять шейп-файл новыми точками. Я пытаюсь вставить координаты GPS в виде точек в шейп-файл в ArcMAP 10.7 с использованием Python 2.7.
Кажется, все работает правильно, таблица данных и атрибуты верны, точки кажутся быть корректными относительно друг друга. Проблема в том, что я пытаюсь обновить существующий файл. Новые точки находятся далеко в другом месте. В приведенном здесь примере я попытался добавить одни и те же координаты GPS (в десятичных градусах). Вы можете видеть первую запись: Y_Coord и X_Coord для Well_1 такие же, как 1.
Однако новая точка находится намного ниже других точек.
Я сразу думаю это своего рода проблема с координатами, и поиск по этой проблеме также указывает на проблему с координатами, но я миллион раз проверял, чтобы убедиться, что шейп-файл, пограничный слой (только визуальная проверка) и кадр данных находятся в правильном состоянии. географический и проекционные системы координат. Используется GCS_WGS_1984 (WKID: 4326), а PCS — WGS_1984_UTM_Zone_16N (WKID: 32616).
Вопросы:
Правильно ли я определяю пространственную привязку в Python? У меня такое чувство, будто я просто вызываю объект, но на самом деле не инициирую его.
Если нет, то есть ли способ конкретно указать Python, чтобы он применял это в правильном GCS/PCS?
import arcpy

#one coordinate only for testing
coords = [(1, (43.20779, -89.78513))]

# link to shapefile
shapefile = r'M:\ARC\gis_users\health\Missing_Wells\Missing_Wells.shp'

# Define the spatial reference (GCS_WGS_1984 = 4326, PCS_WGS_1984_UTM16N = 32616)
arcpy.SpatialReference(32616)

#use SHAPE@XY syntax to add point features to a point feature class
with arcpy.da.InsertCursor(shapefile, ['Well_ID', 'Y_Coord', 'X_Coord', 'SHAPE@XY']) as cursor:
#Insert new rows that include the well ID and a x,y coordinate pair
for Well_ID, (lat, lon) in coords:
cursor.insertRow((Well_ID, lat, lon, (lat, lon)))
print('added')
...

sys.exit()

p.s. yes, I know there are tools in ArcGIS Online that can accomplish this goal much easier and in a more timely manner. Our Org will be moving over to ArcGIS Pro next year. We just don't have the budget for it at the moment.

I have doble-checked, triple, a million times checked to make sure the coordinates systems are correct. I have tried to specifically assign it in Python (although I am not sure I am calling it correctly.


Подробнее здесь: https://stackoverflow.com/questions/793 ... -correctly
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

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