Quiero encontrar un "punto de inaccesibilidad" a partir de una serie de puntos, que representan ciudades y pueblos en Escocia. Uso de herramientas FOSS GIS (QGIS, SAGA, GRASS, Postgres / PostGIS ...).
Este es el punto más alejado de cualquier centro de población. Este sería el centro del círculo más grande que no contiene una ciudad, pero tendrá una ciudad en su borde.
Hay un enfoque de trama, que funciona: el filtro de proximidad GDAL .
¿Hay una forma basada en VECTOR para hacer esto? ¿Uno que no requiera rasterización?
Aquí está mi intento con rásteres ...
- Comience con una capa de puntos en una proyección adecuada en metros (estoy usando OSGB, 27700)
- Agregue un campo llamado "uno" y establezca un número entero con valor constante 1.
- Vector a ráster, comando de edición para usar -a one y usar GEO en lugar de píxel. ¡Asegúrate de que los píxeles sean cuadrados!
- Crear contornos en el ráster de proximidad (en este caso, 1 km de ancho)
Así es como se ve. Dibujé algunos puntos candidatos a mano ;-)
Pensé que disolver los búferes repetidos (usando el complemento de búfer Multi ring ) podría funcionar, pero sospecho que no tengo suficiente memoria para que esto funcione.
Vector | Delaunay Triangulation
), (2) Seleccione el triángulo campeón (Calculado$area
en la tabla de atributos de los polígonos de Delaunay) y guardé el más grande como una nueva capa (3) Buscar circuncentro (Processing | GRASS | Vector | v.voronoi.skeleton
en El triángulo campeón). ¿Crees que este método es correcto?Aquí hay un seguimiento. ¡Gracias a @FelixIP por señalarme en la dirección correcta!
Utilizando los datos de OSM de Australia, pude encontrar el "punto de inaccesibilidad" en el continente australiano: lo hago a unos 260 km equidistantes de Akarnenehe, Bedourie y Mount Dare, en POINT (137.234888 -24.966466)
Encontré un flujo de trabajo bastante fácil en QGIS que utiliza una combinación de los enfoques de trama y de vector. Estoy seguro de que un enfoque similar funcionaría en otros SIG.
El momento 'a-ha' vino de notar esto
El enfoque fue el siguiente:
Luego use Db Manager y Virtual Layers para encontrar el nodo con el mayor valor de distancia en el ráster.
fuente