Rzeki i hydrografia

Pomyślałem sobie, że na niskich poziomach przybliżenia brakuje nam dużych rzek, ale okazuje się, że nie mamy żadnej klasyfikacji rzek. Mamy tylko rozróżnienie rzeka/strumień, ale to się sprawdza tylko na dużym przybliżeniu, a na niskim wychodzi straszny miszmasz:

https://github.com/gravitystorm/openstreetmap-carto/issues/2688#issuecomment-320518004

Chciałbym wobec tego zacząć tagować długość rzek na świecie (length=* - koniecznie dodając “km”, bo domyślnie to jest w metrach) oraz wprowadzić najprostszą klasyfikację typu “stream order” (order:classic=1 jeśli wpada do morza, order:classic=2 jeśli jest bezpośrednim dopływem wpadającej do morza - itd.). Wydaje mi się, że bazując na tych dwóch prostych parametrach uda się sensownie ograniczyć liczbę rzek, które powinny być widoczne w skali kraju, kontynentu i świata.

Myślę, że przerobienie listy najdłuższych rzek świata:

https://en.wikipedia.org/wiki/List_of_rivers_by_length

dałoby dobre wyobrażenie jak to działa w praktyce, ale warto też potagować trochę mniejszych (np. w Polsce), dzięki temu będzie widać jaki próg należy dobrać, żeby nie było za dużo ani za mało.

[Aktualizacja:] wyszło na to, że zamiast length lepsze będzie distance, to jest od razu w kilometrach i służy do oznaczania odległości.

Zastanawiam się, jak by to wyglądało, gdyby brać pod uwagę tylko obszary waterway=riverbank, czy przy dużym pomniejszeniu byłyby na tyle cienkie, ze aż niewidoczne?

Zależy jak szeroka rzeka. Może być taka, że właściwie jest jak zatoka:

http://www.openstreetmap.org/relation/3474227#map=6/-33.174/-54.789

ale na przykład Wisła - na z8 jeszcze jest trochę grubsze niż linia, ale na niższych poziomach już raczej nie:

http://www.openstreetmap.org/way/250757468#map=8/51.526/22.662

Przy tym jednak obszary nie są dobrym elementem do generalizacji - obszar raz jest, raz nie ma. Tak samo jak a:h nie jest dobre żeby wyświetlać autostrady na poziomie kraju. A jak jest linia, czyli najgrubsze uproszczenie, to wystarczy raz (np. w relacji obejmującej całość) określić że jest ważna i tyle - wtedy dobieramy grubość, kolor i co tam jeszcze chcemy. Nikt się pewnie nie zastanawia, że aby zobaczyć rzekę na poziomie kraju to w większości ta kreska musi być nierealistycznie gruba, ale nas interesuje tylko jej bieg, a nie prawdziwa szerokość. I do tego linia jest najlepsza.

Dodana dziś klasyfikacja dla kilku największych polskich rzek pozwala już wyróżnić te, które można pokazywać w skali Europy:

http://overpass-turbo.eu/s/qTd

od tych, które powinny być widoczne dopiero w skali całej Polski:

http://overpass-turbo.eu/s/qTf

Specjalnie otagowałem też małe rzeczki wpadające prosto do morza - dzięki temu widać, że poza oznaczeniem rzędu potrzebne będzie dodatkowo kryterium długości, żeby je odfiltrować.

Jeśli są gotowe relacje, to tagowanie idzie jak z płatka, inaczej trzeba dużo czasu, żeby złożyć rzekę z kawałków. Mam nadzieję, że te naprawdę duże i ważne na świecie też są w większości sklejone w relacje, a jak nie, to akurat dobra okazja, żeby to wreszcie zrobić.

