Ansatz alle Renault-Werkstätten in einem bestimmten Gebiet zu finden

hallo community,

ich bin auf der Suche nach einem Ansatz alle Renault-Werkstätten in einem bestimmten Gebiet zu finden. Dazu geh ich wie folgt vor:

“node"shop”="car
“service”=“dealer”
“service”=“repair”
“brand”=“renault”;

resp, sieht das dann so aus

/*
This query looks for nodes, ways and relations
with the given key/value combination.
Choose your region and hit the Run button above!
*/
[out:json][timeout:25];
// gather results
(
// query part for: “shop=car”
node"shop"=“car”;
node"service"=“dealer”;
//node"service"=“repair”;
node"brand"=“renault”;
);
// print results
out body;

;
out skel qt;

würdet ihr es anders versuchen…

btw: wenn ich das Ergebnis dann in CSV ausgeben will - dann muss alles nur noch geringfügig umformulieren…

Eigentlich müsste ja auch schon die Suche nach service=repair und brand=renault ausreichen. Außerdem würde ich mich nicht ausschließlich auf nodes konzentrieren. Zu einem Problem wird es aber, wenn nicht nur Renaults repariert werden sondern auch noch andere Marken. Denn Einträge wie brand=audi;renault wird es so nicht finden…

hallo York

vielen Dank für Deine Antwort mit den Hinweisen.

das leuchtet ein - ich werde es diesbezüglich mal abändern…

so geht es aber leider auch nicht…

[out:csv(::id,::type,“name”,“addr:postcode”,“addr:city”,“addr:street”,“addr:housenumber”,“website”," contact:email=*")][timeout:300];
area[name=“Bayern”]->.a;
( node(area.a)[“shop”=“car”];
way(area.a)[“service”=“dealer”];
rel(area.a););[“service”=“repair”];
note(area.a););[“brand”=“renault”];);
out;

node

Hallo tagtheworld,

das Problem ist, dass sowohl in service=* als auch in brand=* mehrere durch Semikolon getrennte Werte enthalten sein können. Außerdem würde ich auch noch shop=car_repair berücksichtigen.

Mit dem Query-Wizard der Overpass Turbo (http://overpass-turbo.eu) kann man relativ einfach eine Query als Grundlage prpduzieren. Für diesen Fall gibt zum Beispiel die Eingabe von “(service~repair or shop=car_repair) and brand~Renault in Germany” in den Query-Wizard eine Query zur Abfrage aller Renault-Werkstätten in Deutschland aus.

Ein weiteres Problem dürfte allerdings sein, dass das service-Tag für Autohändler noch nicht so weit verbreitet ist. Je nachdem was dein Anwendungsfall ist, wäre es also eine Überlegung wert auch shop=car ohne service-Tag zu berücksichtigen unter der Annahme, dass ein Großteil der Autohäuser auch eine Werkstatt besitzt.

hallo Mapper vielen Dank für die Tipps. Das ist sehr sehr hilfreich - mir wird klar wie viele optionen hier aufgehen!
Die Hinweise auf die moeglichen Konflikte & Probleme - auch sehr interessant u. aufschlussreich

Vielen Dank nochmals… Tagtheworld

so läuft es …

[out:csv(::id,::type,"name","addr:postcode","addr:city","addr:street","addr:housenumber","website"," contact:email=*")][timeout:300];
area[name="Bayern"]->.a;
(node(area.a)["shop"="car"];
  way(area.a)["service"="dealer"];
  rel(area.a)["service"="repair"];
  node(area.a)["brand"="renault"];);
  out;

Hmm, bist Du Dir sicher, dass Du alles bekommst, was Du haben möchtest und auch sicher, dass du nicht mehr bekommst als Du haben möchtest?

Eine Area mit name=Bayern mag es viele geben, landuse=residential, …
Was ist mit shop=car_repair?
Was ist mit brand=“peugeot;renault” → Du findest nur solche, die ausschließlich brand=“renault” haben ==> brand~“renault”
Was ist mit brand=“Renault” (Großschreibung) ==> brand~“[rR]enault”
Was ist mit way(area.a)[“shop”=“car”]; → die Tags hängen mal nicht an einem Node sondern an einem Gebäude

Toni

[Edit: typo]

Bist du dir da sicher? Also wenn ich die Abfrage jetzt richtig lese, suchst du nach folgendem:
in Bayern (was auch immer als Bayern definiert ist, siehe Antwort von ToniE) nach
… Punkten die als shop=car oder
… Wegen die als service=dealer oder
… Relationen die als service=repair oder
… Punkten die mit brand=renault oder
getaggt sind.

Also eine service=repair Relation stellt ich mir da schon sehr haarsträubend vor und wenn dann wäre es wohl einer dieser ungeliebten site-Relations.
Was ist mit den service=dealer, welche als Punkte gemappt sind?
Und willst du wirklich alles, was brand=renault trägt?
Dir ist hoffentlich klar, dass deine Abfrage alles ODER Bedingungen sind?