From 4f56801e9737e1f9201ea5e2d1f23f759d65d437 Mon Sep 17 00:00:00 2001 From: Guilhem Moulin Date: Sat, 19 Oct 2024 17:08:33 +0200 Subject: =?UTF-8?q?Add=20layers=20from=20Svenska=20Kraftn=C3=A4t=20(SvK).?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- webmap-publish | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) (limited to 'webmap-publish') diff --git a/webmap-publish b/webmap-publish index 1c1e9a2..f3c6c5d 100755 --- a/webmap-publish +++ b/webmap-publish @@ -212,7 +212,14 @@ def getSourceLayer(ds_src, layerdef, extent=None): elif ogr.GT_IsSubClassOf(geomType, ogr.wkbCurve) or ogr.GT_IsSubClassOf(geomType, ogr.wkbMultiCurve): columns.append('ROUND(CAST(ST_Length(m.' + geomFieldName_esc + ') * ' + str(linearUnits) + ' AS numeric), 2) AS "GeomLength"') - columns.append('m.' + geomFieldName_esc) + + transform_geometry = layerdef.get('transform-geometry', None) + if transform_geometry is None: + columns.append('m.' + geomFieldName_esc) + elif transform_geometry == 'centroid': + columns.append('ST_Centroid(m.' + geomFieldName_esc + ') AS ' + geomFieldName_esc) + else: + raise Exception(f'Unsupported geometry transformation: {transform_geometry}') query = 'SELECT ' + ', '.join(columns) + ' FROM ' + escapeIdentifier(lyr_src.GetName()) + ' m' -- cgit v1.2.3