Skip to content
Mark Prins edited this page Aug 9, 2021 · 11 revisions

Vanaf versie 1.3.2 tot versie 2.1.0 biedt de BRMO service ondersteuning voor het laden van BGT data in de vorm van BGT GML Light, zoals aangeboden door PDOK. Vanaf versie 2.1.0 biedt de BRMO service ondersteuning voor het laden van BGT data in de vorm van City GML, de mogelijkheid om "BGT GML Light" te laden zoals hieronde beschreven vervalt daarmee. Het laden van BGT CityGML is beschreven op: BGT CityGML laden

De data komt beschikbaar in een apart aan te maken schema; de oorzaak hiervan zit in de gekozen versie van het geimplementeerde RSGB schema (voor BGT is gekozen om versie 3 te gaan gebruiken).

laden

Er zijn drie manieren om BGT GML Light bestanden in de staging te laden:

  1. laden van een bgt gml light zipfile via de web interface van de brmo service (Bestand inladen, optie "Bestand inladen van bestandssysteem server"), bestanden kunnen middels de webinterface van PDOK worden opgehaald[1] (kies de versie zonder plaatsbepalingspunten). Bestanden moeten met de hand in een directory op de server worden gezet.
  2. Als de server geen internet toegang heeft dan kan er ook een BGTLightDirectoryScanner worden ingeregeld om zipfiles met gml light uit een directory op de server in de staging database te laden. Op deze manier kan een set bestanden worden geladen.
  3. Als de server toegang tot internet (of in ieder geval de PDOK BGT download site) heeft dan kan er een Automatisch Proces van type BGTLightOphaalProces worden ingeregeld. Dit proces download de bestanden en zit ze klaar voor transformatie. Er staat een procedure beschreven hoe die id's te bepalen met behulp van QGIS, voor andere gis desktop pakketten kan dat op op soortgelijke manier.

NB de zipfiles dienen beschikbaar te blijven totdat ze getransformeerd zijn, in tegenstelling to de bericht georienteerde basisregistraties wordt deze data niet in de staging database gezet, er wordt alleen een laadproces record aangemaakt.

zipfiles valideren

De download site van PDOk is niet erg robuust, er komt nog wel eens een gemangelde zipfile uit. Om zipefile te valideren kun je onderstaande scripts gebruiken.

met bash:

#/bin/bash
find /mnt/tera1/klant-data/bgtlight -type f -iname '*.zip' -exec zip -T {} \;
find /mnt/tera1/klant-data/bgtlight -type f -iname '*.zip' -exec unzip -t {} \;

Powershell+7zip

$7z = "D:\Program Files\7-Zip\7z"
Dir "D:\brmo-service-data\bgtlight" -r -include @("*.zip") | % { & $7z t $_ -r}

ophaal scripts

#
# powershell script om kaartbladen op te halen bij pdok.
#  - pas de doel directory $dest aan
#  - pas de kaartbladen aan
#
$dest        = "/tmp/BGT"
$kaartbladen = @(27264, 14028, 14029)

Write-Host "Aanmaken doel directory structuur"
New-Item -Force -ItemType "Directory" -Path "$dest"

ForEach ($kaartblad in $kaartbladen) {
    Write-Host "ophalen bgt light blad $kaartblad"
    Invoke-WebRequest -Uri "https://downloads.pdok.nl/service/extract.zip?extractname=bgt&extractset=gmllight&excludedtypes=plaatsbepalingspunt&history=true&tiles=%7B%22layers%22%3A%5B%7B%22aggregateLevel%22%3A0%2C%22codes%22%3A%5B$kaartblad%5D%7D%5D%7D" -OutFile "$dest/BGTlight-$kaartblad.zip" -TimeoutSec 60 -UserAgent "bgt-client"
}

transformeren

Nadat een set zipfiles is geladen in de staging omgeving kunnen deze middels de Laadprocessen pagina worden getransformeerd naar het RSGBBGT schema. Om te transformeren worden alle laadprocessen geselecteerd en vervolgens middels de knop "Selectie transformeren naar RSGB" of de knop "Selectie versneld transformeren naar RSGB (alleen stand)" getransformeerd. Het is ook mogelijk om een LaadprocesTransformatieUitvoeren in te regelen om dit te doen.

Alleen stand of gewoon

Zoals hierboven aangegeven kan transformeren van BGTlight op twee manieren er is in de huidige versie van de brmo geen verschil tussen deze methoden.

Voorafgaand aan de transformatie worden de tabellen in het rsgbbgt schema geleegd, dit om te garanderen dat er alleen actuele data in de database terecht komt.

NB het PDOK BGTlight formaat is altijd een stand, er is vooralsnog geen update mechanisme voorzien in de levering door de bronhouder.

Clone this wiki locally