Granice administracyjne - ujednolicenie

Góra grzebała coś w domyślnym stylu mapy, między innymi w stylach renderowania granic. Zmiany są na plus, gdyż z tego co widzę to używanie granicy przez kilka poziomów jednostek administracyjnych nie psuje już jej wyglądu, a także nazwy jednostek graniczących ze sobą są wyświetlane po obu jej stronach. W Polsce jednak granice nie renderują się teraz W OGÓLE, gdyż podczas porządkowania wartości admin_level kawał czasu temu podjęto decyzję o usunięciu tego tagu ze wszystkich granic. W związku z tym prosiłbym kogoś obeznanego w półautomatycznych edycjach na dużą skalę do ustawienia granicom właściwego admin_level, bo chyba nie mamy zamiaru robić tego ręcznie :stuck_out_tongue:

Trzeba poprawić styl, a nie generować nadmiarowe dane.

Czyli efektywnie - przestać używać strony osm.org i kafelków z niej, albo porozmawiać z Andym Allanem na ten temat. Tu jest uzasadnienie: https://github.com/gravitystorm/openstreetmap-carto/commit/b0842bd7a34d761618d405200778909a09ee1655

Dzieki za link, skomentowalem i Andy Allan zrewertowal te zmiane, https://github.com/gravitystorm/openstreetmap-carto/commit/3d79dfa8899c5e17873f0920606a8b433c3e3045

Witam serdecznie. Jestem autorem serwisu zaliczgmine.pl dla rowerzystów. Korzystam z granic administracyjnych w plikach KML zaimportowanych do bazy. Jest to rozwiązanie obarczone wieloma błędami. Czy jest taka możliwość, aby pokazać granice gmin i stwierdzić nad jaką gminą znajduje się myszka i jaka gmina jest w miejscu kliknięcia? Czy taka funkcjonalność jest możliwa w OSM, albo będzie możliwa?

Granice mamy kompletne w OSM do poziomu gmin włącznie. Myślę, że takie rozwiązanie o jakim mówisz jest możliwe, ale jak to zrobić konkretnie musi ktoś inny napisać, bo ja nie znam się aż tak na tym.

Dostałem dzisiaj od kolegi z pracy następujący obrazek:
https://wiki.openstreetmap.org/w/images/0/01/EuropeOrder8Coverage201408.png

Pokazuje on pokrycie obszaru przy użyciu boundary=administrative.

Pytanie: Czy on coś skopał, czy też mamy w Polsce rzeczywiście tak słabo zmapowane granice miast?

Nic nie skopał… niestety ósemek tyle jest:

http://osmapa.pl/w/admin/?lat=52.3&lon=19.2&zoom=6&ol=B&legend=1

Aleosochodzi i dlaczego “niestety”? IMO granice miast mamy w miarę kompletne. Proszę nie mylić z granicami wsi, bo one mają u nas admin_level=10 i ich faktycznie jest mało wyrysowanych.

EDIT: Tak się teraz zastanawiam, czy to był dobry wybór, by wsiom dawać admin_level=10? W sumie wieś to taka sama jednostka terytorialna jak miasto, wsie też mają ulice i inne bajery :slight_smile:
Może powinniśmy wsiom też dawać admin_level=8?
Rzucam taki luźny pomysł do rozważenia. Jakby co, lepiej to zmienić teraz, bo jeszcze mamy mało takich granic.

Wg PRNG mamy 3283 miasta, to wygląda tak:

Edycja: to są punkty, zdefiniowane jako miasta, ale często wypada po kilka punktów na jedno miasto. Punktów określonych jako “punkt centralny” jest 913.

Według wikipedii w Polsce jest 913 miast.
http://stat.gov.pl/obszary-tematyczne/inne-opracowania/miasta-wojewodztwa/miasta-w-liczbach-2012,3,7.html
Za pomocą josm wyciągnałem 925 relacji, albo ja coś zrobiłem nie tak, albo mamy “nadmiar”. Jednak pokazuje, że nie jest tak źle jak na rysunku wygląda.

W Niemczech admin_level=8 do gminy, przykład:
https://www.openstreetmap.org/relation/1334079
https://pl.wikipedia.org/wiki/Nordwestuckermark

Z GUS:

Faktycznie sołectwa (następna po gminie jednostka podziału kraju) mają admin_level=10, czyli mniej niż dzielnica miasta. Jest też takie pojęcie jak obręb ewidencyjny http://pl.wikipedia.org/wiki/Obr%C4%99b_ewidencyjny , który dla gminy wiejskiej powinien się pokrywać z sołectwem a w mieście własnie z dzielnicą. Przydałby się więc dla nich jeden tag, proponuję admin_level=9.

Jeśli chodzi o admin_level=8 to może dorzucić do niego granicę gmin, czyli aktualne admin_level=7? Będzie spójność z większością Europy.

Ale jaki jest sens zmieniania tego? Polecam zajrzeć na początek wątku ile było dyskusji i pracy włożonej w wypracowanie obecnego standardu. Przypominam, że podział administracyjny w OSM służy głównie poprawności wyszukiwania adresów oraz rozróżniania regionów, miast, wsi i dzielnic.
Wypracowany schemat jest uniwersalny o tyle, że twórcom Nominatima ani wszelakich nawigacji nie trzeba robić specjalistycznych szkoleń czym się u nas różni gmina wiejska od miejsko-wiejskiej.

