Top10Vector stijlen in QGIS

Regelink Ecologie en Landschap gebruikte QGIS al voor het maken van de kaartjes in hun rapporten. De benodigde data daarvoor kregen ze van het Kadaster, via een abbonnement.
Er werd (de nog oude) Top10Vector uitgeleverd, voor een demo van zulke data zie de Kadaster site. De uitlevering bestaat uit 5 ESRI-Shapebestanden:

  • top010vlakken_poly
  • top010huizen_poly
  • top010lijnen_line
  • top010symline_line
  • top010sympoint_point

Het Kadaster heeft voor verschillende desktop GIS-pakketten stijl-bestanden beschikbaar, maar voor QGIS (nog) niet.
Webmapper hebben met behulp van QGIS’ ‘new symbology’ en ‘style-rules’ een eenvoudige visualisatie gemaakt die lijkt op de klassieke Top10Vector kaarten. Voor deze eerste versie zijn vooral de vlakken en lijnen voorzien van een stijl (o.a. omdat vooral deze van belang zijn voor kleine projectkaartjes). Wanneer er behoefte aan is kunnen we de stijlen uitbreiden voor punten.

De huidige versie van de stijlbestanden (.qml-betanden ) kunt u hier voor eigen gebruik downloaden. Na het uitpakken vind u voor elk kadaster bestand een stijlbestand, verder zitten er in zip een mapje met enkel SVG-symbolen. Om QGIS hiervan gebruikt te kunnen laten maken dient u in Extra/Opties het pad naar het mapje met SVG-symbolen aan te geven (zie screendump hieronder).

Er staat een eenvoudige demo met de demodata van het Kadaster.

Gebieden inkleuren

In het artikel Vectorlaag toevoegen is getoond hoe een vectorlaag kan worden toegevoegd, op basis van een shapefile met de Nederlandse gemeenten. De gemeenten kunnen worden ingekleurd op basis van een attribuut, zoals de bevolkingsdichtheid. Klik  dubbel op de laag en ga naar het tabblad ‘Style’. Linksboven kun je zien dat de stijl nu op ‘Single symbol’ is ingesteld. Dat betekent in dit geval dat alle gemeenten dezelfde kleur hebben. Verander dit in ‘Graduated’ en er verschijnen nieuwe opties op het tabblad. Je kunt nu kiezen welk attribuut je wilt weergeven, met welke onderverdeling en welke kleuren.
Om te beginnen laat je QGIS automatisch een aantal zaken instellen. Gebruik daarbij de volgende instellingen:
Column: BEV_DICHTH
Classes: 5
Mode: equal interval
Color ramp: geel-rood
Je kunt zelf kleurovergangen definiëren door bij ‘Color ramp’ te kiezen voor ‘New color ramp …’. Het kan ook via het menu ‘Settings’ met ‘Style manager’.’
Als je nu op de knop ‘Classify’ klikt, zie je een onderverdeling met bijbehorende kleuren en labels verschijnen. Om te zien welke effect deze instelling op de kaart hebben, klik je op de knop ‘Apply’. Om de kaart goed te kunnen zien, moet je het venster ‘Layer properties’ wellicht iets opzij schuiven.
Automatische gegenereerde categorieën en kleuren

]
 
 
 
 
Een automatische indeling geeft zelden meteen het gewenste resultaat. Door dubbelklikken op kleur, indeling of label, kun je de kaart optimaliseren. Gebruik als klassegrenzen bijv. 200, 300, 500 en 1000.  Let op dat er geen gaten in de indeling zitten, want dan vallen er letterlijk gaten in de kaart. Omdat de laatste twee kleuren moeilijk van elkaar zijn te onderscheiden is het aan te raden de laatste kleur wat donkerder te maken.
Kaart van bevolkingsdichtheid per gemeente

Andere interessante attributen uit deze shapefile om dit kaarttype mee te oefenen:

  • percentage eenpersoonshuishoudens (P_EENP_HH);
  • percentage 0- tot 14-jarigen (P_00_14_JR);
  • percentage 65-plussers (P_65_EO_JR).

19-7-2011
Lees verder:
Proportionele symbolen

Vectorlaag toevoegen

