externalize svg loops to bash

somehow these failed when used from Make directly
This commit is contained in:
Kiara Grouwstra 2021-12-26 21:06:02 +01:00
parent 9f4ab20657
commit 065a1ab4df
5 changed files with 43 additions and 19 deletions

View File

@ -75,19 +75,20 @@ airtable_pc7:
join_airtable:
sqlite3 afdelingen.sqlite3 "CREATE VIEW leden_afdeling AS SELECT * FROM leden_pc7 JOIN pc7_bij1 ON airtable_leden.PC6 = pc7_bij1.PC6 AND airtable_leden.Huisnummer = pc7_bij1.Huisnummer;"
# insert title tags as child to path tags with the right id (e.g. GM0312, corresponding to gemeenten.csv's GemeentecodeGM).
svg_tooltips:
csv2json ./gemeenten.csv | jq -c '.[]' | while read -r gemeente; do perl -0777 -i -pe "s~(<(path|polygon) id=$(echo $gemeente | jq '.GemeentecodeGM') [^/]+)/>~\$1><title>$(echo $gemeente | jq '.Gemeentenaam' | sed -n 's/"//pg') ($(echo $gemeente | jq '.Provincienaam' | sed -n 's/"//pg'))</title></\$2>~igs" ./design/gemeenten.svg; perl -0777 -i -pe "s~(<g id=$(echo $gemeente | jq '.GemeentecodeGM')>)\$~\$1<title>$(echo $gemeente | jq '.Gemeentenaam' | sed -n 's/"//pg') ($(echo $gemeente | jq '.Provincienaam' | sed -n 's/"//pg'))</title>~igs" ./design/gemeenten.svg; done
cp ./design/gemeenten.svg ./design/gemeenten-tooltipped.svg; \
./svg-tooltip.sh
svg_gr:
cp ./design/gemeenten.svg ./design/gemeenten-gr.svg; \
./style_gr.sh; \
csv2json ./afdelingsgebieden.csv | jq -c '.[]' | while read -r gemeente; do perl -0777 -i -pe "s~(id=$(echo $gemeente | jq '.GemeentecodeGM') class=\"st0)\"~\$1 $(echo $gemeente | jq '.campagne_gr_2022' | sed -n 's/"//pg')\"~igs" ./design/gemeenten-gr.svg; perl -0777 -i -pe "s~(id=$(echo $gemeente | jq '.GemeentecodeGM'))>~\$1 class=\"$(echo $gemeente | jq '.campagne_gr_2022' | sed -n 's/"//pg')\">~igs" ./design/gemeenten-gr.svg; done
cp ./design/gemeenten-tooltipped.svg ./design/gemeenten-gr.svg; \
./svg-gr.sh
# doesn't work thru make?
svg_afdelingen:
cp ./design/gemeenten.svg ./design/gemeenten-afdelingen.svg; \
./style_afdelingen.sh; \
csv2json ./afdelingsgebieden.csv | jq -c '.[]' | while read -r gemeente; do perl -0777 -i -pe "s~(id=$(echo $gemeente | jq '.GemeentecodeGM') class=\"st0)\"~\$1 $(echo $gemeente | jq '.afdeling' | sed -n "s/[\"']//pg;s/\s/_/pg;s/-/_/pg")\"~igs" ./design/gemeenten-afdelingen.svg; perl -0777 -i -pe "s~(id=$(echo $gemeente | jq '.GemeentecodeGM'))>~\$1 class=\"$(echo $gemeente | jq '.afdeling' | sed -n "s/[\"']//pg;s/\s/_/pg;s/-/_/pg")\">~igs" ./design/gemeenten-afdelingen.svg; done
cp ./design/gemeenten-tooltipped.svg ./design/gemeenten-afdelingen.svg; \
./svg-afdelingen.sh
bij1_to_afdelingen_svg: import_bij1_gebieden join_gemeenten dump_afdelingsgebieden svg_afdelingen
svg_ondersteuningsverklaringen:
cp ./design/gemeenten-tooltipped.svg ./design/gemeenten-ondersteuningsverklaringen.svg; \
./svg-ondersteuningsverklaringen.sh