By wykazac się odrobiną ignorancji to powiem, że nie wiedziałem co by to przez Olsztyn to jakaś ważna rzeka płynęła :wink: Natomiast w tym zestawieniu ważnych rzek z pewnością brakuje mnie Bugu.
Co do samych ważnych rzek to w telewizorze ostatnio dużo mówią o reaktywacji międzynarodowych dróg wodnych. Może również je wziąć pod uwagę przy którymś z pośrednich zoomów jak z7?

Przydałoby się zaktualizować https://wiki.openstreetmap.org/wiki/WikiProject_Poland/Rzeki Żeby chociaż jedna główna rzeka była kompletna.

Na tej stronie wiki “Langth” to jakoś tak z niemiecka czy jednak błąd się wkradł w kilku tabelach?

Jedyna prosta i sensowna klasyfikacja jaką do tej pory znalazłem, to klasyczna odmiana systemu “stream order”, czyli jeśli uchodzi do morza, to ma numer 1, jeśli jest dopływem 1, to ma numer 2, jeśli jest dopływem 2, to ma numer 3 itd. Długość jest osobnym parametrem i na razie go nie uwzględniałem. Przez Olsztyn płynie rzeka 2 rzędu (Łyna jest dopływem Pregoły, która wpada do morza), podobnie jak np. Warta, dlatego jest widoczna. Bug natomiast jest 3 rzędu (bo wpada do Narwi, a ta do Wisły), a tu akurat dałem filtr odcinający 3 rząd. Nie jest to system pokrywający się z wszystkimi intuicjami, ale na początek wystarcza - da się coś z grubsza sensownie odfiltrować zamiast pokazywać wszystkie rzeki na raz.

