2 votos

ArcPy Calculate Field cómo convertir distancias de grados decimales a metros

¿Cómo se utiliza arcpy.CalculateField_management() ¿convertir una columna con distancias en grados a metros? No veo este ejemplo específico en el docs . Este puesto La respuesta de "dlee-esristaff" implica que se puede hacer en dos pasos, pero estoy teniendo problemas para ponerlo en práctica.

Concretamente, no veo cómo especificar mi campo fuente ( DISTANCE ) y el campo de destino ( dist_m ) en el arcpy.CalculateField_management() entradas. ¿Tengo que escribir una función corta para hacer esto, y luego llamar a la función? (Si es así, no estoy seguro de cómo escribir la función, creo que !shape.geodesicLength@meters! pero no estoy seguro de cómo).

Uso de la licencia ArcMap 10.7 Advanced.

Además, tenga en cuenta que todo se hace en WGS84, en lugar de UTM (de ahí las distancias en grados) porque los SHPs de origen son de todo el mundo y no tenemos EPSGs UTM locales. El SHP de entrada aquí es un SHP de punto que es la salida de la herramienta Distancia de Punto.

arcpy.AddField_management(myshp, 'dist_m', "FLOAT")

# expression = ??? somehow get !shape.geodesicLength@meters! from ['DISTANCE'] into ['dist_m']
# codeblock = ??? somehow get !shape.geodesicLength@meters! from ['DISTANCE'] into ['dist_m']
# ??? arcpy.CalculateField_management(myshp, ['dist_m'], expression, "PYTHON3", codeblock)

1voto

M. B. Altaie Puntos 11

La única forma de calcular la distancia geodésica entre dos puntos es tienen dos puntos. La única forma de cumplir ese criterio con una distancia en grados decimales cartesianos es tener uno de los puntos y el rumbo, también en grados cartesianos, entre ese punto y el otro (entonces se puede reproducir el segundo punto y calcular un rumbo y una distancia adecuados en un esferoide). Si todo lo que tienes es la distancia en grados cartesianos, entonces yo recomendaría abandonar la columna, porque es inútil para cualquier propósito práctico.

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