You are not logged in.
- Topics: Active | Unanswered
Announcement
Please create new topics on the new site at community.openstreetmap.org. We expect the migration of data will take a few weeks, you can follow its progress here.***
Pages: 1
#1 2022-08-07 20:55:48
- Kai_himself
- New Member
- Registered: 2022-08-07
- Posts: 2
Gebäude die mehr als X Stockwerke haben
Guten Abend,
ich möchte mit der Overpass API Gebäude die mehr als X Stockwerke haben finden.
Die Abfrage nach einer bestimmten Anzahl ist relativ einfach.
way["building:levels"="2"]({{bbox}});
Auf dem Blog zu Overpass bin ich auch Working with Numbers gestoßen:
http://dev.overpass-api.de/blog/numbers.html
Dort ist unter anderem das Beispiel gegeben:
way({{bbox}})[highway=motorway]
[maxspeed](if:t["maxspeed"]>120);
out geom;
Ich schaffe es nicht die Abfrage so umzubauen das sie auch für Gebäude funktioniert, ich habe dazu auch drei Fragen.
1. highway=motorway und building:levels
Warum wird der highway mit z. B. maxspeed=* und die Gebäude mit building:level=* näher beschrieben ?
Es gibt bestimmt einen Grund warum das für einen Neuling nicht einheitlich ist oder ?
2. Was bedeutet das t in
if:t[..
Dazu habe ich leider keine Erklärung gefunden.
3. Mein Ausdruck liefert in Köln keine Daten zurück, obwohl ich glaube das es dort Gebäude mit mehr als zwei Stockwerken gibt:
area({{bbox}})[building=apartments]
[levels](if:t["levels"]>2);
out geom;
Vielen Dank im voraus und Gruß
Kai
Offline
#2 2022-08-08 08:44:49
- chris66
- Member
- From: Germany
- Registered: 2009-05-24
- Posts: 10,127
Re: Gebäude die mehr als X Stockwerke haben
Grad mal getestet:
Für Hamm funzt folgende Abfrage:
[out:json][timeout:45];
// gather results
(
way["building"](if:t["building:levels"]>=3)({{bbox}});
);
// print results
out body;
>;
out skel qt;
Mapper aus dem Münsterland.
Offline
#3 2022-08-08 08:46:18
- chris66
- Member
- From: Germany
- Registered: 2009-05-24
- Posts: 10,127
Re: Gebäude die mehr als X Stockwerke haben
Bei einigen Gebäuden ist levels statt building:levels angegeben, ist das ein Fehler?
EDIT:
https://wiki.openstreetmap.org/wiki/Key … g%3Alevels
Also: JA, Fehler.
Last edited by chris66 (2022-08-08 10:32:18)
Mapper aus dem Münsterland.
Offline
#4 2022-08-08 18:24:38
- pyram
- Member
- Registered: 2012-06-16
- Posts: 1,509
Re: Gebäude die mehr als X Stockwerke haben
Man sollte bei 3D die "building:part" nicht vergessen. Edit: Und die Relationen.
Außerdem haben bei weitem nicht alle Gebäude eine Eigenschaft, wie "building=apartments". Es gibt sehr viele "yes" und knapp 8000 Values: https://taginfo.openstreetmap.org/keys/building#values
[out:json][timeout:45];
// gather results
(
way["building"](if:t["building:levels"]>=10)({{bbox}});
way["building:part"](if:t["building:levels"]>=10)({{bbox}});
);
// print results
out body;
>;
out skel qt;
Bei größeren Anlagen verzichte ich schon immer darauf, dem *ganzen* Gebäude 3D-Eigenschaften zu geben. Die gehen Dir dann durch die Lappen ;-)
1. highway=motorway und building:levels
Warum wird der highway mit z. B. maxspeed=* und die Gebäude mit building:level=* näher beschrieben ?
Es gibt bestimmt einen Grund warum das für einen Neuling nicht einheitlich ist oder ?
Nein, das ist so "historisch gewachsen".
"level" war schon vergeben (2010 -> https://wiki.openstreetmap.org/wiki/Key:level ) und man wollte 2011 die Geschosszahl taggen ( https://wiki.openstreetmap.org/w/index. … ing:levels ).
Last edited by pyram (2022-08-08 18:27:44)
Offline
#5 2022-08-10 14:59:32
- Kai_himself
- New Member
- Registered: 2022-08-07
- Posts: 2
Re: Gebäude die mehr als X Stockwerke haben
Vielen Dank für die Antworten.
Beide Abfragen funktionieren und liefern bis jetzt gute Ergebnisse zurück.
Meine Abfrage funktioniert so auch:
area({{bbox}})[building]
["building:levels"](if:t["building:levels"]>2);
out geom;
Aber nur mit
if:t
wenn ich nur
if
ausführe werden auch Gebäude mit weniger als X Stockwerken anzgezeigt.
Ich habe noch eine letzte Frage. Ihr sucht beide nach
way
sind die Gebäude nicht
area
Gruß Kai
Offline
#6 2022-08-10 15:50:46
- chris66
- Member
- From: Germany
- Registered: 2009-05-24
- Posts: 10,127
Re: Gebäude die mehr als X Stockwerke haben
Bei OSM gibt es nur node, way und relation als Datentyp. Die meisten building sind als (closed-) way eingetragen, was anhand des keys dann als Fläche interpretiert wird.
Mapper aus dem Münsterland.
Offline
#7 2022-08-10 21:27:04
- Tordanik
- Moderator
- From: Germany
- Registered: 2008-06-17
- Posts: 2,840
- Website
Re: Gebäude die mehr als X Stockwerke haben
Die meisten building sind als (closed-) way eingetragen, was anhand des keys dann als Fläche interpretiert wird.
Der Gedanke ist aber prinzipiell richtig: Wenn man nur nach Ways sucht, fehlen im Ergebnis Gebäude, die als Multipolygon-Relation gemappt sind.
OSM in 3D: OSM2World
Offline
Pages: 1