Na razie nie ma co dzielić skóry na niedźwiedziu, jak będzie wyglądał ostateczny filtr na którym poziomie to się okaże. Żeglowność może być jednym z parametrów. Niestety znam tylko klasyfikację dla Europy (https://wiki.openstreetmap.org/wiki/Pl:Key:CEMT?uselang=pl - też można to nanosić), a chcę opracować w miarę prosty system dla całego świata. Na razie potrzebuję podstawowych tagów typu stream order i distance, zobaczymy co z tego wyjdzie dopiero jak będzie dużo otagowane, a nie tylko największe rzeki Polski i Europy.

Zaktualizować stronę warto, ale tym się nie zajmę. Mogę tylko powiedzieć, że z tej listy:

https://pl.wikipedia.org/wiki/Rzeki_Polski#Najd.C5.82u.C5.BCsze_rzeki_w_Polsce

przeleciałem pierwsze 20 i o ile pamiętam wszystkie z nich mają już pełną relację (były takie, które nie sięgały źródeł, ale je zaktualizowałem).

Generalnie jaki sposób klasyfikacji ostatecznie nie przyjmiesz to na githubie cie poprę. Natomiast jak był miał doradzić to długość powinna być może nie jedynym, ale na pewno podstawowym kryterium, a stream order pomocniczym i osobiście przetestował bym wariant który miałby w sobie coś takiego
z3 length>1000 stream order=1
z4 length>1000
z5 length>750
z6 length>500 stream order=1
z7 length>500

Oczywiście przy braku tych wartości nie wyświetlamy nic. Powinno to pozytywnie wpłynąć na uzupełnienie mapy stosownymi wartościami

EDIT: Pisząc lenght oczywiście na myśli miałem distance :wink:

Wydaje mi się, że przyjęcie stream order za podstawę pozwala zachować spójną sieć, bo wcale niekoniecznie te najdłuższe rzeki docierają do morza, więc lepiej żeby najpierw uwzględnić połączenie z dużymi wodami, ale nie ma co zgadywać, to się zobaczy i tak.

Tymczasem napisałem propozycję na temat stream order, żeby mieć standard tagowania i trochę upowszechnić ideę uniwersalnej kategoryzacji rzek:

https://wiki.openstreetmap.org/wiki/Proposed_features/Waterways_classification

Jeśli będzie brana pod uwagę CEMT, to muszą być wszystkie, nawet te o najmniejszym stopniu(czyt. I), bo inaczej nam pół Wisły nie będzie się wyświetlało.

Nie ma obawy, nawet jeśli będzie używany, to z pewnością jego brak nie będzie decydujący, bo wtedy mielibyśmy większy problem - nie pokazywałyby się rzeki poza Europą. :roll_eyes:

Ale widzę, że się tym oznakowaniem zajmujesz, to może wiesz co na Wiśle powyżej Warszawy oznacza ref=4?

http://overpass-turbo.eu/s/qUE

Zaczęły się dyskusje, a Zverik zaproponował rozwijanie równolegle syntetycznej klasyfikacji wedle długości i szerokości rzeki. Zapraszam do komentarzy:

https://wiki.openstreetmap.org/wiki/Talk:Proposed_features/Waterways_classification

Swoją drogą - czy jest ktoś, kto byłby w stanie zrobić klasyfikację programową wedle tych systemów stream order (najlepiej klasyczną i przy pomocy lua, żebym mógł to od razu sprawdzić wizualnie)? Bo jakoś nie wierzę, że automaty to dobrze policzą i że to będzie łatwe. Spodziewam się różnych haczyków w analizowaniu sieci wód.

A co nalezy zrobić ze strumieniem Zyzoga, który wpada do Wiśniówki, a ten z kolei wpada do Zyzogi? Geoportal tez tak pokazuje…

Bardzo ciekawy przypadek, dzięki. To by przeczyło przekonaniu, że po co takie oczywiste rzeczy tagować, skoro da się to wszystko automatem policzyć (i tu czasem jeszcze moje ulubione słówko - “łatwo” :smiley: ).

Alternatywna propozycja Zverika:

https://wiki.openstreetmap.org/wiki/Proposed_features/Rivers_Classification

W zasadzie podoba mnie się pomysł człowieka, tylko mam pewne ale. Nie rozumiem jednak tego podejścia

“But these relations are mapped inconsistently, and even if you could maintain a hundred relations for major rivers, I doubt all the big rivers would have their relations mapped in at least a decade, without breaking any of these.”

To jest bzdura. Przede wszystkim mamy okazję by coś konkretnie ustalić i w ten sposób postępować i na ten sam sposób zmienić oznaczenie wszystkich rzek, więc będziemy mieć spójność. Ponadto istotnych rzek nie ma też aż tyle by zajęło temat zajął 10 lat. Przykład to zmiana relacji starych na nowe. Wcale nie trwało to latami. Do tego zdecydowanie wolę jak ciek wodny zmapowany jest jako relacja, gdyż zmieniamy dane dla wielu odcinków na raz, a nie dla 50 czy więcej odcinków z osobna. Jak już ktoś potrafi wyszukać np. jedynie waterway=river AND name=“Narew” to i będzie miał praktycznie z miejsca większość jak nie wszystkie obiekty, które wchodziły by w skład tejże relacji i będzie mógł ją łatwo utworzyć gdy jej jeszcze brakuje.

Tak abstrahując od obu propozycji co ze źródłami rzek? Generalnie nim taka rzeka powstanie to wpierw również dla mnie jest jedynie strumieniem przynajmniej do momentu do którego nie da się jej przekroczyć jednym większym krokiem. Analogicznie idąc dalej jak już ma 2 czy 3 metry szerokości to w danym miejscu również miała by być major?

To mu napisz - ani moja ani jego propozycja nie są jeszcze ukończone i to dobry moment na zgłaszanie uwag:

https://wiki.openstreetmap.org/wiki/Talk:Proposed_features/Rivers_Classification

Czy ktoś z was się orientuje, czy te dane byłyby dla nas przydatne?

https://geoforum.pl/news/25158/mapa-podzialu-hydrograficznego-jako-dane-publiczne

Myślę, że byłyby przydatne, ale raczej nie do bezpośredniego importu, ale do stworzenia wizualizacji pokazującej braki w ciekach i różnice w nazewnictwie.