Klub miłośników turystyki kamperowej - CamperTeam
FAQFAQ  SzukajSzukaj  UżytkownicyUżytkownicy  GrupyGrupy RejestracjaRejestracja  ZalogujZaloguj  AlbumAlbum  Chat  DownloadDownload

Poprzedni temat «» Następny temat
Instrukcja - wydobywanie danych POI z map OpenStreetMap
Autor Wiadomość
Spax 
Kombatant


Twój sprzęt: Fiat Ducato i Hobby 495
Nazwa załogi: Spax
Pomógł: 10 razy
Dołączył: 08 Mar 2016
Piwa: 193/346
Skąd: Kolumna
  Wysłany: 2020-04-19, 21:51   Instrukcja - wydobywanie danych POI z map OpenStreetMap

CO TO ZA MAPA »»»

*******************************************************************
INSTRUKCJA WYDOBYWANIA DANYCH Z MAP OSM (OpenStreetMap) – LINUX
*******************************************************************

Dlaczego warto wyrwać mapie te dane?

Zazwyczaj bardzo trudno jest wyświetlić POI (użyteczne miejsca) w aplikacji do mapowania w taki sposób, aby łatwo było zobaczyć interesujące nas punkty POI podczas pomniejszania. Na przykład możemy chcieć zobaczyć wszystkie miejsca, gdzie na dużym obszarze może być dostępna woda pitna, ale większość aplikacji mapujących nie obsługuje tej funkcji.
Za to prawie wszystkie aplikacje mapujące (np. maps.me, osmand) obsługują format GPX czy KML do wyświetlania punktów nawigacyjnych, więc jeśli możemy stworzyć pliki GPX zawierające tylko punkty nawigacyjne, którymi jesteśmy zainteresowani, rozwiązałoby to nasz problem.
Narzędzie, które przedstawię wyodrębnia POI OSM z plików danych OSM dostępnych na stronie OpenStreetMap/Geofabrik i buduje pliki GPX na podstawie wyrażeń znaczników (węzłów).

Zobaczcie przykład: przybliżenie 16 i 18 mapy miejscowości Patra w Grecji (online) . Na dużym powiększeniu widać symbole kranika i prysznica. Na mniejszym niestety już nie.







Na przykładzie Macedonii (bo to mały kraj, a co za tym idzie mniej danych zaszytych w mapie)

Zaczynamy 1: czyli co nam potrzebne pod Linuksem (Windows podobnie - podam linki - resztę kombinujcie sami:)).

1 - Instalujemy paczki: cargo, cargo-doc i python3 (zalecane)) lub korzystamy z curl » link »»» https://doc.rust-lang.org/cargo/getting-started/installation.html
1.a - Dla Windowsa pobieramy program "rustup-init.exe" » link »»» https://win.rustup.rs/
2 - Pobieramy "OSM to GPX Node extractor" » link »»» https://github.com/simao/osm-gpx
3 - Rozpakowujemy program do wydobywania w dowolnym miejscu na dysku (najwygodniej tam, dokąd będziemy ściągać mapy)

Zaczynamy 2: czyli ściągamy mapę (format pliku to osm.pbf)

1 - Na stronie Geofabrik » link »»» http://download.geofabrik.de/europe.html wybieramy interesującą nas mapę.
2 - Zapisujemy w katalogu głównym programu "osm-gpx-master"
3 - Otwieramy terminal (cmd - pod windowsem) w katalogu z programem i mapą.
3a - Pod windowsem nie uruchomiałem programu - musicie sami kombinować jak uruchomić z linii poleceń pliki z rozszerzeniem .rs

Działamy 1:
1 - Aby wydobyć dane o wodzie (pamiętacie to symbol kranika) uruchamiamy program takim oto poleceniem przy czym:

a) --osm-file macedonia-latest.osm.pbf - to pobrana mapa
b) --name Woda - dowolna nazwa (może być dupa) i tak się nam później wyświetli na mapie.
c) --output macedonia-woda.gpx - nazwa pliku wyjściowego gpx, którego użyjemy do naszych map.
d) --exp "amenity=drinking_water" - wydobywane dane - w tym przypadku woda pitna.

