Oracle Varray does not display in WFS

Terry Byrne Terry.Byrne at CSIRO.AU
Thu Jun 28 20:27:29 PDT 2007


Hi Fernando

I am not sure of protocol using mailing lists, so I have replied to you
both and the list.

I think the problem relates to how Oracle varray element access works.
The result of a simple select statement is like 
CTD_PRESSURE_TYPE(6, 6, 6, 6, 8, 8, 8, 8, 10, 10, 10, 10) instead of
just numbers.
To access the discrete values requires a nested query I am not sure how
to construct within MapServer.
I suspect that the WFS clients need just the values, which I could
deliver using varchar data type except this type holds max 32767 chars,
and I need up to 64000 values.
There must be a ways to either strip out the 'CTD_PRESSURE_TYPE(' and
final ')', or concatenate the values, which I can do with PL/SQL, but I
have not figured which way to go yet. I don't really understand how the
WFS client and MapServer interact.

Here is some more info:

MapServer version 4.8.3 OUTPUT=GIF OUTPUT=PNG OUTPUT=JPEG OUTPUT=WBMP
OUTPUT=SVG SUPPORTS=PROJ SUPPORTS=FREETYPE SUPPORTS=WMS_SERVER
SUPPORTS=WFS_SERVER INPUT=EPPL7 INPUT=ORACLESPATIAL INPUT=OGR INPUT=GDAL
INPUT=SHAPEFILE 

LAYER
NAME testCTDdataVarrays
STATUS default
EXTENT 55 -45 220 10
TYPE point
CONNECTIONTYPE oraclespatial
CONNECTION "user/passwd at machine"
DATA "GEOLOC from (select * from CTDtable) using  unique DATA_ID SRID
8307"
DUMP TRUE
	CLASS
		NAME "testCTDdataVarrays"
		STYLE
			COLOR  225 0 0
			SIZE 10
		END
	END
	METADATA
		"WFS_TITLE"			"test CSIRO Marine
National Facility CTD data stored as Varrays - "
		"WFS_ABSTRACT"		"Marine National Facility CTD
cast data as Oracle Varrays"
		"GML_INCLUDE_ITEMS"	"all"
		"GML_FEATUREID"		"DATA_ID"
		"WFS_FORMAT"		"image/png"
		"WFS_SRS" "EPSG:4326" # ESPG code WGS84 Geographic 2D
	END
END

The result of the Oracle select statement is like:
DATA_ID 77699
SURVEY_NAME SS200407
PRESSURE_VA CTD_PRESSURE_TYPE(6, 6, 6, 6, 8, 8, 8, 8, 10, 10, 10, 10)
GEOLOC(SDO_GTYPE, SDO_SRID, SDO_POINT(X, Y, Z), SDO_ELEM_INFO,
SDO_ORDINATES)SDO_GEOMETRY(2001, 8307, SDO_POINT_TYPE(113.00584,
-27.83431, NULL), NULL, NULL)

There are no errors displayed in the Apache log on accessing the WFS
using a client.

svSIG  java.lang.NullPointerException on examining layer properties

> -----Original Message-----
> From: UMN MapServer Users List 
> [mailto:MAPSERVER-USERS at LISTS.UMN.EDU] On Behalf Of Fernando Simon
> Sent: Thursday, 28 June 2007 10:47 PM
> To: MAPSERVER-USERS at LISTS.UMN.EDU
> Subject: Re: [UMN_MAPSERVER-USERS] Oracle Varray does not 
> display in WFS
> 
> Hi Terry,
>     Can you provide more info about the problem? What type of 
> call are 
> not working?
>     How did you define your layer? Are you trying to show how 
> type the 
> columns (the database column type)?
>     Are you using what connector driver, OGR, Native Connection?
>     Best regards.
> 
> ---------------------------------------------------------------
> Fernando Simon
> UMN Mapserver and Oracle Spatial developer
> ---------------------------------------------------------------
> 
> Terry Byrne wrote:
> > Hi All
> > I am a novice MapServer user, attempting to use an Oracle 
> Varray to deliver
> > data via WFS.
> > My layer displays correctly in a WMS, but not as WFS.
> > I have tried two clients, Gaia2, and svSIG. Gaia2 reports 
> no error, and will
> > zoom to the layer extent correctly, but does not display 
> any of the data
> > unless the Varray is removed form the select statement.
> > svSIG reports a Java error, and does not zoom to layer.
> > If I delete the Varray column from the select statement, 
> the layer displays
> > correctly in either client.
> >
> > Regards
> > Terry Byrne
> > CSIRO Marine and Atmospheric Research
> > Hobart, Tasmania, Australia
> >
> >   
> 
> 



More information about the MapServer-users mailing list