1 votos

Algoritmo para determinar la posición de los vecinos (N S E O) de las parcelas

Después de mi primera publicación Determinar los vecinos de las parcelas mediante PYTHON ¡Donde yo estaba buscando una manera más rápida de calcular los vecinos de la parcela y la posición, y después de tener éxito que, pero el resultado no era completa y fiable al 100%, vista de la complejidad de sus formas, por lo que el Sr. Richard Fairhurst me propuso iniciar una nueva banda de rodadura y la búsqueda de un nuevo algoritmo más eficiente y dar resultados más completos y fiables!

enter image description here

Así que sugiero como algoritmo calcular el centroide de cada polígono, luego hacer una proyección múltiple de este punto en la intersección entre dos polígonos (objetivo y polígono vecino)

enter image description here

Después de calcular el rumbo de cada línea, asociar los rumbos a los puntos de la brújula son [45-135] = Norte, [135-225] = Oeste, [225-315] = Sur, [315-359.9..., 0-45] = Este....

Así que mi pregunta es :

  • ¿Qué opinas del algoritmo es fuerte o puede apilar...
  • ¿Tienes alguna forma o idea de cómo hacer las proyecciones explicadas anteriormente?

¡para el resto lo hice antes como puedes ver en la última publicación mencionada antes !

Estoy utilizando Arcgis 10.1, y el lenguaje Python.

2voto

overstay_info Puntos 11

Para el ejemplo mostrado, el polígono 185P1 se calificaría obviamente como Sur del polígono 187. Es difícil decir si también se calificaría como Este, pero los rumbos de esas líneas parecen proporcionar suficiente información para determinar si el vecino debe ser considerado también Este. Está claro que el polígono 185P no se consideraría al Norte o al Oeste del polígono 187 si se comprueban los rumbos de las líneas mostradas, por lo que parece ajustarse a lo que se quiere. En cualquier caso, para el ejemplo parece que probar esos rumbos proporcionaría la mejor respuesta para determinar el conjunto de direcciones relativas de la brújula que describen la relación del polígono 187 con el polígono 185P1. Así que este método parece sólido.

En tu anterior post indicabas que querías incluir como vecinos a los polígonos que no se tocaban directamente si no había ningún polígono entre ellos. ¿Sigue siendo así o no? ¿Es a eso a lo que te refieres con "¿Tienes alguna forma o idea de cómo hacer las proyecciones explicadas anteriormente?"?

¿Quiere que el polígono 185P1 considere a 185P2 como vecino o no? Parecen estar lo suficientemente cerca como para utilizar una tolerancia de amortiguación como prueba. ¿Quiere que el polígono 187 considere al polígono T18188/44 como vecino o no? No están muy cerca y crearía más desafíos para evaluar en base a una tolerancia de búfer. Si usted quiere que estos pares de polígonos sean tratados como vecinos, entonces los desafíos serían cómo identificar primero el conjunto de polígonos para probar esta condición y luego cómo identificar qué puntos usar como representación del borde compartido vecino que no está bloqueado por otro polígono.

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