Skip to content

BGTLightOphaalProces

Mark Prins edited this page Aug 24, 2021 · 23 revisions

Verwijderd in versie 2.1.0 gebruik BGTLoaderProces

PDOK heeft het download endpoint doen vervallen, deze ophaal functie werkt daardoor niet meer. Op korte termijn zal er een alternatieve procedure worden beschreven die gebruik maakt van een losstaand script en de BGTLightDirectoryScanner of de voorpagina van de brmo-service.

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.

De in het verleden door PDOK gehoste grid datafile bestaat niet meer, een gereconstrueerde versie is beschikbaar op de url http://files.b3p.nl/brmo/bgt/tileinfo.geojson

Configuratie

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 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.

configuratie overzicht BGT GML Light ophaal proces

De standaard waarde voor tileinfo URL is: http://files.b3p.nl/brmo/bgt/tileinfo.geojson, 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.

Grid ids bepalen met QGIS

Met behulp van QGIS kunnen voor een gebied de grid id's worden bepaald. Laadt hiervoor de laag http://files.b3p.nl/brmo/bgt/tileinfo.geojson 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

qgis met selectie

SSL fouten

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
wget http://cert.pkioverheid.nl/EVRootCA.cer
sudo keytool -importcert -file RootCA-G2.cer -alias "Staat der Nederlanden Root CA G2" -keystore /usr/lib/jvm/java-8-oracle/jre/lib/security/cacerts -storepass changeit -v -noprompt -trustcacerts
sudo keytool -importcert -file RootCA-G3.cer -alias "Staat der Nederlanden Root CA G3" -keystore /usr/lib/jvm/java-8-oracle/jre/lib/security/cacerts -storepass changeit -v -noprompt -trustcacerts
sudo keytool -importcert -file EVRootCA.cer -alias "Staat der Nederlanden EV Root CA" -keystore /usr/lib/jvm/java-8-oracle/jre/lib/security/cacerts -storepass changeit -v -noprompt -trustcacerts

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"
Invoke-WebRequest -Uri "http://cert.pkioverheid.nl/EVRootCA.cer" -OutFile "C:\TEMP\EVRootCA.cer"
keytool -importcert -file RootCA-G2.cer -alias "Staat der Nederlanden Root CA G2" -keystore "C:\Program Files\Oracle\Java\jre\lib\security\cacerts" -storepass changeit -v -noprompt -trustcacerts
keytool -importcert -file RootCA-G3.cer -alias "Staat der Nederlanden Root CA G3" -keystore "C:\Program Files\Oracle\Java\jre\lib\security\cacerts" -storepass changeit -v -noprompt -trustcacerts
keytool -importcert -file EVRootCA.cer -alias "Staat der Nederlanden EV Root CA" -keystore "C:\Program Files\Oracle\Java\jre\lib\security\cacerts" -storepass changeit -v -noprompt -trustcacerts

Het wachtwoord van de java certificaten store is changeit. (keytool documentatie) Na het bijwerken van de certificate store moet de java runtime/tomcat applicatie herstart worden; het volstaat niet om alleen de webapplicatie te herstarten.

Zie verder: https://cert.pkioverheid.nl/ en https://zoek.officielebekendmakingen.nl/stcrt-2008-1885.html

⇤ terug naar automatische processen overzicht

Clone this wiki locally