Een serie kaarten genereren

[Ga voor een aangepaste versie naar dit artikel.]

Soms wil je een serie vergelijkbare thematische kaarten maken. Het enige verschil is het dataveld dat wordt gebruikt om gebieden in te kleuren of symbolen met variabele omvang te tonen. Klasse-indelingen en maximale symboolgrootte zijn hetzelfde. Voor grote aantallen kaarten is het vervelend om in QGIS steeds dezelfde handelingen te herhalen. Bovendien maak je snel fouten als je niet goed oplet. Dit artikel legt uit hoe het maken van grote series kaarten kan worden geautomatiseerd. De stappen worden beschreven voor Windows, maar het moet niet zo moeilijk zijn om voor Linux een vergelijkbaar script te ontwikkelen.

Continue reading Een serie kaarten genereren

Meer combi’s Top10NL en AHN25 in QGIS 1.8

Per begin juli 2012 heeft Kadaster een update van de Top10NL uitgebracht. Daarin zijn kaartbladen van midden-Nederland en de gemeente Rotterdam bijgewerkt. Ook zijn ‘gaten’ in Terrein_vlak uit de vorige versie (bv. een paar stukken akkerland in Flevoland en een huizenblok in Houten) gerepareerd. Voor het eerst is nu ook de Tweede Maasvlakte in aanbouw te zien. De Top10NL dataset (GML, 2Gb zip) is hier kosteloos te bestellen en met nlextract.nl te converteren naar PostGIS.
In een eerder artikel heb ik de Top10NL gecombineerd met het GIS rasterbestand van de AHN25 (Actuele Hoogtekaart 25x25m) uit 2005/2006. QGIS 1.8 biedt hier prima mogelijkheden voor.

Hieronder nog twee voorbeelden, waarbij de hoogtekaart op 15% opacity (85% transparantie) staat. De gebouwvlakken staan op 100% opacity boven de AHN, omdat vanwege de AHN resolutie (25x25m) het beeld teveel vertekent, en alle wijken na 2005 sowieso niet zichtbaar zijn. Maar zoals de voorbeelden laten zien, zijn duingebieden en rivieren/uiterwaarden fraai weer te geven.

Zandvoort en de Amsterdamse Waterleidingduinen, Top10NL + AHN25
Zandvoort en de Amsterdamse Waterleidingduinen, Top10NL + AHN25

De complexe loop van de Maas bij Roermond, Top10NL + AHN25
De complexe loop van de Maas bij Roermond, Top10NL + AHN25

Direct data uit Excel-bestand gebruiken

Naar aanleiding van mijn vorige artikel over het koppelen van data uit een CSV-bestand, kreeg ik een hele goeie tip. Sinds QGIS 1.8 is het mogelijk om Excel-bestanden direct te openen in QGIS. Vreemd genoeg staat hierover niets in de ‘release notes’. Het werkt alleen met het oudere XLS-formaat; niet met het nieuwere XLSX-formaat.

Een Excel-bestand open je met de menu-optie of knop ‘Add new vector layer’ (‘Vectorlaag toevoegen’). Dat is wel verwarrend, omdat het hier om niet-ruimtelijke gegevens gaat. Het Excel-bestand moet minimaal een kolom bevatten waarmee je de gegevens aan een ruimtelijke laag kunt koppelen en een of meer kolommen voor de data die je weer wilt geven. Coördinaten zijn niet nodig. Zet bij het openen het filter voor bestandstypen op ‘All files’. Anders worden  Excel-bestanden niet getoond. Het dialoogvenster bevat geen apart filter voor Excel-bestanden.

Als het goed is kun je nu de tabel koppelen aan een ruimtelijke laag, zoals beschreven in mijn vorige artikel.

Hoogtekaart AHN25 en Top10NL in QGIS 1.8

QGIS 1.8 (Lisboa) heeft betere ondersteuning voor reliëf-schakering. Rijkswaterstaat geeft kosteloos het Actuele Hoogtebestand 25×25 m (“AHN25″) uit (via servicedesk-data@rws.nl). Het bestand is uit 2006, maar hey, hoogte verandert niet zo snel in Nederland. RWS levert een .adf puntbestand van 259Mb, met dus een resolutie van 25×25 meter. In QGIS is daar middels “raster” -> “Terrein analysis” -> “Relief” een mooi reliëfbeeld van te maken, dat als Geo-TIFF is weg te schrijven.

Combineren we dat reliëfbeeld met de Top10NL JW-Style, (met AHN25 op 20% zichtbaarheid), dan krijgen we dit kaartbeeld. Een preview:

Voorvertoning van AHN-Top10NL gecombineerd kaartbeeld

Nu wordt de AHN t/m 2013 opnieuw ingemeten door Rijkswaterstaat en Waterschappen, zie www.ahn.nl, met een superresolutie van 50x50cm! Men heeft mij verteld dat er helaas nog geen plannen zijn om van deze dataset een kosteloze open-data versie te publiceren, zelfs niet één van 25x25m. Graag hoor ik jullie ideeën over hoe we zo’n kosteloze actualisatie zouden kunnen “stimuleren”.

