Tengo una capa poligonal de depósitos de agua y una capa polilínea de canales.
En mis datos, algunos canales se originan en reservorios y conducen a otros canales. Por otro lado, hay algunos canales que están aislados o no están conectados a nada. (Cómo sucedió esto es historia para otro día)
Necesito eliminar los canales aislados y las redes de canales (es decir, un conjunto de canales conectados) que no están conectados a un depósito.
Supongo que tendré que usar algún tipo de rastreo de red, pero no estoy seguro de por dónde empezar.
Tengo el escritorio ArcGIS, junto con Network Analyst para resolver esta tarea.
¿Cómo harías para esta tarea?
fuente
Enfocaría esto como dos problemas separados. Primero, los segmentos de línea individuales deben disolverse en componentes conectados; simplemente disolverlos todos en un valor predeterminado no funcionará. Este es un problema de teoría de grafos, y lo que queremos son los "subgraficos de componentes conectados".
Estoy seguro de que hay una manera de hackear esto con el analista de redes, pero mi preferencia sería tratarlo como el problema gráfico que es; no reinvente la rueda, solo instale el excelente módulo Python Networkx e intente lo siguiente:
El segundo paso sería disolver y seleccionar por ubicación como lo sugiere dmahr
He usado una técnica similar muchas veces con éxito. La teoría de gráficos es asombrosa y resuelve muchos problemas SIG, y Networkx es una gran herramienta para implementar esto en Python.
fuente