Kod:

cargo run -- --osm-file macedonia-latest.osm.pbf --name Woda --output macedonia-woda.gpx --exp "amenity=drinking_water"


Przykład działania programu »»» tu "Studnia" czyli man_made=water_well
Kod:

$ cargo run -- --osm-file macedonia-latest.osm.pbf --name Studnia --output macedonia-woda-studnia.gpx --exp "man_made=water_well"
Finished dev [unoptimized + debuginfo] target(s) in 0.15s
Running `target/debug/osm-gpx --osm-file macedonia-latest.osm.pbf --name Studnia --output macedonia-woda-studnia.gpx --exp man_made=water_well`
 INFO  osm_gpx::osm > Found node named Some("Studnia") at Point(Coordinate { x: 21.337990599999998, y: 41.0320742 })
 INFO  osm_gpx::osm > Found node named Some("Studnia") at Point(Coordinate { x: 20.7977745, y: 41.112003 })
 INFO  osm_gpx::osm > Found node named Some("Studnia") at Point(Coordinate { x: 20.833230099999998, y: 41.086294599999995 })
 INFO  osm_gpx      > finished, found 3 matching waypoints



I to już wszystko. Otrzymaliśmy plik o nazwie macedonia-woda.gpx - działajcie, próbujcie i się denerwujcie :haha:
_________________
Moje miescówki w Grecji »»» https://bonvoyage-travel.eu/maps/
Ostatnio zmieniony przez Spax 2020-04-20, 21:02, w całości zmieniany 1 raz  
Postaw piwo autorowi tego posta
 
 
Wyświetl szczegóły
ZbigStan 
Kombatant


Twój sprzęt: Frankia I 65 SD
Nazwa załogi: Taborygenii, fani Frani.
Pomógł: 4 razy
Dołączył: 03 Gru 2013
Piwa: 795/251
Skąd: Opole
Wysłany: 2020-04-20, 06:13   

Spax, Jeszcze nie przećwiczyłem, ale widzę przydatność. Za trud :pifko . Pozdrawiam
_________________
Grecja 2019
Normandia 2019
Czechy 2019
Narty, Włochy 2020
Postaw piwo autorowi tego posta
 
 
andrzej627 
Kombatant


Twój sprzęt: VW T6 204KM DSG7 4MOTION Stylevan Equinox II
Nazwa załogi: Stylevanek
Pomógł: 5 razy
Dołączył: 20 Lip 2015
Piwa: 338/145
Skąd: Francja
Wysłany: 2020-04-20, 12:15   

Pobieram odpowiednią mapę jak wyżej z http://download.geofabrik.de/

Ekstrakcję pod Windows robię programem Osmosis.

Przykładowo tak u mnie wygląda komenda, która wyłuskuje punkty (nodes) drinking_water:

Kod:
E:\OSM\osmosis-0.47.4\bin\osmosis  --read-pbf E:\OSM\greece-latest.osm.pbf  --node-key-value keyValueList="amenity.drinking_water"  --write-xml E:\OSM\water.osm


Otrzymany plik (tutaj water.osm) konwertuje na gpx programem GPSBabel. W tej sposób powstała mapa Grecja - woda (drinking water). Te dane można wstawić do MAPS.ME wg przepisu w wątku Google My Maps i MAPS.ME.

Gdyby ktoś chciał też tym się pobawić, chętnie pomogę.
_________________
Andrzej
Filmy z moich podróży
Mój profil na Facebooku
Postaw piwo autorowi tego posta
 
 
Wyświetl szczegóły
izola 
Kombatant


Twój sprzęt: MB Marco Polo
Nazwa załogi: Izolownia
Pomogła: 11 razy
Dołączyła: 20 Sty 2015
Piwa: 229/153
Skąd: Westfalia
Wysłany: 2020-04-20, 12:44   

Cytat:
INSTRUKCJA WYDOBYWANIA DANYCH Z MAP OSM (OpenStreetMap) – LINUX

Za chęci :ok

na zdrowie.png
Plik ściągnięto 11339 raz(y) 296,08 KB

