OpenStreetMap Forum

The Free Wiki World Map

You are not logged in.

#26 2017-01-18 17:55:59

rmikke
Moderator
From: Warszawa
Registered: 2014-11-14
Posts: 1,659
Website

Re: Overpass - do wyciągania danych z OSM

Azquoir wrote:

Czy jest jakiś sposób, aby wyciągnąć wszystkie dane dla bboxa danego powiatu/gminy?

Możesz przeformułować pytanie?
Bo nie rozumiem, co chcesz właściwie osiągnąć.

Offline

#28 2017-01-18 20:59:44

Teiron
Member
Registered: 2015-04-09
Posts: 98

Re: Overpass - do wyciągania danych z OSM

W kreatorze wpisz coś w stylu "name=* in rzeszowski" to dla powiatu, a "Rzeszów" dla gminy. Jeśli zaś nazwa gminy i powiatu używana w overpass'ie się pokrywają to trzeba by było znaleźć numer relacji która jest reprezentacją danej gminy/powiatu i wpisać zamiast nazwy "name=* in XXXXXXX".

Offline

#29 2017-01-18 23:14:06

Azquoir
Member
Registered: 2014-09-06
Posts: 47

Re: Overpass - do wyciągania danych z OSM

Pięknie dziękuję za odpowiedzi. Przykład od wowika jest tym czego szukałem smile

Offline

#30 2017-02-14 16:59:56

RicoElectrico
Member
From: Trójmiasto
Registered: 2012-07-01
Posts: 1,226

Re: Overpass - do wyciągania danych z OSM

Czy jakiś magik wie dlaczego taka kwerenda (znajdź węzły i linie w Gdyni z name:* ale bez name) nie działa jak powinna?

[out:json][timeout:25];
{{geocodeArea:Gdynia}}->.searchArea;
(
  node[!"name"][~"^name\:"~"."](area.searchArea);
  way[!"name"][~"^name\:"~"."](area.searchArea);
);
out body;
>;
out skel qt;

Edit: Gdy zmienię "Gdynia" na "pomorskie" to zwrócone wcześniej węzły nie załapują się, co trochę przeczy logice.

Last edited by RicoElectrico (2017-02-14 17:05:39)

Offline

#31 2017-02-14 18:18:57

dziabaducha
Member
From: Kraków
Registered: 2013-05-08
Posts: 544

Re: Overpass - do wyciągania danych z OSM

RicoElectrico wrote:

Czy jakiś magik wie [...] co trochę przeczy logice.

jakie pomorskie? Województwo pomorskie.


Xiaomi Redmi 3 Pro (Osmand)
Kraków i okolice, Beskid Wyspowy

Offline

#32 2017-02-14 18:31:48

RicoElectrico
Member
From: Trójmiasto
Registered: 2012-07-01
Posts: 1,226

Re: Overpass - do wyciągania danych z OSM

Geokoder działa tak samo w obu przypadkach. Pominąłem "województwo" odruchowo, bo wcześniej Alt+O otwierało okno wczytania zapisanej kwerendy tongue

Offline

#33 2017-02-14 22:22:11

wmyrda
Member
Registered: 2014-07-07
Posts: 947

Re: Overpass - do wyciągania danych z OSM

W sumie to "pomorskie" jest wpisane dla obszaru jako "short_name" także mogło by wychwycić, że taki obszar istnieje. Ciekawe czemu tak nie robi.

Offline

#34 2017-03-17 00:12:37

WiktorN
Member
Registered: 2013-08-04
Posts: 528

Re: Overpass - do wyciągania danych z OSM

Postawiłem serwer Overpass'a, który zawiera dane tylko z Polski i aktualizuje się co minutę.

Adres dla Overpass Turbo:

//osm-cdn.vink.pl/api/

Dla zapytań bezpośrednich:

http://osm-cdn.vink.pl/api/interpreter

Sprawdźcie proszę, czy wszystko działa jak trzeba :-) wszelkie głosy ważne.

Dla chętnych - postawione w Dockerze z pomocą tego obrazka

Offline

#35 2017-03-17 18:34:29

Teiron
Member
Registered: 2015-04-09
Posts: 98

Re: Overpass - do wyciągania danych z OSM

Niestety 404 na

http://osm-cdn.vink.pl/api/

Offline

#36 2017-03-17 18:44:06

WiktorN
Member
Registered: 2013-08-04
Posts: 528

Re: Overpass - do wyciągania danych z OSM

Teiron wrote:

