You are not logged in.

Announcement

*** NOTICE: By 30th of September 2022 the forum.openstreetmap.org will be retired, please request a category for your community in the new ones as soon as possible using this process, which will allow you to propose your community moderators. We expect the migration of data will be finished by that date, you can follow its progress here.***

#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,100

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,100

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 ;-)

Kai_himself wrote:

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,100

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,835
Website

Re: Gebäude die mehr als X Stockwerke haben

chris66 wrote:

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

Board footer

Powered by FluxBB