Top10NL Kleurenschema JW-style nu ook als .SLD beschikbaar

QGIS 1.8 (Lisboa) biedt betere ondersteuning voor .SLD (Style Layer Definition) bestanden dan vorige versies. De .SLD bestanden zijn prettig omdat het een pakket-onafhankelijke standaard is.
Het kleurenschema “Top10NL JW-style” is nu ook beschikbaar als .SLD bestanden.
Zie hiervoor http://www.imergis.nl/asp/46.asp.

Op die pagina staan ook voorbeelden van stedenkaarten die in QGIS 1.7 zijn gemaakt. In QGIS 1.8 is ook de rendering van het schermbeeld merkbaar verbeterd; bovendien heeft Kadaster een update van de Top10NL uitgegeven, dus deze kaarten zullen de komende maanden worden bijgewerkt.

Noot: er zijn enkele minor improvements t.o.v. vorige versies:
1. Terrein_vlak typelandgebruik “overig” en Gebouw_vlak type “laagbouw” hebben iets meer verzadiging gekregen
2. Wegdeelvlak typeinfrastructuur “lokale weg” is nu lichtgeel geworden i.p.v. gebroken wit. “Straat” en “Overig” zijn nog wel gebroken wit.
3. Spoorbaandeel_lijn is iets zwarter gemaakt om in dichtbebouwde gebieden het contrast met wegdeel_vlak_omlijning beter te laten uitkomen.
4. De tunnels (wegdeel_hartlijn én spoorbaandeel_lijn) zijn nog iets transparanter geworden.

Deze changes worden dus nog verwerkt op de nieuwe versies van de voorbeeldkaarten op http://www.imergis.nl/asp/46.asp.

Koppelen van data uit CSV-bestand

In een eerder artikel heb ik laten zien hoe gegevens uit een tekstbestand als een extra laag op een kaart kunnen worden weergegeven. Het ging hier om punten die over gebieden heen werden gelegd. De gegevens in beide lagen bleven echter gescheiden. In dit artikel leg ik uit hoe de gebieden uit de ene laag kunnen worden ingekleurd op basis van gegevens uit een tekstbestand in een andere laag. Als voorbeeld wordt de nabijheid van warenhuizen per gemeente in 2010 gebruikt.

Continue reading Koppelen van data uit CSV-bestand

Esri File Based Geodatabases en Oracle connecties openen met QGIS

GDAL en OGR (www.gdal.org) van Frank van Warmerdam zijn de bekende software bibliotheek die zorgen voor het openen en schrijven van vele gis-formaten. Het mooie van QGIS is dat deze ook gebruikt maakt van OGR. Dus bij elke toevoeging of verbetering van de OGR bibliotheek wordt ook QGIS een beetje beter.

Hoewel je het natuurlijk zelf nooit zal willen gebruiken, krijg je soms een FGDB (File Geodatabase) van Esri toegestuurd. Sinds versie 1.9 kan OGR ook omgaan met dit formaat. Let wel op: “File GDB must be ArcGIS version 10, 9.3.1 is not supported.”

Sinds die versie is het voor QGIS dus ook mogelijk om FGDB files te openen, mits die QGIS gebruik maakt van OGR 1.9 of hoger. Gelukkig is dat voor bijvoorbeeld Windows gebruikers geen probleem als je gebruik maakt van een OSGEO4W installatie van QGIS (zie dit artikel). Als je daarin ‘gdal filegdb’ hebt aangevinkt kan QGIS dus fgdb’s openen. Voor Linux gebruikers is het op dit mogelijk door bijvoorbeeld gebruik te maken van packages uit repositories als ‘ubuntugis’ of ‘elgis’ zie download.qgis.org.

Om dit te proberen moesten we natuulijk eerst een fgdb bestand achterhalen (en in een hardcore OpenSource bedrijf als WebMapper is dat natuurlijk niet zo triviaal). Maar al googlend kom je (natuurlijk) terecht bij Esri Waar je na registratie (!) een voorbeeld fgdb kunt downloaden van Noord-Amerika.

Na uitpakken bevindt zich in het mapje ‘FileGDB API/samples/data’ enkele mapjes eindigend met de naam .gdb
Zo’n mapje is wat Esri een FileGDB noemt. Het heeft niet zoveel zin om hier in te kijken. Het staat vol met cryptische namen als a00000015.gdbtablx a00000015.spx etc etc.

Gelukkig kan QGIS hier wel iets mee. Ga via het menu of knoppen naar ‘Vectorlaag Toevoegen’, en selecteer daar ‘Map’ of ‘Dir. Kies als Bron/Source-type ‘ESRI FileGDB’. Als dit zich NIET tussen de mogelijkheden bevindt, werk je blijkbaar met een OGR/GDAL versie die dit (nog) niet ondersteund (zie verder onderaan) Browse naar de map data van daarnet.

