Python-ArcMAP ArcPy InsertCursor-Punkte werden nicht korrekt angezeigtPython

Python-Programme
Guest
 Python-ArcMAP ArcPy InsertCursor-Punkte werden nicht korrekt angezeigt

Post by Guest »

Das Endziel besteht darin, ein laufendes Shapefile mit fehlenden Bohrlochdaten zu aktualisieren. Wenn Außendienstmitarbeiter fehlende Brunnen finden, können sie eine Tabelle mit GPS-Koordinaten (Dezimalgrad) aktualisieren. Etwa einmal im Monat kann ich den Python-Code in ArcMAP ausführen und das Shapefile mit neuen Punkten aktualisieren. Ich versuche, die GPS-Koordinaten als Punkte in ein Shapefile in ArcMAP 10.7 mit Python 2.7 einzufügen.
Alles scheint korrekt zu funktionieren, die Datentabelle und Attribute sind korrekt, die neu hinzugefügten Punkte scheinen relativ zueinander korrekt zu sein. Das Problem tritt auf, wenn ich versuche, eine vorhandene Datei zu aktualisieren. Die neu hinzugefügten Punkte liegen weit woanders. Im Beispiel hier habe ich versucht, genau die gleichen GPS-Koordinaten (in Dezimalgraden) wie ein vorhandener Punkt hinzuzufügen. Sie können den ersten Eintrag sehen, die Y_Koord und Hierbei handelt es sich um eine Art Koordinatenproblem, und Suchvorgänge zu diesem Problem deuten ebenfalls auf ein Koordinatenproblem hin, aber ich habe es millionenfach überprüft, um sicherzustellen, dass das Shapefile, eine Grenzschicht (nur visuelle Überprüfung) und der Datenrahmen alle korrekt sind geografische und Projektionskoordinatensysteme. Das verwendete GCS ist GCS_WGS_1984 (WKID: 4326) und PCS ist WGS_1984_UTM_Zone_16N (WKID: 32616).
Ich habe doppelt, dreifach und eine Million Mal überprüft, um sicherzustellen, dass die Koordinatensysteme korrekt sind richtig. Ich habe versucht, es in Python gezielt zuzuweisen (obwohl ich nicht sicher bin, ob ich es richtig nenne).
Fragen:
Definiere ich den Raumbezug in Python richtig? Ich habe das Gefühl als würde ich das Objekt nur aufrufen, es aber nicht tatsächlich initiieren.
Wenn nicht, gibt es eine Möglichkeit, Python ausdrücklich anzuweisen, dies im richtigen GCS/PCS anzuwenden?

Code: Select all

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()
ps. Ja, ich weiß, dass es in ArcGIS Online Tools gibt, mit denen dieses Ziel viel einfacher und schneller erreicht werden kann. Unsere Organisation wird nächstes Jahr auf ArcGIS Pro umsteigen. Im Moment fehlt uns einfach das Budget dafür.

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post