7 votos

Agrupación de puntos de pueblos en función de la distancia y el tamaño de la población mediante ArcGIS Desktop?

Quiero agrupar una serie de pueblos en función de su distancia entre sí y del tamaño total de la población acumulada ¿alguna sugerencia?

Tengo un archivo vectorial de, por ejemplo, 100 puntos de pueblo adjuntos a atable que contiene datos sobre el tamaño de la población, etc. Quiero agrupar estas aldeas de tal manera que cada grupo contenga 5-6 aldeas con la población acumulada de tamaño de 5000. Por lo tanto, la distancia y el tamaño de la población acumulada deben ser utilizados en mi agrupación de pueblos. He utilizado la agrupación en arcgis 10.2 sin éxito. Tengo arcgis 10.2.

16voto

FelixIP Puntos 4035

En términos de pseudocódigo estoy utilizando estos pasos:

  1. Definir los criterios de los vecinos mediante la unión espacial "uno a muchos". En este caso son los polígonos que se tocan entre sí enter image description here

  2. Conectar a los vecinos mediante enlaces enter image description here

  3. Utilice el paquete de análisis de redes, por ejemplo, networkx para construir un gráfico, con pesos para todos los enlaces =1.

  4. Definir un número de grupos (N) e iterar a través de la combinación de nodos, por ejemplo, p=itertools.combinations(aBig, 2), donde aBig es una lista de todos los nodos del gráfico.

  5. Calcular los totales de la población más cercana al 1º y 2º nodo de un par. Calcular la proporción. Romper, si es igual a (N-1) dentro de la tolerancia del curso. El grupo con menor población es el 1er grupo.

  6. Reducir N en 1 y pasar al paso 5 si N>0, en caso contrario parar

Esto muestra 1117 polígonos divididos en 5 grupos con aproximadamente la misma población enter image description here y esto - con más o menos la misma área enter image description here

Tenga en cuenta que son posibles varias soluciones en función del nodo de inicio. En los ejemplos mostrados estaba en la esquina inferior izquierda.

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