Skip to content

Commit 8cf64cc

Browse files
committed
analyseer een tiles voorbeeldkaart aanvullingen
1 parent 54fc2fe commit 8cf64cc

File tree

6 files changed

+72
-11
lines changed

6 files changed

+72
-11
lines changed
-206 KB
Binary file not shown.
15.3 KB
Loading
3.96 KB
Loading

docs/assets/urlopbouw.PNG

-12.1 KB
Binary file not shown.

docs/tiles/Analyseer een voorbeeldkaart.md

Lines changed: 72 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ Dit is een web viewer die gemaakt is met de library MapLibre. Deze kaart maakt g
1919

2020
De BRT is een basisregistratie. [Hier vind je meer informatie over basisregistraties](<../achtergrondinformatie/Wat is geo-informatie.md/#basisregistraties>).
2121

22-
![BRT Achtergrondkaart](../assets/brtachtergrondkaart.png)
22+
![BRT Achtergrondkaart](../assets/tiles/brtachtergrondkaart.png)
2323

2424
!!! question "Vraag"
2525

@@ -40,21 +40,57 @@ Dit is een web viewer die gemaakt is met de library MapLibre. Deze kaart maakt g
4040

4141
Merk op dat er onder andere een `main.js` en `https://api.pdok.nl/kadaster/brt-achtergrondkaart/ogc/v1/styles/standaard__webmercatorquad?f=json` worden ingeladen.
4242

43+
![Bestanden die worden ingeladen: main.js en standaard__webmercatorquad?f=json](../assets/tiles/initial_requests.png)
44+
4345
**:arrow_right: Zoom eens in en uit**
4446

4547
Merk op dat er nu veel bestanden worden ingeladen, bijvoorbeeld `262?f=mvt`. Dit bestand is 1 tile (kaarttegel). De volledige URL van deze tile is: <https://api.pdok.nl/kadaster/brt-achtergrondkaart/ogc/v1/tiles/WebMercatorQuad/9/168/262?f=mvt>
4648

49+
![Tegelbestanden die worden ingeladen](../assets/tiles/tile-requests.png)
50+
4751
Je kunt nu zien dat deze web viewer de BRT Achtergrondkaart gebruikt, en meer specifiek de WebMercatorQuad TileMatrixSet. Dat zie je aan de URL’s van de tiles. En je ziet dat de standaard style wordt gebruikt voor deze tilematrixset. Dat zie je aan de style URL die na `main.js` werd ingeladen: <https://api.pdok.nl/kadaster/brt-achtergrondkaart/ogc/v1/styles/standaard__webmercatorquad?f=json>
4852

4953
**:arrow_right: Zoek deze TileMatrixSet en Style ook op via de landing page in de browser:** <https://api.pdok.nl/kadaster/brt-achtergrondkaart/ogc/v1>
5054

5155
!!! question "Vraag"
5256

5357
Waar vind je de URL van de TileMatrixSet en de Style die gebruikt zijn in het voorbeeld?
58+
59+
??? success "Antwoord"
60+
61+
Je vind de URL van de TileMatrixSet op de [Tiles pagina](<https://api.pdok.nl/kadaster/brt-achtergrondkaart/ogc/v1/tiles>) achter 'URL template', door 'WebMercatorQuad' aan te klikken in het dropdownmenu.
62+
63+
De URL van de Style vind je op de [Styles pagina](<https://api.pdok.nl/kadaster/brt-achtergrondkaart/ogc/v1/styles>) achter 'URL', door 'BRT Achtergrondkaart Standaard (WebMercatorQuad)' aan te klikken in het dropdownmenu.
5464

55-
De URL is als volgt opgebouwd:
65+
Voor de bron van de tegels is dus de volgende 'sjabloon URL' gebruikt:
66+
67+
```
68+
https://api.pdok.nl/kadaster/brt-achtergrondkaart/ogc/v1/tiles/WebMercatorQuad/
69+
{z}/{y}/{x}?f=mvt
70+
```
71+
72+
Door MapLibre wordt deze vertaald naar een request voor elke tegel. Zo'n request ziet er bijvoorbeeld zo uit:
73+
74+
```
75+
https://api.pdok.nl/kadaster/brt-achtergrondkaart/ogc/v1/tiles/WebMercatorQuad/
76+
9/168/262?f=mvt
77+
```
78+
79+
Hoe is deze URL precies opgebouwd?
5680

57-
![De opbouw van de URL](../assets/urlopbouw.PNG)
81+
| Template | Voorbeeld | Beschrijving |
82+
| --- | --- | --- |
83+
| `https://api.pdok.nl/kadaster/brt-achtergrondkaart/ogc/v1/` | `https://api.pdok.nl/kadaster/brt-achtergrondkaart/ogc/v1/` | Landing page |
84+
| `tiles` | `tiles` | Dataset tileset |
85+
| `{tileMatrixSetId}` | `WebMercatorQuad` | Naam van de TileMatrixSet |
86+
| `{tileMatrix}` | `9` | Nummer van de matrix (zoomlevel) |
87+
| `{tileRow}` | `168` | Tile rijnummer (positie in de matrix) |
88+
| `{tileCol}` | `262` | Tile kolomnummer (positie in de matrix) |
89+
| `f=mvt` | `f=mvt` | Formaat waarin de tile moet worden uitgeleverd. In dit geval Mapbox vector tile (mvt) |
90+
91+
Kijk nog eens in het [vorige hoofdstuk](<./Verken OGC API - Tiles in de browser.md/#tile-matrix-sets>) als je dit nog niet helemaal begrijpt.
92+
93+
Zie voor meer informatie [de OGC API workshop](<https://ogcapi-workshop.ogc.org/api-deep-dive/tiles/>).
5894

5995
## Bekijk het voorbeeld in een code-editor
6096

@@ -76,7 +112,7 @@ Serving HTTP on 0.0.0.0 port 8000 (http://0.0.0.0:8000/) ...
76112
```
77113
**:arrow_right: Bekijk nu** [../voorbeelden/tiles/index.html](../voorbeelden/tiles/index.html) **in de browser**
78114

79-
![voorbeeld van kaart die met maplibre is gemaakt](../assets/msedge_gjEJAEdbND.png)
115+
![voorbeeld van kaart die met maplibre is gemaakt](../assets/tiles/brtachtergrondkaart.png)
80116

81117
Laten we nu eens de code bekijken in een editor:
82118

@@ -90,9 +126,6 @@ Als het goed is, zie je in de code `index.html` een `div` met als id `map`.
90126

91127
In `main.js` zie je dat er bij `container` dat er naar diezelfde `map` wordt verwezen. In dit javascript bestand wordt allereerst de `mmplibre-gl` library geïmporteerd. Daarna wordt de kaart gedefinieerd:
92128

93-
94-
95-
96129
| Variabele | Beschrijving |
97130
| --------- | ------------ |
98131
| `container` | `map` object in `index.html`
@@ -102,7 +135,7 @@ In `main.js` zie je dat er bij `container` dat er naar diezelfde `map` wordt ver
102135
| `minZoom`| bepaalt het maximale niveau dat je mag uitzoomen |
103136
| `maxZoom`| bepaalt het maximale niveau dat je mag inzoomen |
104137

105-
Merk op dat je de URL naar de tegels zelf niet ziet in `main.js`. Die URL wordt namelijk in de `style json` aangeroepen. De `main.js` roept de `style json` aan en die roept vervolgens de bron van van de tiles aan. De `style json` bepaalt ook hoe die tiles weergegeven moeten worden.
138+
Merk op dat je de URL naar de tegels zelf niet ziet in `main.js`. Die URL wordt namelijk in de `style json` aangeroepen. De `main.js` roept de `style json` aan en die roept vervolgens de bron van de tiles aan. De `style json` bepaalt ook hoe die tiles weergegeven moeten worden.
106139
De bron van de tiles is in dit geval dus <https://api.pdok.nl/kadaster/brt-achtergrondkaart/ogc/v1/tiles/WebMercatorQuad/{z}/{y}/{x}?f=mvt>
107140

108141
**:arrow_right: Zoek in de** `style json` **de URL van de tiles op (de source).**
@@ -113,22 +146,50 @@ De bron van de tiles is in dit geval dus <https://api.pdok.nl/kadaster/brt-achte
113146

114147
**:arrow_right: Bekijk nog eens** de `style json`: <https://api.pdok.nl/kadaster/brt-achtergrondkaart/ogc/v1/styles/standaard__webmercatorquad?f=json>
115148

116-
Dit is een erg omvangrijke stijl. Hoe is dit opgebouwd? Dit is een JSON-bestand waarin de bron gedefinieerd wordt en de layers die daar in zitten. Vervolgens schrijft het bestand voor hoe die layers getoond moeten worden (kleuren, diktes, etc.). Dit wordt gelezen door MapLibre en gerenderd.
149+
Dit is een erg omvangrijke stijl en dus een erg groot JSON-bestand. Hoe is dit bestand opgebouwd?
150+
151+
Allereerst wordt de bron gedefinieerd. Op welke URL staan de tegels? In dit geval is de URL van de tileset <https://api.pdok.nl/kadaster/brt-achtergrondkaart/ogc/v1/tiles/WebMercatorQuad/{z}/{y}/{x}?f=mvt>, maar dit kan elke locatie zijn. Een `style json` kan één of meerdere tilesets als bron aanroepen.
152+
153+
Vervolgens worden layers in die tileset gedefinieerd. Dit zijn kaartlagen zoals waterdeel of wegdeel.
154+
155+
Tot slot schrijft het bestand voor hoe die layers getoond moeten worden (kleuren, diktes, etc.). Dit wordt gelezen door MapLibre en gerenderd.
117156

118157
**:arrow_right: Bekijk nog eens** `main.js`
119158

120159
In dit geval staat de `style json` op een externe locatie, maar het kan ook een bestand op je eigen server zijn.
121-
In dit geval is de `style json` beschikbaar gesteld door PDOK, maar je kunt ook zelf `style json` bestanden maken. Het voorbeeld is een erg groot stijlbestand, maar er zijn ook simpelere stijlen mogelijk.
160+
In dit geval is de `style json` beschikbaar gesteld door PDOK, maar je kunt ook zelf een `style json` bestand maken. Het voorbeeld is een erg groot stijlbestand, maar er zijn ook simpelere stijlen mogelijk.
122161

123162
### Experimenteer met de viewer
124163

164+
Experimenteer eens met de variabelen in `main.js`. Laten we eens wat willekeurige waardes invullen en kijken wat deze variabelen precies doen.
165+
125166
**:arrow_right: Pas zelf in** `main.js` **de volgende waardes aan en kijk wat er gebeurt in jouw webmap:**
126167

127168
- `center`
128169
- `zoom`
129170
- `minZoom`
130171
- `maxZoom`
131172

173+
??? hint "Hint: wat kun je het beste invullen voor elke variabele?"
174+
175+
| Variabele | Voorbeeld | Beschrijving |
176+
|---|---|---|
177+
| `center` | `[5.9623,52.2118]` voor het hoofdkantoor van het Kadaster | Coördinaten van het middelpunt in Long-Lat coördinaten (let op de volgorde). Je kunt dit opzoeken met bijvoorbeeld <https://vibhorsingh.com/boundingbox/> |
178+
| `zoom` | `0` t/m `22` | Het initiële zoomniveau (als de gebruiker de webmap opent) |
179+
| `minZoom` | `0` t/m `22` | Het maximale zoomlevel dat de gebruiker kan uitzoomen |
180+
| `maxZoom` | `0` t/m `22` | Het maximale zoomlevel dat de gebruiker kan inzoomen |
181+
182+
Lees hier meer over in [de documentatie van MapLibre](https://maplibre.org/maplibre-gl-js/docs/API/type-aliases/MapOptions).
183+
184+
Hopelijk heb je door te experimenteren ontdekt wat deze parameters precies doen.
185+
132186
## Samenvatting
133187

134-
!!! warning "TO DO"
188+
Je hebt nu een voorbeeldkaart bekeken en de werking ervan geanalyseerd. De voorbeeldkaart maakte gebruik van de BRT Achtergrondkaart met de standaardstijl in WebMercator. Je hebt gezien hoe MapLibre OGC API vectortiles kan renderen. En je hebt gezien welke onderdelen hiervoor nodig zijn:
189+
190+
| Naam | Voorbeeld | Beschrijving |
191+
| --- | --- | --- |
192+
| Index | `index.html` | HTML-code voor basisinformatie. |
193+
| JavaScript | `main.js` | JavaScriptcode voor de functionaliteit van de webmap. |
194+
| Style | `https://api.pdok.nl/kadaster/brt-achtergrondkaart/ogc/v1/styles/standaard__webmercatorquad?f=json` | Opmaak van de tegels. Roept één of meerdere tilesets op. |
195+
| Tileset | <https://api.pdok.nl/kadaster/brt-achtergrondkaart/ogc/v1/tiles/WebMercatorQuad/{z}/{y}/{x}?f=mvt> | Bron van de tegels. |

0 commit comments

Comments
 (0)