Overpass - do wyciągania danych z OSM

  1. Potrzebna kwerenda wyszukująca poligony (konkretny tag), nie mających wewnątrz way (konkretny tag).
    Widziałem kiedyś kwerendę pokazującą budynki, które przecinają drogi więc zapewne się da ją odwrócić.

  2. Potrzebna kwerenda dla poligonów a:h które stykają się tylko z jednym a:h Czyli nieciągłość systemu a:h.

  3. Potrzebna kwerenda dla poligonów a:h z brakującym junction, mających wewnątrz więcej niż 1 way (z klucza highway). Czyli błąd braku junction

  4. potrzebna kwerenda dla poligonów z konkretnym tagiem np. a:h które przecina way np. z kluczem highway, ale na przecięciu brak punktu wspólnego.Najlepiej aby wynik wizualizował nie poligony a punkt braku przecięcia (oczywiście wdzięczny będę też za kwerendę bez tego utrudnienia)

  5. potrzebna kwerenda poligonów (np.a:h) mających wewnątrz dwie way (z klucza highway) ale stykających się tylko z 1 lub 2 poligonami a:h Czyli przerwany system a:h na skrzyżowaniach.Może być prościej czyli brak styku z 2 poligonami, bo z jednym sprawę załatwi kwerenda nr2.

  6. potrzebna kwerenda wyszukująca poligony np a:h mająca value niższe niż jedna z dróg ją przecinających lub kończących się od wewnątrz. Waga value w kolejności: motorway, trunk, primary, secondary, tertiary, unclassified, residential, road, living_street, pedestrian, raceway, motorway_link, trunk_link, primary_link, secondary_link, tertiary_link, service, cycleway, footway, track, bridleway, path, construction, proposed, steps, bus_guideway, escape

  7. potrzebna kwerenda na wyszukanie way nie mających na sobie noda z konkretnym tagiem

  8. też odwrotnie jak wyżej , czyli otagowany nod, nie leżący na way z konkretnym tagiem

  9. potrzebna kwerenda dla way nie zamkniętych w poligon np. way otagowane a:h

  10. da się zsumować overpassem długości dróg rowerowych z jednakowym surface?

  11. da się wyszukać poligony np a:h od których w promieniu np 20 m jest mniej niż 2 szt np highway z value footway lub path pod warunkiem, że są one dłuższe niż 20 m? Czyli brak drugich chodników wzdłuż a:h.
    Aby było skuteczne trzeba by chyba sprawdzić czy ze 3-4 nody tej footway czy patch mieszczą się w promieniu 20 m aby wyszukać tylko brakujące równoległe chodniki a aby wyniku nie fałszowały prostopadłe.

@rowers2
Marek ostatnimi czasy postulował potrzebę usprawnień dla a:h także może ktoś podejmie wyzwanie i przygotuje reguły overpass pomagające w utrzymaniu tego kodu

@All
Przy tej okazji na nowo znalazłem, że swego czasu podniesiony został temat ujednolicenia wszystkich nazw banków PKO S.A. Może i do tego udało by się zaprząc by overpassa?

Muszę sprawdzić czy pewne punkty na mapie należą do danego obszaru.
Mam uszykowaną kwerendę w overpass turbo, która zaznacza mi obszar.
Ale jak to zrobić aby na mapie zaznaczone były również moje punkty (mam ich współrzędne)

Przykładowe punkty (ogólnie mam ich 460):

52.396491, 16.893310
52.397499, 16.896593

Obecna kwerenda:

[date:“2016-07-17T00:00:00Z”]
[timeout:620]
[bbox:{{bbox}}];
(

way[leisure=park];
way[landuse=recreation_ground];
way[leisure=recreation_ground];
way[leisure=pitch];
way[leisure=garden];
way[leisure=golf_course];
way[leisure=playground];
way[landuse=meadow];
way[landuse=grass];
way[landuse=greenfield];
way[natural=scrub];
way[natural=grassland];
way[landuse=farmyard];


way[natural=plateau];
way[boundary=national_park]; 
way[leisure=nature_reserve];
way[natural=heath];
way[natural=moor];
way[landuse=farmland];
way[landuse=orchard];
way[landuse=vineyard];

);
out body;

;
out skel qt;

//Confirmed OSM tags will appear in blue
//Unconfirmed OSM tags will appear in grey

{{style:

way[leisure=park],
way[landuse=recreation_ground], 
way[leisure=recreation_ground],
way[leisure=pitch],
way[leisure=garden],
way[leisure=golf_course],
way[leisure=playground],
way[landuse=meadow],
way[landuse=grass],
way[landuse=greenfield],
way[natural=scrub],
way[natural=grassland],
way[landuse=farmyard]

{ color:blue; fill-color:blue; }

way[leisure=nature_reserve],
way[natural=plateau],
way[natural=heath],
way[natural=moor],
way[landuse=farmland],
way[landuse=orchard],
way[landuse=vineyard]

{ color:grey; fill-color:grey; }
}}

