Eine Bounding Box ist das einfachste und nützlichste räumliche Primitiv in jedem Mapping-Stack. Es sind vier Zahlen, die ein Rechteck im Breiten- und Länggradraum beschreiben, und sie taucht in fast jedem API-Aufruf, jeder GeoJSON-Datei und jeder Kartenbibliothek auf.
Dieser Leitfaden erklärt, was eine Bounding Box ist, welche Formatkonventionen wichtig sind, wo sie in der Produktion ihren Wert entfaltet und welche Stolperfallen jeden Entwickler mindestens einmal erwischen.
Die Definition
Eine Bounding Box (Bbox) ist das kleinste achsenparallele Rechteck, das ein Feature oder eine Menge von Punkten enthält. "Achsenparallel" bedeutet, dass ihre Seiten entlang der Breiten- und Länggradachsen verlaufen; das Rechteck ist nicht gedreht. Die Bbox wird durch vier Zahlen beschrieben: den westlichen Längengrad, den südlichen Breitengrad, den östlichen Längengrad und den nördlichen Breitengrad.
Für Paris lautet die offizielle kommunale Bbox ungefähr [2.224, 48.8156, 2.4699, 48.9022]. Für das französische Festland etwa [-5.142, 41.333, 9.560, 51.089]. Für den gesamten Planeten [-180, -90, 180, 90].
Eine Bbox sind immer zwei gegenüberliegende Ecken. Sie kann keine nicht-rechteckige Form beschreiben, aber das Rechteck, das jede Form umschließt, was für schnelles räumliches Filtern ausreicht.
Die Formatfrage
Die Formatkonventionen für Bboxes sind über Systeme hinweg inkonsistent, und diese Inkonsistenz ist die Quelle der meisten Bbox-Bugs.
GeoJSON, OGC-Standards und die meisten modernen APIs: [west, south, east, north], gleichwertig [minLng, minLat, maxLng, maxLat]. Längengrad zuerst, Breitengrad zweite, beides in WGS84.
Einige Web-Mapping-Bibliotheken (Leaflet, Mapbox GL Bounds-Objekte): Ein LatLngBounds-Objekt mit _southWest- und _northEast-Ecken. Breitengrad zuerst, dann Längengrad.
Viele ältere APIs und CSV-Exporte: [south, west, north, east] (Breitengrad zuerst). Die Spezifikation lesen.
Tile-Services und WMS: Bbox in den Einheiten der Projektion (Web-Mercator-Meter, nicht Lat/Lng) wenn die Kachel in EPSG:3857 vorliegt.
Die defensive Regel: in eigenem Code kein reines 4-Element-Array verwenden. In einem typisierten Objekt mit benannten Feldern ({ west, south, east, north }) kapseln, sodass die Reihenfolge explizit ist. An API-Grenzen konvertieren.
Wo Bounding Boxes ihren Wert zeigen
Eine Bbox ist der schnellste mögliche Spatial-Filter. Drei klassische Einsatzbereiche:
Karte auf ein Feature einpassen. Wenn der Nutzer auf ein Suchergebnis landet, wird map.fitBounds(bbox) aufgerufen und die Karte zoomt und schwenkt, um das Feature mit angemessenen Polstern zu zeigen. Jede moderne Kartenbibliothek hat dieses Primitiv.
API-Abfragen nach Gebiet filtern. Datenbank-Engines und Such-APIs indizieren Bboxes sehr effizient. Eine Abfrage wie "zeig mir alle Orte in diesem Viewport" schickt die sichtbare Bbox an den Server, der einen Spatial-Index nutzt, um nur die passenden Datensätze zurückzugeben. Das ist das Fundament der Viewport-basierten Suche.
Autocomplete und Geocoding einschränken. Die aktuelle Karten-Bbox als Viewport-Bias übergeben. Der Geocodierer gewichtet Ergebnisse innerhalb der Bbox stärker, sodass das Tippen von "Liberty" im New-York-Viewport die Freiheitsstatue vor jeder anderen Liberty der Welt zurückgibt.
Ein vierter, weniger offensichtlicher Einsatz: Bboxes sind die Buchhaltungseinheit eines Vector-Tile-Systems. Jede Kachel deckt eine bekannte Bbox auf einem bekannten Zoom ab, und der Renderer setzt sie zur sichtbaren Karte zusammen.
Was eine API zurückgibt
Die meisten Geocoding-APIs geben bei jedem Treffer eine Bbox zurück, weil sie sowohl die Größe des gefundenen Features mitteilt (eine Länder-Bbox ist riesig, eine Gebäude-Bbox winzig) als auch wie die Karte einzupassen ist. Eine Geocoding-Antwort für "Frankreich" gibt eine landesweite Bbox zurück; eine Antwort für "10 Downing Street" eine gebäudegrößige Bbox.
Die Größe der zurückgegebenen Bbox kann als Plausibilitätsprüfung für die Präzision genutzt werden. Eine Abfrage, die auf "Land"-Präzision trifft, aber eine gebäudegrößige Bbox zurückgibt, ist verdächtig. Eine Abfrage mit "Rooftop"-Präzision, die eine stadtweit Bbox zurückgibt, ist defekt.
Bounding Boxes, die den Antimeridian überschreiten
Eine subtile Fallgrube: Eine Bbox, die den 180-Grad-Antimeridian überschreitet (z. B. für Russland, den Pazifik, Fidschi) kann nicht als west < east beschrieben werden, da sie umbricht. Konventionen variieren:
- Einige Systeme teilen eine solche Bbox in zwei Teile auf, einen für jede Seite des Antimeridians.
- Einige Systeme erlauben
west > eastund interpretieren es als "Umbruch". - GeoJSON erlaubt den Umbruch, empfiehlt aber für Interoperabilität das Aufteilen.
Für die meisten europäischen oder einzellandspezifischen Anwendungsfälle tritt dieses Problem nie auf. Bei globalen Produkten (Flugrouten, Schifffahrt, Fischerei) diesen Antimeridian-Fall explizit testen.
Bounding Boxes vs. Polygone
Eine Bbox ist ein Rechteck. Ein echtes Feature ist selten rechteckig. Die Bbox von Frankreich enthält Teile des Atlantischen Ozeans und Spaniens. Die Bbox von Manhattan enthält Teile von New Jersey und Queens.
Wenn die Rechteck-Approximation gut genug ist (Karte einpassen, schnelles Vorfiltern), ist Bbox das richtige Werkzeug. Wenn geprüft werden muss, ob ein Punkt tatsächlich innerhalb des Features liegt, braucht es Point-in-Polygon-Mathematik gegen die echte Grenzgeometrie. Ein gängiges Produktionsmuster: zuerst nach Bbox filtern (schnell, indizierbar, eliminiert 99% der Datensätze), dann Point-in-Polygon auf den Überlebenden ausführen (langsamer, aber genau). Diese zweistufige Methode ist das, was die meisten Spatial-Datenbanken unter der Haube tun.
Bounding Boxes in Computer Vision
Man begegnet "Oriented Bounding Box" in der Objekterkennung, Robotik oder 3D-Rendering. Das ist ein anderes Konzept: Eine OBB ist gedreht, um ein Feature enger einzupassen als eine achsenparallele Box es würde. In der Geospatial-Arbeit sind achsenparallele Bboxes Standard, weil sie sauber indiziert werden, ins Tile-Raster passen und trivial auf Überlappung testbar sind. Oriented Bboxes tauchen auf, wenn Rechtecks-Rotation-Mathematik nötig ist, was im Mapping selten, in Computer Vision aber häufig vorkommt.
Wie MapAtlas Bounding Boxes nutzt
Jedes Ergebnis der Geocoding API und Search API gibt ein bbox-Feld mit dem Ausmaß des gefundenen Features in WGS84 Längen-/Breitengradordnung zurück, genau das Format, das GeoJSON und moderne Kartenbibliotheken erwarten. Ein boundary.rect.*-Parameter kann übergeben werden, um Geocoding auf einen Viewport einzuschränken, und die Isochrone API gibt ihre Reisezeitpolygone mit einer umschließenden Bbox zurück, sodass die Karte eingepasst werden kann, ohne sie selbst berechnen zu müssen.
Für einen praktischen Einstieg in GeoJSON und wie Bboxes ins größere Bild räumlicher Daten passen, Was ist GeoJSON und Was ist ein Geocode lesen.
Häufig gestellte Fragen
Was ist eine Bounding Box?
Eine Bounding Box (oft als Bbox abgekürzt) ist das kleinste achsenparallele Rechteck, das ein geografisches Feature oder eine Menge von Punkten enthält. Sie wird durch vier Zahlen beschrieben: den minimalen und maximalen Längengrad sowie den minimalen und maximalen Breitengrad. Bounding Boxes sind allgegenwärtig im Mapping: zum Einpassen einer Karte auf ein Feature, zum Filtern von Datenbankabfragen nach Gebiet, zur Definition des Ausmaßes einer Kachel und zum Einschränken von Geocoding-Ergebnissen auf eine Region. Sie sind das einfachste und schnellste räumliche Primitiv in Produktionscode.
Was ist das Standardformat für eine Bounding Box?
GeoJSON und die meisten modernen APIs verwenden die Reihenfolge [west, south, east, north], auch geschrieben als [minLng, minLat, maxLng, maxLat]. Das ist das Format, das man standardmäßig verwenden sollte. Einige ältere APIs und CSV-Exporte verwenden [south, west, north, east] (also Breitengrad zuerst), und einige verwenden vier separate Felder. Immer die Dokumentation des jeweiligen API oder Formats prüfen. Der häufigste Fehler ist das Mischen von Lat/Lng-Reihenfolge, was die Box auf die falsche Seite der Erde verschiebt.
Was ist der Unterschied zwischen einer Bounding Box und einer Oriented Bounding Box?
Eine reguläre Bounding Box ist achsenparallel: Ihre Seiten verlaufen entlang der Breiten- und Länggradachsen. Eine Oriented Bounding Box (OBB, üblich in Computer Vision und Game Engines) ist gedreht, um das Feature enger einzupassen, was eine kleinere Fläche aber komplexere Mathematik ergibt. In der Geospatial-Arbeit sind achsenparallele Bboxes Standard, weil sie sauber in Spatial-Datenbanken indiziert werden, ins Tile-Raster passen und trivial auf Überlappung getestet werden können. Oriented Bounding Boxes tauchen in 3D-Rendering, Objekterkennung und Physik-Engines auf.
Wie nutze ich eine Bounding Box zum Filtern einer Geocoding-API?
Die Bbox als Viewport-Bias-Parameter übergeben. In der MapAtlas Geocoding API werden `boundary.rect.min_lon`, `boundary.rect.min_lat`, `boundary.rect.max_lon`, `boundary.rect.max_lat` gesendet, und der Geocodierer gewichtet Ergebnisse innerhalb dieses Bereichs höher als solche außerhalb. Das ist essenziell für Autocomplete in einer Karte: Wenn der Nutzer scrollt, wird die Bbox aktualisiert, sodass Vorschläge zum aktuell angezeigten Bereich passen. Ohne Bbox-Bias gibt ein Autocomplete für 'Springfield' whichever Springfield die höchste globale Popularität hat, was selten dem entspricht, was der Nutzer meint.

