Data Api

Our Data Api can work as a stand-alone api but works seamlessly with our Maps Api service as a visual interface. Using our webhook you can build dynamic application using user generated geometries to enrich the viewer & your data.

The Data Api is made up of 3 distinct types of call.

  1. Basic Information calls.
    Using either address or lot-number (perceel nummer) you gather the basic data/geometry to unlock the data.
  2. Fetch calls
    The majority of the data is available in “fetch” calls. Using one identifier to retrieve the associated data
  3. Specialized calls
    Endpoints specifically build te deliver valuable data.

Basic Information Calls

This data is used to unlock the full potential of the Data Api. Using readily available information like an address.

There are 2 basic calls:

/maps_api/v2/server/data/getgeometrybyaddress

/maps_api/v2/server/data/getgeometrybyperceel

Get geometry of an address

POST /maps_api/v2/server/data/getgeometrybyaddress

Get geometry of an address

postcode and huisnummer are required

Example request:

POST /maps_api/v2/server/data/getgeometrybyaddress HTTP/1.1
Host: planviewer.nl
Accept: application/json
Content-Type: application/json

{
    "postcode" : "6811LW",
    "huisnummer" : 61,
    "huisnummertoevoeging" : "1"
    "huisletter" : "a"
}

Example response:

{
    "geometry" : "SRID=28992;POINT(190011.062 444053.666)"
}

Get geometry of a perceel

POST /maps_api/v2/server/data/getgeometrybyperceel

Get geometry of a perceel

Example request:

POST /maps_api/v2/server/data/getgeometrybyperceel HTTP/1.1
Host: planviewer.nl
Accept: application/json
Content-Type: application/json

{
    "kadastrale_gemeente" : "ARNHEM",
    "sectie" : "P",
    "perceelnummer" : "530"

}

Example response:

{
    "geometry" : "SRID=28992;POLYGON((190007.342 444029.188,190026.359 444019.629,190031.504 444034.069,190035.439 444046.094,190030.937 444047.715,190017.2 444052.877,190017.091 444052.926,190007.635 444029.962,190007.342 444029.188))"
}

Fetch calls

Planviewer has unlocked it’s data vaults with the Data Api. A huge amount of data is now accessible but more data will become available in the future. In order to use the fetch calls you should first take a look at the available calls.

List

GET /maps_api/v2/server/data/list

Get a list of available fetch calls and the identifier needed to access the data

Example request:

GET /maps_api/v2/server/data/list HTTP/1.1
Host: planviewer.nl
Accept: application/json

Example response:

[
    {
        "endpoint": "gemeentebyid",
        "identifier method": "id",
        "description": "gemeentecode op basis van ID"
    },
    {
        "endpoint": "pandidbygeometry",
        "identifier method": "geom",
        "description": "verkrijg het 'pandId' op basis van geometry.\r\nKan meerdere resultaten geven"
    }
    {
    ...
    }
]

Fetch

Every “Fetch” call is structured the same, making is very easy to implement and use in combination with the list. All you need to use a fetch call is:

  1. The endpoint
  2. The identifier

Note

It is possible to gain a specific identifier for a fetch call from another fetch call. using fetch to daisy-chain the data to gain even more data.

Example fetch call

GET /maps_api/v2/server/data/fetch/gemeentebyid

Get our identifier to get access to all the building information.

Example request:

GET /maps_api/v2/server/data/fetch/gemeentebyid HTTP/1.1
Host: planviewer.nl
Accept: application/json
Content-Type: application/json

{
    {
    "identifier":"POINT (192890 438931)"
    }
}

Example response:

Specialized calls

Some data is not available through the fetch calls and have specialized endpoints. This data is mostly generated from highly computed processes.

POST /maps_api/v2/server/data/pointcloud/building/elevation

Get the elevation of a building based on an address.

Example request:

POST /maps_api/v2/server/data/pointcloud/building/elevation HTTP/1.1
Host: planviewer.nl
Accept: application/json
Content-Type: application/json

{
    "postcode" : "6811LW",
    "huisnummer" : 61,
    "huisnummertoevoeging" : "1"
    "huisletter" : "a"
}

Example response:

POST /maps_api/v2/server/data/pointcloud/building/volume

Get the volume of a building based on an address.

Example request:

POST /maps_api/v2/server/data/pointcloud/building/volume HTTP/1.1
Host: planviewer.nl
Accept: application/json
Content-Type: application/json

{
    "postcode" : "6811LW",
    "huisnummer" : 61,
    "huisnummertoevoeging" : "1"
    "huisletter" : "a"
}

Example response:

POST /maps_api/v2/server/data/pointcloud/building/surface

Get the surface of a building based on an address.

Example request:

POST /maps_api/v2/server/data/pointcloud/building/surface HTTP/1.1
Host: planviewer.nl
Accept: application/json
Content-Type: application/json

{
    "postcode" : "6811LW",
    "huisnummer" : 61,
    "huisnummertoevoeging" : "1"
    "huisletter" : "a"
}

Example response:

POST /maps_api/v2/server/data/pointcloud/building/highestpoint

Get the surface of a building based on an address.

Example request:

POST /maps_api/v2/server/data/pointcloud/building/highestpoint HTTP/1.1
Host: planviewer.nl
Accept: application/json
Content-Type: application/json

{
    "postcode" : "6811LW",
    "huisnummer" : 61,
    "huisnummertoevoeging" : "1"
    "huisletter" : "a"
}

Example response: