Mapa polityczno-administracyjna / prośba

Witam, mam do Was gorącą prośbę o pomoc przy mapach osm. Od niedawna jestem w temacie, sporo czytam, ale to jest dosyć trudny temat. Mianowicie chciałbym na stronie osadzić mapę polityczno-administracyjną państw na świecie. Coś jak na OSM Inspector - Boundaries. Czyli - mam suwak i mogę przechodzić kolejno do poziomów. Granice państwowe, województwa, powiaty, itd. i odpowiednio je kolorować. OSM Inspector o ile dobrze zrozumiałem jest zrobiony na OpenLayers. Wydaję mi się, że potrzebuję dwóch rzeczy - Podstawy mapy(Mapnik) i pliku osm z granicami. Nie wiem czy od dobrej storny się zabrałem, ale ściągnąłem na początek mapę Polski i za pomocą osmfilter próbuję wydobyć te granice(Analogicznie chyba będę mógł to zrobić ze światem). Zacznę od tego, że to narzędzie jest bardzo nieintuicyjne i słabo udokumentowane. np dla całego państwa. osmfilter poland.o5m --keep=“boundary=administrative type=boundary admin_level=2” --drop=“admin_level<2 admin_level>2” -o=level2.osm To polecenie jest na pewno błędne bo oprócz granic dodaje mi jakieś kawałki z innych państw granicznych. Jednym słowem nie wiem jak się za to zabrać. Chciałbym taka samą mapkę jak na OSM Inspector, czy mógłby mnie ktoś nakierować krok po kroku jak mam to zrobić? z góry wielkie dzięki za jakąkolwiek pomoc.

Potrzebujesz generować np. mapnikiem kafelki z granicami. Wszystkie granice powinieneś zaciągnąć sobie overpassem (troszkę tego będzie) wgrać do Postgree i napisać odpowiedni styl mapnika. Jeśli wolisz to mieć bardziej interaktywne to lepiej do OL wrzucać dane wektorowe w troszkę uproszczonej postaci, tak aby nie zarzynało przeglądarki.

Witam, mam problem z wydzieleniem z pliku poland.osm tylko i wyłącznie granic administracyjnych. próbowałem w osmfilter i w osmosis, ale granice sa jakies niekompletne, albo wystaja jakies kawalki poza granice, jednym słowem nie to co chce. chcialbym wydzielic granice na admin_level 2, 4, 6, 8 itd. każda z tych warstw w odzielnym pliku. Prosze pomozcie, bo mecze sie z tym juz bardzo dlugo. czy mógłby mi ktoś podać przykład takiego polecenia?

Ja podobny problem rozwiązałem mocno okrężną drogą. Na stronie http://overpass-api.de/query_form.html wrzucasz zapytanie:


<osm-script timeout="36000">
<union>
<query type="relation">
  <area-query ref="3600049715"/>
  <has-kv k="boundary" v="administrative"/>
  <has-kv k="admin_level" v="4"/>
</query>
  <recurse type="relation-node" into="nodes"/>
  <recurse type="relation-way"/>
  <recurse type="way-node"/>
</union>
<print/>
</osm-script>

i po kilkudziesięciu minutach masz plik z granicami województw. Dla powiatów, gmin też prawdopodobnie da się wygenerować granice tą metodą, ale brakło mi cierpliwości, żeby sprawdzić ile czasu to potrwa.
Ewentualnie “gotowca” do poziomu powiatów, w formacie Shapefile, możesz ściągnąć ze strony http://www.gadm.org/country

Jeśli jest możliwość importu do bazy danych , to najlepiej użyć jakiegokolwiek konwertera (imposm albo osm2pgsql, albo jeszcze jakiegoś innego tworu) i wyekstrahować co trzeba już z gotowej bazy. Nie pamiętam czy Shapefile od Geofabrik zawiera granice w sensownej formie, ale jeśli by było to też dość łatwo podzielić. XML to bolesna pomyłka ewolucji :wink:

Niestety, ale skrypt który podałeś daje te same efekty, które mam i ja. Czyli niekompletne granice województw(w pewnych miejscach braki). Długo już próbuję i niestety, ale zaczynam powoli dochodzić do wniosku, że mapy osm są w kiepski sposób tworzone, narzędzia nieintuicyjne, praktycznie nie istnieje dokumentacja do nich i panuje ogólnie jakis balagan. Nikt nie zna odpowiedzi na tak prosta z pozoru czynnosc jak wydobycie czegos z map w pliku osm, w tym przypadku granic. Oczywiscie znam gadm, ale niestety ale tam maja mapy tylko do poziomu powiatów, gmin juz nie ma :frowning: No nic chyba dam sobie z tym spokój, dziekuje tym, ktorzy mi pomogli. Pozdrawiam.

