Combining the best of Top10NL, BAG & OSM in QGIS

For some time now I’ve been using the BAG buildings in QGIS as an alternative to the Top10NL buildings. The BAG buildings are more accurate, after all. This is not to disqualify the Top10NL, on the contrary: each geo data set has its own merits. The Top10NL is unbeatable regarding terrain details. As for the Open Street Map (OSM), that would of course be the road lines, which is updated daily by a community of enthusiasts. As the Top10NL usually lags behind a few years, it is tempting to use the OSM roads as an alternative to the Top10NL roads. But can the OSM roads be rendered just as if they look like the Top10NL roads? The answer is: yes, if you keep using a few specific lines of the Top10NL. Here’s a sample of Highway junction Raasdorp near Haarlem-Amsterdam, where the brand new A5 highway is already available in OSM but not yet in the Top10NL (made in QGIS 1.8)

Using Top10NL, BAG, and OSM to render an up-to-date map in QGIS 1.8Top10NL (april 2013/from aerial photo 2011), OSM (22 june 2013) and BAG (april 2013) to render an actual map.

The Dutch OSM roads are downloadable als shapefiles from When using Top10NL, you do need to convert the OSM roads to the RD coordinate system, which is easy in QGIS 1.8. Add the OSM vector layer “Roads”, select it with right mouse button and choose “Save as…”. Choose ESRI Shapefile and select the correct CRS (Amersfoort / RD New, EPSG:28992). This results in a shapefile of 264Mb. Add that layer to the Top10NL layers and off we go.

The Top10NL roads are polygons, allowing the exact width of each road to be rendered. OSM roads are lines, so all roads have the same width. This may sound like a disadvantage, but in practice this is no nuisance. The example above uses a scale of 1:25000, and roads that seem to be wider are actually double rendered lines in the data (for both sides of the road). The colouring of the roads is easy thanks to the attribute “type” that allows the colouring on values such as “trunk”, “motorway”, “primary”, “secondary”, etc. The Top10NL and OSM differ on occasion on wheter a road is a primary road or secondary road, but that only goes to show the subjectivity of such labeling. Of course, the dark grey lining below the roads is easily done by adding the same map layer just below the coloured roads and making it slightly broader.

The Top10NL ‘problem’ of lining roads at non-level crossings is easily solved using OSM thanks to the attributes “Tunnel” and “Bridge”. For roads crossing above other roads of the same type, add that piece of road (filtered on “Bridge > 0″) plus another copy of that layer with dark grey lining slightly off-bias to both sides.

So no drawbacks? One obvious argument could be that OSM doesn’t guarantee a complete and correct map because it’s updated by so many different people. But as is well known these days, the quality of (at least the Dutch OSM) is astoundingly high. When zooming in, you can see some OSM lines not exactly following the actual line compared to the aerial photograph (a deviation of a meter is no exception), but on a scale such as 1:25000 that’s barely noticeable.

The great thing about all this newly available open source geodata is that QGIS offers such a wonderful vehicle to make the most out of these datasets and render a meaningful map image. The Top10NL is unbeatable regarding terrain image, the BAG on buildings, and the OSM on roads. I’m really looking forward to QGIS 2.0.

Jan-Willem van Aalst,

België en Duitsland in RD met QGIS

De Basisregistratie Topografie (BRT/Top10NL) houdt ongeveer een kilometer na de landsgrens al op. Velen, bijvoorbeeld brandweermensen, hebben behoefte aan meer kaartbeeld over de landsgrens. Die kaartdata is er, en nog kosteloos ook. De Open Street Map (OSM) van de Europese landen is als Shapefiles te downloaden, o.a. via de Duitse GeoFabrik, Ze wordt aangeboden in WGS84 (latitude, longitude). QGIS 1.8 biedt een eenvoudige mogelijkheid om die te converteren naar het Rijksdriehoeksstelsel (EPSG:28992): maak een kopie van de Shapefile onder een andere naam (eventueel alleen het relevante geselecteerde gebied langs de grens “selectie opslaan als…”), en kies daarbij voor het geselecteerde CRS “Amersfoort New/RD”. QGIS maakt een nieuwe shapefile aan met het gewenste RD-coördinaatstelsel. Die Shapefile kun je toevoegen als kaartlaag in je QGIS RD-projectfile. Die Shapefile sluit aan de landsgrens mooi aan op de BRT kaartlagen.

Voorbeeldje van de stad Emden, bij Delfzijl:

OSM beeld van Emden, geconverteerd naar RD stelsel, en opgemaakt in het QGIS JW kleurenschema.

