4 votos

Asignar automáticamente el atributo a las características de la línea

Tengo una red de ferrocarril de interruptores y tengo que asignar el valor de un interruptor de línea a la izquierda o a la derecha automáticamente.

Qué es lo que tengo: Una clase de entidad que contiene una pista que se parece a esto

enter image description here

Necesito generar algo que se parece a la siguiente.

enter image description here

La flecha roja es siempre la dirección en la que mira a la intersección y que ayuda a determinar si las líneas de ramificación están a la izquierda o a la derecha.

Puedo lograr esto en ArcGIS o el uso de ArcPy y, si es así, que una biblioteca a utilizar para la codificación?

Es FME una opción?

5voto

FelixIP Puntos 4035

Es un proceso largo, pero factible sin la programación:

  • disolver sus líneas (no multipartites)
  • se derivan de los puntos finales y eliminar la superposición de
  • espacialmente unir los puntos finales (1:m) y contar el número de líneas conectadas al nodo: enter image description here
  • buffer con la cuenta de 3 y se cruzan con las líneas originales
  • disolver cruzan a varias líneas usando buffer de fid
  • derivar extremos de varias líneas y eliminar aquellos que se cruzan nodos originales
  • convertir puntos a la línea (cerca de la línea) usando el ámbito pertinente para formar una línea: enter image description here
  • crear polígonos de líneas cerradas. Esta es una de las claves, ya que los polígonos son de las agujas del reloj de puntos (!)
  • asignar ID único para cada polígono, que se dividió en los vértices
  • calcular su longitud, ordenar en forma ascendente por la longitud y eliminar duplicados de polígono ID.

Inicio de segmento restante se cruzan la pierna izquierda en el tenedor, a fin de que se sienta en la pierna derecha:

enter image description here

1voto

user1965813 Puntos 153

La biblioteca de matemáticas de Python. Si todas las líneas apuntan hacia la rama y cada línea se compone de solamente un nodo de inicio y el final podría obtener el ángulo en radianes de las coordenadas de la línea de fuente, seleccione las dos líneas que se cruzan el nodo final, calcular los radianes. Si los radianes son menores que la tubería ramifica justo lo contrario ramas izquierda.

Aquí le damos algunos torpes código para empezar... cursores y selecciones que no se muestra.

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