simpler WHERE clauses

This commit is contained in:
Motiejus Jakštys 2021-04-13 10:52:52 +03:00
parent 2ef3cb89c0
commit 22d048e7fa
2 changed files with 25 additions and 45 deletions

View File

@ -64,74 +64,59 @@ mj-msc-full.pdf: mj-msc.pdf version.inc.tex $(ARCHIVABLES)
mv .tmp-$@ $@ mv .tmp-$@ $@
test-figures.pdf: layer2img.py .faux_test test-figures.pdf: layer2img.py .faux_test
python ./layer2img.py --group1-table=wm_figures --outfile=$@ python ./layer2img.py --group1-select=wm_figures --outfile=$@
fig8-definition-of-a-bend.pdf: layer2img.py Makefile .faux_test fig8-definition-of-a-bend.pdf: layer2img.py Makefile .faux_test
python ./layer2img.py \ python ./layer2img.py \
--group1-table=wm_debug \ --group1-select="wm_debug where name='fig8' AND stage='bbends' AND gen=1" \
--group1-where="name='fig8' AND stage='bbends' AND gen=1" \
--group2-cmap=1 \ --group2-cmap=1 \
--group2-table=wm_debug \ --group2-select="wm_debug where name='fig8' AND stage='bbends-polygon' AND gen=1" \
--group2-where="name='fig8' AND stage='bbends-polygon' AND gen=1" \
--outfile=$@ --outfile=$@
fig5-gentle-inflection-before.pdf: layer2img.py Makefile .faux_test fig5-gentle-inflection-before.pdf: layer2img.py Makefile .faux_test
python ./layer2img.py \ python ./layer2img.py \
--widthdiv=2 \ --widthdiv=2 \
--group1-table=wm_debug \ --group1-select="wm_debug where name='fig5' AND stage='bbends' AND gen=1" \
--group1-where="name='fig5' AND stage='bbends' AND gen=1" \
--group2-cmap=1 \ --group2-cmap=1 \
--group2-table=wm_debug \ --group2-select="wm_debug where name='fig5' AND stage='bbends-polygon' AND gen=1" \
--group2-where="name='fig5' AND stage='bbends-polygon' AND gen=1" \
--outfile=$@ --outfile=$@
fig5-gentle-inflection-after.pdf: layer2img.py Makefile .faux_test fig5-gentle-inflection-after.pdf: layer2img.py Makefile .faux_test
python ./layer2img.py \ python ./layer2img.py \
--widthdiv=2 \ --widthdiv=2 \
--group1-table=wm_debug \ --group1-select="wm_debug where name='fig5' AND stage='cinflections' AND gen=1" \
--group1-where="name='fig5' AND stage='cinflections' AND gen=1" \ --group2-select="wm_debug where name='fig5' AND stage='cinflections-polygon' AND gen=1" \
--group2-cmap=1 \ --group2-cmap=1 \
--group2-table=wm_debug \
--group2-where="name='fig5' AND stage='cinflections-polygon' AND gen=1" \
--outfile=$@ --outfile=$@
inflection-1-gentle-inflection-before.pdf: layer2img.py Makefile .faux_test inflection-1-gentle-inflection-before.pdf: layer2img.py Makefile .faux_test
python ./layer2img.py \ python ./layer2img.py \
--widthdiv=2 \ --widthdiv=2 \
--group1-table=wm_debug \ --group1-select="wm_debug where name='inflection-1' AND stage='bbends' AND gen=1" \
--group1-where="name='inflection-1' AND stage='bbends' AND gen=1" \ --group2-select="wm_debug where name='inflection-1' AND stage='bbends-polygon' AND gen=1" \
--group2-cmap=1 \ --group2-cmap=1 \
--group2-table=wm_debug \
--group2-where="name='inflection-1' AND stage='bbends-polygon' AND gen=1" \
--outfile=$@ --outfile=$@
inflection-1-gentle-inflection-after.pdf: layer2img.py Makefile .faux_test inflection-1-gentle-inflection-after.pdf: layer2img.py Makefile .faux_test
python ./layer2img.py \ python ./layer2img.py \
--widthdiv=2 \ --widthdiv=2 \
--group1-table=wm_debug \ --group1-select="wm_debug where name='inflection-1' AND stage='cinflections' AND gen=1" \
--group1-where="name='inflection-1' AND stage='cinflections' AND gen=1" \ --group2-select="wm_debug where name='inflection-1' AND stage='cinflections-polygon' AND gen=1" \
--group2-cmap=1 \ --group2-cmap=1 \
--group2-table=wm_debug \
--group2-where="name='inflection-1' AND stage='cinflections-polygon' AND gen=1" \
--outfile=$@ --outfile=$@
fig6-self-crossing-before.pdf: layer2img.py Makefile .faux_test fig6-self-crossing-before.pdf: layer2img.py Makefile .faux_test
python ./layer2img.py \ python ./layer2img.py \
--widthdiv=4 \ --widthdiv=4 \
--group1-table=wm_debug \ --group1-select="wm_debug where name='fig6' AND stage='bbends' AND gen=1" \
--group1-where="name='fig6' AND stage='bbends' AND gen=1" \ --group2-select="wm_visuals where name='fig6-baseline'" --group2-linestyle=dashed \
--group2-table=wm_visuals \ --group3-select="wm_visuals where name='fig6-newline'" --group3-linestyle=dashed \
--group2-where="name='fig6-baseline'" \
--group3-table=wm_visuals \
--group3-where="name='fig6-newline'" \
--group3-linestyle=dashed \
--outfile=$@ --outfile=$@
fig6-self-crossing-after.pdf: layer2img.py Makefile .faux_test fig6-self-crossing-after.pdf: layer2img.py Makefile .faux_test
python ./layer2img.py \ python ./layer2img.py \
--widthdiv=4 \ --widthdiv=3 \
--group1-table=wm_debug \ --group1-select="wm_debug where name='fig6' AND stage='dcrossings' AND gen=1" \
--group1-where="name='fig6' AND stage='dcrossings' AND gen=1" \
--outfile=$@ --outfile=$@
.faux_test: tests.sql wm.sql .faux_db .faux_test: tests.sql wm.sql .faux_db