_________________
http://vanactiv.blogspot.de/
https://www.facebook.com/...100019297335640
Postaw piwo autorowi tego posta
 
 
andrzej627 
Kombatant


Twój sprzęt: VW T6 204KM DSG7 4MOTION Stylevan Equinox II
Nazwa załogi: Stylevanek
Pomógł: 5 razy
Dołączył: 20 Lip 2015
Piwa: 338/145
Skąd: Francja
Wysłany: 2020-04-20, 16:43   

Parę dni temu napisałem
Cytat:
Niestety z obszarami (ways) nie jest już taka prosta sprawa

Teraz mam dobrą wiadomość. onionskin podpowiedział, aby używać https://overpass-turbo.eu/

Chciałem wyłuskać plaże, które najczęściej są opisane jako ways. Zrobiłem tak, jak na zdjęciu dla Krety.

1/ Otrzymane dane wyeksportowałem do pliku gpx, który zawiera punkty (nodes) i ślady (ways).
2/ Zaimportowałem go do mapy Google My Maps, gdzie pojawiły się punkty, ślady oraz punkty początkowe i końcowe śladów (w tych samych miejscach).
3/ Wyeksportowałem mapę do pliku kml.
4/ Z pliku kml usunąłem ślady i punkty początkowe.
5/ Edytowany plik kml zaimportowałem do nowej warstwy mapy.
6/ Z mapy usunąłem pierwotną warstwę.

W danych OSM na Krecie jest 71 plaż piaszczystych (5 nodes + 66 ways): Kreta - plaże piaszczyste

Wszelkie komentarze są mile widziane. :spoko

overpass turbo.jpg
Plik ściągnięto 11 raz(y) 131,01 KB

Kreta.jpg
Plik ściągnięto 15 raz(y) 104,47 KB

_________________
Andrzej
Filmy z moich podróży
Mój profil na Facebooku
  
Postaw piwo autorowi tego posta
 
 
Wyświetl szczegóły
Spax 
Kombatant


Twój sprzęt: Fiat Ducato i Hobby 495
Nazwa załogi: Spax
Pomógł: 10 razy
Dołączył: 08 Mar 2016
Piwa: 193/346
Skąd: Kolumna
Wysłany: 2020-04-20, 17:54   

izola, ZbigStan – dzięki za kufelek :spoko



andrzej627 napisał/a:
Zrobiłem tak, jak na zdjęciu dla Krety.


Dla nas prościej jak skopiujesz kod (taki jak na zdjęciu) i po prostu wkleisz tutaj. Czemu się męczyć w przepisywanie?

Przykład:
/*
This query looks for nodes, ways and relations
with the given key/value combination.
Choose your region and hit the Run button above!
*/
[out:json][timeout:25];
// gather results
(
// query part for: “man_made=water_well”
node["man_made"="water_well"]({{bbox}});
way["man_made"="water_well"]({{bbox}});
relation["man_made"="water_well"]({{bbox}});
);
// print results
out body;
>;
out skel qt;
[/b]
_________________
Moje miescówki w Grecji »»» https://bonvoyage-travel.eu/maps/
Postaw piwo autorowi tego posta
 
 
andrzej627 
Kombatant


Twój sprzęt: VW T6 204KM DSG7 4MOTION Stylevan Equinox II
Nazwa załogi: Stylevanek
Pomógł: 5 razy
Dołączył: 20 Lip 2015
Piwa: 338/145
Skąd: Francja
Wysłany: 2020-04-20, 19:49   

Nic nie trzeba przepisywać. Jest w opisie mapy mapy. :spoko

Wklejam tutaj.
Kod:

/*
This has been generated by the overpass-turbo wizard.
The original search was:
"natural=beach and surface=sand"
*/
[out:json][timeout:25];
// gather results
(
  // query part for: “natural=beach and surface=sand”
  node["natural"="beach"]["surface"="sand"]({{bbox}});
  way["natural"="beach"]["surface"="sand"]({{bbox}});
  relation["natural"="beach"]["surface"="sand"]({{bbox}});
);
// print results
out body;
>;
out skel qt;
_________________
Andrzej
Filmy z moich podróży
Mój profil na Facebooku
Postaw piwo autorowi tego posta
 
 
Spax 
Kombatant


