-
Notifications
You must be signed in to change notification settings - Fork 16
TopNLScannerProces
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.
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
}
Dit werk valt onder een Creative Commons Naamsvermelding-GelijkDelen 2.0 Nederland-licentie.