|
@@ -23,28 +23,33 @@ class WFS(OWS):
|
|
|
|
|
|
|
|
mapobj = self.getMapObj(mapfilename)
|
|
mapobj = self.getMapObj(mapfilename)
|
|
|
|
|
|
|
|
|
|
+ layerDefFile = self.createLayerDefinitionFile("wfs",
|
|
|
|
|
+ os.path.join( os.path.dirname(__file__), "templates",'wfs.xml'))
|
|
|
|
|
+
|
|
|
|
|
+ ds = ogr.Open(layerDefFile)
|
|
|
|
|
+
|
|
|
for layer in self.capabilities.FeatureTypeList.getchildren():
|
|
for layer in self.capabilities.FeatureTypeList.getchildren():
|
|
|
if layer.tag != "{http://www.opengis.net/wfs}FeatureType":
|
|
if layer.tag != "{http://www.opengis.net/wfs}FeatureType":
|
|
|
continue
|
|
continue
|
|
|
|
|
+
|
|
|
name = layer.Name.text
|
|
name = layer.Name.text
|
|
|
logging.debug("Creating layer %s" % name)
|
|
logging.debug("Creating layer %s" % name)
|
|
|
|
|
|
|
|
-
|
|
|
|
|
- layerDefFile = self.createLayerDefinitionFile(name,
|
|
|
|
|
- os.path.join( os.path.dirname(__file__), "templates",'wfs.xml'))
|
|
|
|
|
-
|
|
|
|
|
- ds = ogr.Open(layerDefFile)
|
|
|
|
|
-
|
|
|
|
|
lyrobj = mapscript.layerObj(mapobj)
|
|
lyrobj = mapscript.layerObj(mapobj)
|
|
|
lyrobj.name = name
|
|
lyrobj.name = name
|
|
|
lyrobj.title = layer.Title.text
|
|
lyrobj.title = layer.Title.text
|
|
|
- lyrobj.data = layerDefFile
|
|
|
|
|
lyrobj.setMetaData("wms_title",layer.Title.text)
|
|
lyrobj.setMetaData("wms_title",layer.Title.text)
|
|
|
lyrobj.setMetaData("wfs_typename",layer.Name.text)
|
|
lyrobj.setMetaData("wfs_typename",layer.Name.text)
|
|
|
lyrobj.setMetaData("wfs_version",self.capabilities.attrib["version"])
|
|
lyrobj.setMetaData("wfs_version",self.capabilities.attrib["version"])
|
|
|
|
|
+ lyrobj.setConnectionType(mapscript.MS_OGR,'')
|
|
|
|
|
+ lyrobj.connection = layerDefFile
|
|
|
|
|
+ lyrobj.data = name
|
|
|
|
|
|
|
|
if ds:
|
|
if ds:
|
|
|
ogrLayer = ds.GetLayerByName(name)
|
|
ogrLayer = ds.GetLayerByName(name)
|
|
|
|
|
+ e = ogrLayer.GetExtent()
|
|
|
|
|
+ lyrobj.setMetaData("wms_extent","%s %s %s %s" % \
|
|
|
|
|
+ (e[0],e[2],e[1],e[3]))
|
|
|
if ogrLayer:
|
|
if ogrLayer:
|
|
|
feature = ogrLayer.GetNextFeature()
|
|
feature = ogrLayer.GetNextFeature()
|
|
|
if feature:
|
|
if feature:
|