Ludność z GUS-u na OpenStreetMap

Moje pytanie dotyczy bazy danych Głównego Urzędu Statystycznego. Czy ich dane na temat populacji mogą być bezpośrednio zaimportowane do OSM (nie ma żadnych przeciwwskazań licencyjnych)? Jeśli tak to czy dałoby radę to zrobić za jednym pociągnięciem, tzn. pobrać te dane skryptem i wrzucić je na mapę?

Pytam, bo w wielu miejscach liczba ludności jest już nieaktualna, a aktualizowanie tego ręcznie nie ma chyba zbyt dużego sensu, jeśli jest możliwość zrobienia tego (pół)automatycznie.

Dołączam się do pytania/wniosku.

Może jest ktoś, kto potrafiłby to zrobić lub przygotował narzędzie. Mogę jakoś pomóc.

No ja chętnie przy tym pomogę. Też jestem zainteresowany tym tematem, tylko pozostaje kwestia źródła. Najlepsze co znalazłem to to:
http://stat.gov.pl/obszary-tematyczne/ludnosc/ludnosc/ludnosc-stan-i-struktura-ludnosci-oraz-ruch-naturalny-w-przekroju-terytorialnym-w-2013-r-stan-w-dniu-31-xii,6,12.html

Załącznik, Tabela 08. tylko to jest rozbite na wiele zakładek. Przy założeniu, że mamy wszędzie uzupełniony teryt:terc, to nie powinno być zbyt skomplikowane.

Znacie jakieś lepsze źródła?

Takiego OSM-a udało mi się na szybko wygenerować:

http://osm.vink.pl/osm/aktualizacja_mieszkancow.osm

Aktualizuję source:population na wartość ‘GUS:2013-12-31’, tam gdzie zmieniłem wartość. Co o takim podejściu sądzicie?

Przeglądam i wygląda całkiem fajnie. Jako wartość dałbym “GUS (2013-12-31)”.

Przy okazji jeśli już maglujemy tyle miast to proponowałbym zastanowić się nad innymi drobnymi poprawkami jak usunięcie “is_in”=*, skoro mamy w zasadzie kompletne pokrycie gmin.

Tylko jeszcze musisz dać w XML action=‘modify’ bo się nie wyśle (właściwie to nie musisz, można to zrobić inaczej, w JOSM) :smiley:
Przychylam się, żeby wywalić is_in=, is_in:country=PL i addr:country=PL skoro już zmieniamy. Właściwie to można wszystkie addr:= wywalić (z wyjątkiem addr:postcode=), bo widzę tam różne kwiatki typu addr:street= itp.

Jak coś mogę to zrobić, tylko wystaw nowy plik.

@WiktorN

To jest pliczek z miejscowościami? Uzupełniasz to jakoś automatycznie?
To może jeszcze dla relacji granic - województwa, powiaty, gminy.

EDIT. I jeszcze pytanie dodatkowe — skąd te dane, bo chyba nie z tabeli 8?

Masz na myśli, by jeszcze relacje granic administracyjnych uzupełnić o population? Z tego co widzę na taginfo, to nie jest to stosowana metoda na świecie. Znacząco by to uprościło rysowanie mapy zagęszczenia ludności, ale może przez relację to można łatwo wyciągnąć? A plik robię z automatu.

Dzięki, poprawię.

Patrząc na taginfo, widzę, że też jest podawany tag w postaci population:date, ale nie wiem, czy warto się rozdrabniać. Wrzucam datę z myślą o tym, by komuś nie przyszło aktualizować wartości starszymi danymi.

Skąd ta wątpliwość? Właśnie, z tabeli 8 to biorę. Może słusznie zwracasz uwagę, bo w ten sposób ustawiam w siedzibie gminy populację dla całej gminy, a dla siedziby powiatu - całego powiatu. Działa to w dużych miastach, ale już na obszarach wiejskich spowoduje spore przekłamania. W takim razie, może rzeczywiście warto to wrzucić na poziom granicy?

Patrząc po stronach GUS-u, to nie widzę, by była opcja, by wyciągnąć dane o ludności w miastach w gminach miejsko-wiejskich, oraz miejscowościach w gminach wiejskich.

Ze źródeł, to widzę jeszcze Bank Danych Lokalnych na stronach GUS-u, ale tam mogę wyciągnąć ludność tylko wg NTS, wg TERYT mi nie działa :frowning:

Zauważyłem, że wprowadzasz dane dla wsi, dlatego pytam.

Też mi się wydaje, że wprowadzanie liczby ludności gminy do punktu miejscowości (analogicznie dla powiatu) spowoduje błąd. Pewnie dla powiatów działa to tylko dla miast na prawach powiatu.

