[MapEdit] Usunięcie obiektów tylko z wybranej warstwy

O narzędziach do tworzenia własnych map, takich jak MapEdit czy cGPSmapper, a także o serwisach udostępniania, wymiany i przetwarzania danych geograficznych takich jak MapCenter, OpenStreetMap czy SDD (SRTM). Ogólnie, o wszystkim co związane z radością UMPowania.

Moderatorzy: Artur, Alf/red/, Spider

[MapEdit] Usunięcie obiektów tylko z wybranej warstwy

Postprzez nonamed » So, 04 sie 2018 0:42

Witajcie, proszę o pomoc bo walczę od kilku godzin i nie mogę sobie poradzić.

Edytuję plik z mapą OSM . Na mapie występują obiekty typu drogi gruntowe, które występują na różnych warstwach - część dróg jest naniesiona na warstwę 1 , inna część na warstwie 0 .
Chciałbym wszystkie obiekty typu droga gruntowa (jest ich ilościowo ponad 2000) przenieść na warstwę 0 i usunąć z warstwy 1, tak aby nie były już na niej widoczne....

Niestety operacja nie udaje mi się - robiąc zaznaczenie obiektów 'Po typie' i skopiowanie ich na docelową warstwę 0 , a następnie usunięcie wszystkie obiektów danego typu wyświetlając warstwę 1 - powoduje usunięcie wszystkich obiektów typu 'droga gruntowa' na wszystkich warstwach (zarówno 1 i 0 )

Zauważyłem, że problem występuję przy grupowym zaznaczeniu wszystkich obiektów 'Po typie' . Jeżeli pojedynczo wyświetlając warstwę 1 będę kasował obiekty. (które wcześniej skopiowałem do warstwy 0) to z warstwy 1 znikają, ale są nadal widoczne na 0 - czyli efekt o który mi chodzi. Niestety klikanie pojedynczo po drodze odpada i jest trochę mozolne przy takiej ilości dróg.

Jest jakiś sposób w MapEdit - aby grupowo przenieść wybrane obiekty z jednej warstwy do innej i usunąć obiekty TYLKO z wybranej warstwy pozostawiając je na innej?

Korzystam z wersji MapEdit 2.1.78.10

Dziękuję za pomoc
nonamed
Nowy
 
Posty: 7
Dołączył(a): Śr, 01 sie 2018 10:03

Re: [MapEdit] Usunięcie obiektów tylko z wybranej warstwy

Postprzez Zachu » So, 04 sie 2018 7:00

Zacznij od zapoznania się ze stronami GPS Maniaka i obsługi ME. http://gpsmaniak.com/new/news.htm http://gpsmaniak.com/2010/nowosci.htm
Zaznaczasz drogę w zakładce Elements (druga z poziomami widoczności) masz u góry okienko levels gdzie będzie od jakiej widoczności widać dany element i poniżej level gdzie masz na jakim poziomie jest dany obiekt.
Tu edytujesz, najpierw kopiujesz np na poziom 0 a następnie kasujesz z tego wyższego poziomu.
Nuvi & DriveAssist & Zumo & fenix
Obrazek
Zachu
Radny
 
Posty: 8711
Dołączył(a): N, 01 lip 2007 7:10
Lokalizacja: Warszawa

Re: [MapEdit] Usunięcie obiektów tylko z wybranej warstwy

Postprzez roro » So, 04 sie 2018 9:47

nonamed napisał(a):Edytuję plik z mapą OSM . Na mapie występują obiekty typu drogi gruntowe, które występują na różnych warstwach - część dróg jest naniesiona na warstwę 1 , inna część na warstwie 0 .

Warstwa 0 ( levels 0) powinna zawierać wszystkie drogi, a każda następna powinna zawierać mniej dróg,
może odwrotnie - przy największym oddaleniu na ekranie odbiornika wyświetlana jest mapa bazowa
podczas przybliżania na ekranie pojawiają się drogi główne z mapy szczegółowej w następnej kolejności drogi lokalne,
następnie drogi niższych kategorii kończąc na ścieżkach.

Co chcesz uzyskać ? - mapę jednowarstwową ( z jednym levelem ) która będzie wyświetlana w odbiorniku
przy zbliżeniu poniżej 800m a przy większym oddaleniu powyżej 1,2 km na ekranie chcesz mieć wyświetloną
mapę bazową lub "czysty" ekran.
roro
Bywalec
 
Posty: 895
Dołączył(a): N, 04 paź 2015 14:16

Re: [MapEdit] Usunięcie obiektów tylko z wybranej warstwy

Postprzez nonamed » So, 04 sie 2018 13:57

Zachu napisał(a):Zacznij od zapoznania się ze stronami GPS Maniaka i obsługi ME. http://gpsmaniak.com/new/news.htm http://gpsmaniak.com/2010/nowosci.htm
Zaznaczasz drogę w zakładce Elements (druga z poziomami widoczności) masz u góry okienko levels gdzie będzie od jakiej widoczności widać dany element i poniżej level gdzie masz na jakim poziomie jest dany obiekt.
Tu edytujesz, najpierw kopiujesz np na poziom 0 a następnie kasujesz z tego wyższego poziomu.

