bij1-afdelingen/Makefile

112 lines
4.7 KiB
Makefile

DB=./afdelingen.sqlite3
install:
pip install xlsx2csv
drop_all:
rm -f ${DB}
download_municipalities:
wget -O ./raw/gemeenten.xlsx https://www.cbs.nl/-/media/_excel/2020/47/gemeenten-alfabetisch-2021.xlsx
download_map_continental:
wget -O ./raw/gemeenten.svg https://upload.wikimedia.org/wikipedia/commons/3/30/Nederland_gemeenten_2021.svg
download_map_caribbean:
wget -O ./raw/caribbean.svg https://upload.wikimedia.org/wikipedia/commons/a/ab/Dutch_Caribbean_location_map.svg
# https://www.cbs.nl/nl-nl/maatwerk/2020/39/buurt-wijk-en-gemeente-2020-voor-postcode-huisnummer
download_pc7:
wget -O ./raw/pc7.zip https://www.cbs.nl/-/media/_excel/2020/39/2020-cbs-pc6huisnr20200801-buurt.zip
download_regex_plugin:
wget -O re.so https://github.com/nalgeon/sqlean/releases/download/0.15.1/re.so
download_all: download_municipalities download_map_continental download_map_caribbean download_pc7 download_regex_plugin
convert_gemeenten:
xlsx2csv ./raw/gemeenten.xlsx > ./raw/gemeenten.csv
convert_pc7:
unzip ./raw/pc7.zip -d ./raw/pc7; \
rm ./raw/pc7.zip; \
./scripts/pc7.sh
convert_airtable:
dos2unix ./source/leden-Alles.csv
convert_all: convert_gemeenten convert_pc7 convert_airtable
import_afdelingen:
sqlite3 ${DB} 'DROP TABLE IF EXISTS afdelingen;'; \
sqlite3 ${DB} -separator ";" '.import ./source/afdelingen.csv afdelingen'
import_gemeenten_2020:
sqlite3 ${DB} 'DROP TABLE IF EXISTS gemeenten_2020;'; \
sqlite3 ${DB} -separator ";" '.import ./out/gemeenten2020_2021.csv gemeenten_2020'
import_gemeenten:
sqlite3 ${DB} 'DROP TABLE IF EXISTS gemeenten;'; \
sqlite3 ${DB} -separator "," '.import ./raw/gemeenten.csv gemeenten'
import_pc6_huisnr:
sqlite3 ${DB} 'DROP TABLE IF EXISTS pc6_huisnr;'; \
sqlite3 ${DB} -separator ";" '.import ./raw/pc7/pc6hnr20200801_gwb.csv pc6_huisnr'
import_airtable_leden:
sqlite3 ${DB} 'DROP TABLE IF EXISTS airtable_leden;'; \
sqlite3 ${DB} -separator "," '.import ./source/leden-Alles.csv airtable_leden'
import_bij1_gebieden:
sqlite3 ${DB} 'DROP TABLE IF EXISTS bij1_gebieden;'; \
sqlite3 ${DB} -separator "," '.import ./source/bij1-gebieden.csv bij1_gebieden'
import_all: import_afdelingen import_gemeenten_2020 import_gemeenten import_pc6_huisnr import_airtable_leden import_bij1_gebieden
# join source with our annotations
join_gemeenten:
sqlite3 ${DB} 'DROP VIEW IF EXISTS afdelingsgebieden; CREATE VIEW afdelingsgebieden AS SELECT Gemeentecode, gemeenten.GemeentecodeGM, gemeenten.Gemeentenaam, Provinciecode, ProvinciecodePV, Provincienaam, is_kern_gemeente, afdeling, benodigde_ondersteuningsverklaringen, verzamelde_ondersteuningsverklaringen FROM gemeenten LEFT JOIN bij1_gebieden ON gemeenten.GemeentecodeGM = bij1_gebieden.GemeentecodeGM;'
join_pc7:
sqlite3 ${DB} 'DROP VIEW IF EXISTS pc7; CREATE VIEW pc7 AS SELECT PC6, Huisnummer, Gemeentenaam2020 FROM pc6_huisnr LEFT JOIN gemeenten_2020 ON pc6_huisnr.Gemeente2020 = gemeenten_2020.Gemcode2020;'
join_pc7_bij1:
sqlite3 ${DB} 'DROP VIEW IF EXISTS pc7_bij1; CREATE VIEW pc7_bij1 AS SELECT * FROM pc7 LEFT JOIN afdelingsgebieden ON pc7.Gemeentenaam2020 = afdelingsgebieden.Gemeentenaam;'
# CREATE VIEW leden_pc7 AS
join_airtable_pc7:
sqlite3 ${DB} "SELECT load_extension('${PWD}/re')" "DROP VIEW IF EXISTS leden_pc7; SELECT *, REPLACE(UPPER(airtable_leden.Postcode), ' ', '') AS PC6, regexp_replace(airtable_leden.Straat, '[^0-9]+', '') AS Huisnummer FROM airtable_leden;"
join_airtable:
sqlite3 ${DB} "DROP VIEW IF EXISTS leden_afdeling; CREATE VIEW leden_afdeling AS SELECT * FROM leden_pc7 LEFT JOIN pc7_bij1 ON airtable_leden.PC6 = pc7_bij1.PC6 AND airtable_leden.Huisnummer = pc7_bij1.Huisnummer;"
join_all: join_gemeenten join_pc7 join_pc7_bij1 join_airtable_pc7 join_airtable
dump_afdelingsgebieden:
sqlite3 -header -csv ${DB} "select * from afdelingsgebieden;" > ./out/afdelingsgebieden.csv
dump_leden:
sqlite3 -header -csv ${DB} "select * from leden_afdeling;" > ./out/leden_afdeling.csv
dump_all: dump_afdelingsgebieden dump_leden
svg_tooltips:
cp ./raw/gemeenten.svg ./generated/gemeenten-tooltipped.svg; \
./scripts/svg-tooltip.sh
svg_afdelingen:
cp ./generated/gemeenten-tooltipped.svg ./generated/gemeenten-afdelingen.svg; \
./scripts/svg-afdelingen.sh
svg_ondersteuningsverklaringen:
cp ./generated/gemeenten-tooltipped.svg ./generated/gemeenten-ondersteuningsverklaringen.svg; \
./scripts/svg-ondersteuningsverklaringen.sh
svg_all: svg_tooltips svg_afdelingen svg_ondersteuningsverklaringen
run_all: install drop_all download_all convert_all import_all join_all dump_all svg_all
bij1_to_afdelingen_svg: import_gemeenten import_bij1_gebieden join_gemeenten dump_afdelingsgebieden svg_afdelingen
bij1_to_ondersteuningsverklaringen_svg: import_gemeenten import_bij1_gebieden join_gemeenten dump_afdelingsgebieden svg_ondersteuningsverklaringen