You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: docs/tiles/Analyseer een voorbeeldkaart.md
+72-11Lines changed: 72 additions & 11 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -19,7 +19,7 @@ Dit is een web viewer die gemaakt is met de library MapLibre. Deze kaart maakt g
19
19
20
20
De BRT is een basisregistratie. [Hier vind je meer informatie over basisregistraties](<../achtergrondinformatie/Wat is geo-informatie.md/#basisregistraties>).
@@ -40,21 +40,57 @@ Dit is een web viewer die gemaakt is met de library MapLibre. Deze kaart maakt g
40
40
41
41
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.
42
42
43
+

44
+
43
45
**:arrow_right: Zoom eens in en uit**
44
46
45
47
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>
46
48
49
+

50
+
47
51
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>
48
52
49
53
**: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>
50
54
51
55
!!! question "Vraag"
52
56
53
57
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.
54
64
55
-
De URL is als volgt opgebouwd:
65
+
Voor de bron van de tegels is dus de volgende 'sjabloon URL' gebruikt:
|`{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/>).
58
94
59
95
## Bekijk het voorbeeld in een code-editor
60
96
@@ -76,7 +112,7 @@ Serving HTTP on 0.0.0.0 port 8000 (http://0.0.0.0:8000/) ...
76
112
```
77
113
**:arrow_right: Bekijk nu**[../voorbeelden/tiles/index.html](../voorbeelden/tiles/index.html)**in de browser**
78
114
79
-

115
+

80
116
81
117
Laten we nu eens de code bekijken in een editor:
82
118
@@ -90,9 +126,6 @@ Als het goed is, zie je in de code `index.html` een `div` met als id `map`.
90
126
91
127
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:
92
128
93
-
94
-
95
-
96
129
| Variabele | Beschrijving |
97
130
| --------- | ------------ |
98
131
| `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
102
135
|`minZoom`| bepaalt het maximale niveau dat je mag uitzoomen |
103
136
|`maxZoom`| bepaalt het maximale niveau dat je mag inzoomen |
104
137
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.
106
139
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>
107
140
108
141
**: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
113
146
114
147
**:arrow_right: Bekijk nog eens** de `style json`: <https://api.pdok.nl/kadaster/brt-achtergrondkaart/ogc/v1/styles/standaard__webmercatorquad?f=json>
115
148
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.
117
156
118
157
**:arrow_right: Bekijk nog eens**`main.js`
119
158
120
159
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.
122
161
123
162
### Experimenteer met de viewer
124
163
164
+
Experimenteer eens met de variabelen in `main.js`. Laten we eens wat willekeurige waardes invullen en kijken wat deze variabelen precies doen.
165
+
125
166
**:arrow_right: Pas zelf in**`main.js`**de volgende waardes aan en kijk wat er gebeurt in jouw webmap:**
126
167
127
168
-`center`
128
169
-`zoom`
129
170
-`minZoom`
130
171
-`maxZoom`
131
172
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
+
132
186
## Samenvatting
133
187
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