Twój sprzęt: Fiat Ducato i Hobby 495
Nazwa załogi: Spax
Pomógł: 10 razy
Dołączył: 08 Mar 2016
Piwa: 193/346
Skąd: Kolumna
Wysłany: 2020-04-20, 20:52   

andrzej627,
Coś na skałach wylądowałeś :haha:
kliknij sobie tu: »»» https://overpass-turbo.eu/s/T5L

oraz tu »»» https://wiki.openstreetmap.org/wiki/Tag:natural%3Dbeach

Zrzut ekranu z 2020-04-20 20-48-19.png
Plik ściągnięto 15 raz(y) 1,03 MB

_________________
Moje miescówki w Grecji »»» https://bonvoyage-travel.eu/maps/
  
Postaw piwo autorowi tego posta
 
 
Wyświetl szczegóły
wiesiek t 
doświadczony pisarz

Twój sprzęt: Ducato blaszak H2L5 2010
Nazwa załogi: basia + wiesiek
Dołączył: 14 Lut 2009
Piwa: 2/9
Skąd: kobyłka
Wysłany: 2020-04-21, 08:57   

Spax andrzej627 wkładacie pracę i udostępniacie nam swoja wiedzę żebyśmy mogli trafić na piękne i przydatne miejsca

Piwka poszły

Dotychczas jeżdziłem na nawigacji fabrycznej, teraz używam google.maps ale , jako fachowcy

czytam,używacie Maps.Me jaka jest przewaga jednej nad drugą może krótko ktoś napisze.

z góry Dzięki.
Postaw piwo autorowi tego posta
 
 
andrzej627 
Kombatant


Twój sprzęt: VW T6 204KM DSG7 4MOTION Stylevan Equinox II
Nazwa załogi: Stylevanek
Pomógł: 5 razy
Dołączył: 20 Lip 2015
Piwa: 338/145
Skąd: Francja
Wysłany: 2020-04-21, 09:19   

Spax napisał/a:

Coś na skałach wylądowałeś :haha:

Wylądowałem na skałach, bo z całego obszaru plaży wybrałem skrajny (pierwszy i ostatni) punkt (Grammeno Beach – koniec 35.2325, 23.6323). Zdaję sobie sprawę, że nie jest to metoda idealna. Umiesz z tej listy wybrać lepiej? Na mapie OSM dla Garmina punkt Grammeno Beach jest na środku obszaru a nie na skraju.
Kod:
   <trk>
    <name>Grammeno Beach</name>
    <desc>name=Grammeno Beach
