Colección de citas famosas - Colección de poesías - Xiaobai recurrió a Python para calcular la distancia más larga de las entidades poligonales de ArcGIS en una dirección determinada.

Xiaobai recurrió a Python para calcular la distancia más larga de las entidades poligonales de ArcGIS en una dirección determinada.

Para calcular la distancia más larga de una entidad poligonal de ArcGIS en una dirección determinada, puede seguir los siguientes pasos:

Leer entidades poligonales utilizando el objeto poligonal en la biblioteca arcpy.

Para calcular las coordenadas del punto inicial y final de las líneas paralelas que se van a interceptar, puedes utilizar las funciones sin y cos en la biblioteca matemática.

Crea líneas paralelas usando el objeto polilínea en la biblioteca arcpy.

Utilice la función Intersect_analysis en la biblioteca arcpy para calcular los puntos de intersección de entidades poligonales y líneas paralelas.

Utiliza la función sqrt en la biblioteca matemática para calcular la distancia desde cada intersección hasta el punto inicial.

Encuentra la distancia más larga y regresa.

Aquí hay un código de muestra:

Importar arcpyimport math

# Leer polígono = arcpy polígono(arcpy . array([arcpy . point(* coords) para coordenadas en polígono _ coords])

#Ángulo

Ángulo = 112#Coordenadas del punto inicial

start_x, start_y = polígono.centroid.x,polígono. centroid . y

#Calcular las coordenadas del punto final

End _ x = start _ x math.cos (math. radianes (ángulo)) * 1000 # 1000 es la longitud de la línea paralela. /p>

end _ y = start _ y math . sin(math . radians(angle))* 1000 #Crea líneas paralelas

line_array = arcpy array([arcpy). .point(punto inicial) x, punto inicial y), arcpy. Point(end_x, end_y)]) línea = arcpy (matriz de líneas)

#Calcular puntos de intersección = arcpy ([polígono, línea). ], arcpy.geometry())

#Calcular la distancia desde cada intersección hasta el punto inicial

distancias = [math.sqrt((point.X - start_x) ** 2 (point. Y - start_y) ** 2) Para puntos en intersect_points]

#Encontrar la distancia más larga

max_distance = max (distancia)

p>

Print('Distancia máxima:', distancia máxima)

Tenga en cuenta que polygon_coords en el código anterior es una lista que contiene coordenadas de entidades poligonales. Además, es necesario instalar la biblioteca arcpy de ArcGIS en el código y configurar el entorno Python para que se ejecute normalmente.