Granice administracyjne - ujednolicenie

chyba problemu nie będzie - w relacjach dla granic drogi taguje się jako outer albo inner - może tutaj jest jakaś różnica, za bardzo się w to nie zagłębiałem.

Zdecydowanie uważam, że jednostki podrzędne wobec tych z admin_level=9 powinny mieć admin_level=10. W przypadku Łodzi:
delegatury: admin_level=9 + name:prefix=delegatura
osiedla: admin_level=10 + name:prefix=osiedle.

Będzie totalna sieczka. :frowning:

Poza tym uważam, że lepiej jest mapować rzeczywisty podział administracyjny (http://pl.wikipedia.org/wiki/Plik:Lodz_osiedla_administracyjne.svg) niż obszary Systemu Informacji Miejskiej (http://pl.wikipedia.org/w/index.php?title=Plik:Lodz_SIM.png).

Sądzę, że mechanizm stara się umieścić adres na kolejnych poziomach admin_level. W szczególności mechanizm nie wie (i nie musi wiedzieć), że w Polsce i w Niemczech granice wsi to admin_level=10, a np. w Finlandii granice wsi to admin_level=9. Wystarczy mu umiejętność porównywania liczebników, no i oczywiście umiejętność sprawdzania, czy coś jest wewnątrz, czy na zewnątrz obszaru określonego w relacji. :slight_smile:

Problemy się zaczynają, gdy tych relacji nie ma, wtedy działają reguły “przypisywania do najbliższego” i rezultat może być daleki od spodziewanego.

Oprogramowanie musi znać różnice - po to na wiki są tabele z opisanymi podziałami administracyjnymi każdego kraju. Z tego co pisał Marek w profesjonalnych nawigacjach też tak jest robione. W OSM niektóre kraje mają granice administracyjne w relacjach multipolygon a nie boundary=administrative i to też trzeba brać pod uwagę.

W kodzie nominatima nie grzebałem, ale taki mkgmap ma osobne definicje dla różnych krajów. Z uogólnianiem granic administracyjnych to tak samo jak z uogólnianiem typów dróg w skali świata - trzeba brać pod uwagę lokalne uwarunkowania bo highway=secondary u nas i na Saharze może się deko różnić :wink:

Jak otagujesz dzielnice jako level 9 a osiedla jako level 10 to już żadne oprogramowanie nie rozróżni osiedla od wsi i skopie indeksowanie. Mamy zasadniczo przyjęty pewien model i nie możemy go naginać do lokalnych niuansów bo zrobi się znowu bałagan. Potem Pcim Dolny sobie wymyśli trójstopniowy podział administracyjny miasta i wszystko się rozsypie.

Skoro już są poruszone dyskusje tagowania dzielnic i osiedli to można zmodyfikować ogólny schemat żeby nie było takich problemów w przyszłości.

2 – granica państwa
4 – granica województwa
6 – granica powiatu
7 – granica gminy
8 – granica miasta
9 – granica jednostki pomocniczej gminy (sołectwa, dzielnicy lub lokalnych odpowiedników dzielnic)
10 - granica wsi
11 - granice osiedli, przysiółków w ramach wsi
12 – granice działek ewidencyjnych

Wtedy ma to ręce i nogi - nad wsią jest sołectwo, pod wsią jest ewentualny przysiółek. Równolegle działają dzielnice i osiedla i w miarę sensownie można tego używać w nawigacji. Spójność zapewni się sama, bo z wyłączeniem jakiś jawnych błędów wieś nie będzie w granicach miasta a osiedle w ramach wsi.

Wiesz, pisząc soft nie chcę się rozdrabniać i używać wyjątków w kodzie czy jakiś tabel pośrednich per kraj - tego jest za dużo - to powinno być uniwersalne. W przypadku geodekodowania xy->opis skoki po granicach to bardzo istotne sprawy - tylko że też przydałby się podział ‘pocztowy’ aby granice kodów pocztowych szło załapać - nawet bardziej niż miasto. Nie wiem czy PP się z nami podzieli tą informacją. W innych krajach występują bondingi wg kodów poczty?

Masz rację, ale trzeba zwrócić uwagę na jeden drobny szczegół: nie ma nigdzie danych, gdzie przebiegają granice administracyjne, a podział SIM jest ładnie opisany, no i mam podkład z mapa.lodz.pl z podziałem na obręby. A jedynym źródłem mapy z podziałem administracyjnym Łodzi jest wikipedia(niech ktoś mnie wyprowadzi z błędu, błagam). Poza tym, jadąc do obcego miasta wolałbym aby mapa była zgodna z tym co widać na oznakowaniach SIM (który bardzo nie różni się od podziału administracyjnego). Oczywiście podział rzeczywisty też by się przydało zrobić, ale póki nie ma z czego…
Poza tym i tamtym, podział administracyjny na poziomie osiedlowym ma znikome znaczenie, ważniejsze jest aby tzw. dzielnice/delegatury miast było oznaczone prawidłowo. No i pomimo podziału wg. SIM można umiejscowić rady osiedli tam, gdzie faktycznie się znajdują, i to jest już jakiś consensus.

Czyli co? Granica poziomu 10 ZAWSZE będzie dotyczyła wsi? Chyba da się zrobić tak, aby admin_level=10 wewnątrz admin_level=8 nie był rozpoznawany jako wieś, gdyż logicznie rzecz biorąc miejscowości (prócz wyjątków odpowiednio tagowanych) nie leżą wewnątrz innych.

Świat nie jest uniwersalny, zobacz sobie
http://wiki.openstreetmap.org/wiki/Tag:boundary%3Dadministrative

Jedni mają granicę miasta jako level 6, inni jako level 10. Jak chce się mieć dobrze działające międzynarodowe oprogramowanie to trzeba się pomęczyć. Nominatim sobie może generować na bieżąco strukturę według nazw granic jakie znajdzie po drodze. Ale jak już masz oprogramowanie embedded, gdzie masz rubrykę na nazwę miasta i regionu to nie ma zmiłuj - albo masz tabelkę i wpiszesz dane poprawnie albo mapa nadaje się do kosza.

Poczta Polska nie ma wytyczonych granic dla kodów pocztowych, jest przydział według ulic i numeracji domów. Publikują na necie PDF z pełną rozpiską, oczywiście obwarowany licencją.

//damndog - zobacz zmienioną propozycję podziału, osobno są dzielnice, osobno osiedla, osobno wsie. Prostota przede wszystkim - weź też pod uwagę, że o ile można dopasować pod konkretny kraj przydział leveli to dla Polski nikt nie będzie pisał osobnych algorytmów.

Proponuję w zakresie granic administracyjnych starać się zachować zgodność z tym, co robią Niemcy – dzięki temu są duże szanse na poprawną ich obsługę przez oprogramowanie. Mi dał do myślenia przykład z Berlina i okolic:

Osiedle Marzahn (admin_level=10) → http://nominatim.openstreetmap.org/details.php?place_id=148922306.
znajduje się w dzielnicy Marzahn-Hellersdorf (admin_level=9)
w Berlinie (admin_level=4, bo to miasto wydzielone, “na prawach województwa”).

Osiedle to sąsiaduje z wsią Eiche (admin_level=9, bo to “wieś sołecka”) → http://nominatim.openstreetmap.org/details.php?place_id=149372510
w gminie Ahrensfelde (admin_level=8)
w powiecie Barnim (admin_level=6)
w Brandenburgii (admin_level=4).

I teraz naprawdę nie wiem, co tu miałoby się posypać. Próbuję różnych wyszukiwań w Nominatimie, np:
ulica na rubieżach Marzahn, blisko centrum Eiche – znajduje poprawnie: http://nominatim.openstreetmap.org/search.php?q=Golliner+Stra%C3%9Fe
ulica w Eiche, blisko granic Berlina – również OK: http://nominatim.openstreetmap.org/search.php?q=Ahornzeile
ulica w Marzahn o takiej samej nazwie co ulica w Eiche – też sobie radzi: http://nominatim.openstreetmap.org/search.php?q=Hellersdorfer+Weg

Rozumiem, że mogą być problemy przy konwertowaniu danych OSM np. do urządzeń Garmina. Czy mógłbyś sprawdzić, czy adresy są poprawnie znajdowane w tej okolicy?

Innymi słowy, wydaje mi się zaskakujące, że schemat tagowania granic administracyjnych, który stosują Niemcy, sprawia problemy przy indeksowaniu. Mają oni zaimportowane i odrysowane bardzo szczegółowe granice dla praktycznie całego kraju, poza tym mają silną community, wielu programistów – i to rzeczywiście nie działa? Ktoś może się podzielić jakimiś doświadczeniami?

Właśnie dlatego proponuję ewentualne podjednostki (np. osiedla w Warszawie i Łodzi) umieszczać na admin_level=10. Umieszczanie wielu poziomów podziału jednego miasta na jednym admin_levelu nigdzie nie jest praktykowane, więc nie zostanie dobrze zinterpretowane.

Oficjalne źródło znajduje się w BIP Urzędu Miasta Łodzi: http://bip.uml.lodz.pl/index.php?str=147, na stronie każdego z osiedli jest jego statut, a w nim – słowny opis granic oraz mapka. Myślę, że mapa na Wikipedii powstała właśnie na podstawie tych danych. :slight_smile:

No nie wiem, czy wzorowanie się na Niemcach zapewni nam super kompatybilność - z tego co widzę to oni tagują na tym samym levelu miasta - i dzielnice. Być może mogą sobie na to pozwolić bo mają w 100% wszystkie granice rozpisane.

Chociażby po konfigach w garminowym konwerterze widzę, że każdy europejski kraj ma wszystkie miasta na tym samym levelu (8 albo 9), za to przy kodzie DE nawalone przeszukiwanie po kolei drzewka zależności. Owszem ma to sens, jeżeli masz mapę kraju spójną i przejrzaną w 100%, w przeciwnym razie dostajesz śmietnik. Tak samo, gdy chcesz wyciągnąć np. za pomocą osmosis czy własnego oprogramowania np. granice wsi to nie musisz robić wielkiej logiki sprawdzającej, czy granica level 10 posiada nadrzędną dzielnicę level x oznaczającą miasto bo wtedy to jest dzielnica a nie wieś.

Jednoznaczne tagowanie jest odporne na błędy polegające na niekompletnych granicach (czyli jeszcze przez wiele lat u nas) - jak masz granicę miasta, ale brakuje granicy gminy czy powiatu (albo miasta na prawach powiatu) to jesteś w stanie to jednoznacznie wychwycić a nie zgadywać co może być czym.

Tak jak pisałem, Nominatim sobie takie niuanse wychwyci bo zaindeksuje wszystko co znajdzie i na tym będzie robił wyszukiwanie. W momencie, gdy masz aplikację w której jawnie musisz wpisać miasto, dzielnicę, powiat to zaczynają się schody.

Nie mówię tutaj o konwertowaniu akurat do garmina, tutaj chodzi niemal o każdy system oparty o reguły konwertujące - if-else. Im prostszy format danych, tym mniej kosztuje stworzenie i utrzymanie oprogramowania.

Wklejam jeszcze raz tabelkę z proponowanymi zmianami do klasyfikacji, bo chyba nikt nie przeczytał :wink:

2 – granica państwa
4 – granica województwa
6 – granica powiatu
7 – granica gminy
8 – granica miasta
9 – granica jednostki pomocniczej gminy (sołectwa, dzielnicy lub lokalnych odpowiedników dzielnic)
10 - granica wsi
11 - granice osiedli, przysiółków w ramach wsi
12 – granice działek ewidencyjnych

w takim modelu nie ma konfliktu dzielnicy i osiedla na jednym levelu i wszyscy są szczęśliwi :wink:

Ludzie robią takie rzeczy, np. w Niemczech był import: http://www.openstreetmap.org/browse/relation/1397880. Jakby ktoś chciał zacząć rysować w Polsce, to warto rzucić okiem na ten obrazek: http://wiki.openstreetmap.org/wiki/File:Postcode-example.png – po lewej jest przypadek, gdy cała Hauptstraße ma ten sam kod pocztowy, po prawej – gdy tylko jedna (parzysta/nieparzysta) strona.

hmm… skoro poczta polska robi podział wg. numeracji domów + biorąc pod uwagę pierdolnik w numeracji w PL, to takie rysowanie granic może być niezłym wyzwaniem :wink:

Ale szukanie po kodach pocztowych jest bardzo popularne. W sumie jak mam np adres to łatwiej mi wbić ulica, posesja, kod niż miasto - które może być niejednoznaczne, albo częściowe, np szukanie Kalisz a Kalisz Pomorski. A na wejściu mamy z reguły zwykły liniowy input i z tego trzeba znaleźć pozycję.
Urzędy pocztowe są w miarę wbite z tego co widzę, ale ich zasięg bywa różny.

Dzięx, nie zagłębiałem się w te pdf’y :roll_eyes: Czeka mnie teraz czyszczenie, gdzie nabruździłem, i od nowa.
Podzielę się swoim pomysłem, może i nie nowym, ale jest:

  1. na OSRM wytyczę sobie trasę wzdłuż granic (tam gdzie biegną ulicami) 2. Wyeksportuję trasę do GPX’a 3. Wczytam w JOSM drogi wzdłuż śladu 4. Voila! można robić relację. Poprzednio wczytywałem 1/4 miasta i filtrowałem same drogi, ale to i tak półśrodek…

A nie można dla kodów pocztowych zrobić relacji z należącymi do niej budynkami? Konieczne są granice?

Przypisanie kodu pocztowego do miasta czy dzielnicy to nic trudnego, miałem na myśli to że w innych krajach zakresy kodów pocztowych (np. w UK) są ściśle zrejonizowane i da się je opisać za pomocą boundary. U nas tak się raczej nie da.

A ja zejdę do level=12, czy jeden poziom na numer działki wystarczy? Bo przykładowo mój blok ma takie namiary “geozeyjne”:
Kraków Podgórze - nazwa jednostki ewidencyjnych
Obręb 19
Działka 363/6

I jak to teraz zakodować?

w sumie nic nie szkodzi żeby zejść nawet do level=99, po prostu zalecane jest żeby nie przekraczać levelu 11-12 - na potrzeby indeksowania nazw. W przypadku działek ewidencyjnych będzie z tego korzystać jedynie specjalistyczne oprogramowanie albo specjalistyczne rendery - tutaj można sobie podział projektować do woli. Najlepiej niech się wypowie ktoś obeznany z tematem jaki podział powinien być zrobiony dla działek.

Ja bym obniżył działkę jako admin_level=100 (o ile musi być jakiś konkretny numer).
Do jednostek/obrębów gedezyjnych dochodzą jeszcze np rejony zabudowy (czy jak to się faktycznie nazywa) z Planów Zag Prz…
A pewnie podobnych (nie)administracyjnych bytów jest więcej i osobiście nie widzę potrzeby nadaania im jakichś numerów (skoro i tak nie są wykorzystywane aktualnie, a jak już będą to można dodać/zminić numer z automatu). Całoś na pewno nie jest płaska żeby można je przesortować wg admin_level.

Lepiej iść w kierunku skopiowania wartości admin_level od Niemców(tam gdzie ma to sens), a dla reszty użyjmy naszego tagowania/prefiksów.
Zresztą prefiksy/tagi nie zaszkodzą i częśći pokrywającej się z niemieckim stylem tagowania…

Witam.
W Polsce jest całkem prosty system
Województwo → powiat → gmina → obręb → działka ewidencyjna
Działka ewidencyjna jest podstawową jednostką powierzchni (czyli jak chce się ją jeszcze podzielić to otrzymujemy też działki ewidencyjne)
Tylko po drodze mamy jeszcze coś takiego jak jednostkę ewidencyjną - określająca rodzaj gminy i tak oto mamy:
1 - gmina miejska,
2 - gmina wiejska,
3 - gmina miejsko-wiejska,
4 - miasto w gminie miejsko-wiejskiej,
5 - obszar wiejski w gminie miejsko-wiejskiej,
8 - dzielnice gminy Warszawa
9 - delegatury i dzielnice innych gmin miejskich.
(odsyłam to nr TERYT)
teraz te numerki określają jak daną gminę traktować i mamy oto takie kwiatki:
M. St. Warszawa jest powiatem, w którym są gminy (prawidłowo dzielnice) a tam już indywidualne nr obrębów (np. 6-01-05)
Warszawa jest też gminą miejską :slight_smile:
w mniejszych miastach, które całe są na prawach gminnych obrębami stają się dzielnice.
dla porównania:
W powiecie warszawskim zachodnim jest gmina Stare Babice gdzie obrębami są całe wsie (np. Latchorzew, Lipków)
Zatem moim zdaniem przy obowiązującym systemie w OSM z admin_level można to zrobić, tylko wtedy dzielnica w większym mieście będzie równoznaczna z całą gminą wiejską (obejmującą o wiele więce wsi) - co ze stanem prawnym jest jak najbardziej prawidłowe, ale chyba wielu OSMapowiczom się nie podoba.

Reasumując i dorzucając parę uwag do proopozycji rogala.
Starając się trzymać obowiązujących przepisów w Polsce wtedy otrzymamy:
7 = 8 = 9 lub 9 = 10, 11 nie ma racji bytu lub 9=11

Zatem powstaje pytanie, czy naciągamy podział administracyjny kraju pod OSM czy OSM na podział administracyjny kraju?
Pozdrawiam.

Jakie moga byc ewentualne plusy opcji A. lub B. z punktu widzenia OSM? Jasne jest ze staramy sie oddac faktyczna strukture administracyjna kraju zgodnie z regulami OSM.