Voor de kleurenopmaak heb ik gebruikt gemaakt van de kleurcodes die ik eerder op dit forum heb gedeeld. De OSM versies (QML formaat, voor in QGIS) vind je hier. Per OSM sublaag (natural, landuse, buildings, roads, etc) vind je een stijlbestand. Let wel, de wegen heb je minimaal 2x nodig: één keer voor de zwarte omranding, en één keer voor de kleuren daar bovenop. En omdat de OSM roads ook een “tunnel” indicator hebben, kun je die ook als aparte kaartlaag toevoegen met een eigen QML opmaak.

Natuurlijk is OSM vooral gericht op wegen, en minder op terrein. Mij valt op dat er in de OSM terreinvlakken nogal wat ‘gaten’ zitten, afhankelijk per landsgebied, provincie of zelfs gemeente. Zo heeft Emden z’n zaakjes goed voor elkaar, maar de buurgemeenten hebben veel minder terreinvlakken beschikbaar (zie links bovenin bij het voorbeeld).


BAG building usage notations on Top10NL in QGIS

The building contours of BAG objects are much more precise than the standard built-up block shapes of the Top10NL topographic data set (aside from the fact that the BAG is more up-to-date than the Top10NL). The “BAG objects & addresses” data set also contains the usage function(s) of buildings. Using the BAG, it’s possible to quickly view locations of shops, entertainment areas, office parks, industrial zones and schools. But these usage functions are not part of a geometry column in the BAG, because a particular BAG residential object can have multiple usage functions (1:n relation). However, using the free Geon BAG convertor it’s possible to create a shapefile of BAG objects that include up to 2 usage functions per BAG residential object.

In QGIS, this point-shapefile may be used to visualise the usage function on top of the building contours. See the example below, using the following legend:

  • Green: shops, stores
  • Purple: entertainment, restaurants, club houses
  • Yellow: education
  • Pink: health
  • Blue: office
  • Brown: industry
  • Cyan: sports
  • Red: hotels
Map of part of Almere incl Top10NL, BAG buildling contours and usage functions

You can view the larger map including the full legend here.

The topographic map quickly shows the locations of stores, restaurants, office parks, schools, etc. A next step would be to color the entire area of a particular building instead of using a dot. However, this requires some more complex joining of attributes of tables. Anyone with a smart solution is most welcome to report it here.


More composite images combining Top10NL and AHN25 in QGIS 1.8

As of July 2012, Dutch Geo-office Kadaster has published an update of the Top10NL topographic GIS data set. Areas of central-NL + Rotterdam have been updated. Some ‘holes’ in the terrain have now been corrected, and the new industrial port area “Maasvlakte 2″ (under construction) is now visible for the first time.
The data set can be ordered at no charge through this Kadaster page (in Dutch); use to convert the GML dataset to PostGIS.

In a previous article I’ve combined the Top10NL with the AHN25 Height/relief data set of 2005/2006. QGIS 1.8 supports this nicely.
Below are two more examples, with the AHN on 15% opacity (85% transparency). The building blocks are at 100% opacity on top of AHN due to the low resolution of AHN, plus the fact that buildings more recent than 2005 aren’t visible on AHN anyway. But the examples illustratie that sand/dune areas and river areas can be nicely visualised:

Zandvoort and Amsterdam Water irrigation dunes, Top10NL + AHN25
Zandvoort and Amsterdam Water irrigation dunes, Top10NL + AHN25

Complex water structure of the Meuse at Roermond, Top10NL + AHN25
Complex water structure of the Meuse at Roermond, Top10NL + AHN25

A colour style scheme for the Dutch TOP10NL Topography

When opening a geo-file for the first time in QGIS, random colors are assigned to the points, lines, and polygons. QGIS offers excellent features to design and use color style schemes. This article describes how to do this, with the objective as follows:

Figure 1. Adding Styles

I was just seven years old when someone gave me the special topographic edition of the Walcheren map (scale 1:25,000), which completely blew me away. My general love for graphic design expanded with a passion for cartographic styling. So, when Kadaster (the Dutch national mapping agency) finally offered their famous dataset “Top10NL” (meaning: Netherlands vectorized at a nominal scale of 1:10,000) for free (as GML files), I was in a state of total bliss. At last I was able to style the famous topographic Dutch map with my own color styles. Moreover, QGIS directly reads GML files, so I thought this was going to be an easy job.

Continue reading A colour style scheme for the Dutch TOP10NL Topography