« zpět na výpis měsíce |

[Talk-cz] Relations - sousední obce (kraje, okresy) z API

Vlákno 18.8. - 18.8.2014, počet zpráv: 5


18.8.2014 12:20:59 (#1)
gravatar

Jiří Sedláček

<jirisedlacek at gmail.com>
46 539
Dobrý den, ahoj, mám poměrně specifický požadavek na API (či případně na jiný zdroj) a nevím, jak se správně zeptat API (či třeba RUIANu). Chtěl bych získat: Obce (či okresy, ...) tak, abych zjistil, která další obec (či okres, ...) s ní sousedí. A to ideálně tak, abych si mohl vybrat obce jen z daného okresu (a to je pro mě největší problém a nijak jsem nedokázal donutit API, aby mi vrátila jen data z daného okresu dle ref nebo id relace). Pokud bych získal data dle BBOXU, tak je to sice hezký, ale nebude to ono - nicméně, i pak mi asi nezbyde nic jiného, než projít jednotlivý relace a jejich ways a dle toho, že ways jsou ve více relacích poznat, že spolu ty dané obce sousedí. Nebo to jde i jinak? Díky za radu či nakopnutí. J. -- S pozdravem, Jirka Sedláček --- jirisedlacek na gmail.com ------------- další část --------------- HTML příloha byla odstraněna... URL: <https://lists.openstreetmap.org/pipermail/talk-cz/attachments/20140818/449a236e/attachment.html>

18.8.2014 01:01:15 (#2)
gravatar

"Petr Morávek [Xificurk]"

<petr at pada.cz>
139
Dne 18.8.2014 00:20, Jiří Sedláček napsal(a): zobrazit citaci
> Dobrý den, ahoj, > mám poměrně specifický požadavek na API (či případně na jiný zdroj) a > nevím, jak se správně zeptat API (či třeba RUIANu). > > Chtěl bych získat: > Obce (či okresy, ...) tak, abych zjistil, která další obec (či okres, > ...) s ní sousedí. > > A to ideálně tak, abych si mohl vybrat obce jen z daného okresu (a to je > pro mě největší problém a nijak jsem nedokázal donutit API, aby mi > vrátila jen data z daného okresu dle ref nebo id relace). > > Pokud bych získal data dle BBOXU, tak je to sice hezký, ale nebude to > ono - nicméně, i pak mi asi nezbyde nic jiného, než projít jednotlivý > relace a jejich ways a dle toho, že ways jsou ve více relacích poznat, > že spolu ty dané obce sousedí. Nebo to jde i jinak? > > Díky za radu či nakopnutí. > > J. > > -- > S pozdravem, > Jirka Sedláček > --- > jirisedlacek na gmail.com <mailto:jirisedlacek na gmail.com>
Ahoj, tohle by mělo být řešitelné pomocí Overpass API. Zkonstruování konkrétního dotazu už nechám na tobě, ale postup by měl být zhruba takovýto: 1) Podle jména, id, nebo čehokoliv jiného najít relaci obce (okresu, ...) 2) Najít všechny cesty, které relace odkazuje. 3) Najít všechny relace, ve kterých jsou tyto cesty a vyfiltrovat je pomocí požadovaného admin_level. 4) Příp. stáhnout všechny cesty/uzly, které jsou součástí těchto relací. Zdraví, Petr Morávek aka Xificurk

18.8.2014 09:09:44 (#3)
gravatar

hanoj

<ehanoj at gmail.com>
718
jak píše xificurk, asi takto: http://overpass-api.de/api/interpreter?data=(rel["name"="okres Brno-město"]["admin_level"="7"][boundary=administrative];way(r);rel(bw))->.c;(rel.c["admin_level"="7"][boundary=administrative];way(r);node(w))->.d;.d out meta; výklad syntaxe např. zde: http://geoinformatics.fsv.cvut.cz/data/2014/06-12/03-Barta-Geoinformatics-2014.pdf#page=26 ha hanoj Dne 18. srpna 2014 1:01 "Petr Morávek [Xificurk]" <petr na pada.cz> napsal(a): zobrazit citaci
> Dne 18.8.2014 00:20, Jiří Sedláček napsal(a): >> Dobrý den, ahoj, >> mám poměrně specifický požadavek na API (či případně na jiný zdroj) a >> nevím, jak se správně zeptat API (či třeba RUIANu). >> >> Chtěl bych získat: >> Obce (či okresy, ...) tak, abych zjistil, která další obec (či okres, >> ...) s ní sousedí. >> >> A to ideálně tak, abych si mohl vybrat obce jen z daného okresu (a to je >> pro mě největší problém a nijak jsem nedokázal donutit API, aby mi >> vrátila jen data z daného okresu dle ref nebo id relace). >> >> Pokud bych získal data dle BBOXU, tak je to sice hezký, ale nebude to >> ono - nicméně, i pak mi asi nezbyde nic jiného, než projít jednotlivý >> relace a jejich ways a dle toho, že ways jsou ve více relacích poznat, >> že spolu ty dané obce sousedí. Nebo to jde i jinak? >> >> Díky za radu či nakopnutí. >> >> J. >> >> -- >> S pozdravem, >> Jirka Sedláček >> --- >> jirisedlacek na gmail.com <mailto:jirisedlacek na gmail.com> > > Ahoj, > tohle by mělo být řešitelné pomocí Overpass API. Zkonstruování > konkrétního dotazu už nechám na tobě, ale postup by měl být zhruba takovýto: > > 1) Podle jména, id, nebo čehokoliv jiného najít relaci obce (okresu, ...) > 2) Najít všechny cesty, které relace odkazuje. > 3) Najít všechny relace, ve kterých jsou tyto cesty a vyfiltrovat je > pomocí požadovaného admin_level. > 4) Příp. stáhnout všechny cesty/uzly, které jsou součástí těchto relací. > > > Zdraví, > Petr Morávek aka Xificurk

