Skip to content
Snippets Groups Projects
Commit df5edf07 authored by Maël Méliani's avatar Maël Méliani
Browse files

Merge server.py

parent 79174bdc
No related branches found
No related tags found
No related merge requests found
......@@ -291,6 +291,16 @@ class LayerModel(MetadataMixin):
self.configure_layer(layer, ws)
return layer
def get_extent(self):
extent = self.ms.getExtent()
return stores.Extent(extent.minx, extent.miny, extent.maxx, extent.maxy)
def get_latlon_extent(self):
rect = mapscript.rectObj(*self.get_extent())
res = rect.project(mapscript.projectionObj(self.ms.getProjection()),
mapscript.projectionObj('+init=epsg:4326'))
return stores.Extent(rect.minx, rect.miny, rect.maxx, rect.maxy)
class FeatureTypeModel(LayerModel):
"""
......@@ -318,7 +328,7 @@ class FeatureTypeModel(LayerModel):
self.ms.connection = "dbname=%s port=%s host=%s user=%s password=%s" % (
cparam["database"], cparam["port"], cparam["host"], cparam["user"], cparam["password"])
self.ms.data = "%s FROM %s" % (ds[ft_name].get_geometry_column(), ft_name)
self.set_metadata("wms_extent", "%s %s %s %s" %
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())
)
......@@ -359,7 +369,6 @@ class FeatureTypeModel(LayerModel):
layer.ms.setMetaData("wfs_getfeature_formatlist", "OGRGML,SHAPEZIP")
layer.ms.setMetaData("gml_types", "auto")
# TODO: layer.ms.setMetaData("wfs_extent", "")
# TODO: layer.ms.setMetaData("wfs_metadataurl_format", "")
# TODO: layer.ms.setMetaData("wfs_metadataurl_href", "")
# TODO: layer.ms.setMetaData("wfs_metadataurl_type", "")
......@@ -453,7 +462,6 @@ class CoverageModel(LayerModel):
layer.ms.setMetaData("wcs_enable_request", "GetCapabilities GetCoverage DescribeCoverage")
# TODO: layer.set_metadata("wcs_srs", "")
# TODO: layer.set_metadata("wcs_extent", "")
# TODO: layer.set_metadata("wcs_getfeature_formatlist", "")
# TODO: layer.set_metadata("wcs_metadataurl_format", "")
# TODO: layer.set_metadata("wcs_metadataurl_href", "")
......
......@@ -224,15 +224,16 @@ class featuretype(object):
@HTTPCompatible()
def GET(self, map_name, ws_name, ds_name, ft_name, format):
mf, ws = get_mapfile_workspace(map_name, ws_name)
with webapp.mightNotFound("featureType", datastore=ds_name):
ft = ws.get_featuretypemodel(ft_name, ds_name)
ds = ws.get_datastore(ds_name)
with webapp.mightNotFound("dataStore", datastore=ds_name):
dsft = ds[ft_name]
extent = dsft.get_extent()
latlon_extent = dsft.get_latlon_extent()
with webapp.mightNotFound("featureType", datastore=ds_name):
ft = ws.get_featuretypemodel(ft_name, ds_name)
extent = ft.get_extent()
latlon_extent = ft.get_latlon_extent()
return {"featureType": ({
"name": ft.name,
......@@ -399,7 +400,7 @@ class coverage(object):
with webapp.mightNotFound("coveragestore", workspace=ws_name):
cs = ws.get_coveragestore(cs_name)
extent = cs.get_extent()
extent = c.get_extent()
latlon_extent = cs.get_latlon_extent()
return {"coverage": ({
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment