-
Notifications
You must be signed in to change notification settings - Fork 16
BGTLightOphaalProces
Het BGTLightOphaalProces proces wordt gebruikt om BGT GML Light downloads te downloaden naar een directory op het bestandsysteem en in de staging database te laden.
Helaas is PDOK gestopt met het publiceren van de grid als datafile, daardoor werkt laden met geometrie op dit moment niet en kan er alleen met gridIds worden opgehaald.
Bij het aanmaken van een nieuw BGTLightOphaalProces proces in de BRMO dient de archief directory te worden ingevuld,
tevens is een (kommagescheiden) lijst van grid ids van aggregatie nivo 0 nodig of een geometrie van het op te halen gebied in WKT formaat.
De basis URL
en de tileinfo URL
zijn vooraf ingevuld en hoeven niet te worden aangepast.
De geometrie wordt standaard gebufferd met 10 meter en per run van deze taak wordt de lijst met gridcellen bijgewerkt
Verder kunnen (optioneel) een label en een cron expressie worden gegeven.
De standaard waarde voor tileinfo URL
is: https://www.pdok.nl/download/service/tileinfo.json?dataset=bgt&format=citygml
, de standaard waarde voor basis URL
is: https://downloads.pdok.nl/service/extract.zip?extractset=gmllight&tiles=%7B%22layers%22%3A%5B%7B%22aggregateLevel%22%3A0%2C%22codes%22%3A%5BGRID_ID%5D%7D%5D%7D&excludedtypes=plaatsbepalingspunt&history=true&enddate=ENDDATE
Een voorbeeld lijst met grid ids is: 38324, 38325, 38326, 38327, 38332, 38333, 38334, 38335, 38370, 38371, 38372, 38373, 38374, 38375, 38376, 38377, 38378, 38379, 38380, 38381, 38382, 38383, 38676, 38677, 38679, 38720, 38721, 38722, 38723, 38724, 38725, 38726, 38727
De WKT voor dat gebied is: POLYGON ((142624.56693458979134448 491406.59645232826005667, 143688.97242239466868341 491406.59645232826005667, 145568.9613359201757703 491033.3633592018741183, 145997.48822062084218487 490245.42682926839916036, 146495.13234478933736682 488959.8461751663708128, 146743.95440687361406162 487079.85726164089282975, 146619.54337583147571422 485130.75110864755697548, 146508.95579268291476183 483527.23115299345226958, 146578.07303215077263303 481384.59672949009109288, 145016.02342017737100832 481315.47949002229142934, 143274.26898558757966384 481343.12638580938801169, 139085.76427383589907549 481398.42017738369759172, 137302.53949556540464982 481412.2436252772458829, 136639.01399667403893545 482670.17738359211944044, 136639.01399667403893545 485089.28076496685389429, 136514.60296563192969188 486803.38830376951955259, 136431.66227827049442567 488711.02411308215232566, 137883.12430709533509798 489803.07649667415535077, 140163.99320953435380943 491171.59783813758986071, 140163.99320953435380943 491171.59783813758986071, 140841.34215631926781498 491213.0681818182929419, 141297.51593680708901957 491268.36197339254431427, 141297.51593680708901957 491268.36197339254431427, 142624.56693458979134448 491406.59645232826005667))
Aangezien het koppelvlak van het Kadaster vrij langzaam is kan het zinvol zijn om meerdere jobs the maken die
tegelijkertijd bestanden downloaden (verschillende verzameling grid ids), eea. afhankelijk de capaciteit van de server en bandbreedte. Om meerdere simultane download processen te starten is het nodig dat de context parameter quartz.threadCount
te verhogen naar het aantal benodigde gelijktijdige jobs. Let daarbij op de beschrijving in de web.xml
die bij deze parameter is opgenomen.
Met behulp van QGIS kunnen voor een gebied de grid id's worden bepaald.
Laadt hiervoor de laag https://www.pdok.nl/download/service/tileinfo.json?dataset=bgt&format=citygml
als geojson in QGIS,
zorg dat de projectie op Rijksdriehoek (EPSG:28992) wordt ingesteld voor de laag.
Maak vervolgens een selectie in deze laag met bijvoorbeeld een provincie begrenzing
(bijvoorbeeld met de Select by location tool) en exporteer de selectie aar CSV.
Uit de csv kan de lijst met ids worden gehaald.
Als de server niet naar PDOK kan verbinden kunnen de grids "met de hand" worden opgehaald en via een BGTLightDirectoryScanner worden ingeladen. voor mogelijke scripting zie: https://github.com/B3Partners/brmo/blob/master/bgt-gml-loader/src/test/resources/nederlandmultizip/README.md
Het stamcertificaat waarmee PKIoverheid Certificaten (zoals in gebruik bij PDOK) zijn ondertekend is onbekend in de Oracle Java VM's.
Dit zorgt voor foutmeldingen zoals: javax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
tijdens het ophalen van bestanden via HTTPS. Dit is een bekend probleem en een bewuste keuze van Logius.
Het certificaat moet dus met de hand toegevoegd worden (en opnieuw na iedere Java update) aan de java certificaten store; dat kan (bijvoorbeeld) als volgt:
cd /tmp
wget http://cert.pkioverheid.nl/RootCA-G2.cer
wget http://cert.pkioverheid.nl/RootCA-G3.cer
keytool -importcert -file RootCA-G2.cer -alias "Staat der Nederlanden Root CA G2" -keystore /usr/lib/jvm/java-8-oracle/jre/lib/security/cacerts
keytool -importcert -file RootCA-G3.cer -alias "Staat der Nederlanden Root CA G3" -keystore /usr/lib/jvm/java-8-oracle/jre/lib/security/cacerts
of
cd C:\TEMP
Invoke-WebRequest -Uri "http://cert.pkioverheid.nl/RootCA-G2.cer" -OutFile "C:\TEMP\RootCA-G2.cer"
Invoke-WebRequest -Uri "http://cert.pkioverheid.nl/RootCA-G3.cer" -OutFile "C:\TEMP\RootCA-G3.cer"
keytool -importcert -file RootCA-G2.cer -alias "Staat der Nederlanden Root CA G2" -keystore "C:\Program Files\Oracle\Java\jre\lib\security\cacerts"
keytool -importcert -file RootCA-G3.cer -alias "Staat der Nederlanden Root CA G3" -keystore "C:\Program Files\Oracle\Java\jre\lib\security\cacerts"
Het wachtwoord van de java certificaten store is changeit
. Optioneel kan ook get G3 certificaat worden geïnstalleerd:
Zie verder: https://cert.pkioverheid.nl/ en https://zoek.officielebekendmakingen.nl/stcrt-2008-1885.html
Dit werk valt onder een Creative Commons Naamsvermelding-GelijkDelen 2.0 Nederland-licentie.