# Abfrage von Gebäuden innerhalb BoundingBOX

**URL:** <https://www.pg-forum.de/t/abfrage-von-gebaeuden-innerhalb-boundingbox/9055>\
**Category:** PostGIS\
**Created:** [25. April 2016 um 09:33 UTC](https://www.pg-forum.de/t/abfrage-von-gebaeuden-innerhalb-boundingbox/9055 "2016-04-25T09:33:40Z")\
**Posts on this page:** 4\
**Page:** 1

<div class="post-metadata">

**Author:** ![limo1013](https://www.pg-forum.de/letter_avatar_proxy/v4/letter/l/c5a1d2/32.png) [@limo1013](https://www.pg-forum.de/u/limo1013)\
**Post date:** [25. April 2016 um 09:33 UTC](https://www.pg-forum.de/t/abfrage-von-gebaeuden-innerhalb-boundingbox/9055/1 "2016-04-25T09:33:40Z")

</div>

Hallo,

ich habe eine Frage bezüglich der räumlichen Abfrage von Gebäuden.  
Vielleicht hatte jemand schon so ein Problem?

Ich habe in meiner Datenbank Gebäudegeommetrien.  
Von dem GroundPolygon bilde ich den Centroid. Jetzt mache ich Abfragen an die Datenbank um Gebäude innerhalb einer BoundingBox auszulesen.  
Dies erfolgt durch den Befehlt ST\_Contains().

```nohighlight
--> verwendete Attribute
SELECT a.ID, b.ID, ST_AsGeoJSON(c.Geometry), d.Classname -- ST_AsGeoJSON() -> Konvertierung von Postgis intern in GeoJSON

--> Dateninput (verwendete Tabellen)
FROM Building a, Thematic_Surface b, Surface_Geometry c, Objectclass d 

WHERE ST_Contains( ST_MakeEnvelope(3500060.29, 5392691.47, 3500277.065, 5393413.511, 31467), a.centroid_geom)-- 500m BBox

```

Er liest mir die Centroide raus die innerhalb liegen.  
Ich habe mal ein Centroid genau auf die BBox-Grenze gelegt, dann liest er es nicht mehr aus.

Wenn ich also ST\_Contains() nehme ist die Gefahr dar, dass ein Gebäude nicht ausgelesen wird, wenn es direkt auf der Linie liegt.  
Wenn ich ST\_Intersect() nehme ist die Gefahr dar, dass ein Gebäude somit in mehreren Kacheln vorkommen kann.

Hatte jemand schon so ein Problem und wenn ja, gibt es da einen Ansatz damit immer ein Gebäude in nur einer Kachel vorkommt.

---

<div class="post-metadata">

**Author:** ![akretschmer](https://www.pg-forum.de/letter_avatar_proxy/v4/letter/a/a6a055/32.png) [@akretschmer](https://www.pg-forum.de/u/akretschmer)\
**Post date:** [25. April 2016 um 12:19 UTC](https://www.pg-forum.de/t/abfrage-von-gebaeuden-innerhalb-boundingbox/9055/2 "2016-04-25T12:19:14Z")

</div>

schau Dir mal ST\_Contains und ST\_Within an, ich denke, damit solltest Du weiterkommen.

---

<div class="post-metadata">

**Author:** ![Gisman](https://www.pg-forum.de/user_avatar/www.pg-forum.de/gisman/32/252_2.png) [@Gisman](https://www.pg-forum.de/u/Gisman)\
**Post date:** [26. April 2016 um 04:53 UTC](https://www.pg-forum.de/t/abfrage-von-gebaeuden-innerhalb-boundingbox/9055/3 "2016-04-26T04:53:10Z")

</div>

ST\_Intersects wäre auch noch eine Möglichkeit, die auch Ergebnisse auf dem Rand erfasst WIMRE.

Guten Morgen!

Uwe

---

<div class="post-metadata">

**Author:** ![system](https://www.pg-forum.de/uploads/default/original/1X/dc97a981dd26692d5fb52e8b8fc7c090d7b9559a.png) [@system](https://www.pg-forum.de/u/system)\
**Post date:** [21. Februar 2021 um 07:09 UTC](https://www.pg-forum.de/t/abfrage-von-gebaeuden-innerhalb-boundingbox/9055/4 "2021-02-21T07:09:53Z")

</div>


