WFS Serving Multipolygon as Multipoint

Steve Lime steve.lime at DNR.STATE.MN.US
Mon Nov 7 10:20:42 PST 2005


I think it is because the PostGIS driver forces features into MapServer shapeObj's of a given type
based on layer type. Since your layer type is POINT the resulting shape from PostGIS is of type
MS_SHAPE_POINT. The GML writer knows nothing about the original storage format.

The bug you mention has been fixed in the CVS...

Steve

>>> Simpson <asimpson at I-55.COM> 11/07/05 10:54 AM >>>
Hello,

Why would a postgis multipolygon be served as a multipoint?

Also, with the DATA statement set to 'the_geom from eden_isles', maps would
render fine but the WFS server wouldn't return any features.  Looks like it
is trying to pass a long as the feature_id, and the table primary key is a
string.  The SQL calls from WFS have 'name = 0' in the 'where' clause, and
obviously no rows are returned.  This used to work in earlier versions.  Are
geo-tables with char PK's supported?

Thanks for any info,
Drew.

============================================================================
============

MapServer version 4.6.0 OUTPUT=PNG OUTPUT=JPEG OUTPUT=WBMP OUTPUT=SVG
SUPPORTS=PROJ SUPPORTS=FREETYPE SUPPORTS=WMS_SERVER SUPPORTS=WMS_CLIENT
SUPPORTS=WFS_SERVER SUPPORTS=WFS_CLIENT SUPPORTS=THREADS INPUT=TIFF
INPUT=EPPL7 INPUT=POSTGIS INPUT=OGR INPUT=GDAL INPUT=SHAPEFILE DEBUG=MSDEBUG

============================================================================
=============

LAYER
  NAME "eden_isles"
  STATUS OFF
  TYPE POINT
  DUMP TRUE
  CONNECTIONTYPE postgis
  CONNECTION "user=xxx password=xxx dbname=xxx host=xxx port=5432"
  DATA "the_geom from (select oid, name,description,the_geom,an_int,comments
from eden_isles) as foo using UNIQUE oid using SRID=32615"
  TEMPLATE "/xxx/query_template.xml"
  TOLERANCE 10
  TOLERANCEUNITS meters
  PROJECTION
    "init=epsg:32615"
  END
  METADATA
    "wfs_title"  "eden_isles"
    "wfs_srs"    "EPSG:32615"
    "wfs_abstract" "eden_isles"
    "wfs_keywordlist" "eden_isles"
  END
END

============================================================================
=============

            Table "public.eden_isles"
   Column    |          Type          | Modifiers
-------------+------------------------+-----------
 name        | character(24)          | not null
 description | character varying(256) |
 the_geom    | geometry               |
 an_int      | integer                |
 comments    | character varying      |
Indexes:
    "eden_isles_pkey" primary key, btree (name)
    "idx_eden_isles_gist" gist (the_geom)
    "idx_eden_isles_oid" btree (oid)
Check constraints:
    "$1" CHECK (srid(the_geom) = 32615)
    "$2" CHECK (geometrytype(the_geom) = 'MULTIPOLYGON'::text OR the_geom IS
NULL)

============================================================================
============

<?xml version='1.0' encoding="ISO-8859-1" ?>
<wfs:FeatureCollection
   xmlns:myns="http://www.ttt.org/myns"
   xmlns:wfs="http://www.opengis.net/wfs"
   xmlns:gml="http://www.opengis.net/gml"
   xmlns:ogc="http://www.opengis.net/ogc"
   xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
   xsi:schemaLocation="http://www.opengis.net/wfs
http://ogc.dmsolutions.ca/wfs/1.0.0/WFS-basic.xsd 
                       http://www.ttt.org/myns 
https://xxx?SERVICE=WFS&VERSION=1.0.0&REQUEST=DescribeFeatureType&am 
p;TYPENAME=eden_isles&OUTPUTFORMAT=XMLSCHEMA">
      <gml:boundedBy>
      	<gml:Box srsName="EPSG:32615">
      		<gml:coordinates>806291.512569,3346809.680220
809504.014362,3348828.847769</gml:coordinates>
      	</gml:Box>
      </gml:boundedBy>
    <gml:featureMember>
      <myns:eden_isles>
        <gml:boundedBy>
        	<gml:Box srsName="EPSG:32615">
        		<gml:coordinates>809299.323171,3346809.680220
809504.014362,3347069.507156</gml:coordinates>
        	</gml:Box>
        </gml:boundedBy>
        <myns:msGeometry>
        <gml:MultiPoint srsName="EPSG:32615">
          <gml:Point>
            <gml:coordinates>809299.323171,3347069.507156</gml:coordinates>
          </gml:Point>
          <gml:Point>
            <gml:coordinates>809504.014362,3347069.507156</gml:coordinates>
          </gml:Point>
          <gml:Point>
            <gml:coordinates>809504.014362,3346809.680220</gml:coordinates>
          </gml:Point>
          <gml:Point>
            <gml:coordinates>809299.323171,3346809.680220</gml:coordinates>
          </gml:Point>
          <gml:Point>
            <gml:coordinates>809299.323171,3347069.507156</gml:coordinates>
          </gml:Point>
        </gml:MultiPoint>
        <myns:msGeometry>     <----- I reported in Bugzilla
      </myns:eden_isles>
    </gml:featureMember>
</wfs:FeatureCollection>



More information about the MapServer-users mailing list