natural=beach
surface=sand
type=multipolygon</desc>
    <link href="http://osm.org/browse/relation/537006"/>
    <trkseg>
      <trkpt lat="35.2325009" lon="23.6323064"/>
      <trkpt lat="35.2329239" lon="23.6326884"/>
      <trkpt lat="35.2331303" lon="23.6325099"/>
      <trkpt lat="35.2332132" lon="23.6323112"/>
      <trkpt lat="35.2333083" lon="23.6322535"/>
      <trkpt lat="35.2335115" lon="23.6323831"/>
      <trkpt lat="35.23365" lon="23.6325978"/>
      <trkpt lat="35.233816" lon="23.6328891"/>
      <trkpt lat="35.2339115" lon="23.6332393"/>
      <trkpt lat="35.2338714" lon="23.6338497"/>
      <trkpt lat="35.233744" lon="23.6338634"/>
      <trkpt lat="35.2337753" lon="23.6340662"/>
      <trkpt lat="35.2338396" lon="23.6344609"/>
      <trkpt lat="35.2337758" lon="23.6349475"/>
      <trkpt lat="35.2335713" lon="23.6354526"/>
      <trkpt lat="35.2333303" lon="23.6358056"/>
      <trkpt lat="35.2326186" lon="23.6365586"/>
      <trkpt lat="35.2324075" lon="23.6367363"/>
      <trkpt lat="35.23266" lon="23.637279"/>
      <trkpt lat="35.2327433" lon="23.6372083"/>
      <trkpt lat="35.2328243" lon="23.6371091"/>
      <trkpt lat="35.2329322" lon="23.6369061"/>
      <trkpt lat="35.2330985" lon="23.6370209"/>
      <trkpt lat="35.2331508" lon="23.6369361"/>
      <trkpt lat="35.2331622" lon="23.6369161"/>
      <trkpt lat="35.2331798" lon="23.6368853"/>
      <trkpt lat="35.2331992" lon="23.6368509"/>
      <trkpt lat="35.2332472" lon="23.6367694"/>
      <trkpt lat="35.2332933" lon="23.636691"/>
      <trkpt lat="35.2333838" lon="23.6365699"/>
      <trkpt lat="35.2341019" lon="23.6354629"/>
      <trkpt lat="35.2340495" lon="23.6352735"/>
      <trkpt lat="35.2340909" lon="23.6348812"/>
      <trkpt lat="35.2342373" lon="23.6347088"/>
      <trkpt lat="35.2341876" lon="23.6341575"/>
      <trkpt lat="35.2340771" lon="23.6340256"/>
      <trkpt lat="35.2340384" lon="23.6332343"/>
      <trkpt lat="35.2339887" lon="23.6328488"/>
      <trkpt lat="35.2337125" lon="23.6322502"/>
      <trkpt lat="35.2330403" lon="23.6318352"/>
      <trkpt lat="35.2325009" lon="23.6323064"/>
    </trkseg>
  </trk>


https://goo.gl/maps/EpeuuqCZXxt4YurB7

Grammeno Beach &#8211; koniec OSM.jpg
Plik ściągnięto 10 raz(y) 141,26 KB

Grammeno Beach &#8211; koniec Google.jpg
Plik ściągnięto 11 raz(y) 349,29 KB

_________________
Andrzej
Filmy z moich podróży
Mój profil na Facebooku
Ostatnio zmieniony przez andrzej627 2020-04-21, 11:03, w całości zmieniany 1 raz  
Postaw piwo autorowi tego posta
 
 
andrzej627 
Kombatant


Twój sprzęt: VW T6 204KM DSG7 4MOTION Stylevan Equinox II
Nazwa załogi: Stylevanek
Pomógł: 5 razy
Dołączył: 20 Lip 2015
Piwa: 338/145
Skąd: Francja
Wysłany: 2020-04-21, 09:36   

wiesiek t napisał/a:
używacie Maps.Me

Z tego co wiem, to MAPS.ME jest chyba najpopularniejszą aplikacją używaną przez forumowiczów, dlatego o niej wspominam. Osobiście używam nawigacji Garmina (na zdjęciu z lewej strony), ale mam też 10-calowy tablet z aplikacją OsmAnd, która służy mi jako mapnik. Te aplikacje używają map offline, a więc nie potrzebują Internetu, aby z nich korzystać. To jest najważniejsza różnica w stosunku do Google Maps.

Dzięki za piwa.

kokpit.jpg
Plik ściągnięto 4 raz(y) 187,28 KB

_________________
Andrzej
Filmy z moich podróży
Mój profil na Facebooku
Postaw piwo autorowi tego posta
 
 
andrzej627 
Kombatant


Twój sprzęt: VW T6 204KM DSG7 4MOTION Stylevan Equinox II
Nazwa załogi: Stylevanek
Pomógł: 5 razy
Dołączył: 20 Lip 2015
Piwa: 338/145
Skąd: Francja
Wysłany: 2020-04-21, 11:52   

Cytat:
Umiesz z tej listy wybrać lepiej?

Odpowiadam na moje pytanie. Aby było lepiej, tak jak jest na mapie dla Garmina, zamiast brać skrajny (pierwszy=ostatni) punkt, trzeba policzyć średnią wartość współrzędnych lat/lon i zamiast trk (z postu wyżej) wygenerować wpt jak poniżej.

Kod:
<wpt lat="35.23341" lon="23.63471">
    <name>Grammeno Beach</name>
    <desc>name=Grammeno Beach
