Skip to content

Commit 884d725

Browse files
committed
bevraag met curl uitgebreid
1 parent 21dc076 commit 884d725

File tree

2 files changed

+124
-13
lines changed

2 files changed

+124
-13
lines changed

docs/assets/spoorcollectie.jpg

175 KB
Loading

docs/features/Bevraag OGC API - Features met curl.md

Lines changed: 124 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -51,7 +51,7 @@ We kunnen het `curl` commando kopiëren en zelf uitvoeren in de command line.
5151
Voor Windows:
5252

5353
```
54-
curl -X "GET" "https://api.pdok.nl/lv/bgt/ogc/v1/api?f=json" -H 'accept: */*'
54+
curl -X "GET" "https://api.pdok.nl/lv/bgt/ogc/v1/api?f=json" -H "accept: */*"
5555
```
5656

5757
![curl commando in cmd](../assets/WindowsTerminal_cZQqtp6rFq.png)
@@ -75,29 +75,59 @@ Stel dat je wilt weten welke collecties er allemaal zijn. Je kunt dan de `GET /c
7575
Voor Windows:
7676

7777
```
78-
curl -X "GET" "https://api.pdok.nl/lv/bgt/ogc/v1/collections?f=json" -H 'accept: */*'
78+
curl -X "GET" "https://api.pdok.nl/lv/bgt/ogc/v1/collections?f=json" -H "accept: */*"
7979
```
8080

8181
**:arrow_right: Bekijk het resultaat.**
8282

8383
Je krijgt een overzicht te zien van alle collecties in deze OGC API - Features.
8484

85+
Response body:
86+
```
87+
{
88+
"links": [
89+
...
90+
],
91+
"collections": [
92+
...
93+
]
94+
}
95+
```
96+
8597
!!! tip
8698

8799
Je kunt de URL's ook in je browser plakken en de `json` in je browser bekijken. Browsers maken `json` meestal wat beter leesbaar.
88100

89101
### Informatie over één specifieke collectie
90102

91-
Je kunt ook de informatie van een specifieke collectie opvragen. Laten we als voorbeeld de 'spoor' collectie nemen.
103+
Je kunt ook de informatie van een specifieke collectie opvragen. Laten we als voorbeeld de ['spoor' collectie](https://api.pdok.nl/lv/bgt/ogc/v1/collections/spoor) nemen.
104+
105+
![een spoorlijn](../assets/spoorcollectie.jpg)
92106

93107
Voor Windows:
94108

95109
```
96-
curl -X "GET" "https://api.pdok.nl/lv/bgt/ogc/v1/collections/spoor?f=json" -H 'accept: */*'
110+
curl -X "GET" "https://api.pdok.nl/lv/bgt/ogc/v1/collections/spoor?f=json" -H "accept: */*"
97111
```
98112

99113
**:arrow_right: Voer dit uit en bekijk het resultaat.**
100114

115+
Response body:
116+
```
117+
{
118+
"id": "spoor",
119+
"title": "Spoor (SPR)",
120+
"description": "De as van het spoor, dat wil zeggen het midden van twee stalen staven op een onderling vaste afstand, waarover trein, tram, of sneltram rijdt.",
121+
"keywords": [
122+
...
123+
],
124+
"extent": {
125+
...
126+
}
127+
...
128+
}
129+
```
130+
101131
!!! question "Vraag"
102132

103133
Wat voor informatie geeft dit?
@@ -122,13 +152,30 @@ Soms wil je weten welke kolommen een dataset heeft, en wat die kolommen precies
122152

123153
Hoe kun je het schema bekijken?
124154

125-
Voor Windows:
126-
127155
??? success "Bekijk het antwoord"
156+
Voor Windows:
157+
128158
```
129-
curl -X "GET" "https://api.pdok.nl/lv/bgt/ogc/v1/collections/spoor/schema?f=json" -H 'accept: */*'
159+
curl -X "GET" "https://api.pdok.nl/lv/bgt/ogc/v1/collections/spoor/schema?f=json" -H "accept: */*"
130160
```
131161

162+
Response body:
163+
164+
{
165+
"$schema": "https://json-schema.org/draft/2020-12/schema",
166+
"$id": "https://api.pdok.nl/lv/bgt/ogc/v1/collections/spoor/schema",
167+
"title": "Spoor (SPR)",
168+
"description": "De as van het spoor, dat wil zeggen het midden van twee stalen staven op een onderling vaste afstand, waarover trein, tram, of sneltram rijdt.",
169+
"type": "object",
170+
"required": [
171+
"id",
172+
"version"
173+
],
174+
"properties": {
175+
"id"
176+
...
177+
}
178+
132179
**:arrow_right: Voer dit uit en bekijk het resultaat.**
133180

134181
!!! question "Vraag"
@@ -144,7 +191,7 @@ Door `items` toe te voegen aan de call voor een specifieke collectie, kunnen we
144191

145192
Voor Windows:
146193
```
147-
curl -X "GET" "https://api.pdok.nl/lv/bgt/ogc/v1/collections/spoor/items?f=json" -H 'accept: */*'
194+
curl -X "GET" "https://api.pdok.nl/lv/bgt/ogc/v1/collections/spoor/items?f=json" -H "accept: */*"
148195
```
149196

150197
**:arrow_right: Voer dit uit en bekijk het resultaat.**
@@ -160,8 +207,9 @@ Er is standaard een limiet op het aantal items. We kunnen ook zelf expliciet een
160207

161208
??? success "Bekijk het antwoord"
162209
Voor Windows:
210+
163211
```
164-
curl -X "GET" "https://api.pdok.nl/lv/bgt/ogc/v1/collections/spoor/items?limit=100&f=json" -H 'accept: */*'
212+
curl -X "GET" "https://api.pdok.nl/lv/bgt/ogc/v1/collections/spoor/items?limit=100&f=json" -H "accept: */*"
165213
```
166214

167215
**:arrow_right: Voer dit uit en bekijk het resultaat.**
@@ -172,20 +220,34 @@ Stel dat je geïnteresseerd bent in één specifiek item, dan kun je die door mi
172220

173221
Voor Windows:
174222
```
175-
curl -X "GET" "https://api.pdok.nl/lv/bgt/ogc/v1/collections/spoor/items/7022ff26-12e4-5dc8-9a33-56db2da7e607?f=json" -H 'accept: */*'
223+
curl -X "GET" "https://api.pdok.nl/lv/bgt/ogc/v1/collections/spoor/items/7022ff26-12e4-5dc8-9a33-56db2da7e607?f=json" -H "accept: */*"
176224
```
177225

178226
**:arrow_right: Voer dit uit en bekijk het resultaat.**
179227

228+
Response body:
229+
```
230+
{
231+
"type": "Feature",
232+
"properties": {
233+
...
234+
},
235+
"geometry": {
236+
...
237+
}
238+
...
239+
}
240+
```
241+
180242
### Vraag items op binnen een bounding box
181243

182244
Laten we het ruimtelijk maken. Met een extra parameter kun je items opvragen binnen een specifiek gebied: een bounding box (ook wel `bbox`). Je vraagt dit gebied op met het x- en y-coördinaat van de linkeronderhoek, gevolgd door het x- en y-coördinaat van de rechterbovenhoek. Bijvoorbeeld: `4.458132,51.922276,4.478388,51.926696`
183245

184-
![alt text](../assets/qgis-bin_rNAEoh6ooV.png)
246+
![een bounding box op een kaart met coördinaten](../assets/qgis-bin_rNAEoh6ooV.png)
185247

186248
Voor Windows:
187249
```
188-
curl -X "GET" "https://api.pdok.nl/lv/bgt/ogc/v1/collections/spoor/items?bbox=4.458132,51.922276,4.478388,51.926696&f=json" -H 'accept: */*'
250+
curl -X "GET" "https://api.pdok.nl/lv/bgt/ogc/v1/collections/spoor/items?bbox=4.458132,51.922276,4.478388,51.926696&f=json" -H "accept: */*"
189251
```
190252

191253
**:arrow_right: Zoek zelf de coördinaten op van de bounding box van jouw woonplaats met behulp van** <http://bboxfinder.com>
@@ -194,4 +256,53 @@ curl -X "GET" "https://api.pdok.nl/lv/bgt/ogc/v1/collections/spoor/items?bbox=4.
194256

195257
### Vraag items op in een bepaald CRS
196258

197-
!!! warning "TO DO"
259+
Standaard worden de features uitgeleverd in CRS84 coördinaatreferentiesysteem (CRS). Je kunt de features ook in andere CRS'en opvragen. Dit is handig wanneer je de data wilt combineren met datasets met een ander CRS, of voor projectie op een kaart. Met een parameter kun je aangeven in welk CRS je de data wilt terugkrijgen.
260+
261+
**:arrow_right: Vraag op in welke CRS'en de spoorcollectie beschikbaar is**
262+
263+
??? success "Bekijk het antwoord"
264+
265+
Voor Windows:
266+
267+
```
268+
curl - X "GET" "https://api.pdok.nl/lv/bgt/ogc/v1/collections/put?f=json" -H "accept: */*"
269+
```
270+
271+
Response body:
272+
273+
...
274+
"crs": [
275+
"http://www.opengis.net/def/crs/OGC/1.3/CRS84",
276+
"http://www.opengis.net/def/crs/EPSG/0/28992",
277+
"http://www.opengis.net/def/crs/EPSG/0/3857",
278+
"http://www.opengis.net/def/crs/EPSG/0/4258"
279+
]
280+
...
281+
282+
**:arrow_right: Vraag de items op in de RD/Amersfoort CRS**
283+
284+
Voeg de parameter toe voor het crs en de URL van RD/Amersfoort toe. Kijk in de de API specification als je er niet meteen uitkomt.
285+
286+
??? success "Bekijk het antwoord"
287+
288+
Voor Windows:
289+
290+
```
291+
curl -X "GET" "https://api.pdok.nl/lv/bgt/ogc/v1/collections/spoor/items?crs=http://www.opengis.net/def/crs/EPSG/0/28992&f=json" -H "accept: */*"
292+
```
293+
294+
Response body:
295+
296+
...
297+
{"type":"FeatureCollection",
298+
...
299+
"features":[
300+
...
301+
]
302+
...
303+
}
304+
...
305+
306+
## Resumé
307+
308+
Je hebt in de oefeningen hierboven de OpenAPI specificatie opgevraagd waarmee je zelf API calls kunt samenstellen en voorbeelden van calls en responses kunt bekijken. Daarna heb je informatie over collecties opgevraagd en de items in die collecties opgevraagd. En dat allemaal in de commandline. Je kunt je voorstellen dat je dit soort calls in elk soort applicatie zou kunnen integreren. Hopelijk geeft dit onderdeel een goede basis voor het volgende onderdeel: maak een interactieve kaart met OGC API - Features.

0 commit comments

Comments
 (0)