I to jest celem nadrzędnym, a nie to, że komuś na wizualizacji wyświetla się biała plama.

Maksymalny admin_level obsługiwany przez Nominatim to 10 i oznacza on dzielnice właśnie. Wszystko powyżej 10 powoduje problemy z adresami. Na przykład wioski obok miast są traktowane jako dzielnice tego miasta i zwracane jest złe rozbicie adresu przez API. Jakiś czas temu próbowałem dostosować Nominatim do polskich standardów, niestety potrzebne zmiany były zbyt głębokie i zrezygnowałem. Obeszliśmy to w oprogramowaniu korzystającym w Nominatim zamiast poprawić Nominatim.

Ale może jakiś przykład? Bo jak na razie te przykłady, które podsuwał przemek2906 dawały się ogarnąć przez uściślenie tagowania.
Poza tym co proponujesz, bo nie wyłapałem z Twojej wypowiedzi?

http://nominatim.openstreetmap.org/search.php?q=grzybowo%2C+ko%C5%82obrzeg&viewbox=15.49%2C54.17%2C15.51%2C54.15
Grzybowo, Stary Borek, gmina Kołobrzeg, powiat kołobrzeski, województwo zachodniopomorskie, Polska (Suburb)

A tutaj z rozbiciem adresu w xml:
http://nominatim.openstreetmap.org/search.php?q=grzybowo%2C+ko%C5%82obrzeg&viewbox=15.49%2C54.17%2C15.51%2C54.15&format=xml&addressdetails=1

<suburb>Grzybowo</suburb>
<village>Stary Borek</village>
<county>gmina Kołobrzeg</county>
<state>województwo zachodniopomorskie</state>
<country>Polska</country>
<country_code>pl</country_code>

Miejscowość Grzybowo rozpoznaje jako dzielnice w Stary Borek (prawdopodobnie dociągnęło dzielnice do najbliższej miejscowości oznaczonej punktem, nie sprawdzałem). Mamy takich przypadków wiele z tego względu odpowiednio się do takich wyników dostosowaliśmy. Niestety wprowadza to w błąd wszystkich szukających tam adresów i nie znających tego problemu.

Stwierdzałem fakt, bez propozycji. Jakbym miał coś proponować to zmianę admin_level w taki sposób żeby Nominatim był w stanie je rozpoznać. Z rozmowy z programistami Nominatim jednoznacznie otrzymałem odpowiedź, że oni dostosowali się do większości państw gdzie admin_level=10 to dzielnica i wyższych (niższych jednostek podziału) nie biorą pod uwagę. Nie są też w stanie dla Polski tego zmienić, admin_level jest hardcoded (żeby było ciekawiej to nie dałem rady znaleźć wszystkich miejsc w kodzie gdzie tak jest, dlatego zrezygnowałem z modyfikacji).

No nie wiem, na globalnym wiki jest trochę krajów gdzie level 10 to są wsie. U nas dzielnica miasta to jest level 9, celowo przyjęta tak, aby uprościć (o ironio :P) algorytmiczne przypisywanie granic i pomijanie dzielnic wtedy kiedy ich nie chce się uwzględniać w wyszukiwaniu. W wiki rzeczywiście jest level 11 jako ‘neighbourhood’, ale IMHO i tak większą przydatność mają ‘prawdziwe’ dzielnice, czyli level 9. Konkludując: w polskich warunkach limit 10 poziomów nie powinien być problemem.

Moim zdaniem jest to kolejny przykład oprogramowania pisanego przez ludzi, których horyzonty kończą się na granicy własnego kraju. Nie wiem też jaki algorytm jest w stanie przyjąć, że jedna wieś (Grzybowo) może być dzielnicą innej wsi (Stary Borek).

Z tego co wiem, to ktoś od nas kiedyś dostosowywał Nominatima (chyba na produkcję nie weszło) do polskich standardów i działało dobrze - może autor się wypowie :).

No właśnie admin_level=10 powoduje to, że Grzybowo jest traktowane jako dzielnica. Oni łączą relacje granicy administracyjnej z punktem ale tylko wtedy kiedy się zgadzają ich przyjęty dla danego place admin_level z tym z granicy.

Może mówisz o tym:
http://forum.openstreetmap.org/viewtopic.php?id=24288
https://github.com/twain47/Nominatim/issues/101
Niestety nie działało to jak trzeba. Kod jest rozrzucony w wielu miejscach i poprawka, która była zrobiona poprawiła tylko wyniki na stronie, natomiast w odpowiedziach API (xml/json) i rozbiciu adresu, dalej były problemy. Dlatego dostosowaliśmy oprogramowanie zewnętrzne a Nominatim został jak był.

Jeśli jednak nie o tym mowa i ktoś kiedyś zajmował się podobnym projektem chętnie połączę siły.

A jakie są argumenty przeciw, żeby granice miejscowości tagować jako admin_level=8?