natural=beach
surface=sand</desc>
    <link href="http://osm.org/browse/relation/537006"/>
  </wpt>


Plaża wychodzi wtedy, jak na mapie dla Garmina, w morzu. :mrgreen:

https://goo.gl/maps/v5mwPmH5SFckC9cS6

Grammeno Beach.jpg
Plik ściągnięto 3 raz(y) 326,98 KB

_________________
Andrzej
Filmy z moich podróży
Mój profil na Facebooku
Postaw piwo autorowi tego posta
 
 
Spax 
Kombatant


Twój sprzęt: Fiat Ducato i Hobby 495
Nazwa załogi: Spax
Pomógł: 10 razy
Dołączył: 08 Mar 2016
Piwa: 193/346
Skąd: Kolumna
Wysłany: 2020-04-21, 11:55   

Andrzej - na chybił-trafił 35.233816,23.6328891 A to dlatego, że widzę jak ta plaża wygląda.
Na OSM to wielokąt po ang. polygon. Podzieliłem wzrokowo Twój plik na m.n.w. 4 części i wybrałem. Niestety nie da się tego zrobić sposobem jakiego ty użyłeś nie znając kształtu i dokładnego położenia.
Biorąc pod uwagę złożoności terenu Grecji, tworzenie takich punktów na mapie (jak Twoja) może doprowadzić do tego, że Ty czekasz na kogoś za skałą, bo tak poprowadził cię GPS, a ktoś inny siedzi po drugiej stronie tejże skały bo jego GPS inaczej poprowadził. Pewnie to skrajne przypadki, ale warto jest mieć to na uwadze.

Tu masz narzędzie pod do dokładniejszego sprawdzania/edytowania co i jak i gdzie.

»»» https://portable.info.pl/gpsprune-portable/

Zrzut ekranu z 2020-04-21 11-54-34.png
Plik ściągnięto 8 raz(y) 266,62 KB

_________________
Moje miescówki w Grecji »»» https://bonvoyage-travel.eu/maps/
Postaw piwo autorowi tego posta
 
 
Spax 
Kombatant


Twój sprzęt: Fiat Ducato i Hobby 495
Nazwa załogi: Spax
Pomógł: 10 razy
Dołączył: 08 Mar 2016
Piwa: 193/346
Skąd: Kolumna
Wysłany: 2020-04-21, 12:21   

andrzej627 napisał/a:
Plaża wychodzi wtedy, jak na mapie dla Garmina, w morzu.

Nie jest źle - lepiej niż w górach :haha:
_________________
Moje miescówki w Grecji »»» https://bonvoyage-travel.eu/maps/
Postaw piwo autorowi tego posta
 
 
Spax 
Kombatant


Twój sprzęt: Fiat Ducato i Hobby 495
Nazwa załogi: Spax
Pomógł: 10 razy
Dołączył: 08 Mar 2016
Piwa: 193/346
Skąd: Kolumna
Wysłany: 2020-04-21, 12:26   

wiesiek t, dzięki za piwko - dodam do tego co już Andrzej napisał.
Bardziej rozsądną aplikacją jest Osmand - przynajmniej nie śledzi naszych poczynań w odróżnieniu do Maps.me (pochodzi od googla grrr). Również jako nawigacja sprawdza się u mnie wyśmienicie. Trzeba się do wielu rzeczy przyzwyczaić (bo to kombajn), ale jak już złapiesz co i jak to nie ma lepszej.
_________________
Moje miescówki w Grecji »»» https://bonvoyage-travel.eu/maps/
Postaw piwo autorowi tego posta
 
 
Wyświetl posty z ostatnich:   
Odpowiedz do tematu
Nie możesz pisać nowych tematów
Nie możesz odpowiadać w tematach
Nie możesz zmieniać swoich postów
Nie możesz usuwać swoich postów
Nie możesz głosować w ankietach
Nie możesz załączać plików na tym forum
Możesz ściągać załączniki na tym forum

Dodaj temat do ulubionych
Wersja do druku

Skocz do:  

Powered by phpBB modified by Przemo © 2003 phpBB Group
*** Facebook/CamperTeam ***