Selecteer ‘topo.gdb’

Na selecteren van deze map blijkt deze verschillende datalagen te bevatten: states, us_lakes, us_rivers enz. We selecteren er meteen enkele:

Bingo. We zien de vectorlagen en kunnen ze als normale datalagen stijlen en bewerken.

QGIS kan ook data openen en visualiseren uit een Oracle Database.

Er geldt hier hetzelfde als voor fgdb: mits de geinstalleerde OGR het ondersteund is het een kwestie van een connectie aanmaken:

Hoe kun je achterhalen welke ogr bibliotheek jij gebruikt ?

Via het Help/About menu staat er in het About-tabje precies welke bibliotheken EN de versies QGIS allemaal gebruikt:

Hoe kun je achterhalen welke formaten ogr/gdal allemaal ondersteunt?

Om te zien welke formaten uw OGR of GDAL ondersteund gebruik het volgende commando:

c:\osgeo4w>ogrinfo --formats

en

c:\osgeo4w>gdalinfo --formats

Dit geeft voor beide een lange lijst van formaten die worden ondersteund. Om te bekijken of fgdb (gdb) en Oracle (oci) ondersteuning is zoek naar die strings in de output:

c:\osgeo4w>ogrinfo --formats | grep -i gdb
Supported Formats:
-> "FileGDB" (read/write)
c:\osgeo4w>ogrinfo --formats | grep -i oci
-> "OCI" (read/write)

Hoe kom je aan een ogr/gdal die WEL fgdb en/of oracle ondersteund?

Zoals gezegd, voor Windows gebruikers is de QGIS installatie met OSGeo4w een eenvoudige manier (de standalone/msi installer heeft die mogelijkheden niet).

Voor Linux gebruikers is het zelf compileren van GDAL de (enige?) oplossing. De reden hiervoor is dat bedrijven als Oracle, Esri en Erdas geen toestemming geven om de binaire bibliotheken mee te laten ‘packagen’ door de Open Source gemeenschap. Je zult dus altijd de hobbel moeten nemen om de SDK’s te downloaden en met behulp daarvan GDAL zelf te compileren.

QGIS installeren via osgeo4w

De meeste windows gebruikers zullen QGIS installeren via de zogenaamde ‘stand alone installer’ die je kunt downloaden van download.qgis.org Dit is voor de meeste gebruikers de eenvoudigste en bekendste manier van een programma installeren.

Maar QGIS heeft ook een andere mogelijkheid. Namelijk een installatie van osgeo4w ( osgeo4w.osgeo.org ). osgeo4w staat voor ‘Open Source Geo Voor Windows’, en is een volledige omgeving voor Windows gebruikers met bijna alle open source geo componenten en bibliotheken die in omloop zijn. Het installeert zich in een map op je harde schijf en van daaruit kun je al bijvoorbeeld QGIS installeren, maar ook command-line programma’s als ogr2ogr of gdalinfo opstarten. Het is zelfs mogelijk om mapserver in een apache webserver te installeren en te draaien.

Continue reading QGIS installeren via osgeo4w

Staafdiagrammen met legenda

Dit artikel beschrijft hoe je een kaart kunt maken met staafdiagrammen en een legenda.

Benodigde software
Quantum GIS (qgis.org)
LegendSVG (qgis.nl)
Eventueel Inkscape (inkscape.org)

Benodigde bestanden
Kaartlaag met gebieden
Kaartlaag met data

Als voorbeeld is een vectorkaart van de Nederlandse provincies gebruikt als ondergrond. Daar bovenop is een laag geplaatst vanuit een csv-bestand. Dat bevat de x- en y-coördinaten van de gewenste gebiedsmiddelpunten en onder andere het aantal inwoners per provincie naar drie leeftijdsgroepen.

Beperkingen
Deze techniek is niet zo geschikt als zeer veel gebieden moeten worden weergegeven. Dit wordt al snel onoverzichtelijk. Bovendien is de staafbreedte is niet instelbaar.

Continue reading Staafdiagrammen met legenda

Meerdere objecten / features tegelijk aanpassen / editten

Soms wordt je door een vraag bekend gemaakt met een functie in QGIS die je niet kent.
Iemand had een BAG-uitsnede van panden, en wilde per huis een aantal velden kunnen invullen. MAAR soms wilde hij dat per huizenblok doen, gewoon omdat dat blok allemaal van hetzelfde type was, en hij dus niet 6 keer dezelfde waarde of vinkje wilde invullen.

Na een vraag op de QGIS-User mailinglijst kwam al gauw het verlossende antwoord: “natuurlijk kan dat….”. Hieronder een korte demonstratie hiervan.

Continue reading Meerdere objecten / features tegelijk aanpassen / editten