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 — GCS_WGS_1984 (WKID: 4326), а PCS — WGS_1984_UTM_Zone_16N (WKID: 32616).
Я проверил дважды, трижды, миллион раз, чтобы убедиться, что системы координат совпадают. правильный. Я попытался специально назначить его в Python (хотя я не уверен, что называю его правильно.
Вопросы:
Правильно ли я определяю пространственную привязку в 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\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()
< /code>
p.s. Да, я знаю, что в ArcGIS есть инструменты, которые могут достичь этой цели намного проще и более своевременно. Наша организация переедет в Arcgis Pro в следующем году. У нас просто нет бюджета на это сейчас.

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

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

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

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

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

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