Datenschnittstelle für die Geojson
GeoJSON – So bekommst du Orte als „Schatzkarte“
Section titled “GeoJSON – So bekommst du Orte als „Schatzkarte“”Stell dir vor, du hast eine große Schatzkarte. Auf dieser Karte sind viele Punkte, Linien oder Flächen – das sind zum Beispiel Orte, Wege oder Gebiete. Mit GeoJSON kannst du diese „Schätze“ aus dem Computer holen und anschauen.
Was brauchst du dafür?
Section titled “Was brauchst du dafür?”- Es muss vorher eingestellt werden, dass du solche Schatzkarten-Daten abfragen darfst.
- Du brauchst einen geheimen Schlüssel (Token), damit du die Daten bekommst.
Wie fragst du die Daten ab?
Section titled “Wie fragst du die Daten ab?”Du schickst eine Nachricht an den Computer (API) und sagst:
„Bitte gib mir die Orte als GeoJSON!“
Dafür musst du sagen, dass du GeoJSON haben willst. Das machst du mit einem besonderen Zettel (Header):
Accept: application/geo+json
Einzelne Orte abfragen
Section titled “Einzelne Orte abfragen”Du kannst nach einem bestimmten Ort fragen. Dann bekommst du eine kleine Karte mit genau diesem Punkt.
So fragst du:
curl --request GET \ --url https://<URL>/api/v4/things/<THING-ID> \ --header 'Accept: application/geo+json' \ --header 'Authorization: Bearer <TOKEN>'So sieht die Antwort aus:
{ "type": "Feature", "id": "<THING-ID>", "geometry": { "type": "Point", "coordinates": [14.298621, 46.607465] }, "properties": { "@id": "<THING-ID>", "@type": ["Place", "dcls:Örtlichkeit"], "name": "dataCycle" }}Das bedeutet:
- Es gibt einen Punkt auf der Karte (geometry).
- Der Punkt hat einen Namen und eine ID.
Viele Orte auf einmal abfragen
Section titled “Viele Orte auf einmal abfragen”Du kannst auch nach vielen Orten oder Wegen auf einmal fragen. Dann bekommst du eine große Schatzkarte mit vielen Punkten und Linien.
So fragst du:
curl --request POST \ --url https://<URL>/api/v4/endpoints/<ENDPOINT-ID> \ --header 'Accept: application/geo+json' \ --header 'Authorization: Bearer <TOKEN>' \ --header 'Content-Type: application/json' \ --data '{ "filter": { "search": "Rosentaler" } }'So sieht die Antwort aus:
{ "type": "FeatureCollection", "crs": { "type": "name", "properties": { "name": "urn:ogc:def:crs:EPSG::4326" } }, "features": [ { "type": "Feature", "id": "<THING-ID>", "geometry": { "type": "Point", "coordinates": [14.298621, 46.607465] }, "properties": { "@id": "<THING-ID>", "@type": ["Place", "dcls:Örtlichkeit"], "name": "dataCycle" } }, { "type": "Feature", "id": "<THING-ID>", "geometry": { "type": "MultiLineString", "coordinates": [ [ [14.298621, 46.607465], [14.298379, 46.607329] ] ] }, "properties": { "@id": "236bc505-af08-4e53-ae27-69809cd9fff7", "@type": ["Place", "dcls:Tour"], "name": "Tour durchs Rosental" } } ]}Das bedeutet:
- Du bekommst eine Liste von vielen Punkten und Linien.
- Jeder Punkt oder jede Linie hat eine ID, einen Namen und Koordinaten (wo auf der Karte).
Was kannst du noch einstellen?
Section titled “Was kannst du noch einstellen?”Du kannst sagen, was du alles über die Orte wissen willst.
Zum Beispiel:
- include: Zeig mir auch die „Schubladen“ (Kategorien), zu denen der Ort gehört.
- classification_trees: Zeig mir nur die Kategorien aus einem bestimmten „Baum“.
- fields: Zeig mir nur bestimmte Infos, z.B. nur die ID und die Kategorie.
So sieht eine Anfrage aus, wenn du das einstellst:
curl --request POST \ --url https://<URL>/api/v4/endpoints/<ENDPOINT-ID> \ --header 'Accept: application/geo+json' \ --header 'Authorization: Bearer <TOKEN>' \ --header 'Content-Type: application/json' \ --data '{ "include": "dc:classification", "classification_trees": "<CLASSIFICATION-TREE-ID>", "fields": "@id,dc:classification.@id", "filter": { "search": "Rosentaler" } }'So sieht die Antwort aus:
{ "type": "FeatureCollection", "features": [ { "type": "Feature", "properties": { "@id": "<THING-ID>", "@type": ["Place", "dcls:Örtlichkeit"], "dc:classification": [ { "@id": "<CLASSIFICATION-ID>" }, { "@id": "<CLASSIFICATION-ID>" } ] } } ]}Das bedeutet:
- Du bekommst nur die Infos, die du wirklich brauchst.
- Die Antwort ist kleiner und schneller.
Noch wichtig zu wissen
Section titled “Noch wichtig zu wissen”- Es werden nur Orte oder Wege angezeigt, die auch wirklich Koordinaten haben.
(Ohne Schatz auf der Karte gibt es keinen Punkt!) - Wenn du zu viele Orte auf einmal abfragst, kann die Datei sehr groß werden.
Dann dauert es länger, bis du alles bekommst.
So kannst du mit GeoJSON ganz einfach viele Orte, Wege und Gebiete aus dem Computer holen – wie eine digitale Schatzkarte!