From 68b450077786f14534ecf0f0b35542ec2bcbc170 Mon Sep 17 00:00:00 2001 From: Andrzej Date: Tue, 11 Jun 2019 17:27:36 +0200 Subject: [PATCH] fix - server discards configuration geometry_field --- server.py | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/server.py b/server.py index 8122558..9802a73 100644 --- a/server.py +++ b/server.py @@ -26,10 +26,11 @@ def GeneratePrepared(layers): queries = [] prepared = "PREPARE gettile(geometry, numeric, numeric, numeric) AS " for layer in layers['Layer']: + geometry_field = layer['Datasource']['geometry_field'] layer_query = layer['Datasource']['table'].lstrip().rstrip() # Remove lead and trailing whitespace layer_query = layer_query[1:len(layer_query)-6] # Remove enough characters to remove first and last () and "AS t" - layer_query = layer_query.replace("geometry", "ST_AsMVTGeom(geometry,!bbox!,4096,0,true) AS mvtgeometry") - base_query = "SELECT ST_ASMVT('"+layer['id']+"', 4096, 'mvtgeometry', tile) FROM ("+layer_query+" WHERE ST_AsMVTGeom(geometry, !bbox!,4096,0,true) IS NOT NULL) AS tile" + layer_query = layer_query.replace("geometry", "ST_AsMVTGeom("+geometry_field+",!bbox!,4096,0,true) AS mvtgeometry") + base_query = "SELECT ST_ASMVT('"+layer['id']+"', 4096, 'mvtgeometry', tile) FROM ("+layer_query+" WHERE ST_AsMVTGeom("+geometry_field+", !bbox!,4096,0,true) IS NOT NULL) AS tile" queries.append(base_query.replace("!bbox!","$1").replace("!scale_denominator!","$2").replace("!pixel_width!","$3").replace("!pixel_height!","$4")) prepared = prepared + " UNION ALL ".join(queries) + ";" print(prepared)