4 votos

Calcular el espaciamiento de las polilíneas a lo largo de los transectos en ArcGIS

Tengo un shapefile con un número de aproximadamente líneas paralelas en ella, y quiero calcular la distancia entre estas líneas con un número de transectos por todo el mapa.

¿Cómo debo proceder? Tengo un poco de experiencia de la escritura arcpy scripts, por lo que sería feliz de escribir algo de código para hacer esto, simplemente no puedo bastante trabajo por dónde empezar. Mi conjetura sería dibujar el transecto de línea, de alguna manera, crear puntos donde la línea de transecto se cruza con las demás líneas, y luego calcular el promedio de la distancia entre los puntos. No parecen un enfoque sensato? Si no, ¿qué sugeriría usted?

Actualización: tengo que ser capaz de hacer esto scriptably (a partir de una secuencia de comandos de Python utilizando ArcPy), lo que significa que no tendrá acceso a las funciones que sólo están disponibles desde la barra de herramientas de botones.

3voto

null Puntos 183

No puedo pensar en un par de maneras, pero la forma más sencilla que se nos viene a la mente es si su seccionar la línea está en la misma clase de entidad como de sus líneas paralelas, puede utilizar el planarize función de romper todas las líneas en cada intersección (se advierte - de hacer esto en una copia de su clase de entidad, porque se va a alterar toda la geometría). Por desgracia, no tengo Arco de 10, pero en la 9.3 este es un botón en la barra de herramientas topología. Después de que las líneas son planarized, simplemente seleccione todos los segmentos de la transección de la línea, y ejecutar estadística en la forma de la longitud de la columna para obtener min/max/avg distancias. Este método también funciona para varios cortando transversalmente las líneas al mismo tiempo, demasiado.

2voto

saint_groceon Puntos 2696

Suponiendo arcpy puede acceder a estos arcobjects interfaces, me gustaría probar el uso de ITopologicalOperator.Se cruzan, pasando esriGeometry0Dimension. Esto debería devolver un geometrybag de puntos. Usted puede ordenar estos puntos en función de su distancia a lo largo del transecto, el cual puede ser obtenido usando ICurve.QueryPointAndDistance.

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