View File

@ -1,10 +0,0 @@
sed -i "s~</style>~ .Almere{fill:#6FFF69;}\\
.Almere>path{fill:#6FFF69;}\\
.Amsterdam{fill:#F94EEC;}\\
.Arnhem{fill:#FEA61E;}\\
.Nijmegen{fill:#FA4A5E;}\\
.Utrecht{fill:#C934FF;}\\
.Rotterdam{fill:#FBFD04;}\\
.Rotterdam>path{fill:#FBFD04;}\\
.Delft{fill:#02FFEB;}\\
</style>~" ./design/gemeenten-gr.svg

View File

@ -1,3 +1,4 @@
#!/usr/bin/bash
sed -i "s~</style>~ .Groningen{fill:#9AF3E1;}\\
.Groningen>path{fill:#9AF3E1;}\\
.Friesland{fill:#E5CAFF;}\\
@ -21,3 +22,10 @@ sed -i "s~</style>~ .Groningen{fill:#9AF3E1;}\\
.Rotterdam{fill:#FDDC8B;}\\
.Rotterdam>path{fill:#FDDC8B;}\\
</style>~" ./design/gemeenten-afdelingen.svg
csv2json ./afdelingsgebieden.csv | jq -c '.[]' | while read -r gemeente; do \
code=$(echo $gemeente | jq '.GemeentecodeGM'); \
class=$(echo $gemeente | jq '.afdeling' | sed -n "s/[\"']//pg;s/\s/_/pg;s/-/_/pg"); \
perl -0777 -i -pe "s~(id=${code} class=\"st0)\"~\$1 ${class}\"~is" ./design/gemeenten-afdelingen.svg; \
perl -0777 -i -pe "s~(id=${code})>~\$1 class=\"${class}\">~is" ./design/gemeenten-afdelingen.svg; \
done

18
svg-gr.sh Executable file
View File

@ -0,0 +1,18 @@
#!/usr/bin/bash
sed -i "s~</style>~ .Almere{fill:#6FFF69;}\\
.Almere>path{fill:#6FFF69;}\\
.Amsterdam{fill:#F94EEC;}\\
.Arnhem{fill:#FEA61E;}\\
.Nijmegen{fill:#FA4A5E;}\\
.Utrecht{fill:#C934FF;}\\
.Rotterdam{fill:#FBFD04;}\\
.Rotterdam>path{fill:#FBFD04;}\\
.Delft{fill:#02FFEB;}\\
</style>~" ./design/gemeenten-gr.svg
csv2json ./afdelingsgebieden.csv | jq -c '.[]' | while read -r gemeente; \
code=$(echo $gemeente | jq '.GemeentecodeGM'); \
class=$(echo $gemeente | jq '.campagne_gr_2022' | sed -n 's/"//pg'); \
do perl -0777 -i -pe "s~(id=${code} class=\"st0)\"~\$1 ${class}\"~is" ./design/gemeenten-gr.svg; \
perl -0777 -i -pe "s~(id=${code})>~\$1 class=\"${class}\">~is" ./design/gemeenten-gr.svg; \
done

7
svg-tooltip.sh Executable file
View File

@ -0,0 +1,7 @@
#!/usr/bin/bash
csv2json ./gemeenten.csv | jq -c '.[]' | while read -r gemeente; do \
code=$(echo $gemeente | jq '.GemeentecodeGM'); \
title="$(echo $gemeente | jq '.Gemeentenaam' | sed -n 's/"//pg') ($(echo $gemeente | jq '.Provincienaam' | sed -n 's/"//pg'))"; \
perl -0777 -i -pe "s~(<(path|polygon) id=${code} [^/]+)/>~\$1><title>${title}</title></\$2>~is" ./design/gemeenten-tooltipped.svg; \
perl -0777 -i -pe "s~(<g id=${code}>)\$~\$1<title>${title}</title>~is" ./design/gemeenten-tooltipped.svg; \
done