fix - server discards configuration geometry_field
This commit is contained in:
parent
66d17625d8
commit
68b4500777
@ -26,10 +26,11 @@ def GeneratePrepared(layers):
|
|||||||
queries = []
|
queries = []
|
||||||
prepared = "PREPARE gettile(geometry, numeric, numeric, numeric) AS "
|
prepared = "PREPARE gettile(geometry, numeric, numeric, numeric) AS "
|
||||||
for layer in layers['Layer']:
|
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['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[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")
|
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, !bbox!,4096,0,true) IS NOT NULL) AS tile"
|
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"))
|
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) + ";"
|
prepared = prepared + " UNION ALL ".join(queries) + ";"
|
||||||
print(prepared)
|
print(prepared)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user