a potem resztę wykonujesz tak samo używając (area.searchArea).
Możesz też zawęzić do mniejszych obszarów, jak nie interesuje cię cało miasto. Ja często korzystam z kluczy/wartości teryt:simc np. do wybrania poszczególnych dzielnic Warszawy.
A co zrobić, gdy nazwa nie jest unikalna, jak np. “Stare Miasto”, “Nowa Wieś” i może być wiele obiektów o takiej samej nazwie.
Da się jakoś wpisać ID linii z OSM?
Np. po wpisaniu {{geocodeArea:Stare Miasto}} znajduje obiekty w… Jerozolimie;)
Potrzebuję wyciągnąć z bazy te drogi unclassified i residental dla których surface nie ma wartości.
Drugi temat to drogi dla których surface=xxx (coś sobie podstawię)
Czy da się znajdować obiekty, które nie są za blisko siebie?
Próbuję wyłapać podwójne adresy po wsiach, czyli ma się zgadzać addr:place i addr:housenumber, ale chciałbym z wyników wykluczyć POI z adresem, znajdujące się w obrębie tego samego budynku. Wymyśliłem, że można by wyszukać takie pary, które nie są za blisko siebie, ale nie mam pojęcia, czy w ogóle da się taki warunek skonstruować…
Ja mam trochę podobne zapytanie już gotowe i możesz je raczej łatwo dostosować do swoich potrzeb:
[out:json][timeout:30][bbox:{{bbox}}];
way[building]->.ww;
foreach.ww->.w
(
node['addr:housenumber'](area.w);
// ilość node adresowych wewnątrz obrysu,
// uwaga! sam obrys też może mieć już adres
if (count(nodes) == 1) {
.w out meta;
._ out meta;
}
);
Ale tak jak Mateusz powiedział, jak chcesz dobry performance to najlepiej jest pobrać całe dane i przetworzyć je lokalnie. Overpass ma dosyć ciężko z takimi operacjami .
I’m sorry for answering in English. I do not speak Polish and have not found the translation feature.
The following request tabulates all addresses with the number of items bearing this address and the size of the bounding box that contains the addresses in approximate meters:
[out:csv(count, sn, we, addr)];
area[name="Wuppertal"];
nwr["addr:housenumber"]["addr:street"](area);
for (t["addr:street"] + " " + t["addr:housenumber"])
{
if (count(nwr) > 1)
{
make info addr=_.val,count=count(nwr),
sn=(max(lat())-min(lat()))*1000000/9,we=(max(lon())-min(lon()))*1600000/9;
if (u(t["sn"]) > 100 || u(t["we"]) > 100)
{
out;
}
}
}
Line 2 needs to be adapted to the respective administration unit to search, and lines 3 and 4 can be adapted to the desired format of addresses. The bounding box sizes are in very approximate meters, but exact enough to identify unusual clusters of the same address.
Uważaj na false-positives, adresacja w Polsce może być zepsuta urzędowo.
@drolbr logged in users have “translate” button (“globe” icon) at the bottom of each message, it translates message to auto-detected language user’s browser prefers, you can overwrite it in settings.