View File

@ -17,18 +17,15 @@ PSQL_CREDS = "host=127.0.0.1 dbname=osm user=osm password=osm"
def parse_args(): def parse_args():
parser = argparse.ArgumentParser( parser = argparse.ArgumentParser(
description='Convert geopackage to an image') description='Convert geopackage to an image')
parser.add_argument('--group1-table') parser.add_argument('--group1-select', required=True)
parser.add_argument('--group1-where')
parser.add_argument('--group1-cmap', type=bool) parser.add_argument('--group1-cmap', type=bool)
parser.add_argument('--group1-linestyle') parser.add_argument('--group1-linestyle')
parser.add_argument('--group2-table') parser.add_argument('--group2-select')
parser.add_argument('--group2-where')
parser.add_argument('--group2-cmap', type=bool) parser.add_argument('--group2-cmap', type=bool)
parser.add_argument('--group2-linestyle') parser.add_argument('--group2-linestyle')
parser.add_argument('--group3-table') parser.add_argument('--group3-select')
parser.add_argument('--group3-where')
parser.add_argument('--group3-cmap', type=bool) parser.add_argument('--group3-cmap', type=bool)
parser.add_argument('--group3-linestyle') parser.add_argument('--group3-linestyle')
@ -40,13 +37,11 @@ def parse_args():
return parser.parse_args() return parser.parse_args()
def read_layer(table, maybe_where=None): def read_layer(select):
if not table: if not select:
return return
conn = psycopg2.connect(PSQL_CREDS) conn = psycopg2.connect(PSQL_CREDS)
sql = "SELECT way FROM %s" % table sql = "SELECT way FROM %s" % select
if maybe_where:
sql += " WHERE %s" % maybe_where
return geopandas.read_postgis(sql, con=conn, geom_col='way') return geopandas.read_postgis(sql, con=conn, geom_col='way')
def plot_args(color, maybe_cmap, maybe_linestyle): def plot_args(color, maybe_cmap, maybe_linestyle):
@ -61,9 +56,9 @@ def plot_args(color, maybe_cmap, maybe_linestyle):
def main(): def main():
args = parse_args() args = parse_args()
group1 = read_layer(args.group1_table, args.group1_where) group1 = read_layer(args.group1_select)
group2 = read_layer(args.group2_table, args.group2_where) group2 = read_layer(args.group2_select)
group3 = read_layer(args.group3_table, args.group3_where) group3 = read_layer(args.group3_select)
c1 = plot_args(BLACK, args.group1_cmap, args.group1_linestyle) c1 = plot_args(BLACK, args.group1_cmap, args.group1_linestyle)
c2 = plot_args(ORANGE, args.group2_cmap, args.group2_linestyle) c2 = plot_args(ORANGE, args.group2_cmap, args.group2_linestyle)
c3 = plot_args(GREEN, args.group3_cmap, args.group3_linestyle) c3 = plot_args(GREEN, args.group3_cmap, args.group3_linestyle)