Skip to content

Bag

This part is obsolete, the database is no longer mongodb, but the description of the data is still valid !!

The data for the Netherlands comes from the kadaster, which is a fairly complete dataset of all buildings in the Netherlands. visit

Here is the xml file : visit

You will see the latest update date, the adres is always :

visit

The mongodb import has become obsolete since mongodb changed it's policy. please see the klopt sections for a new solution.

In the newest bah.sh file there is a download action.

You have to pay to get this data from the kadaster, this is in conflict with national law of free data !!. Write the government about this .

Database

The database was !! stored in mongo-db These are databases designed for large amounts of data. It consists of 4 "tables" which in mongo-lingo are called collections, since tables would imply there is a column like structure and there is not. The collections are :

  • city: unique id and name of a city with the coordinates of it's perimeter.
  • street: unique id and name of each street/road and the id of it's city.
  • number: unique id, name, postal code and number of every addressable location.
  • house: unique id of each building and the coordinates where it is located.

Conversion

The conversion to these 4 collections is done from a number of files :

  • WPL : woonplaats, these contain the cities
  • OPR : "openbare ruimte", these contain public places, such as streets
  • VBO : verblijfsobject, these are regular houses/addresses
  • STA : standplaats, these are addresses for caravans etc
  • LIG : ligplaats, these are addresses for boats
  • NUM : nummeraanduiding, these are the addressable numbers

Everything is handled by a java tool called Inspire.java.

Woonplaats

This is a straightforward conversion, the main tag in the xml data is bag_LVC:Woonplaats. This will describe one city. Inside that you need to extract these tags :

  • bag_LVC:identificatie, the unique id for each city (referenced in "openbare ruimte");
  • bag_LVC:woonplaatsNaam, the name of the city
  • bag_LVC:bag_LVC:MultiSurface, the coordinates.
  • bag_LVC:aanduidingRecordInactief, this flag should be parsed because some cities could be marked 'inactive'. another record will be present that supersedes this one, so only pick those with aanduidingRecordInactief=true.

These lines will end up in the 'city' collection.

Openbare ruimte

Also straightforward, the main tag in the xml data is bag_LVC:OpenbareRuimte. This will describe one street. Inside that you need to extract these tags :

  • bag_LVC:identificatie, the unique id for each street (referenced in "nummeraanduiding");
  • bag_LVC:openbareRuimteNaam, the name if the street
  • bag_LVC:openbareRuimteType: the type of the public place (could also be a park etc).
  • bag_LVC:gerelateerdeWoonplaats, this is a reference to the id of the city.
  • bag_LVC:aanduidingRecordInactief, this flag should be parsed because some cities could be marked 'inactive'. another record will be present that supersedes this one, so only pick those with aanduidingRecordInactief=true.

These lines will end up in the 'street' collection.

Nummer aanduiding

The main tag in the xml data is bag_LVC:Nummeraanduiding. This will describe one addressable number. Inside that you need to extract these tags :

  • bag_LVC:identificatie, the unique id for each number (referenced in "verblijfsobject", "standplaats" or "ligplaats");
  • bag_LVC:huisnummer, the actual number used.
  • bag_LVC:huisnummertoevoeging, an appendage to the number like 'a' or 'black'.
  • bag_LVC:postcode: zipcode of this number.
  • bag_LVC:typeAddresserbaarObject: type of object.
  • bag_LVC:gerelateerdeOpenbareRuimte, this is a reference to the id of the street.

These lines will end up in the 'number' collection.

Verblijfs object

The main tag in the xml data is bag_LVC:Verblijfsobject. This will describe one location. Inside that you need to extract these tags :

  • bag_LVC:identificatie, the unique id for each location.
  • bag_LVC:hoofdadres, this is the main address, such as the main entrance of a flat, or just the front door of a normal house. A line in "Nummeraanduiding" could reference this id.
  • bag_LVC:nevenadres, these are secondary addresses beloning to the same "verblijfsobject", so they share the coordinates. There can be any number of nevenadresses within a verblijfsobject, each representing another line in the "Nummeraanduiding" file. So we add a separate line for each of these nevenadresses.
  • bag_LVC:gerelateerdPand, these are sublocation addresses beloning to the same "verblijfsobject", so they share the coordinates. It seems these are shed's belonging to the main address and probably have no separate postcode/number. Nevertheless they are added as a separate line to be sure. These also can occur multiple times within one verblijfsobject.
  • bag_LVC:pos: this states one x/y coordinate for the object.
  • bag_LVC:posList: this states a series of coordinates (a perimeter).
  • bag_LVC:gebruiksdoelVerblijfsobject, a description of what the object is used for.

These lines will end up in the 'house' collection.

Standplaats

This is almost identical to a Verblijfsobject, it only specifies movable objects. So the parsing is almost the same, and they also go into the 'house' collection.

Ligplaats

This is almost identical to a Verblijfsobject, it only specifies floating objects. These also go into the 'house' collection.