Een shapefile openen

Op deze pagina wordt het gebruik van de kaart van Nederlandse gemeenten beschreven, zoals die door het CBS wordt aangeboden (zie Kaartbestanden). Pak dit ZIP-bestand uit in een aparte map. Je ziet dan een serie bestanden met de naam gem_2010_gn1. Samen vormen deze bestanden de ‘shapefile’ waarmee de gemeentekaart van Nederland kan worden getekend. Deze shapefile bevat ook diverse gegevens over de gemeenten (‘attributen’). Open in QGIS het bestand gem_2010_gn1.shp met ‘Layer / Add vector layer …’ (of de betreffende knop op een van de werkbalken bovenin het scherm). Zorg ervoor dat in het dialoogvenster het bestandstype op ‘ESRI shapefiles‘ staat ingesteld. Dat vergemakkelijkt de selectie van het juiste bestand. De tekenset (‘Encoding’) moet in dit geval worden ingesteld op ISO8859-1. Anders worden diacritische tekens, zoals letters met dakjes of accenten, niet goed weergegeven.

Na het openen van het bestand zie je links in het paneel ‘Layers’ dat er een laag is toegevoegd. Deze wordt echter nog niet in het kaartgebied weergegeven. Daarvoor moet je eerst het selectievakje aankruisen. Wordt de laag dan nog niet getekend, klik dan met de rechtermuisknop op de laag en selecteer ‘Zoom to layer extent‘.

Attributen bekijken

Om te zien welke gegevens de shapefile bevat over de Nederlandse gemeenten kun je met de rechtermuisknop op de laag klikken en vervolgens op ‘Open attribute table‘ (of via de knop op een van de werkbalken). Sluit de tabel weer voor de volgende actie.
19-7-2011
Lees verder:
Gebieden inkleuren

Pff.. opslaan als dbf: general input/output error

Ooit een Excel bestand ontvangen, om bijvoorbeeld een shape-bestand van te maken? En gedacht: even als dbf/Dbase4 opslaan in OpenOffice/LibreOffice, want dat wordt door alle OpenSource gis-applicaties wel gelezen…
Een tijdje terug had ik altijd onderstaande foutmelding als ik probeerde een dbf op te slaan in Debian or Ubuntu: “Error saving the document: General Error. General input/output error”

In eerste instantie dacht ik altijd dat het een oude Open/LibreOffice bug moest zijn. Die misschien niet meer zou worden gefixed omdat tenslotte ‘niemand’ meer dbf bestanden gebruikt…
Maar fout! De foutmelding onstaat gewoon doordat je NIET de libreoffice-base / openoffice-base package hebt geinstalleerd in Ubuntu!
Blijkbaar wordt deze niet standaard geinstalleerd waneer je libre/openoffice installeert. Maar even:

sudo apt-get install libreoffice-base

En je kunt WEL dbf’s opslaan!
zie ook https://bugs.launchpad.net/ubuntu/+source/openoffice.org/+bug/502462
Groet…
 

Kaartbestanden en hulpinformatie

Kaarten Nederland

CBS – Wijk- en buurtkaart 2011 (shapefiles van gemeenten, wijken en buurten):
http://www.cbs.nl/nl-NL/menu/themas/dossiers/nederland-regionaal/publicaties/geografische-data/archief/2012/2012-wijk-en-buurtkaart-2011-art.htm
CBS – Bevolkingskernen 2006:
http://www.cbs.nl/nl-NL/menu/themas/dossiers/nederland-regionaal/publicaties/geografische-data/archief/2010/2010-bevolkingskernen-in-nederland-2006.htm
De CBS-kaarten zijn generalisaties van uitgebreidere kaarten van het Kadaster. Ze maken gebruik van Rijksdriehoekcoördinaten (RD). Met QGIS kunnen kaarten zonodig naar andere coördinatenstelsels worden omgezet.
Er zijn andere kaartbestanden met Nederlandse gemeenten op internet te vinden (zie volgende rubriek). Die maken meestal gebruik van lengte- en breedtegraden (volgens het coördinatenstelsel WGS84, ook gebruikt door Google Maps en Google Earth). Vaak zijn deze kaarten minder nauwkeurig of geven ze een verouderde gemeente-indeling weer.
Topografische kaarten (raster, vector):
http://mirror.openstreetmap.nl/kadaster/
(Begin januari 2012 heeft het Kadaster gedetailleerde topografische kaarten van heel Nederland vrijgegeven. Het gaat hier om de topografische kaart 1 : 25.000 in rasterformaat (TOP25raster) en de topografische kaart 1 : 10.000 in vectorformaat (TOP10NL). Van de webserver van OpenStreetMap zijn de bestanden in resp. TIFF-TFW en GML-formaat te downloaden. Beide formaten zijn in QGIS in te lezen.)

