Jestem nowy w analizie przestrzennej i doceniłbym ogólny kierunek projektu, który próbuję, opisany poniżej (zaczynam od zera).
CEL: Znaleźć najlepsze lokalizacje do zainstalowania 2000 stóp chodników w moim rodzinnym mieście, aby połączyć większość gospodarstw domowych z Central Business District (CBD), gdzie „połączone” oznacza w odległości 1,2 mili spaceru od CBD. Mam pliki kształtów pokazujące istniejące konstrukcje (gospodarstwa domowe), drogi i chodniki (już zainstalowane).
Oto moje proponowane rozwiązanie / proces myślowy:
- Przekształć lokalną sieć chodników w bazę danych węzłów połączonych wagami (tj. Odległościami). Czy istnieje sposób, aby to zrobić bezpośrednio w QGIS (lub innym programie), klikając wszystkie skrzyżowania?
- Oblicz liczbę gospodarstw domowych, które znajdują się w promieniu 1,2 km od centralnej dzielnicy biznesowej (np. Punkt długości lub wielokąta), korzystając z możliwości routingu pgRouting lub czegoś innego. Będzie to podstawowa wartość „dostępu dla gospodarstw domowych”.
- Używając warstwy drogi jako przewodnika, losowo umieść dodatkowe 2000 stóp (powiedzmy, w 10-stopowych odcinkach) chodników na warstwie chodnika. Jest to odpowiednik arbitralnej budowy szeregu nowych chodników.
- Ponownie oblicz węzły i ciężary, korzystając z nowej sieci dla pieszych, jak w (1), a następnie ponownie oblicz liczbę gospodarstw domowych, które znajdują się w promieniu 1,2 km od CBD jak w (2). Powinien wzrosnąć wraz z dodatkowymi chodnikami. Zapisz lokalizacje dodatkowych chodników i związaną z nimi wartość „dostępu do gospodarstwa domowego” do pliku (np. Arkusz kalkulacyjny).
- Powtórz kroki (3) i (4) 10000 razy, podobnie jak w symulacji Monte Carlo. Korzystając z 10000 zestawów punktów danych, wybierz lokalizacje chodników, które maksymalizują liczbę gospodarstw domowych w promieniu 1,2 km od CBD.
Czy ten proces myślowy brzmi realistycznie? Czy ktoś ma jakieś sugestie?
- Chciałbym to osiągnąć za pomocą kombinacji QGIS i R, jednak jestem otwarty na naukę PostGIS i / lub Pythona (lub cokolwiek innego), aby osiągnąć cel.