http://stat.gov.pl/obszary-tematyczne/ludnosc/ludnosc/powierzchnia-i-ludnosc-w-przekroju-terytorialnym-w-2014-r-,7,11.html

Tutaj w tabeli 27 jest trochę miast.

W pliku który wystawiam, znajdują się wszystkie węzły w Polsce, które mają podane teryt:terc, nie modyfikuję wszystkich. Dla jasności, dorzucam log, z informacjami co zostało dokładnie zmienione. W pliku, dodałem action=modify, tylko dla elementów, które zostały “dotknięte”.

Zaktualizowane pliki:
http://osm.vink.pl/osm/aktualizacja_mieszkancow.osm

Oraz log:
http://osm.vink.pl/osm/aktualizacja_mieszkancow.osm.log

W pierwszym pliku .osm pojawiło się nowe source:population dla wsi (przypadkowo wybranej z moich okolic) i widzę teraz również modify. Liczba również wskazuje na modyfikację. Dlatego drążę temat :wink:

Rozumiem, że zgadzamy się co do tego, że nie można wrzucić populacji gminy do jej “centrum”. Widzę również, że populacja gminy pojawiła się w niektórych jej wsiach (taka sama liczba).

PS. Jeszcze: http://forum.openstreetmap.org/viewtopic.php?pid=454879#p454879

Na pewno populacja gminy nie powinna trafiać do miejscowości centralnej. Jej miejsce jest w relacji reprezentującej granicę gminy.

To jutro będę miał poprawiony plik, na bazie informacji z GUS, które podlinkował marimil. Tutaj sprawa jest łatwa, bo dotyczy tylko miast.

Teraz parę pytań kontrolnych:

  1. Usuwać wszystkie is_in:*? Widzę jeszcze is_in:county, is_in:municipiality, is_in:province?
  2. Czy usuwać wszystkie is_in:* również dla place=village, place=neighbourhood, place=suburb i place=hamlet?
  3. @marimil - możesz podać przypadek o który znalazłeś? Generalnie - to wyszukuje node’y po teryt:terc, co by sugerowało, że wieś ma teryt:terc taki sam, jak gmina, co wydaje mi się, że jest niepoprawne. Dobrze myślę?

Usuwać tylko is_in=* tak jak napisałem w poprzednim poście. is_in:municipality/county/province/village/city można na razie zostawić - w niczym nie wadzą, a czasami nawet się przydają (np. mnie przy mapowaniu).

Dobre pytanie. Z tego co czytam, to teryt:terc powinien kończyć się na poziomie gminy. Czy wsie leżące na jej terenie powinny mieć ten tag? Aktualizacja nastąpiła w 2009 r. (np. http://www.openstreetmap.org/changeset/954165)). Ja zerknąłem na wsie gminy Kocierzew Południowy.
Jeśli mają ten tag (i to jest poprawne), to nie powinno się nim sugerować. Jednak skoro population dla gmin ma trafić na granice i nie posiadamy wartości dla jednostek niższego rzędu, to problem nie istnieje. Jest jeszcze teryt:simc. Nie ma go chyba w danych ludnościowych GUS.

PS. Mam nadzieję, że nasze marudzenie Cię nie zniechęca. Dobrze, ze chcesz się tym zająć.

Zastanawiam się po prostu nad tym, czy nie usunąć teryt:terc z miejscowości, które znajdują się w jakimś obszarze (bo wynika to z relacji), a zostawić teryt:terc tylko na relacjach. Dla miejscowości powinno zostać tylko teryt:simc. Patrząc po taginfo, to wychodzi na to, że:

  • 75k węzłów ma teryt:simc
  • 25k węzłów ma teryt:terc
  • 23k węzłów ma jednocześnie teryt:terc i teryt:simc
  • 3 922 relacji z teryt:terc

Więc może warto wybrać którąś z dróg (uzupełniamy teryt:terc na bazie teryt:simc, albo kasujemy teryt:terc, bo wynika on z teryt:simc).

Populację bym ustawił tak, że dla:
-powiatów grodzkich, gmin miejskich oraz dzielnic, ustawiłbym populację na węźle i na relacji
-w pozostałych przypadkach - tylko na relacji

Zaktualizowałem węzły place=* o population, oraz przy okazji - posprzątałem je zgodnie z tym o co poprosiliście:
http://www.openstreetmap.org/changeset/25903266

Teraz jestem w trakcie wysyłania aktualizacji granic (dla admin_level < 10) o population:
http://www.openstreetmap.org/changeset/25905551

Przy okazji - zastosowałem te same reguły sprzątania, parę granic się załapało…

Fajnie, dzięki :slight_smile: