[mapserver-users] MapServer, WFS and Oracle

Jelmer Baas Baas at speerit.nl
Wed Nov 18 04:54:31 PST 2009


Jukka,

Thanks for the little tip! I just tested the "test url" you gave me, and it also didn't return anything. After checking the log files I found this:

[Wed Nov 18 13:50:46 2009].176000 msOracleSpatialLayerGetShape(): OracleSpatial error. Error parsing OracleSpatial DATA variable for query. To execute query functions you need to define one unique column [USING UNIQUE <#column>]

Chaning the query from
DATA "GEOLOC FROM ADDRESS USING SRID 90112 VERSION 10g"
to
DATA "GEOLOC FROM ADDRESS USING UNIQUE ID SRID 90112 VERSION 10g"

Did the trick. Not too bright of me that I didn't check the log file, I admit, but might I recommend outputting this message to the client anyway?

Thanks for the help, I can now continue fiddling with projections, my favorite! *sigh* :)

Regards,
Jelmer

> -----Original Message-----
> From: Rahkonen Jukka [mailto:Jukka.Rahkonen at mmmtike.fi] 
> Sent: woensdag 18 november 2009 13:47
> To: Jelmer Baas; mapserver-users at lists.osgeo.org
> Subject: Re: [mapserver-users] MapServer, WFS and Oracle
> 
> Hi,
> 
> If you haven't done it yet, check that you can for sure get 
> some data out of your service.
> 
> mapserv.exe?map=address.map&typename=address&SERVICE=WFS&VERSI
> ON=1.0.0&REQUEST=GetFeature&MaxFeatures=10
> 
> If yes, have a look at the returned data and see what kind of 
> coordinates it likes to send you. Just to be sure that your 
> BBOX is correct. Also, add DEBUG=5 to the layer definitions 
> and look at the Mapserver errorfile to understand more about 
> what is happening.
> 
> -Jukka-
> 
> > -----Alkuperäinen viesti-----
> > Lähettäjä: Jelmer Baas [mailto:Baas at speerit.nl] 
> > Lähetetty: 18. marraskuuta 2009 14:39
> > Vastaanottaja: Rahkonen Jukka; mapserver-users at lists.osgeo.org
> > Aihe: RE: [mapserver-users] MapServer, WFS and Oracle
> > 
> > Bart, Jukka,
> > 
> > The shoes taste wonderful. The request comes from OpenLayers, 
> > and I can't find how to change it to WFS 1.1, but that'll be 
> > another Google search, soon. Right now I thought it'd be 
> > smart to see if I at least can get *some* results, manually. 
> > This however also fails.
> > 
> > My current request
> > mapserv.exe?map=address.map&typename=address&SERVICE=WFS&VERSI
> > ON=1.0.0&REQUEST=GetFeature&SRS=EPSG%3A28992&BBOX=125474.00000
> 0,381967.999850,206652.000100,470382.335300
> > 
> > The coordinates come from a previous request (gml:boundedBy) 
> > and should definatly contain some points. An select count(id) 
> > from address where x > 125474 and y > 206652 and x < 381967 
> > and y < 470382 returns 24002 rows (the geo object is also 
> > saved as plain X/Y).
> > 
> > For completeness, here's my current MAP file:
> > 
> > MAP
> > 	NAME Test
> > 	STATUS ON
> > 	UNITS meters
> > 	FONTSET "fontset.txt" 
> > 	
> > 	OUTPUTFORMAT
> > 		NAME aggpng24
> > 		DRIVER AGG/PNG
> > 		TRANSPARENT ON
> > 		IMAGEMODE RGBA
> > 		MIMETYPE "image/png"
> > 		EXTENSION "png"
> > 	END
> > 	
> >     WEB
> >       METADATA
> >         "wms_title" "Test"
> >         "wfs_title" "Test"
> >         "wms_srs" "EPSG:28992 "
> >         "wfs_srs" "EPSG:28992 "
> >         "wms_onlineresource" "<url>"
> >         "wfs_onlineresource" "<url>"
> >       END # METADATA
> >     END #web
> > 	SYMBOLSET "symbols_mapinfo2.sym"
> > 	PROJECTION
> > 		"init=epsg:28992"
> > 	END
> > 	LAYER
> > 		NAME address
> > 		TYPE point
> > 		CONNECTIONTYPE oraclespatial
> > 		DATA "GEOLOC FROM ADDRESS USING SRID 90112 VERSION 10g"
> > 		CONNECTION "x/y/z"
> > 		DUMP TRUE
> > 		PROCESSING "CLOSE_CONNECTION=DEFER"
> > 		CLASS
> > 			SYMBOL "circle"
> > 			OUTLINECOLOR 255 0 0
> > 			SIZE 6
> > 			NAME "address"
> > 		END
> > 		PROJECTION
> > 			"init=epsg:28992"
> > 		END
> > 		METADATA
> > 			"wfs_title" "address"
> > 			"wfs_srs" "EPSG:28992"
> > 			"wms_title" "address"
> > 			"wms_srs" "EPSG:28992"
> > 			"gml_featureid" "ZIPCODE"
> > 			"gml_include_items" "ZIPCODE"
> > 		END
> > 	END
> >   
> > END # Map File
> > 
> > As you can see, I use the Dutch projection system everywhere. 
> > Yet the request only returns:
> > <?xml version='1.0' encoding="ISO-8859-1" ?> <wfs:FeatureCollection
> >    xmlns:ms="http://mapserver.gis.umn.edu/mapserver"
> >    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://schemas.opengis.net/wfs/1.0.0/WFS-basic.xsd 
> >                        http://mapserver.gis.umn.edu/mapserver 
> > <url>/mapserv.exe?map=address.map&SERVICE=WFS&VERSION=
> > 1.0.0&REQUEST=DescribeFeatureType&TYPENAME=address&amp
> > ;OUTPUTFORMAT=XMLSCHEMA">
> >       <gml:boundedBy>
> >       	<gml:Box srsName="EPSG:28992">
> >       		
> > <gml:coordinates>125474.000000,381967.999850 
> > 206652.000100,470382.335300</gml:coordinates>
> >       	</gml:Box>
> >       </gml:boundedBy>
> > </wfs:FeatureCollection>
> > 
> > Any more help would be greatly appreciated.
> > 
> > Regards,
> > Jelmer
> > 
> > > Hi,
> > > 
> > > I hope you have tasty shoes.  WFS 1.0.0 does officially 
> > support only 
> > > one projection. I am not sure how Marverver has implemented 
> > it, with 
> > > Geoserver it is possible to use also other projections by adding 
> > > projection parameter to request.
> > > However, I would try GetFeature request by using BBOX in native 
> > > projection.
> > > 
> > > -Jukka Rahkonen-
> > > 
> > > > -----Alkuperäinen viesti-----
> > > > Lähettäjä: mapserver-users-bounces at lists.osgeo.org
> > > > [mailto:mapserver-users-bounces at lists.osgeo.org] Puolesta
> > > Jelmer Baas
> > > > Lähetetty: 18. marraskuuta 2009 13:06
> > > > Vastaanottaja: Rahkonen Jukka; mapserver-users at lists.osgeo.org
> > > > Aihe: RE: [mapserver-users] MapServer, WFS and Oracle
> > > > 
> > > > Jukka,
> > > > 
> > > > Thanks for the quick reply. The request is:
> > > > 
> > > > mapserv.exe?map=address.map&typename=address&SERVICE=WFS&VERSI
> > > > ON=1.0.0&REQUEST=GetFeature&SRS=EPSG%3A4326&BBOX=1.17194606291
> > > 7749,52.038473357169345,5.173921509856943,52.03887593415947
> > > > 
> > > > (Very zoomed out)
> > > > 
> > > > If this is another projection issue, I'm going to eat 
> my shoe. ;)
> > > > 
> > > > Regards,
> > > > Jelmer
> > > > 
> > > > > -----Original Message-----
> > > > > From: Rahkonen Jukka [mailto:Jukka.Rahkonen at mmmtike.fi]
> > > > > Sent: woensdag 18 november 2009 11:51
> > > > > To: Jelmer Baas; mapserver-users at lists.osgeo.org
> > > > > Subject: Re: [mapserver-users] MapServer, WFS and Oracle
> > > > > 
> > > > > Hi,
> > > > > 
> > > > > You seem not to get even a single feature back, all you 
> > get is an 
> > > > > empty bounding box. How does you GetFeature request look like?
> > > > > 
> > > > > -Jukka Rahkonen-
> > > > > 
> > > > > 
> > > > > 
> > > > > > -----Alkuperäinen viesti-----
> > > > > > Lähettäjä: mapserver-users-bounces at lists.osgeo.org
> > > > > > [mailto:mapserver-users-bounces at lists.osgeo.org] Puolesta
> > > > > Jelmer Baas
> > > > > > Lähetetty: 18. marraskuuta 2009 12:11
> > > > > > Vastaanottaja: mapserver-users at lists.osgeo.org
> > > > > > Aihe: [mapserver-users] MapServer, WFS and Oracle
> > > > > > 
> > > > > > Hello list,
> > > > > > 
> > > > > > I'm trying to get MapServer running as a WFS server with
> > > > an Oracle
> > > > > > data source. When using TAB files I have no problem, also
> > > > using the
> > > > > > Oracle datasource and letting MapServer draw it (WMS) works 
> > > > > > properly.
> > > > > > 
> > > > > > However, the WFS request only returns one result (a
> > > > correct one). My
> > > > > > total resulting XML is:
> > > > > > <wfs:FeatureCollection
> > > > > xsi:schemaLocation="http://www.opengis.net/wfs
> > > > > > http://schemas.opengis.net/wfs/1.0.0/WFS-basic.xsd
> > > > > > http://mapserver.gis.umn.edu/mapserver
> > > > > > 
> http://x.x.x/scripts/mapserv.exe?map=address.map&SERVICE=WFS&V
> > > > > > ERSION=1.0
> > > > > > 
> .0&REQUEST=DescribeFeatureType&TYPENAME=address&OUTPUTFORMAT=X
> > > > > > MLSCHEMA">
> > > > > > <gml:boundedBy>
> > > > > > <gml:Box srsName="EPSG:4326">
> > > > > > <gml:coordinates>5.172200,52.038485
> > > > > > 5.173701,52.038853</gml:coordinates>
> > > > > > </gml:Box>
> > > > > > </gml:boundedBy>
> > > > > > </wfs:FeatureCollection>
> > > > > > 
> > > > > > There should be more results (confirmed by the WMS 
> > image and by 
> > > > > > monitoring the query in Oracle). I also set DUMP to 
> true and 
> > > > > > "gml_include_items" "all" in my layer METADATA, so I also
> > > > expected
> > > > > > more fields. My layer definition is as follows:
> > > > > > 
> > > > > > 	LAYER
> > > > > > 		NAME address
> > > > > > 		TYPE point
> > > > > > 		CONNECTIONTYPE oraclespatial
> > > > > > 		DATA "GEOLOC FROM ADDRESS USING SRID
> > > 90112 VERSION 10g"
> > > > > > 		CONNECTION "x/y at z"
> > > > > > 		DUMP TRUE
> > > > > > 		PROCESSING "CLOSE_CONNECTION=DEFER"
> > > > > > 		CLASS
> > > > > > 			SYMBOL "circle"
> > > > > > 			OUTLINECOLOR 255 0 0
> > > > > > 			SIZE 6
> > > > > > 			NAME "address"
> > > > > > 		END
> > > > > > 		PROJECTION
> > > > > > 			"init=epsg:28992"
> > > > > > 		END
> > > > > > 		METADATA
> > > > > > 			"wfs_title" "address"
> > > > > > 			"wfs_srs" "EPSG:28992 EPSG:900913"
> > > > > > 			"wms_title" "address"
> > > > > > 			"wms_srs" "EPSG:28992 EPSG:900913"
> > > > > > 			"gml_featureid" "ID"
> > > > > > 			"gml_include_items" "all"
> > > > > > 		END
> > > > > > 	END
> > > > > > 
> > > > > > Any idea what I'm doing wrong? I'm using MapServer 5.4.2
> > > > with Oracle
> > > > > > 10g.
> > > > > > 
> > > > > > Regards,
> > > > > > Jelmer Baas
> > > > > > _______________________________________________
> > > > > > mapserver-users mailing list
> > > > > > mapserver-users at lists.osgeo.org
> > > > > > http://lists.osgeo.org/mailman/listinfo/mapserver-users
> > > > > > 
> > > > > 
> > > > _______________________________________________
> > > > mapserver-users mailing list
> > > > mapserver-users at lists.osgeo.org
> > > > http://lists.osgeo.org/mailman/listinfo/mapserver-users
> > > > 
> > > 
> > 
> 



More information about the MapServer-users mailing list