You are not logged in.

Announcement

*** NOTICE: forum.openstreetmap.org is being retired. Please request a category for your community in the new ones as soon as possible using this process, which will allow you to propose your community moderators.
Please create new topics on the new site at community.openstreetmap.org. We expect the migration of data will take a few weeks, you can follow its progress here.***

#1 2010-07-21 16:08:41

warabiej
Member
Registered: 2010-07-21
Posts: 2

Pobieranie wybranych danych z OSM

Witam, jestem nowym mapowiczem i zastanawiam się czy jest możliwe pobranie wybranych danych z serwera osm. Interesuje mnie pobranie np. sieci linii kolejowych z całej polski. Problemem jest tutaj również brak możliwości wczytania większego obszaru do np. JOSM. Próbowałem robić to po kawałkach w JOSM jednak stwierdziłem że jest to strasznie mozolna praca i musi istnieć inny sposób.
Ponad to problemem było zapisanie danych do XML, gdzie po zastosowaniu odpowiednich filtrów na danym obszarze i usunięcie wszystkich danych z wyjątkiem torów kolejowych do pliku zapisywały się również informacje o usuniętych danych.
Czy istnieje jakiś dużo prostszy sposób na wyciągnięcie tych danych??

Offline

#2 2010-07-21 18:00:32

balrog-kun
Member
From: Warsaw, Poland
Registered: 2008-08-10
Posts: 1,365
Website

Re: Pobieranie wybranych danych z OSM

Istnieje XAPI, w tym wypadku potrzebujesz zapytac XAPI o wszystko co ma [railway=*], dostaniesz wtedy wszystkie stacje, tory kolejowe i wezly ktore do nich naleza, ale nie dostaniesz relacji linii kolejowych ([route=railway]).

Informacje o XAPI pod http://wiki.openstreetmap.org/wiki/XAPI (uwaga nie wszystkie serwery dzialaja)

Inny sposob to pobrac poland.osm z geofabrik.de i przefiltrowac za pomoca osmosis.

Przy edytowaniu pamietaj, ze elementy ktore widac w edytorze moga nalezec rowniez do drog i relacji, ktorych nie masz pobranych.

Last edited by balrog-kun (2010-07-21 18:03:00)

Offline

#3 2010-07-21 21:52:26

warabiej
Member
Registered: 2010-07-21
Posts: 2

Re: Pobieranie wybranych danych z OSM

Dzięki wielkie. Bawię się XAPI i jak na razie mam wszystko czego potrzebuje big_smile

Offline

#4 2010-09-11 15:11:00

Pawcio
Member
Registered: 2010-06-23
Posts: 18

Re: Pobieranie wybranych danych z OSM

Podepnę się. Jak łatwo uzyskać granice województw w jakimś formacie GPS, idealnie jako .igc? O Osmosis wiem tyle, że jest obsługiwane wierszem, co dla mnie jest zaprzeczeniem słowa ,,łatwy".

Offline

#5 2010-10-01 16:49:44

Pawcio
Member
Registered: 2010-06-23
Posts: 18

Re: Pobieranie wybranych danych z OSM

Sam odpowiem, może komuś przyda się. Za pomocą mechanizmu xapi wpisując zapytanie w przeglądarce np:
http://www.informationfreeway.org/api/0.6/relation[name=województwo mazowieckie]
uzyskamy granice województwa, ale także kilku powiatów, gdyż one są jakimś cudem częścią relacji.
albo
http://www.informationfreeway.org/api/0.6/way[admin_level=4][bbox=19.2,51,23.2,53.5]
dla granic wojewódzkich z mazowieckim po środku
Tymi sposobami otrzymamy plik tekstowy .osm zawierający punkty granicy. Nie są one jednak ułożone w kolejności występowania na mapie, ale w jakiejś kolejności dróg tworzących granicę - jak się skończą punkty z jednej drogi to następny punkt bywa z odległego miejsca, co jest chyba przyczyną, że zmierzona w ten sposób granica mazowieckiego ma tysiące kilometrów.
GPSbabel odczytuje dane z .osm i można je przekonwertować.

Offline

#6 2010-10-02 02:02:10

balrog-kun
Member
From: Warsaw, Poland
Registered: 2008-08-10
Posts: 1,365
Website

Re: Pobieranie wybranych danych z OSM

Jest taki sposob, moze lekko zawily, zeby zmierzyc dlugosc: otworzyc ten plik w JOSMie, wywalic to czego nie chce sie mierzyc, kliknac w prawym przyciskiem w warstwe i wybrac "Convert to GPX layer".  Po najechaniu myszka na ten layer pojawi sie dlugosc wszystkich drog (pojedyncze i suma).

Generalnie nie ma czegos takiego jak kolejnosc na mapie wink co najwyzej jedna granice moznaby uporzadkowac zgodnie z ruchem wskazowek zegara albo odwrotnie.

Offline

#7 2010-10-02 12:27:27

Pawcio
Member
Registered: 2010-06-23
Posts: 18

Re: Pobieranie wybranych danych z OSM

Zmierzenie długości to tyko skutek uboczny uzyskania konturu granic. Zdaję sobie sprawę, że trudno by było określić kolejność na mapie, chociażby dlatego, że drogi rozwidlają się. Rozwiązaniem byłoby, żeby przy ściągnięciu relacji lub określonego tagu, każda z dróg była zapisana do osobnego pliku. To pewnie wymagałoby napisania programu lub skryptu, a programować nie umiem, więc pozostaje mi PrintScreen i obróbka w programie graficznym.

DOPISEK
Ściągnięcie każdej drogi do osobnego pliku oznaczałoby potrzebę konwersji co najmniej kilkudziesięciu plików. To już wycinanie pajęczyny połączeń z konturu granic w programie graficznym chyba byłoby łatwiejsze.

DOPISEK II
Pojedyncze relacje najłatwiej ściągnąć z OSM Relation Analyzera
http://ra.osmsurround.org/

Last edited by Pawcio (2010-10-03 18:34:24)

Offline

#8 2013-06-04 11:12:14

pelekPL
Member
From: Lubaczów
Registered: 2013-05-24
Posts: 15

Re: Pobieranie wybranych danych z OSM

Odświeżę temat bo mi podane przykłady nie działają. Podane wyżej strony są jeszcze aktualne? No chyba że są już prostsze sposoby na wyciągnięcie konkretnych danych.

Offline

#9 2013-06-04 12:24:43

Dotevo
Moderator
From: Kobiernice/Wrocław Poland
Registered: 2009-02-15
Posts: 1,744
Website

Re: Pobieranie wybranych danych z OSM

pelekPL wrote:

Odświeżę temat bo mi podane przykłady nie działają. Podane wyżej strony są jeszcze aktualne? No chyba że są już prostsze sposoby na wyciągnięcie konkretnych danych.

http://overpass-turbo.eu/ W "Load" masz trochę przykładów, a dokładny opis języka zapytań znajdziesz pod hasłem overpass.

Offline

#10 2013-06-04 13:25:37

pelekPL
Member
From: Lubaczów
Registered: 2013-05-24
Posts: 15

Re: Pobieranie wybranych danych z OSM

Wielkie dzięki za pomoc, działa jak chciałem.

Offline

Board footer

Powered by FluxBB