7 votos

¿Puedo proyecto un conjunto único de coordenadas que no están en una clase de tabla o función con arcpy?

He estado buscando la forma más fácil de convertir un conjunto único de Estado Plano de Coordenadas (en unidades de "Pies") a Grados Decimales utilizando arcpy. Todos los métodos que he visto hasta ahora incluir uno de los siguientes ...
1. La instalación de una Biblioteca como pyproj
2. La creación (o empezando?) una clase de entidad o tabla para proyecto con "Project_management" o "ConvertCoordinateNotation_management".
3. El uso de más matemáticas de lo que quisiera ... y algún tipo de Haversine o Vincenty algoritmo?

Yo en realidad sólo quieren convertir a un conjunto de coordenadas que ya he llegado en mi secuencia de comandos de python (utilizando arcpy.mapeo). Si tengo que supongo que puedo crear una tabla o clase de entidad, con el fin de leerse a continuación en la tabla o clase de entidad y el proyecto que pero que parece ridículo. Habiendo hecho recientemente de ejercicios mediante la "utm" módulo donde este tipo de cosas fue muy fácil, no entiendo por qué tendría que saltar a través de aros para convertir un solo conjunto de coordenadas. No arcpy proporcionan una forma para hacer esto? Si uno de los de arriba es la única manera para mí para hacerlo, entonces que es lo que voy a hacer. La instalación de la biblioteca parece más fácil, pero no estoy seguro de cómo instalar un módulo en la versión de Python que voy a usar en ArcMap (yo lo he hecho con el PIP en python que tengo en el OSGeo4W shell).

Enlaces De Referencia:
Búsqueda Cursor Solución w/ pyproj enlace también
La adición de Datos XY
UTM módulo

10voto

john Puntos 11

Si usted tiene el XY del punto, entonces usted podría crear un PointGeometry.

current_sr = arcpy.SpatialReference(102726) #Enter the current WKID for the point
new_sr = arcpy.SpatialReference(4326) #This is the WKID for WGS84

point = arcpy.PointGeometry(arcpy.Point(7334719, 670307), current_sr)

new_point = point.projectAs(new_sr)

>>> new_point.firstPoint.X = -123.88118364456213
>>> new_point.firstPoint.Y = 45.45548227993378

Documentación para PointGeometry

Ser conscientes de la projectAs método también puede tomar una transformación nombre si es necesario:

projectAs(spatial_reference, {transformation_name})

Proyectos de geometría y, opcionalmente, se aplica un geotransformation.

Para el proyecto, la geometría de las necesidades para tener una referencia espacial, y no tiene un UnknownCoordinateSystem. El nuevo sistema de referencia espacial pasa al método define el sistema de coordenadas de salida. Si referencia espacial se desconoce las coordenadas no será cambiado. El Z - y medir los valores no se modifican por el ProjectAs método.

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X