Skip to content
Geert Offenberg edited this page Oct 5, 2023 · 13 revisions

Het TopNLScannerProces is gemaakt om de BRT bestanden van het bestandssysteem in de database te kunnen laden.

Om de bestanden in te laden, moet u de .gml bestanden op het bestandssysteem plaatsen. Op dit moment staan de namen van de submappen vast:

  • TopNL
    • Top10NL
    • Top50NL
    • Top100NL
    • Top250NL

NB deze directorystructuur moet op de applicatie server aangemaakt worden, bijvoorbeeld onder /mnt/data/Documents met daaronder de TopNL directory en daaronder de verschillende schaal directories, de namen zijn case-sensitive.

Bij het aanmaken van een nieuw TopNLScannerProces proces in de BRMO dient de scan directory te worden ingevuld. (In geval van bovenstaande voorbeeld is dat /mnt/data/Documents/TopNL) Verder kunnen (optioneel) een label en een cron expressie worden gegeven.

download scripts

Hieronder zijn en tweetal voorbeelden gegeven voor het downloaden van een set kaartbladen, een variant in bash de andere in powershell.

#!/bin/bash
#
# script om topnl bladen op te halen bij pdok
#
mkdir -p ./Top{10,50,100,250}NL

echo "start ophalen: $(date)" >> topnl-download.log

echo "start ophalen top10nl" >> topnl-download.log
wget --no-verbose --append-output=topnl-download.log --tries=5 --timeout=60 --waitretry=300 --user-agent="" "https://api.pdok.nl/brt/top10nl/download/v1_0/full/predefined/top10nl-gml-nl-nohist.zip" --output-document=./Top10NL/TOP10NL_07W.zip

echo "start ophalen top50nl" >> topnl-download.log
wget --no-verbose --append-output=topnl-download.log --tries=5 --timeout=60 --waitretry=300 --user-agent="" "https://api.pdok.nl/brt/top50nl/download/v1_0/full/predefined/top50nl-gml-nl-nohist.zip" --output-document=./Top50NL/TOP50NL_07W.zip

echo "start ophalen top100nl" >> topnl-download.log
wget --no-verbose --append-output=topnl-download.log --tries=5 --timeout=60 --waitretry=300 --user-agent="" "https://api.pdok.nl/brt/top100nl/download/v1_0/full/predefined/top100nl-gml-nl-nohist.zip" --output-document=./Top100NL/TOP100NL.zip

echo "start ophalen top250nl" >> topnl-download.log
wget --no-verbose --append-output=topnl-download.log --tries=5 --timeout=60 --waitretry=300 --user-agent="" "https://api.pdok.nl/brt/top250nl/download/v1_0/cache/24/b45351fd-7fd4-4259-bdb4-76b495b0e335/top250nl-gml-nl-nohist.zip" --output-document=./Top250NL/TOP250NL.zip

echo "einde ophalen: $(date)" >> topnl-download.log

echo "maak backup van de GML van de vorige run als backup-$(date -Idate).tar.gz" >> topnl-download.log
tar --exclude=*.zip -cvzf backup-$(date -Idate).tar.gz ./Top{10,50,100,250}NL

echo "uitpakken zipfile downloads" >> topnl-download.log
rm -rf *.gml
find . -name "*.zip" | while read filename; do unzip -j -o -d "`dirname "$filename"`" "$filename" *.gml >> topnl-download.log; done;

echo "klaar met uitpakken" >> topnl-download.log
#
# powershell script om topnl bladen op te halen bij pdok en uit te pakken.
# top250 en top100 zijn landsdekkend, van top10 en top50 worden de genoemde kaartbladen opgehaald
#  - voor het uitpakken is 7zip nodig, pad naar executable in $ZIP
#  - pas de doel directory $dest aan
#  - pas de kaartbladen aan
#
$dest        = "D:\brmo-service-data\TopNL"
$kaartbladen = @("44W","44O","45W","45O","46W","50W","50O","51W","51O","52W","56O","57W","57O","58W")
$ZIP  = 'D:\Program Files\7-Zip\7z'
$arg1 = 'e'
$arg2 = '-o'
$arg3 = '*.gml'
$arg4 = '-r'

Write-Host "Aanmaken directory structuur"
New-Item -Force -ItemType "Directory" -Path "$dest\Top10NL"
New-Item -Force -ItemType "Directory" -Path "$dest\Top50NL"
New-Item -Force -ItemType "Directory" -Path "$dest\Top100NL"
New-Item -Force -ItemType "Directory" -Path "$dest\Top250NL"

Write-Host "ophalen top250"
Invoke-WebRequest -Uri "https://api.pdok.nl/brt/top250nl/download/v1_0/cache/24/b45351fd-7fd4-4259-bdb4-76b495b0e335/top250nl-gml-nl-nohist.zip" -OutFile "$dest\Top250NL\top250nl.zip" -TimeoutSec 60
Write-Host "uitpakken top250..."
& $ZIP $arg1 "$dest\Top250NL\top250nl.zip" "-o$dest\Top250NL" $arg3 $arg4

Write-Host "ophalen top100"
Invoke-WebRequest -Uri "http://geodata.nationaalgeoregister.nl/top100nl/extract/chunkdata/top100nl_gml_filechunks.zip?formaat=gml" -OutFile "$dest\Top100NL\top100nl.zip" -TimeoutSec 60
Write-Host "uitpakken top100..."
& $ZIP $arg1 "$dest\Top100NL\top100nl.zip" "-o$dest\Top100NL\" $arg3 $arg4

ForEach ($kaartblad in $kaartbladen) {
    Write-Host "ophalen top10 blad $kaartblad"
    Invoke-WebRequest -Uri "http://geodata.nationaalgeoregister.nl/top10nlv2/extract/kaartbladen/TOP10NL_$kaartblad.zip?formaat=gml" -OutFile "$dest\Top10NL\TOP10NL_$kaartblad.zip" -TimeoutSec 60
    Write-Host "uitpakken top10 blad $kaartblad..."
    & $ZIP $arg1 "$dest\Top10NL\TOP10NL_$kaartblad.zip" "-o$dest\Top10NL\" $arg3 $arg4
    Write-Host "ophalen top50 blad $kaartblad"
    Invoke-WebRequest -Uri "http://geodata.nationaalgeoregister.nl/top50nl/extract/kaartbladen/TOP50NL_$kaartblad.zip?formaat=gml" -OutFile "$dest\Top50NL\TOP50NL_$kaartblad.zip" -TimeoutSec 60
    Write-Host "uitpakken top50 blad $kaartblad..."
    & $ZIP $arg1 "$dest\Top50NL\TOP50NL_$kaartblad.zip" "-o$dest\Top50NL\" $arg3 $arg4
}
Clone this wiki locally