0

我正在尝试使用 Mapserver 生成的 GML 来创建带有 openlayers 的弹出窗口,如果数据源来自 shp 文件,则一切正常,但是,postgis 数据源会带来异常,例如“这可能是由于堆损坏,这表明HTTPFormServer.exe 或它已加载的任何 DLL 中的错误。” 另一个,如果我只是从 postgis 读取图层数据来渲染标签而不是 WFS,它也可以正常工作

谁能帮忙告诉一下发生了什么?

环境:mapserver5.6.1、postgis8.4、openlayers2.10

对于 shp 数据源,有效

    LAYER
        NAME poi_point
        METADATA
          "wfs_title"         "poi_point" ##REQUIRED
          "wfs_typename"      "poi_point" ## REQUIRED
          "gml_include_items" "all" ## Optional (serves all attributes for layer)
          "gml_featureid"     "ID" ## REQUIRED
          "gml_geometries"    "geometry"
          "gml_geometry_type" "point"
        END
        PROJECTION
            "proj=latlong"
            "ellps=GRS80"
            "datum=NAD27"
        END 


        DATA poi_point
        STATUS ON
        TYPE POINT
        DUMP TRUE
        MAXSCALEDENOM  2400
        CLASS
            STYLE
                COLOR 0 0 0
                OUTLINECOLOR 255 255 255
            END
        END
    END

对于 postgis 数据源,发生异常

LAYER
    NAME poi_point
    DATA "the_geom from poi_point"
    METADATA
      "wfs_title"         "poi_point" ##REQUIRED
      "wfs_typename"      "poi_point" ## REQUIRED
      "gml_include_items" "all" ## Optional (serves all attributes for layer)
      "gml_featureid"     "ID" ## REQUIRED
      "gml_geometries"    "geometry"
      "gml_geometry_type" "point"
    END
    PROJECTION
        "proj=latlong"
        "ellps=GRS80"
        "datum=NAD27"
    END 

    CONNECTION "user=postgres password=springtime dbname=postgis host=localhost port=5432"
    CONNECTIONTYPE postgis
    STATUS ON
    TYPE POINT
    DUMP TRUE
    MAXSCALEDENOM  2400
    CLASS
        STYLE
            COLOR 0 0 0
            OUTLINECOLOR 255 255 255
        END
    END
END
4

1 回答 1

0

我发现是mapserver-5.6.1的一个bug,就是msPostGISBuildSQLBox中分配的内存不够,放大就ok了。

于 2011-10-15T05:15:12.567 回答