Para mi trabajo en ArcGIS 10.2 for Desktop necesito dividir las capas de líneas en clusters/grupos. Actualmente lo hago manualmente, pero me gustaría automatizarlo. Las capas de líneas pueden constar de 50 a 2500 segmentos (líneas más pequeñas). Lo que necesito conseguir es que la capa de líneas se divida en un n de clusters (donde n puede ser fijado por el usuario) que cumplan los siguientes requisitos. Por orden de importancia:
- El primer requisito es que un grupo siempre debe estar formado por 8 o más segmentos.
- La segunda es que los segmentos deben estar cerca unos de otros.
- La tercera es que las agrupaciones deben tener un n de segmentos.
Así que para explicar este orden de importancia un poco más tengo que ejemplos con imágenes:
Primer ejemplo de una capa de líneas que se divide en 24 clusters con una media de 20 segmentos por cluster. La flecha roja es una parte de la capa de líneas que consta de 4 segmentos. Por lo tanto, esto debe formar 1 cluster con varios segmentos de la parte con la flecha verde, de modo que es al menos 8 segmentos, pero preferiblemente 20 segmentos.
Segundo ejemplo. En el caso de que toda la capa de líneas tenga 60 segmentos que se dividan en 3 capas, la situación ideal sería 3 clusters con cada uno de los 20 segmentos que están conectados entre sí. Pero si hay una parte aislada de la capa de línea que consta de 10 segmentos (1), ésta debería ser un cluster y la otra parte, que consta de 50 segmentos, debería dividirse en 2 clusters (2 y 3) de 25 segmentos (ver imagen)
He intentado realizar esta tarea buscando en algunas herramientas de arcgis pero no he encontrado todavía una solución. Por ejemplo la herramienta de análisis de agrupación, pero hasta ahora no he podido personalizarla lo suficiente como para satisfacer mis necesidades. También encontré este post que es más o menos lo que estoy buscando pero no completamente: dividir los polígonos en igual número de grupos . Pero por lo que entiendo esto no cumple completamente mis requisitos, especialmente el orden de importancia. Por lo tanto, la solución de FelixIP es difícil de entender para mí y por lo tanto no soy capaz de juzgar si puedo usar esto.
Así que, en este punto, me parece que mi problema es un problema matemático difícil de resolver, especialmente con las herramientas estándar de Arc. Pero tal vez alguien tiene algunas buenas ideas/métodos (tal vez con un python personalizado script) para conseguir esta tarea o al menos me puede poner en el camino correcto?
0 votos
Echa un vistazo a sDNA Si el sistema genera varias métricas, es posible que haya una combinación de valores que pueda ayudar. Que conste que no he utilizado este software, así que no puedo opinar sobre él.