Chcę znaleźć „punkt niedostępności” z szeregu punktów reprezentujących miasta i wsie w Szkocji. Korzystanie z narzędzi FOSS GIS (QGIS, SAGA, GRASS, Postgres / PostGIS ...).
Jest to punkt najbardziej oddalony od dowolnego centrum populacji. Byłby to środek największego kręgu, który nie zawiera miasta, ale będzie miał miasto na skraju.
Istnieje podejście rastrowe, które działa - filtr zbliżeniowy GDAL .
Czy istnieje sposób, aby to zrobić za pomocą VECTOR ? Taki, który nie wymaga rasteryzacji?
Oto moja próba z rastrami ...
- Zacznij od warstwy punktowej w odpowiedniej projekcji w metrach (używam OSGB, 27700)
- Dodaj pole o nazwie „one” i ustaw wartość całkowitą o stałej wartości 1.
- Wektor do rastra, polecenie edycji do użycia -a jeden i użycie GEO zamiast piksela. Upewnij się, że piksele są kwadratowe!
- Utwórz kontury na rastrze zbliżeniowym (w tym przypadku o szerokości 1 km)
Oto jak to wygląda. Ręcznie narysowałem kilka punktów kandydujących ;-)
Myślałem, że rozpuszczanie powtarzających się buforów (przy użyciu wtyczki buforowej Multi ring ) może działać, ale podejrzewam, że nie mam wystarczającej ilości pamięci, aby to zadziałało.
Vector | Delaunay Triangulation
), (2) Wybierz trójkąt bohatera (obliczony$area
na tabeli atrybutów wielokątów Delaunay) i zapisałem największy jako nową warstwę (3) Znajdź środek koła (Processing | GRASS | Vector | v.voronoi.skeleton
na trójkąt mistrza). Czy uważasz, że ta metoda jest poprawna?Oto kontynuacja. Dzięki @FelixIP za skierowanie mnie we właściwym kierunku!
Korzystając z danych OSM z Australii, udało mi się znaleźć „punkt niedostępności” na australijskiej kontynentalnej kontynencie - udało mi się uzyskać odległość około 260 km w równej odległości od Akarnenehe, Bedourie i Mount Dare, w POINT (137.234888 -24.966466)
Znalazłem dość łatwy przepływ pracy w QGIS, który wykorzystuje kombinację metod rastrowych i wektorowych. Jestem pewien, że podobne podejście zadziałałoby w innych systemach GIS.
Moment „a-ha” przyszedł od zauważenia tego
Podejście było następujące:
Następnie użyj Db Manager i wirtualnych warstw, aby znaleźć węzeł o największej wartości odległości na rastrze.
źródło