18.8.2014 07:25:42 (#4)
gravatar

Petr Souček

<soucekp at atlas.cz>
69
Dobrý den, všechny obce z příslušného okresu je možné získat pomocí WFS pro Administrativní jednotky, viz http://services.cuzk.cz/doc/inspire-au-download.pdf , např. všechny obce z okresu Olomouc je možné získat takto, http://services.cuzk.cz/wfs/inspire-au-wfs.asp?service=WFS <http://services.cuzk.cz/wfs/inspire-au-wfs.asp?service=WFS&version=2.0.0&request=GetFeature&StoredQuery_id=GetLowerBoundaries&srsName=urn:ogc:def:crs:EPSG::5514&NAT_LEVEL=Obec&UPPER_UNIT_NAZEV=Olomouc> &version=2.0.0&request=GetFeature&StoredQuery_id=GetLowerBoundaries&srsName=urn:ogc:def:crs:EPSG::5514&NAT_LEVEL=Obec&UPPER_UNIT_NAZEV=Olomouc Co se týče získání souseda, tak je to zajímavá myšlenka. Pokusím se promyslet, zdali bychom to mohli přidat jako další předpřipravený dotaz. Petr Souček From: Jiří Sedláček [mailto:jirisedlacek na gmail.com] Sent: Monday, August 18, 2014 12:21 AM To: Czech Republic OpenStreetMap Subject: [Talk-cz] Relations - sousední obce (kraje, okresy) z API Dobrý den, ahoj, mám poměrně specifický požadavek na API (či případně na jiný zdroj) a nevím, jak se správně zeptat API (či třeba RUIANu). Chtěl bych získat: Obce (či okresy, ...) tak, abych zjistil, která další obec (či okres, ...) s ní sousedí. A to ideálně tak, abych si mohl vybrat obce jen z daného okresu (a to je pro mě největší problém a nijak jsem nedokázal donutit API, aby mi vrátila jen data z daného okresu dle ref nebo id relace). Pokud bych získal data dle BBOXU, tak je to sice hezký, ale nebude to ono - nicméně, i pak mi asi nezbyde nic jiného, než projít jednotlivý relace a jejich ways a dle toho, že ways jsou ve více relacích poznat, že spolu ty dané obce sousedí. Nebo to jde i jinak? Díky za radu či nakopnutí. J. -- S pozdravem, Jirka Sedláček --- jirisedlacek na gmail.com ------------- další část --------------- HTML příloha byla odstraněna... URL: <https://lists.openstreetmap.org/pipermail/talk-cz/attachments/20140818/278e9337/attachment.html>

18.8.2014 07:31:30 (#5)
gravatar

"Petr Morávek [Xificurk]"

<petr at pada.cz>
139
Dne 18.8.2014 09:09, hanoj napsal(a): zobrazit citaci
> jak píše xificurk, asi takto: > > http://overpass-api.de/api/interpreter?data=(rel["name"="okres > Brno-město"]["admin_level"="7"][boundary=administrative];way(r);rel(bw))->.c;(rel.c["admin_level"="7"][boundary=administrative];way(r);node(w))->.d;.d > out meta; > > výklad syntaxe např. zde: > http://geoinformatics.fsv.cvut.cz/data/2014/06-12/03-Barta-Geoinformatics-2014.pdf#page=26 > > ha > hanoj
Ještě doplním, že záleží, co přesně má být výstupem... uvedený odkaz stáhne komplet relace a jejich prvky. Pokud ti stačí jen "metadata" o obcích/okresech, tak stačí stáhnout jen relace. Z nich si pak už vytáhneš všechny důležité identifikační údaje a můžeš se podle nich dotazovat dál třeba právě RUIAN. Petr Morávek aka Xificurk

« zpět na výpis měsíce