JOSM - różne sprawy, porady

Pomogło dopiero skasowanie pliku ./cache/left-right-hand-traffic.osm.
Chociaż mój wydawał się poprawny i nigdy go nie ruszałem to po skasowaniu JOSM pobrał sobie go na nowo.

Pytanie już troszkę teoretyczne, bo kawał roboty mechanicznej odwaliłem, ale… może nie musiałem?

Sytuacja taka: ktoś (lub ktosie) nadał kupie miejscowości tagi wikipedia:pl=, a nie ma żadnego wikipedia=pl:. Wybrałem takie Overpassem, wciągnąłem do JOSM i… jest jakaś możliwość takiej zamiany za jednym zamachem?

Dodatkowe utrudnienie: tagi są na relacjach.

W JOSM-ie - nie widzę, nie kojarzę, chyba nie mamy regexpo’wego replace’a.

Ale taki np sed na gołym pliku XML załatwi Ci sprawę w sekundę…

O ile sed nie jest dla mnie problemem, to musiałbym się nauczyć, jak wygenerować plik wejściowy i jak wrzucić z powrotem efekty.
Rzuciłbyś linką do jakiegoś opisu?

Josm czyta pliki osmChange (*.osc) ale ich nie zapisuje. Wydaje mi się jednak, że kiedyś to robił. A może nadal potrafi, tylko ja zapomniałem jak to zrobić? Może ktoś doradzi.

  1. Zaciągasz overpassem dane do JOSM-a (polecam z
out meta

)
2. Zapisujesz w JOSM-ie warstwę do pliku (plik *.osm - który jest XML-em)
3. Odpalasz na pliku *.osm sed’a

I teraz dwie wersje:

  1. Robisz w JOSM ctrl+U (Uaktualnij dane) - mam nadzieję, że JOSM wykryje wtedy, że ma inny stan obiektu lokalnie niż zdalnie, i uzna, że trzeba wysłać zmiany na serwer - nie testowałem, nie wiem czy zadziała
  2. Do każdego nadrzędnego taga (, , ) dodajesz atrybut action=“modify” - to też powinieneś dać radę sed’em dorzucić

Na koniec:

  1. Ładujesz plik do JOSM’a, weryfikujesz: a) czy JOSM chce wysłać dane do OSM, b) czy zmiany, które zrobiłeś są poprawne
  2. Uploadujesz do OSM

Zrobiłem jeszcze inaczej: w edytorze w poprawianych miejscach dodałem własny tag, a potem w JOSMie go usunąłem - i już właściwe obiekty miały status zmienionych.

Jak podzielić linię prostą na żądaną liczbę równych odcinków albo jak wrysować w linii odpowiednią liczbę odcinków o zadanej długości?

Może być tylko umieszczenie nodów, to sobie ręcznie potnę.

Hmmm… Nie wiem.

A jaki jest cel ćwiczenia, to może znajdziemy inne rozwiązanie?

Przy modelowaniu 3D potrzeba wielu klocków i to o dość regularnych kształtach .JOSM mierzy z dokładnością do 0,1 m więc rysowanie z ręcznym pomiarem wiąże się ze sporą 'histerezą" (błędem kierunku najazdu).
Co gorsza zauważyłem na odcinkach krótszych chyba niż 50 cm, że wynik pomiaru widoczny na dolnym pasku różnił się o 100% ze skalą miarki w lewym górnym rogu głównego okna JOSMA.

Jest wtyczka do rysowania szeregowych budynków gdzie można ustawić szerokosć budynku w metrach ale nie testowałem czy działa na ułamkach.Zresztą ciecie potem zbędnych scan aby uzyskać pojedyncze odcinki to te z pracochłonne jest.
Nie sprawdzałem jeszcze jak działa funkcja rozmieszczenia, tzn. może dałoby się na odcinku wstawić konieczną liczbę nodów potem funkcją L to wyprostować a następnie rozmieścić w równych odstępach.
Rozmieszczenie na okręgu działa pięknie ale nie pamiętam czy można na prostej.

Przy funkcji klonowania trudno wskazać miejsce gdzie nowy odcinek ma się pojawić.
Zawsze to można by wykorzystać do podwajania odcinka ale dwa klony przy sklejaniu skrajnych nodów mogą trochę zmienić długości tych odcinków.

Sa jakieś funkcje robienia symetrii ale to nie klonuje a tylko odwraca “na drugą stronę lustra”.