W którym miejscu są niby braki w granicach wojewódzkich? Bo patrzę tutaj: http://osmapa.pl/w/admin/?lat=52.2547&lon=20.07202&zoom=7&ol=WN i nie widzę, więc wychodzi na to, że coś Ci się źle pobrało, bo dane w OSM są poprawne (gdyby któraś relacja/granica była niedomknięta obszar by się nie wyrenderował).

co do poprzedniego skryptu to wygląda on tak: http://www.tinypic.pl/1f82k9sk4awc jak widzisz jest cos nie tak i nie wiem co jest tym spowodowane. To samo mam na osmfilter, jakies nie kompletne granice. Zarówno województw jak i powiatów i gmin. Są jeszcze lepsze kwiatki, spójrz tutaj :http://www.itoworld.com/map/2# na Polskę. Jakieś strzępy, masakra. Gadm jest spoko, ale na terenie Polski nie ma nic niżej niż powiat. Poza tym etykiety są bez polskich znaków. Czy ktoś zna jakiś skrypt który potrafiłby PORZĄDNIE wydobyć wszystkie poziomy granic? relacje sa w porzadku, ale pobieranie kazdej z nich oddzielnie to masa czasu. ehhh

Raczej ta stronka to masakra, bo nie obsługuje relacji, które są obecnie podstawą w obsłużeniu granic administracyjnych.

http://dl.dropbox.com/u/82707781/admin_levels.zip

Tu znajdziesz ekstrakt danych z poziomów admin_levels 2 - 12 z dnia wczorajszego (shapefile, epsg:2180, w bonusie masz styl qgis żeby się prawidłowo wyświetlały). Baza jest niekompletna, ponieważ nie istnieje źródło z którego można legalnie pobrać dane do wykorzystania w OpenStreetMap. Koszt pozyskania takiej bazy to 15k PLN (w CODGiK).

Co do GADM, jest bardzo niedokładny, dobry do map w skali 1:1mln i mniejszych.

Wspominasz o niekompletnych granicach gmin i powiatów. Tak istnieją, często jest tak że ktoś ma możliwość wprowadzenia na podstawie dostępnych źródeł, etc.

Będziemy wdzięczni za pomoc w uzupełnianiu i pozyskiwaniu danych na temat granic administracyjnych w PL

Dodam, że nawet kupienie takiej bazy od CODGIK nie pozwala na jej wrzucenie do OSM…

mapa rzeczywiscie nie kompletna. na ta chwile wydaje mi sie ze osmapa jest tutaj wzorem. Jak skonstruowac takie zapytanie aby wydobyc wszystkie poziomy z pliku osm? podejrzewam ze osmapa tez w ten sposób jest skonstruowana.

Offtopic do przedmówcy:

  1. odpowiada się pod cytatem
  2. używa się polskich znaków
  3. “nie” z przymiotnikami pisze się łącznie (niekompletna)

Pierwsza sprawa - dane, które podrzucił sq9nit są tymi samymi, którymi dysponuje “osmapa”, więc ciężko tu mówić o wzorze. Chyba, że chodzi o inną mapę (ciężko wywnioskować, bo nie piszesz pod cytatem ;))

Druga sprawa - dane do “osmapy” pobierane są z bazy danych (o tym sposobie wspomniał ktoś wcześniej).

Nie do końca to to samo co w osmapie, poznieważ chociazby w woj. warmińsko-mazurskim nie ma podziału na powiaty, a w osmapie sa. Wiec czegos tu brakuje. Z tego co zauważyłem to z plików osm bardzo ciężko wydobyć cokolwiek kompletnego. granice na podstawie relacji są tym czego potrzebuję, ale ich jest mnóstwo i pobieranie ich osobno mija się z celem. Potrzebowałbym takiego skryptu który by to zautomatyzował. Dziękuję za podesłanie linków do gotowych map, ale wolałbym coś co mógłbym aktualizować na bierząco.

w warm-maz są powiaty kompletne, sam wszystko dodałem… coś robisz źle, ale też nie piszesz “której konkretnej granicy” (dokładnie podać odcinek) według Ciebie brakuje.