Nederland kent een lange cartografische traditie, die sinds Google Maps voor iedereen binnen handbereik lijkt. Maar hoe leg je de statistieken van het CBS over een Google Maps kaart? Hoe kies je het juiste kaarttype om je boodschap over te dragen? Je leert in deze workshop niet alleen om te navigeren door het woud van afkortingen, cartografische projecties en geografische bestandsformaten, maar ook om te kiezen tussen een symbolenkaart, vlakkenkaart of een heatmap. Ten slotte leer je de weg te vinden in het landschap van Open Source geografische software en open geografische data en services van de overheid.
1. Edward Mac Gillavry
24 mei 2013
GEO-INFORMATIESYSTEMENGEO-INFORMATIESYSTEMEN
Theorie en visualisatieTheorie en visualisatie
2. Richard, Edward, Hans
Amsterdam
Sinds 2009
Geo-applicaties voor het (mobiele) Web
Webcartografie
Desktop GIS ondersteuning: Quantum GIS
Open Source en Open Data
WEBMAPPER: what the map can beWEBMAPPER: what the map can be
11. ““80% VAN DE DATA IS GEOGRAFISCH”80% VAN DE DATA IS GEOGRAFISCH”
https://twitter.com/briantimoney/status/336967412673044480
12. Shell stratengids → TomTom Navigator (2004)
Locatienet → Google Maps (2005)
“Baksteen” → iPhone 3G met a-GPS (2007)
CBS Wijk- en Buurtkaart (2005)
AND doneert NL data aan OpenStreetMap (2007)
Nationaal Georegister, Provinciaal Georegister (2009)
Data.overheid.nl (2011)
Topografische data = open data (2012)
Postcode (BAG) = open data (2012)
GEO VOOR IEDEREENGEO VOOR IEDEREEN
14. RD
WGS-84
BAG
Shape
NGR
900913
WIN1252
WMS
PDOK
GEO VOOR IEDEREEN? ECHT?GEO VOOR IEDEREEN? ECHT?
15. RD = Rijksdriehoekstelsel
WGS-84 = lengte- en breedtegraden
BAG = Basisadministratie Adressen en Gebouwen
Shape = ESRI Shape (bestandsformaat)
NGR = Nationaal Georegister
900913 (google) = Web Mercator
WIN1252 = ASCII tekenset in MS Windows
WMS = Web Mapping Service
PDOK = Publieke Dienstverlening op de Kaart
GEO VOOR IEDEREEN? ECHT?GEO VOOR IEDEREEN? ECHT?
18. CBS WIJK- EN BUURTKAART 2012CBS WIJK- EN BUURTKAART 2012
19. ESRI = Environmental Spatial Research Institute
Formaat stamt uit begin jaren '90
Shape bestandsformaat:
.shp – geometrie
.shx – index
.dbf – informatie (inderdaad dBase IV)
Punten OF lijnen OF vlakken
Lengte van kolomnamen en bestandsgrootte beperkt
Windows-1252 tekenset
Gelukkig veel software, bibliotheken
ESRIESRITMTM
-shape bestandsformaat-shape bestandsformaat
http://en.wikipedia.org/wiki/Shapefile
20. QUANTUM GIS – TO THE RESCUEQUANTUM GIS – TO THE RESCUE
– Layer > Add Vector Layer...
– Ctrl + Shift + V
– Werkbalk
21. ENCODING – WINDOWS-1252ENCODING – WINDOWS-1252
Skasterlân
Súdwest-Fryslân
Côte d'Ivoire
Douarière Mevrouw van Hier tot Daar
Zie ook eventueel meegeleverde .cpg bestand
22. QUANTUM GIS – TO THE RESCUEQUANTUM GIS – TO THE RESCUE
23. GDAL/OGR VOOR DE DIEHARDSGDAL/OGR VOOR DE DIEHARDS
Quantum GIS gebruikt OGR (vector) en GDAL
(raster) voor inlezen van bestandsformaten
Ondersteunt heel veel formaten! :-)
Wizards of plug-ins geven soms iets meer
controle (bijvoorbeeld .csv bestand)
Bij complexere imports is een ogr2ogr
commandoregel nodig
Voor informatie, gebruik ogrinfo
26. RD, RD New, Amersfoort
EPSG: 28992 (European Petroleum Survey Group)
X- en Y-coördinaten
Ellipsoïde van Bessel (benadering vorm van de Aarde)
Driehoek? → Pythagoras!
Centrum is de OLV-toren in Amersfoort
Nulpunt bij Parijs: X-coördinaat < Y-coördinaat
Alleen voor Nederland
Hoekgetrouw en minimale afwijking
RIJKSDRIEHOEKSTELSELRIJKSDRIEHOEKSTELSEL
29. World Geodetic System 1984
Standaard coördinaten van Global Positioning System (GPS)
EPSG: 4326
Lengte- en breedtegraden
Ellipsoïde (benadering vorm van de Aarde)
Plate Carrée: lengtegraad = x, breedtegraad = y
Let op de volgorde van de assen!
Wereldwijd
Afstandsgetrouw (langs de meridianen)
WGS-84WGS-84
38. Let op “towgs84” parameter:
+proj=sterea +lat_0=52.15616055555555
+lon_0=5.38763888888889 +k=0.9999079
+x_0=155000 +y_0=463000 +ellps=bessel
+units=m
+towgs84=565.2369,50.0087,465.658,-0.4068573
30322398,0.350732676542563,-1.8703473836068,
4.0812 +no_defs no_defs <>
Deze staan niet altijd in de definitie van RD, zelfs niet op:
http://spatialreference.org/ref/epsg/28992/
GEBRUIK JUISTE PARAMETERS!GEBRUIK JUISTE PARAMETERS!
40. CBS GEO-SERVICES VIA NGRCBS GEO-SERVICES VIA NGR
http://www.nationaalgeoregister.nl/geonetwork/srv/search/?uuid=d25fe199-2430-48fd-ad57-5b5f79f73cdf
41. CBS GEO-SERVICES VIA NGRCBS GEO-SERVICES VIA NGR
http://www.nationaalgeoregister.nl/geonetwork/srv/search/?uuid=d25fe199-2430-48fd-ad57-5b5f79f73cdf
42. CBS GEO-SERVICES VIA PDOKCBS GEO-SERVICES VIA PDOK
https://www.pdok.nl/nl/producten/pdok-services/overzicht-urls/c
43. Open Geospatial Consortium (OGC)
Recommendations ~ standaarden
Internationaal
Breed geïmplementeerd
Traaaaaag
“Afgeraffelde” indruk
Expliciete notatie (verbose)
OGC WEB SERVICESOGC WEB SERVICES
44. WEB MAPPING SERVICE – GetCapabilitiesWEB MAPPING SERVICE – GetCapabilities
– Layer > Add WMS Layer...
– Ctrl + Shift + W
– Werkbalk
51. WEB MAP TILE SERVICESWEB MAP TILE SERVICES
https://www.pdok.nl/nl/producten/pdok-services/overzicht-urls/b
52. TILED SERVICESTILED SERVICES
Open Geospatial Consortium (OGC):
WMTS = Web Map Tiled Service
Open Source Geospatial Foundation (OSGeo):
TMS = Tile Map Server
Google Maps, OpenStreetMap, Bing, MapQuest:
XYZ ~ TMS, maar een omgekeerde Y-waarde!
53. QUANTUM GIS 1.9 OF JAVASCRIPTQUANTUM GIS 1.9 OF JAVASCRIPT
OpenLayers.js:
Uitgebreide functionaliteit, dus “hard werken”
● Tiling protocol: XYZ, TMS, WMTS
http://www.openlayers.org/
Leaflet.js:
● Doelgerichte functionaliteit met goede documentatie
● Tiling protocol: XYZ en TMS
● http://leafletjs.com/
54. NEDERLANDSE RICHTLIJN TILINGNEDERLANDSE RICHTLIJN TILING
15 (v.1.0) + 2 (v.1.1) zoomniveaus
Well-Known Scale Set (WKSS):
urn:ogc:def:wkss:OGC:1.0:NLDEPSG28992Scale
Zoomniveau Kaartgrootte (pixels) Aantal tiles Resolutie (meters/pixel) Schaalgetal (bij 96 dpi)
0 256 x 256 1 x 1 = 1 3440,640 12.288.000
1 512 x 512 2 x 2 = 4 1720,320 6.144.000
2 1.024 x 1.024 4 x 4 = 16 860,160 3.072.000
3 2.048 x 2.048 8 x 8 = 64 430,080 1.536.000
4 4.096 x 4.096 16 x 16 = 256 215,040 768.000
5 8.192 x 8.192 32 x 32 = 1.024 107,520 384.000
6 16.384 x 16.384 64 x 64 = 4.096 53,760 192.000
7 32.768 x 32.768 128 x 128 = 16.384 26,880 96.000
8 65.536 * 65.536 256 x 256 = 65.536 13,440 48.000
9 131.072 x 131.072 512 x 512 = 262.144 6,720 24.000
10 262.144 x 262.144 1.024 x 1.024 = 1.048.576 3,360 12.000
http://www.geonovum.nl/sites/default/files/nederlandse_richtlijn_tiling_-_versie_1.1.pdf
55. NL WMTS-service in OpenLayersNL WMTS-service in OpenLayers
http://bl.ocks.org/emacgillavry/5669391
61. GeoJSON MAKEN METGeoJSON MAKEN MET ogr2ogrogr2ogr
ogr2ogr -f “bestandsformaat”⏎
doelbestand
-sql “kolomnamen en filter”⏎
-t_srs “doelprojectie”⏎
-s_srs “bronprojectie”⏎
bronbestand
Meer informatie GeoJSON:
http://geojson.org/geojson-spec.html
62. SQL KOMT ALTIJD VAN PAS!SQL KOMT ALTIJD VAN PAS!
ogr2ogr -f "GeoJSON"⏎
groningen.json⏎
-sql "SELECT 'BU_NAAM', 'BU_CODE', 'GM_NAAM',
CAST('P_EENP_HH' AS integer) AS 'P_EENP_HH' FROM
'buurt_2012_v1' WHERE 'GM_NAAM' = 'Groningen'"⏎
-t_srs "EPSG:4326"⏎
-s_srs "+proj=sterea +lat_0=52.15616055555555
+lon_0=5.38763888888889 +k=0.999908 +x_0=155000
+y_0=463000 +ellps=bessel +units=m
+towgs84=565.2369,50.0087,465.658,-0.406857330322398,0.350
732676542563,-1.8703473836068,4.0812 +no_defs no_defs"⏎
buurt_2012_v1.shp
Percentage eenpersoonshuishoudens per buurt in de gemeente Groningen
63. D3.jsD3.js
Data-Driven Documents
CSS + HTML + Scalable Vector Graphics (SVG)
Brongegevens uit JSON
Interactie
Veel voorbeelden en uitgebreide documentatie
Meer informatie: http://d3js.org/