Zapewne jest jakaś funkcja dzielenia linii na pół to by się chociaż jakieś parzyste ilości odcinków udało stworzyć

  1. JOSM nie zapamiętuje uaktywnionych podkładów. Znikają one po kilku uruchomieniach z Paska menu > Podkłady

  2. Nie działa podkład Geoportal 2: Ortofotomapa (zdjęcia lotnicze). Działa natomiast gdy się kliknie w Geoportal 2: Ortofotomapa (zdjęcia lotnicze) WMTS. Wiadomo że jest to ten sam podkład tylko, że wcześniej ten pierwszy również działał.

  3. Tragiczna wydajność samego programu. Pomaga trochę zwiększenie ilości ramu wykorzystywanego przez JOSM, ale czy zwykły użytkownik wie jak takie rzeczy robić? I nie każdemu chce się ustawiać ciągle to samo. Program po ściągnięciu i uruchomieniu powinien być zawsze skonfigurowany jak najlepiej. Aby nie odstraszać nowicjuszy (a może taki jest zamysł?) wykorzystywać tylko i wyłącznie 64 bity i taką ilość ramu jaką mamy na komputerze. Domyślnie program używa 256 RAM to jakieś jaja chyba w dobie czasów w których dużo osób ma już nawet po 64 GB RAM w swoich maszynach. Całość działa dość topornie nawet na wydajnym komputerze po wczytaniu danych. A jeśli ktoś chce szybko edytować dane to JOSM to bardziej utrudnia niż pomaga. Przy dzisiejszych możliwościach taki JOSM powinien hulać i momentalnie wczytywać dane. Sory ale jak programowi pobranie kilkudziesięciu kilobajtów zajmuje dłuższą chwilę a potem wyświetlanie tych danych jest wielce dalekie od płynnego to coś jest nie tak. Mocny 4 rdzeniowiec i szybkie 8 GB ram to dla niego nadal zbyt mało? Być może JOSM wykorzystuje też jeden rdzeń. Nie znam się aż na tyle na tym żeby to wiedzieć bo nie muszę. Chcę odpalić program i momentalnie móc jak najwygodniej i bezproblemowo poprawiać mapy.

Jedyną zaletę jaką widzę w tej toporności jest to że mniej ludzi nieobytych w komputerach będzie coś dłubać w mapach.
Tylko to może jednocześnie odstraszyć jakąś część osób nowych, którzy będą woleli używać edytora online z powodu wygody a jak wiadomo z tym edytorem online trzeba bardziej uważać niż z JOSM.

  1. Jedno z ważniejszych rzeczy jaka powinna być w JOSM. Powinien on automatycznie wykrywać teren jaki wyświetlamy (na całym świecie) i za jednym kliknięciem pobierać wszystkie możliwe najlepsze, najaktualniejsze, działające i zalecane podkłady (do warstw) na dany teren gdy pobieramy skrawek takiego terenu, oraz je odpowienio nazywać. Dzięki temu nigdy nie zapomniało się o żadnym podkładzie. Co więcej powinien automatycznie ustawić kod odwzorowania terenu oraz przesunięcie (jeżeli jakaś warstwa tego wymaga). Taki mechanizm przyspieszyłby znacznie edycję map, wykluczył błędne rysowania na nieskalibrowanych podkładach oraz nieścisłości odnośnie jaki podkład jest najlepszy na dany teren. Przykładowo chcę edytować mapy Ukrainy. Skąd mam mieć pewność że dana droga była na skalibrowanym podkładzie lub nie? Po trzecie skąd pewność że dane przesunięcie będzie okej itd.

Sprawdź najnowszą wersję testową. Są tam poprawki związane ze znikaniem podkładów.

U mnie działa.

Nie u mnie.

A skąd JOSM ma to wiedzieć?

NO WŁAŚNIE.
Dlatego pomysł automagicznego kalibrowania wydaje się dobry.

W JOSM-ie da się ustawić rozmiar cache dla TMS. Czy da się to zrobić także dla WMS? Mam mało miejsca na dysku SSD i nie chcę ręcznie opróżniać cache za każdym razem.

Ten rozmiar ustawia limit maksymalny rozmiar cache, dla każdego typu z osobna (WMS, TMS, WMTS).

Czyli gdy ustawisz np. 1GB, to maksymalnie będziesz miał:
1GB TMS
1GB WMS
1GB WMTS

Trochę to nieintuicyjne :wink: Optymalnie powinno być jedno ustawienie, a algorytm cache’owania wspólny, tak żeby miejsce dzielić wg potrzeb, a nie po równo. (Zresztą wszystkie te protokoły idą po HTTP). No i ustawienie to bardziej pasuje do zakładki “Pamięć podręczna” :smiley:

Od wczoraj mam problem z zapisaniem danych na serwerze.
"Przekroczony dopuszczalny czas komunikacji z serwerem OSM “https://api.openstreetmap.org/api/0.6/. Proszę spróbować później”
Muszę zapisywać dane, następnie otwieram ten plik i wtedy udaje mi się wysłać.

