JOSM - pluginy

Chciałbym dowiedzieć się jakie pluginy polecacie do programu JOSM. Ze swojej krótkiej znajomości z JOSM zauważyłem dużą przydatność PicLayer oraz buildings_tools.

Mam to szczęscie opiekować się grupką studentów którzy w ramach zajęc piszą PlugIny pod JOSM.
Tematy które zapodałem:

  1. Importer DXF DWG bezpośrednio do JOSM. → Plug In powinien za parę tygodni być gotowy
  2. Rozszarzenie funkcjonalności PlugIna Kendziego (Kendzi 3D). → także tutaj w preciągu miesiąca będze to można dać do testowania.
  3. Optymalixacja pryebiegu punktów na drogach o dużej ilości łamańców (algorytm Ramer–Douglas–Peuckera) i redystrybucja punktów tak by lepiej opisywały przebieg drogi. → Początek roboty
  4. Czyszczenie danych (drogi bez przecięcia, niedociągnięcia, podwójne elementy). Tutaj pokazywanie ich i jeden po drugim pytanie czy element ma być naprawiony. → Początek roboty

Macie jeszcze jakieś pomysły co mogło by się przydać lub co można ulepszyć?

Czy to jest mniej więcej to, co można zrobić Stravą w iD?

Nie pracowalem, nie wiem.
Ja to ugryzc? Pokazal bym studentowi…

Nie do końca tak - Strava uśrednia wiele śladów do jednej drogi, a tu (jak rozumiem Marka) chodzi o zmniejszenie liczby punktów w drodze, bez znaczącej zmiany przebiegu drogi. Do poszukania - takie algorytmy widziałem w użyciu na gpsies.com.

Można spojrzeć np na bibliotekę shapely do Pythona i metodę simplify.

Podczepię się pod ten wątek z zapotrzebowaniem na pewne narzędzie. Chyba że to już gdzieś jest, tylko ja nie mogę znaleźć.
Otóż przydałby mi się odpowiednik tego co w programach graficznych nazywa się “wypełnij kolorem”. Czyli jest jakaś dziura między istniejącymi poligonami, być może skomplikowana, z wyspami itp. Klikam - i tworzy się poligon/multipoligon stanowiący wypełnienie owej dziury. Jeśli kliknąłem w obszar otwatry - to wywala błąd.
Po co to? Np. mam jakąś rozległą polanę w lesie, na niej jakieś krzaki, fragmenty residental i chcę to wypełnić czymś np, trawą. I nie chce mi się “objeżdżać” obrysu ręcznie po istniejących sąsiednich poligonach, tylko zrobić to automatem.

Też się nad tym zastanawiałem. Mógłbyś mi podrzucić parę konkretnych przykładów z mapy żeby mogli sobie testować?
Pozdrowienia!
Marek

Do testowania to można dowolny obszar/multipolygon wywalić, a potem sprawdzić, co zrobi plugin w takim miejscu… i nie wysyłać zmian na serwer ;). Podpisuję się pod tym zapotrzebowaniem obiema rękami :).
Równie przydatne byłoby narzędzie “podążaj za linią do wybranego punktu” - tzn. rysuję łamaną, zaczyna mi się pokrywać z istniejącą już inną łamaną (np. brzegiem innego landuse) - wybieram odpowiedni skrót klawiaturowy i klikam kilka(naście) punktów dalej na istniejącej łamanej, a pokrywający się z nią kawałek rysuje się sam. Nie wiem tylko, czy do takich funkcjonalności wystarczą pluginy, czy też będzie potrzebna integracja w kod JOSMa.
Każda z tych funkcjonalności bardzo by usprawniła rysowanie obszarów dla tagów landuse oraz natural.

Kolejny pomysł, raczej bardzo ambitny, to napisanie (raczej jako osobnego programu) klonu sketchupa dla openstreetmap - tzn. rysujemy sobie budynek 3D w czymś interaktywnym i łatwym w obsłudze, a program sam jest w stanie zamienić to na reprezentację zgodną ze sposobem rysowania budynków 3D w OSM (oczywiście nie wszystko byłoby możliwe do zrobienia tym programem, bo nie wszystko da się uzyskać zgodnie ze specyfikacją :wink: ).

Pierwszy pomysł podchwytuję,
nad drugim pracuje kolega Vvovv:

https://wiki.openstreetmap.org/wiki/F3DB_Workshop_Erlangen a tam link do filmiku:

https://github.com/vvoovv/prokitektura-blender

