瀏覽代碼

prefer EPSG:4326 for WFS layers

Jachym Cepicky 13 年之前
父節點
當前提交
f23f805c67
共有 1 個文件被更改,包括 6 次插入11 次删除
  1. 6 11
      wfs/__init__.py

+ 6 - 11
wfs/__init__.py

@@ -69,9 +69,10 @@ class WFS(OWS):
             lyrobj.setConnectionType(mapscript.MS_WFS,'')
             lyrobj.connection = self.getLayerUrl()
             lyrobj.data = re.sub(r".*:","",name)
+            crs = self.__getLayerCrs(layer.crsOptions)
             if ds:
                 ogrLayer = ds.GetLayerByName(name)
-                extent = self.getLayerExtent(layer,layer.crsOptions[0])
+                extent = self.getLayerExtent(layer,crs)
                 if extent:
                     lyrobj.setMetaData("wms_extent","%s %s %s %s" % \
                             (extent[0],extent[1],extent[2],extent[3]))
@@ -83,8 +84,8 @@ class WFS(OWS):
                 logging.debug("No ogrDataSource found")
                 continue
 
-            #lyrobj.setProjection(self.__getLayerCrs(layer.crsOptions))
-            lyrobj.setProjection(layer.crsOptions[0].getcode())
+            lyrobj.setProjection(crs.getcode())
+            #lyrobj.setProjection(layer.crsOptions[0].getcode())
 
             lyrobj.dump = mapscript.MS_TRUE 
             lyrobj.template = "foo"
@@ -174,14 +175,8 @@ class WFS(OWS):
         take somethign else, if you can
         """
         for crs in crss:
-            try:
-                proj = pyproj.Proj("+init=%s"%crs)
-                if proj.is_latlon():
-                    continue
-                else:
-                    return crs
-            except:
-                pass
+            if crs.getcode() == "EPSG:4326":
+                return crs
         return crss[0]