Edit: Gdy przy wysyłanie zamienię w konfiguracji wysyłki (Zestaw zmian) z
**“Wysłanie do istniejącego zestawu zmian” **
na
“Wysłanie do nowego zestawu zmian”,
mogę wysłać dane do serwera bez problemu.
Dlaczego?

A od kilku tygodni, gdy włączam JOSM, najpierw widzę obraz z informacją:
“Konflikt podczas łączenia linii. Łączoną linią jest .0(72 węzły) [id:0].”
Gdy dam “Zastosuj”, JOSM się wyłącza. Gdy usunę ten obraz to JOSM się uruchamia.

Ekran startowy JOSMa informuje mnie, że używana jest wersja 12039 a “informacja o programie” mówi, że dalej używam 11526.

Aktualizowałem tylko wtyczki. Skąd taki błąd?

Pisząc ekran startowy masz na myśli:

  1. Ekran podczas uruchamiania JOSM (tam gdzie wyświetlają się informacje o ładowanych wtyczkach, wczytywaniu informacji o podkładach itp.)
  2. Ekran po uruchomieniu JOSM, na którym są wyświetlane “Aktualności” i informacje co się w której wersji zmieniło

Jeżeli masz na myśli to 1, to takie coś nie powinno się zdarzyć. Jeżeli 2 - to jest to naturalna sytuacja. Co więcej - na samej górze powinieneś mieć napisane “Trzeba wykonać aktualizację”.

Chodzi o to duże okno te stabilne zapraszające do MApRoulette, a nie o te male okienko wyświetlające czasy ile zabrał kolejny etap uruchamiania.

Nie zrozumiałeś co napisałem o fałszywce.
Typowo jest tak jak napisałeś, że pojawia się komunikat “trzeba wykonać aktualizację”.
U mnie była fałszywa informacja na tym ekranie (na szczycie) że mam wersję 12039 czyli aktualną, więc nie mogło być zalecenia, że mam wykonać aktualizację.
Tymczasem miałem wersje 11526 co potwierdziło kliknięcie w 'sprawdź wersje programu".

Podmiana pliku jar na 12039 powodowała zwiech przy uruchamianiu
Następnie wyskakiwało okienko zapraszające do założenia biletu z błędem programu.
Po ręcznym zignorowaniu błędu, JOSM się dalej nie uruchamiał.
Tak się działo przy zadeklarowaniu 1G pamięci w pliku startowym bat.

Uruchomienie jako jnlp z WebStart przerywa ładowanie Josma i zamyka wszystkie związane z nim okna dokładnie w tym samym momencie tzn po załadowania ustawień podkładów i po kliknięciu w ok w okienku “Unable to launch the application”

Java zaktualizowana pod IE do wersji 8.131
Jest jeszcze możliwość zaktualizowania JOSMa do12039 za pomocą instalatora Windowsa ale boję się, że taka instalacja wywali mi wszystkie ustawienia w JOSM jak adresy wmsów, katalogi z moimi stylami, ustawienia wtyczek jak adresy dla tracera itd. bo już kiedyś otworzenie tego zajęło szmat czasu i ledwo się udało, bo te dane były wynikiem żmudnych eksperymentów które trzeba było powtarzać.

Któryś z kolegów niedawno narzekał na wydajność JOSMa na jego dość silnym sprzęcie.Ja też od prawie roku pracuję na starszych wersjach, bo nowe bardzo denerwują nie pracując płynnie a skokowo co znacznie spowolniało mi mapowanie i mogło prowadzić do błędów.
Też się dziwię, że kompy 2,8-3 MHz 4GB RAMu pod Win7 nie wyrabiają gdy równolegle jest otwarta przeglądarka zabiera 1-1,3 GB a JOSMowi deklarujemy 1GB.
W zasadzie bym dalej chodził na starej wersji ale reverter coś przestał chodzić i skusiło mnie pracowanie na warstwach z użyciem DigitalGlobe aby nie przełączać ręcznie odwzorowań

EDIT.
Po powrocie do starej wersji 11526 wywaliło tylko jedną wtyczkę ale widzę że jest już komunikat że należy dokonać aktualizacji więc już nie dam sobie ręki uciąć że tego komunikatu wcześniej nie było.

Nie zmienia to faktu, że nie mogę programu zaktualizować.

EDIT.
Przypomniałem sobie, że nie tylko na górze okna nie było monitu o aktualizację ale też w dole okna tam gdzie są podawane numery najnowszych wersji też było podane, że mam aktualną wersję 12039 czyli taką samą jak najnowsza stabilna.Zatem bez wątpienia JOSM zgłupiał choć nie był aktualizowany a jedynie zaktualizowałem wtyczki lecz na wersji 11526.