Niestety 404 na

http://osm-cdn.vink.pl/api/

Wszystko się zgadza. Usługa działa pod adresem:

http://osm-cdn.vink.pl/api/interpreter

Natomiast jak sprawdzałem Overpass Turbo, to on sam dokleja interpreter, więc w Overpass Turbo trzeba podać bez interpreter.

Last edited by WiktorN (2017-03-17 18:44:34)

Offline

#37 2017-05-20 09:43:47

kazadam
Member
Registered: 2013-10-16
Posts: 72
Website

Re: Overpass - do wyciągania danych z OSM

Witam,
Czy istnieje możliwość "wyciągnięcia" danych: kodu pocztowego i jego (średniej?!) lokalizacji dla obszaru Polski?

Offline

#38 2017-05-20 16:31:52

gsapijaszko
Member
From: Lubnów / Wrocław
Registered: 2012-10-28
Posts: 178
Website

Re: Overpass - do wyciągania danych z OSM

kazadam wrote:

Witam,
Czy istnieje możliwość "wyciągnięcia" danych: kodu pocztowego i jego (średniej?!) lokalizacji dla obszaru Polski?

Overpass zdaje się nie ma żadnych funkcji aggregujących/operujących na geometrii. Posłużyłbym się postgisem, np.:

SELECT ST_Buffer(ST_ConcaveHull(ST_Collect("way"), 0.99),1) AS geom,  
ST_Area(ST_Buffer(ST_ConcaveHull(ST_Collect("way"), 0.99),1))/1000000 AS area, 
"addr:postcode" FROM (
  SELECT "addr:postcode", "way" FROM planet_osm_point WHERE "addr:postcode" IS NOT NULL GROUP BY "addr:postcode", "way"
  UNION
  SELECT "addr:postcode", ST_Centroid("way") FROM planet_osm_polygon WHERE "addr:postcode" IS NOT NULL GROUP BY "addr:postcode", "way"
  ) AS dupa
GROUP BY "addr:postcode";

co wizualizuje się +/- następująco:

aaa.png

G.

Offline

#39 2017-05-20 19:55:53

RicoElectrico
Member
From: Trójmiasto
Registered: 2012-07-01
Posts: 1,226

Re: Overpass - do wyciągania danych z OSM

Ciekawe czy dałoby radę przerobić to na diagram Woronoja albo jeszcze lepiej k-najbliższych sąsiadów (k-NN). Wtedy nie byłoby dziur.

Offline

#40 2017-05-20 21:19:50

gsapijaszko
Member
From: Lubnów / Wrocław
Registered: 2012-10-28
Posts: 178
Website

Re: Overpass - do wyciągania danych z OSM

https://postgis.net/docs/ST_VoronoiPolygons.html - ćwiczenia zostawię pytającemu smile

G.

Offline

#41 2017-05-21 08:45:39

kazadam
Member
Registered: 2013-10-16
Posts: 72
Website

Re: Overpass - do wyciągania danych z OSM

Dziękuję gsapijaszko.
Spróbuję skorzystać z Twojej rady. Co prawda jeszcze nie wiem jak (Qgis dopiero "liznąłem"), ale popróbuję.
Na moje potrzeby wystarczą dane "z dziurami".

Offline

#42 2017-05-24 07:23:58

rmikke
Moderator
From: Warszawa
Registered: 2014-11-14
Posts: 1,659
Website

Re: Overpass - do wyciągania danych z OSM

Jest jakiś sposób, żeby wyciągnąć tylko obiekty niewystające poza obszar?
W sensie, że np. mam w Polsce drogi spełniające określone warunki, ale chcę jeszcze odrzucić te, które kończą się poza Polską. Całą drogę, jeśli jej kawałek wystaje poza zadany obszar.

Potrzebuję dla relacji i linii.

Last edited by rmikke (2017-05-24 10:52:07)

Offline

#43 2017-05-24 18:10:50

kazadam
Member
Registered: 2013-10-16
Posts: 72
Website

Re: Overpass - do wyciągania danych z OSM

Za radą gsapijaszko próbowałem uruchomić postgis. Zainstalowałam osm2pgsql, niestety wersja postgis -1.5.3, nie udostępnia rozszerzenia postgis bazy (jeżeli dobrze się wrażam sad ). Import danych jest niemożliwy.
Czy ktoś zna rozwiązanie problemu bez konieczności upgreadu? Korzystam tylko ze stabilnej wersji Debiana Wheezy i tak chcę pozostać.