Pomoże ktoś?
Nie znam się na tym :frowning:

Tutaj coś jest: https://wiki.openstreetmap.org/wiki/Overpass_API/Overpass_QL#Query_for_areas_.28is_in.29

Tylko jak to zrobić?
Próbuję i nic :frowning:
Cały czas zaznacza mi tylko obszary. Jak sprawdzić teraz czy jakieś współrzędne należą do tego obszaru czy nie?

Zdefiniuj problem. Problemem jest to, że nie możesz zwizualizować swoich punktów, czy że zwracane są wszystkie obszary, a nie tylko te, które obejmują Twoje punkty?

is_in pozwoli Ci zwrócić te obszary, które obejmują Twoje punkty.

Jak chcesz teraz na wynik z Overpassa nałożyć swoje punkty - to jest to problem do którego potrzebujesz innego narzędzia.

Do wyniku z Overpassa chciałbym właśnie nałożyć swoje punkty. A wiesz może jakim narzędziem mogę to zrobić?

O ile dane pasują do OSM to dodaj je w OSM. A jeśli nie to możesz ściągnąć czyste dane jako geojson i obrobić w QGIS’ie

Zasadniczo Overpass wyciąga to, co jest w bazie, więc jeśli Twoich punktów w bazie nie ma…
A co właściwie chcesz z tym zrobić? Może czym innym da się to osiągnąć, np uMap pozwoli Ci pokazać na mapie obiekty wyciągnięte Overpassem plus cokolwiek sobie zechcesz dorysować…

EDIT: Znalazłem osobny wątek na ten sam temat, w którym jest częściowa odpowiedź na moje pytanie. Pozwoliłem sobie wątki połączyć, z dwóch zapytań pozostawiając to, które było w osobnym wątku, jako precyzyjniej opisujące problem.

I tak, uMap powinien Ci pomóc sobie te punkty zobrazować, możesz wynik overpassa wyeksportować do GeoJSON i zaczytać do uMap, a ze swoich punktów musiałbyś też zrobić jakiś format importowalny do uMap, chociażby również GeoJSON.

Pytanko mam. Czy dane overpassturbo w ogóle są aktualizowane? Przydałaby mi się one teraz zaktualizowane, a jak patrzę sobie na lewą część strony to niestety. Dane dla terenu, który chciałem prześledzić pochodzą z 7 lipca 2016 roku. Jest jakaś szansa na aktualizację danych?

Patrzysz na parki itp. w wiadomym nam :wink: celu?
Usuń [date:…] z góry.

A nie korzystasz z jakiegoś serwera testowego? Jedynie słuszny serwer pokazuje stan aktualny.
Albo po prostu widzisz w zapytaniu wpis, żeby wyszukiwał według stanu na 7 lipca 2016, wtedy wystarczy go usunąć i odświeżyć zapytanie.

Przerabiając przykłady z Wiki stworzyłem kwerendę, która może podpowiedzieć gdzie rysować budynki.
Korzystamy oczywiście z faktu, że zaimportowanymi adresami pokryta jest niemal cała Polska.

Wersja z bbox-em: http://overpass-turbo.eu/s/FpW
Wersja dla obszaru (np. gminy, powiatu): http://overpass-turbo.eu/s/FpV

Super. Działa. Warto też zmniejszyć sobie odległość do np. 100m. A z tymi adresami jak to jest, one są co jakiś czas aktualizowane z jakieś zewnętrznej bazy państwowej?

Najczęściej są importowane z bazy ewidencji miejscowości, ulic i adresów ( EMUiA) poprzez serwis iMPA na prośbę wyrażoną w tym wątku.

Automagicznie to nie. Zazwyczaj Zbigniew to ogarnia(ł) na czyjąś prośbę z forumowego wątku. Bazując na skrypcie od WiktorN, który chyba jest na GitHubie.
Większość gmin używa e-mapa.net (iMPA) albo EMUiA. Choć koniec końców dane dla wszystkich gmin powinny i tak lądować w PRG.

Proste zapytanie Overpassa do wykrywania wsi bez odrysowanych budynków

Overpassowi hakerzy, wiecie może jak zategować poniższą kwerendę, aby węzły należące do granicy nie były uwzględniane?

http://overpass-turbo.eu/s/IPv

A możemy zacząć od zdefiniowania “granicy”?

Jak już zdefiniujemy, to odejmiemy od .relations i ewentualnie od .ways i dopiero w tak otrzymanych zbiorach będziemy liczyć tagi…

Yyy… 3. linijka :smiley:

Puść, to zobaczysz o co chodzi.