Rozumiem - to okno wygląda tak (przykład drogi, która obecnie jest widoczna na level 1 oraz level 0 , a chce ją ustawić żeby była tylko [tylko na level 0. Dla pojedynczej drogi mogę to edytować/usunąć. Pytanie jak mam to zrobić hurtem dla wielu dróg, żeby usunąć je z level 1 i zostawić na level 0 .
Obrazek

roro napisał(a):
nonamed napisał(a):Edytuję plik z mapą OSM . Na mapie występują obiekty typu drogi gruntowe, które występują na różnych warstwach - część dróg jest naniesiona na warstwę 1 , inna część na warstwie 0 .

Warstwa 0 ( levels 0) powinna zawierać wszystkie drogi, a każda następna powinna zawierać mniej dróg,
może odwrotnie - przy największym oddaleniu na ekranie odbiornika wyświetlana jest mapa bazowa
podczas przybliżania na ekranie pojawiają się drogi główne z mapy szczegółowej w następnej kolejności drogi lokalne,
następnie drogi niższych kategorii kończąc na ścieżkach.

Co chcesz uzyskać ? - mapę jednowarstwową ( z jednym levelem ) która będzie wyświetlana w odbiorniku
przy zbliżeniu poniżej 800m a przy większym oddaleniu powyżej 1,2 km na ekranie chcesz mieć wyświetloną
mapę bazową lub "czysty" ekran.

To rozumiem. Właśnie taki efekt chcę uzyskać - żeby na warstwie 0 mieć najwyższą szczegółowość i widzieć m.in. wszystkie drogi gruntowe. Obecnie te drogi mam w części widoczne na warstawie 1 (level 1) i warstawie 0 (level 0). Chce je wywalić na level 1 i zostawić tylko na level 0 -
Chcę uzyskać efekt żeby przy dużym zbliżeniu na odbiorniku widzieć najbardziej szczegółową mapę - czyli level 0 na której będę widział wszystkie drogi/obiekty, a w miarę oddalania (powiększania skali) chce widzieć jak najmniej dróg niższej kategorii - m.in. bez dróg gruntowych.

Obecnie mam tak, że sporym oddaleniu widzę na mapie drogi gruntowe - a ich nie chce widzieć. Chce je widzieć tylko na max. powiększeniu mapy.

I zasadę działania poziomów rozumiem - problem niestety mam ze skopiowanie i usunięciem wszystkich dróg gruntowych z level 1 i pozostawieniu ich na level 0 .
Działa to pojedynczo jak klikam po każdej drodze z osobna, ale przy selekcji wszystkich dróg gruntowych poprzez menu (Edytuj>Wybierz>Po typie...) nie udaje się. Kopiuje drogi i wklejam na level 0. Przechodzę na level 1 . Ponownie zaznaczam drogi gruntowe poprzez (Edytuj>Wybierz>Po typie) i klikam delete. I w tym momencie usuwają się wszystkie drogi - zarówno z warstwy 1, ale równiez warstwy 0 :/
nonamed
Nowy
 
Posty: 7
Dołączył(a): Śr, 01 sie 2018 10:03

Re: [MapEdit] Usunięcie obiektów tylko z wybranej warstwy

Postprzez Zachu » So, 04 sie 2018 14:36

Pisz normalnie skoro nie wiesz jak działa cytowanie.
Już Ci pisałem, działaj na źródłach.
Otwierasz plik edytorem tekstowym i zamieniasz wszystkie inne od zera na zero. ME zawsze ostrzega że zaczynasz rysować na innym poziomie niż 0.
Nuvi & DriveAssist & Zumo & fenix
Obrazek
Zachu
Radny
 
Posty: 8711
Dołączył(a): N, 01 lip 2007 7:10
Lokalizacja: Warszawa

Re: [MapEdit] Usunięcie obiektów tylko z wybranej warstwy

Postprzez roro » So, 04 sie 2018 14:43

nonamed napisał(a):Dla pojedynczej drogi mogę to edytować/usunąć. Pytanie jak mam to zrobić hurtem dla wielu dróg, żeby usunąć je z level 1 i zostawić na level 0 .

Dlaczego napisałeś, że edytujesz pojedyncze drogi, każdy obiekt jest zdefiniowany Typ-em,
odczytujesz znacznik Typ dla obiektu, przechodzisz do Edytuj> Wybierz> Po typie,
zaznaczasz odpowiedji "kod", wytnij i wklej po zmianie na levels0 - wszytkie drogi ( z człej mapy)
oznaczone wybranym Typ-em zostaną usunięte z lewels1 do levels0.
Nie powinno być zbyt wiele rodzajów Typ dla dróg gruntowych.

Jest możliwe przeniesienie całej zawartości levels1 do poziomu levels0,
następnie usunąć zdublowane obiekty ( trudniejsze do objaśnienia :( ).
roro
Bywalec
 
Posty: 895
Dołączył(a): N, 04 paź 2015 14:16

Re: [MapEdit] Usunięcie obiektów tylko z wybranej warstwy

Postprzez nonamed » So, 04 sie 2018 15:19

roro napisał(a):
nonamed napisał(a):Dla pojedynczej drogi mogę to edytować/usunąć. Pytanie jak mam to zrobić hurtem dla wielu dróg, żeby usunąć je z level 1 i zostawić na level 0 .

Dlaczego napisałeś, że edytujesz pojedyncze drogi, każdy obiekt jest zdefiniowany Typ-em,
odczytujesz znacznik Typ dla obiektu, przechodzisz do Edytuj> Wybierz> Po typie,
zaznaczasz odpowiedji "kod", wytnij i wklej po zmianie na levels0 - wszytkie drogi ( z człej mapy)
oznaczone wybranym Typ-em zostaną usunięte z lewels1 do levels0.
Nie powinno być zbyt wiele rodzajów Typ dla dróg gruntowych.

Jest możliwe przeniesienie całej zawartości levels1 do poziomu levels0,
następnie usunąć zdublowane obiekty ( trudniejsze do objaśnienia :( ).

No właśnie tak robię, ale drogi nadal zostają na level 1. Krok po kroku:
1. Ustawiam widok mapy na Level=1
2. Edytuj>Wybierz>Po typie...
3. Wybieram TYPY, które chce przenieść na level 0 (dokładnie to dwa typy: 0x000a i 0x000e):
Obrazek
4. Drogi zaznaczają się na mapie
5. Robię wytnij CTRL+X (jestem cały czas na warstwie level 1). Program pyta i potwierdzam TAK:
Obrazek
5a. Drogi znikają z level 1:
Obrazek
6. Przechodzę na warstwę (level 0) (klikając przycisk lupy+ na pasku zadań)
7. Wklejam drogi (Ctrl+V) (cały czas wyświetlam level=0)
Obrazek
Efekt:
a) drogi zostały wklejone na Level 0
b) drogi również wkleiły się ponownie na level 1 (to efekt którego chce uniknąc):
Obrazek
nonamed
Nowy
 
Posty: 7
Dołączył(a): Śr, 01 sie 2018 10:03

Re: [MapEdit] Usunięcie obiektów tylko z wybranej warstwy

Postprzez popej » So, 04 sie 2018 16:47

Obawiam się, że źle rozumiesz warstwy mapy. Tak na prawdę, w źródłach w formacie mp nie ma warstw. Są obiekty, które mają we właściwościach podane, do której warstwy (poziomu czy skali mapy) sięga ich widoczność. Przy czym wszystkie obiekty powinny być na warstwie 0.

Nie ma czegoś takiego, jak kopiowanie z warstwy na warstwę, jedynie można modyfikować właściwości obiektów. To się robi przez zaznaczenie obiektów, kliknięcie prawym klawiszem myszy na zaznaczonym obiekcie i wybranie komendy Modyfikuj -> Rozmieść wszystkie elementy na poziomach do... Rozmieszczenie idzie tylko w górę, bo program zakłada, że obiekty są na warstwie 0.

Zarówno edytor jak i kompilatory rozumieją coś w rodzaju warstw. Dokładnie, rozumieją atrybut, który określa najniższą warstwę widoczności obiektu. To można wykorzystać na mapie, ale to nie jest typowe działanie. W edytorze możesz modyfikować początkową warstwę obiektu w oknie, które Ci pokazał Zachu. Tam jest klawisz "Kopiuj", który pozwala zrobić kopię jednego obiektu na innych warstwach.

Sytuacja, na którą natrafiłeś, nie jest normalna. Wynika z faktu, że nie masz źródeł mapy, ale zdekompilowany plik img. W źródłach może być np. droga typu 0xA z informacją, że widoczność sięga warstwy 2. Po skompilowaniu i zdekompilowaniu z tej drogi zrobią się 3 obiekty: droga na warstwie 0, uproszczona droga na warstwie 1 i jeszcze mocniej uproszczona droga na warstwie 2. Nie ma funkcji, która by skleiła te 3 obiekty z powrotem na jedną drogę na warstwie 0. Najsensowniejsze, co można zrobić, to usunąć wszystkie warstwy powyżej 0, ponownie je zrobić jako puste i przeedytować widoczność wszystkich obiektów. Albo np. przygotować słownik widoczności obiektów, jak to opisuje dokumentacja cGPSmappera.
popej
Montana 700, 3540T, PL Topo, OSM, CNE; PocoX3Pro, OsmAnd+
Avatar użytkownika
popej
Garniak
 
Posty: 6877
Dołączył(a): Wt, 10 kwi 2007 23:22
Lokalizacja: Gdańsk


Powrót do Tworzenie map

Kto przegląda forum

Użytkownicy przeglądający ten dział: Brak zalogowanych użytkowników i 11 gości