Kaarten diverse landen

DIVA-GIS
http://www.diva-gis.org/gData
(Bestuurlijke indelingen, water, wegen, spoorwegen, hoogte, klimaat etc. van diverse landen)
Geofabrik
http://download.geofabrik.de/osm/europe/
(Kaarten afgeleid van OpenStreetMap dataset)
VDS Technologies:
http://www.vdstech.com/map_data.htm
kvdb.net / dcentralize
http://www.d-centralize.nl/projects/6pp/downloads/
(Postcodes)
Geonames
http://www.geonames.org/
(Plaatsnamen)
USA Census Bureau / TIGER
http://www2.census.gov/cgi-bin/shapefiles2009/national-files
(USA: staten, counties, plaatsen, statistische regio’s)

Hulpmiddelen

Uitleg rijksdriehoekscoördinaten:
http://nl.wikipedia.org/wiki/Rijksdriehoeksco%C3%B6rdinaten
Omzetting coördinaten tussen RD en WGS84:
http://et10.org/gc/rd.php
Toevoegen RD-coördinaten aan lijst adressen:
http://www.digischool.nl/ak/postcode/
Gemeentelijke indeling en regio-indelingen:
http://statline.cbs.nl/StatWeb/dome/default.aspx
(Nederland regionaal / Indelingen)
Vereenvoudiging shapefiles (Mapshaper):
http://mapshaper.com/test/demo.html

Catalogus van Nederlandse geo-informatie (Nationaal Georegister):
http://www.nationaalgeoregister.nl
Laatst gewijzigd, 4-3-2012

Rijksdriehoekstelsel (epsg:28992) verschuiving?

Nog steeds is de projectie informatie die wordt meegeleverd met veel Open Source GIS tools niet de juiste. Althans het is wel de juiste volgens de epsg-database op basis waarvan de proj-definities worden gemaakt, maar in de praktijk werkt een andere definitie beter.
Gebruik van de standaard proj-definities heeft bijvoorbeeld tot gevolg dat er een verschuiving optreedt bij het laden van een shape-bestand welke je over GoogleMaps wilt draperen. Dit komt door het ‘herprojecteren’ van je data van epsg:28992 naar epsg:900913 (of epsg:3857 zoals die nu officieel heet).
Martijn van Exel schreef er al een blog over
Snelle oplossing: als je nog steeds een van de volgende proj definities ziet in qgis bij ‘Amersfoort / RD new’ (je mist dus het stukje ‘+towgs84’) :

+proj=sterea +lat_0=52.15616055555555 +lon_0=5.38763888888889 +k=0.9999079 +x_0=155000 +y_0=463000 +ellps=bessel +units=m +no_defsa

of

+proj=sterea +lat_0=52.156161 +lon_0=5.387639 +k=0.999908 +x_0=155000 +y_0=463000 +ellps=bessel +units=m +no_defs

Maak dan een ‘custom’ projectie definitie aan met een van de definitie:

+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.350732676542563,-1.8703473836068,4.0812 +no_defs no_defs

Voorbeeld van een qgis project, met daarin GoogleMaps en een OpenStreetMap met daarin NIET de juiste definitie:
28992verschuiving1
En nu een met daarin de juiste proj definitie gebruikt:

Opmerking: als je dit nog nooit gezien hebt, en toch de ‘verkeerde’ definitie gebruikt, dan komt dit waarschijnlijk omdat je nog nooit gebruik hebt gemaakt van de ‘on the fly projection’ van Qgis in combinatie met een andere projectie.