Zapraszałem do Erlangen, no ale pies z kulawą nogą się wybrać nie chciał. Jedynie Yarl będzie miał okazję napić sie u mnie dobrego piwa :slight_smile:

Przykład trywialny: https://www.openstreetmap.org/#map=18/50.36051/23.36636
Przykład z objeżdżaniem po więcej niż jednym poligonie sąsiadującyn: https://www.openstreetmap.org/#map=18/50.33084/23.48764
Bardziej złożony kształt, sklejenie, wysepki, przecinające drogi: https://www.openstreetmap.org/#map=16/50.2956/23.3885
Inne objeżdżanie po więcej niż 1 poligonie: http://www.openstreetmap.org/#map=19/51.46395/23.12881
Skomplikowany kształt i inne atrakcje: https://www.openstreetmap.org/#map=17/50.37207/23.53088
Tu parę ciekawych kształtów: https://www.openstreetmap.org/#map=16/50.3696/23.2457

Nie wiem, czy jest to możliwe.

  1. Rysowanie okręgu o środku w miejscu kliknięcia i zadanym promieniu “a”.
  2. Wielokąt (może na początek trójkąt i czworobok), gdzie pierwszy węzeł w miejscu kliknięcia a pozostałe boki jako zadane wartości, “a” , “b”, “c”, itd.
    Kierunek pierwszego boku można też zadać, ale możemy też obiekt obrócić ręcznie.

Byłoby to bardzo pomocne w rysowaniu obiektów o znanych wymiarach.

Hallo Władku, definitywnie jest to możliwe i łatwe do wykonania. Poproszę o zrobienie tego.
Pozdrowienia,
Marek

PS: Przedyskutuje możliwość zrobienia tego, co zasugerowali Koszatek i Domiss. Niech się ekipa wypowie.
No i dzięki za pomysły…

Zainstalowałem blendera, udało mi się prawdopodobnie zainstalować plugin na podstawie tutorialu. Przy próbie zastosowania go do kwadratu w blenderze wyskakują błędy. Być może coś robię źle - tutorial nie jest dla początkujących (zakłada chyba dobrą znajomość blendera), co więcej, bardziej dotyczy konfiguracji tej wtyczki (pisania plików z regułami), niż zastosowania do modelowania budynków. Gdyby nawet udało mi się uruchomić wtyczkę, to nadal nie miałbym pojęcia, w jaki sposób przygotować sobie podkład z OSM do wczytania do blendera i w jaki sposób wyeksportować to z powrotem do OSM. W tym sensie, przynajmniej na obecnym etapie, prokitektura ani trochę nie przypomina mi łatwości modelowania w sketchupie :(.
Erlangen jest niestety “troszkę” za daleko dla mojego samochodu…

To raczej my będziemy dziękować jeśli da się to zrobić ;).

Mamy tworzenie równoległej drogi, ale przesuniecie jest skokowe (zależne od ustawienia).
Może przesunięcie o zadaną wielkość “a”?

Przydatne przy rysowaniu linii/obrysów o znanym przesunięciu.

Jest już w JOSMie, ale trochę mniej sprytne jako (f)ollow (podążaj za linią).

Dzięki - zawsze lepsze to niż wyklikanie całej linii jeszcze raz :).

Byc moze chodzi o jeszcze cos innego, bo dokladnie to o czym mowisz robi narzedzie Simplify w JOSMie, wlasnie algorytmem Ramera-Douglasa-Peuckera.

Narzędzie do upraszczania poza tym i tak można wiele ulepszyć - chociażby pozwalając na zmianę progu z poziomu interfejsu…

Może wtyczka ułatwiająca odklejanie landuse od dróg?

W przyszłym tygodniu na wiki pojawią się kolejne 3 plugIny. Teraz już mogę napisać: Powstają jako prace kilku studentów informatyki uniwerytetu Brasov z Rumunii.
Pojawią się PlugIny:

  1. Zamiana budynków na prostokątne, przy czym np budnki których 3 ściany są prawie ortogonalne a czwarta nie, będą zmieniane tak, że pierwsze 3 ściany będą ortogonalne a czwarta nie będzie ruszana.
  2. Optymalizacja przebiegu punktów na drogach o dużej ilości łamańców (algorytm Ramer–Douglas–Peuckera) i redystrybucja punktów.
  3. Narzędzie do ustawiania fasad budynków prawie równoległych do drogi w ten sposób, by do drogi były równoległe.

Inne tematy są dalej w opracowaniu.