From 142a4987dcd784fa9a933d5d97fc194c9f799607 Mon Sep 17 00:00:00 2001 From: m431m <m431m@tutanota.com> Date: Thu, 31 May 2018 16:21:57 +0200 Subject: [PATCH] Improved data sql request (with srid, with unique) --- src/mra.py | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/src/mra.py b/src/mra.py index 873b83f..03338ac 100644 --- a/src/mra.py +++ b/src/mra.py @@ -291,6 +291,9 @@ class Mapfile(MetadataMixin): self.ms.setProjection("+proj=longlat +ellps=WGS84 +datum=WGS84 +no_defs") self.ms.setExtent(-180,-90,180,90) self.ms.units = mapscript.MS_DD + self.set_metadata("ows_title", "OGC Web Service") + self.set_metadata("ows_srs", "EPSG:4326") + for ows in ("wms", "wfs", "wcs"): self.set_metadata("%s_enable_request" % ows, "") else: @@ -446,6 +449,11 @@ class FeatureTypeModel(LayerModel): connection += " ".join("%s=%s" % (p, cparam[p]) for p in ["user", "password"] if p in cparam) self.ms.connection = connection self.ms.data = '%s FROM %s."%s"' % (ds[ft_name].get_geometry_column(), cparam.get("schema", "public"), ft_name) + if ft.get_fid_column() is not None: + self.ms.data += ' USING UNIQUE %s' % ft.get_fid_column() + print(ft.get_authority_name(), ft.get_authority_code()) + if ft.get_authority_code() is not None: + self.ms.data += ' USING SRID=%s' % ft.get_authority_code() # self.set_metadata("ows_extent", "%s %s %s %s" % # (ft.get_extent().minX(), ft.get_extent().minY(), # ft.get_extent().maxX(), ft.get_extent().maxY())) @@ -634,7 +642,10 @@ class Workspace(Mapfile): copy = info for m in path[:-1]: copy = copy.get(m) - del copy[path[-1]] + try: + del copy[path[-1]] + except: + pas return info -- GitLab