Offline

#44 2017-05-24 18:12:39

RicoElectrico
Member
From: Trójmiasto
Registered: 2012-07-01
Posts: 1,226

Re: Overpass - do wyciągania danych z OSM

A zrobiłeś CREATE EXTENSION postgis; ?

Last edited by RicoElectrico (2017-05-24 18:12:46)

Offline

#45 2017-05-24 18:40:19

kazadam
Member
Registered: 2013-10-16
Posts: 72
Website

Re: Overpass - do wyciągania danych z OSM

Tak. W wersji 1.5 chyba właśnie w tym problem, że ten sposób jest niedostępny.

Offline

#46 2017-05-24 18:42:53

RicoElectrico
Member
From: Trójmiasto
Registered: 2012-07-01
Posts: 1,226

Re: Overpass - do wyciągania danych z OSM

To jakiś przedpotopowy ten postgis wink Żarty "twoja stara jest tak stara, że znajduje się w repozytorium debiana stable" chyba nie są przesadzone big_smile

Last edited by RicoElectrico (2017-05-24 18:43:37)

Offline

#47 2017-05-24 18:52:07

kazadam
Member
Registered: 2013-10-16
Posts: 72
Website

Re: Overpass - do wyciągania danych z OSM

smile I tak jest w rzeczywistości. Nie wiem czy przed 20:00 można, ale znasz to - "Lepsza starsza i doświadczona ..."?
Na takie okazje chwilowo instaluję Ubuntu. I jak nie znajdę sposobu tak zrobię i teraz.
Dzięki za zainteresowanie.

Offline

#48 2017-05-24 19:19:28

gsapijaszko
Member
From: Lubnów / Wrocław
Registered: 2012-10-28
Posts: 178
Website

Re: Overpass - do wyciągania danych z OSM

Eeee... moment... co ma wersja postgisa do importu danych?

Instalujemy postgres. Instalujemy postgis. Tworzymy bazę danych. Dodajemy rozszerzenie postgis (i ewentualnie hstore).

Do importu danych do tak utworzonej bazy danych można użyć osm2pgsql (to moja ścieżka) albo imposma (https://imposm.org/), którego używa m.in. SQ9NIT do swoich map.

Wersja postgisa będzie miała znaczenie na etapie późniejszym, niektóre funkcje są dostępne w nowszych wersjach.

Tu jest opis pożenienia qgisa z sqlite i osm: http://learnosm.org/en/osm-data/osm-in-qgis/. Do celu policzenia "centrum" położenia kodów adresowych może wystarczyć, później można po prostu policzyć średnią geometryczną dla współrzędnych X i Y.

Pozdrawiam,
Grzesiek

Last edited by gsapijaszko (2017-05-24 19:23:48)

Offline

#49 2017-05-24 20:11:34

kazadam
Member
Registered: 2013-10-16
Posts: 72
Website

Re: Overpass - do wyciągania danych z OSM

Może użyłem zbytniego skrótu "import". Właśnie nie mogę dodać rozszerzenia postgis do utworzonej bazy (CREATE EXTENSION postgis;), z hstore daję radę. Jeżeli nie istnieje rozszerzenie bazy (wydaje się, że t0 jest powód) to osm2pgsql zgłasza błąd. W moim przypadku brak funkcji AddGeoColumns.
Dzięki za link. Też brałem pod uwagę konwersję osm do innej bazy . Sqlite byłoby ok.
Spróbuję.

Offline

#50 2017-05-27 22:32:29

kazadam
Member
Registered: 2013-10-16
Posts: 72
Website

Re: Overpass - do wyciągania danych z OSM

Rozpoczynając temat liczyłem na "złoty strzał" - kliknij tu, a wynik sam wyskoczy. Właściwie osiągnąłem cel, mam plik (3,5 miliona linii), który po "drobnych" przeróbkach będzie przydatny dla mojego zastosowania. W skrócie (używając QGIS) - konwersja osm do sqlite, następnie zapytanie do tak utworzonej bazy, o wszystkie punktu z kodem pocztowym i zapisanie wyniku do pliku csv (również QGIS).
Po drodze okazało się, że otrzymywana baza  sqlite, to jest baza spatial (przestrzenna), o czym nie miałem pojęcia i znowu trzeba czegoś się uczyć, choć nie wiem czy kiedykolwiek to się przyda sad.
Dziękuję Ci gsapijaszko.

Offline

Board footer

Powered by FluxBB