¿Es posible calcular las coordenadas de los puntos XY en grados decimales en el modelo o script cuando una clase de entidad está en el sistema de coordenadas proyectadas?
Es fácil cuando un FC está en un sistema de coordenadas geográficas:
- utilizando la herramienta Agregar coordenadas XY o
- usando la expresión de Python, por ejemplo.
!shape.extent.XMax!
Descubrí que las propiedades de área y longitud del campo de geometría se pueden modificar con la palabra clave de conversión de unidad de geometría. Para unidades lineales de medida, se puede usar @DECIMALDEGREES.
Desafortunadamente, !shape.extent.XMax@decimaldegrees!
no funciona ya que XMax no es una longitud.
En la función Calcular geometría (a la que se accede haciendo clic con el botón derecho), existe la posibilidad de elegir el tipo de salida Grados decimales incluso para la clase de entidad proyectada.
¿Puedo hacer esto usando ArcPy?
Aquí hay un fragmento de código basado en la solución de iRfAn:
import arcpy, os
projectedFC = r"C:\tmp\test.gdb\points01_Projected"
prjFile = os.path.join(arcpy.GetInstallInfo()["InstallDir"],
r"Coordinate Systems\Geographic Coordinate Systems\World\WGS 1984.prj")
spatialRef = arcpy.SpatialReference(prjFile)
updCursor = arcpy.UpdateCursor(projectedFC,"", spatialRef)
for row in updCursor:
pnt = row.Shape.getPart(0)
row.X = pnt.X
row.Y = pnt.Y
updCursor.updateRow(row)
del updCursor, row
fuente
Respuestas:
Yo creo que puedes.
Simplemente defina la referencia espacial en WGS-84 y use el cursor usando esta referencia espacial.
Las coordenadas se especifican en la referencia espacial proporcionada y se convierten sobre la marcha al sistema de coordenadas del conjunto de datos.
Para más detalles ver esto .
fuente
SHAPE
campo obtendrá un objeto de geometría de puntos, desde el cual puede obtener las coordenadas X e Y.No estoy seguro acerca de un script, pero lo he logrado de una manera algo automatizada usando el generador de modelos: importe sus coordenadas xy y proyectelas en WGS 1984. Luego agregue campos y calcule la geometría de los puntos en grados decimales. Luego, vuelva a colocar sus puntos XY en el sistema de coordenadas original.
fuente