Hay muchas formas de lidiar con esto, pero algunas se destacan como generales y efectivas. Para entender esto, enumeremos algunos de los problemas que podrían tener que ser tratados:
Podría haber brechas entre los polos que son tan grandes que el algoritmo podría ver las brechas como rupturas reales en el sistema de transmisión.
Puede haber algunos segmentos cortos de carretera, cruciales para conectar las carreteras a una red, que sin embargo no tienen postes cerca de ellos. Estos segmentos no se seleccionarían por proximidad a los polos, pero son una parte necesaria de la solución.
Puede haber postes no accesibles por carretera desde el punto central. Estos polos pueden ser partes de otras redes de transmisión que se originan en otros puntos centrales.
También estoy adoptando la postura de que, dado que ya tiene una red de polilínea (las carreteras), sería ventajoso explotarla en lugar de conectar los puntos de polo con una polilínea completamente nueva, que probablemente no sea paralela a las carreteras muy bien.
Estas consideraciones sugieren que los ingredientes de una buena solución incluirían algunos pasos clave:
Calcule las distancias del camino desde el punto central a todos los polos.
Identifique los polos que tienen distancias máximas localmente a lo largo de su segmento de carretera particular : es decir, ninguno de sus vecinos a lo largo del mismo segmento tiene distancias mayores.
Forme los caminos más cortos desde estos máximos locales hasta el punto central.
La unión de estos caminos más cortos trazaría la red de transmisión. (De hecho, el paso 2 no es realmente necesario, pero reduciría en gran medida el cálculo involucrado en el paso 3.)
Los pasos 1 y 3 se pueden llevar a cabo utilizando una representación de red (en Network Analyst) o una representación ráster (en Spatial Analyst, utilizando un cálculo de CostDistance o FlowAccumulation). El paso 2 es un resumen directo de la base de datos: después del paso 1, cada polo tendrá su segmento de carretera y distancia como atributos. Encuentre la distancia máxima por segmento de carretera y seleccione los polos que alcanzan esas distancias máximas.
Hay algunas posibles situaciones problemáticas:
Algunos postes pueden no estar cerca de las carreteras. No hay nada en la declaración del problema que nos diga qué se debe hacer al respecto. Se pueden manejar automáticamente con cálculos ráster (una cuadrícula de costos apropiada asignará altas impedancias a las celdas que no son de carretera, pero no impedancias infinitas, lo que permite que los polos aislados se conecten a las carreteras más cercanas, pero desafortunadamente no entre sí). Al menos, después de obtener la solución en el paso 3, puede seleccionar todos los polos que no están en esa red y considerar cómo se deben manejar (tal vez creando conexiones manualmente para ellos o tal vez con una solución de árbol de expansión mínima euclidiana).
Si algunos segmentos de la carretera forman bucles, debe omitir el paso 2, de lo contrario, podrían perderse partes de esos bucles.
Las polilíneas viales podrían no formar realmente una red conectada. Puede haber pequeños espacios entre los segmentos de la carretera (a veces de solo milímetros) que dividen una red que parece conectada visualmente. Este es un problema de calidad de datos que plagaría cualquier solución, excepto algunas basadas en ráster.
En un momento mencioné FlowAccumulation de pasada. Esto puede sorprender a la gente: ¿qué tiene que ver este problema con los arroyos y las cuencas hidrográficas? Mira fijamente la imagen por un rato. Imagine el punto de origen como el punto bajo en un paisaje y las carreteras con postes telefónicos como rastros de corrientes que fluyen hacia ese punto bajo. Si podemos crear una superficie para la cual los caminos realmente sonlas corrientes, entonces podemos dejar caer un poco de "lluvia" en la ubicación de cada poste y fluir cuesta abajo. Los puntos que se mojan son la solución que buscamos: conectan los polos de manera eficiente en una red que sigue las carreteras. Un cálculo apropiado de CostDistance, con una baja impedancia distinta de cero a lo largo de las carreteras y una impedancia extremadamente alta pero no infinita fuera de las carreteras, creará exactamente ese tipo de superficie. Otra forma de crear esa superficie es desde la cuadrícula de distancia euclidiana para las carreteras. Eso es perfecto, excepto que las carreteras están niveladas. Tienen que inclinarse; para esto, agregue un múltiplo extremadamente pequeño de las distancias a lo largo de los caminos a la cuadrícula de distancia euclidiana. (La distancia de la carretera todavía requiere un cálculo de CostDistance, que es costoso, pero esta vez solo debe realizarse para las celdas de la carretera, en lugar de todas las celdas de la cuadrícula, lo que lo acelerará en órdenes de magnitud. Eso nos permite usar una cuadrícula de resolución extremadamente alta si lo deseamos, evitando así posibles errores de discretización realizados con cuadrículas gruesas).