Hi Ying,

Yes, it is confusing with Geoserver most of the time.. ;-)   and don't worry, 
you are not the only one, I don't understand everything as well.  We do need 
better and more detail documentation for Geoserver.

I guess the main reason you don't get the srsName is due to the version of 
GeoServer you are using do not have the srsName patch committed yet.
Try the trunk version from nightly build : 
http://gridlock.opengeo.org/geoserver/trunk/.

FYI, I'd tested your example in my environment with EPSG:7405 :

In my view, I have the following geometry columns:
SDO_GEOMETRY(2001,7405,SDO_POINT_TYPE(X_COORD, Y_COORD, NULL), NULL, NULL) 
GEOM_LOCACTION,
SDO_GEOMETRY(2002,NULL,NULL,SDO_ELEM_INFO_ARRAY(1,2,1),SDO_ORDINATE_ARRAY(X_COORD,
 Y_COORD, X_COORD, Y_COORD)) GEOM_SHAPE,

Insert a record base on your example :
INSERT INTO USER_SDO_GEOM_METADATA VALUES (
   'TESTVIEW',
    'GEOM_SHAPE',
    MDSYS.SDO_DIM_ARRAY(
        MDSYS.SDO_DIM_ELEMENT('longitude', 0, 1000000, 0.000001),
        MDSYS.SDO_DIM_ELEMENT('latitude', 0, 1000000, 0.000001)
    ),
    7405);
*Note : you only need to insert one record for each table, as you can only have 
one srid for the entire borehole mapping.  Also, notice the SRID must be the 
same in your geometry column and USER_SDO_GEOM_METADATA for the srsName to be 
encoded.

The mapping for location and shape :


<AttributeMapping>

<targetAttribute>gsml:collarLocation/gsml:BoreholeCollar/gsml:location</targetAttribute>

<sourceExpression>

<OCQL>GEOM_LOCATION</OCQL>

</sourceExpression>

</AttributeMapping>



<AttributeMapping>

<targetAttribute>sa:shape</targetAttribute>

<sourceExpression>

<OCQL>GEOM_SHAPE</OCQL>

</sourceExpression>

<targetAttributeNode>gml:LineStringType</targetAttributeNode>

</AttributeMapping>


The output :
<gsml:location>
  <gml:Point srsDimension="3" 
srsName="http://www.opengis.net/gml/srs/epsg.xml#7405";>
   <gml:pos>145.8057083 -39.8385806</gml:pos>
 </gml:Point>
</gsml:location>

<sa:shape>
    <gml:LineString srsDimension="3" 
srsName="http://www.opengis.net/gml/srs/epsg.xml#7405";>
         <gml:posList>145.8057083 -39.8385806 145.8057083 
-39.8385806</gml:posList>
 </gml:LineString>


Hope these help.

Regards,
Florence


________________________________
From: ssss [mailto:[email protected]]
Sent: Thursday, 21 October 2010 7:08 PM
To: Tan, Florence (CESRE, Kensington)
Subject: RE: [Geoserver-users] About gsml:Borehole again

Hi Florence,

Thanks for your help. It is very confusing anyway.

I change to another data set, which uses EPSG:7405, the British National Grid. 
I add the record to USER_SDO_GEOM_METADATA as

INSERT INTO USER_SDO_GEOM_METADATA VALUES (
    'borehole2',
    'SSHAPE',
    MDSYS.SDO_DIM_ARRAY(
        MDSYS.SDO_DIM_ELEMENT('longitude', 0, 1000000, 0.000001),
        MDSYS.SDO_DIM_ELEMENT('latitude', 0, 1000000, 0.000001)
    ),
    7405);

In the mapping file, I define

                <AttributeMapping>
                    <targetAttribute>gsml:Borehole/sa:shape</targetAttribute>
                    <sourceExpression>
                    <OCQL>SSHAPE</OCQL>
                    </sourceExpression>
                 </AttributeMapping>

and the output is still

<sa:shape>
<gml:LineString>
<gml:posList>178600.0 150650.0 178600.0 150650.0</gml:posList>
</gml:LineString>
</sa:shape>

The geoserver I am using is v2.0.2, downloaded from 
http://geoserver.org/display/GEOS/Stable.

I don't know where is wrong??

Could I have one example value in your Oracle spatial column???? Thanks very 
much.

Best wishes,

Ying









________________________________
From: [email protected]
To: [email protected]
Date: Thu, 21 Oct 2010 10:01:17 +0800
Subject: Re: [Geoserver-users] About gsml:Borehole again

Please see my feedback below

________________________________
From: ssss [mailto:[email protected]]
Sent: Wednesday, 20 October 2010 11:07 PM
To: Tan, Florence (CESRE, Kensington); [email protected]
Subject: RE: [Geoserver-users] About gsml:Borehole again

Hi Florence,

Thanks for your answer. Following your instruction, I insert one row as

INSERT INTO USER_SDO_GEOM_METADATA VALUES (
    'GSI_BOREHOLESING',
    'GEOM',
    MDSYS.SDO_DIM_ARRAY(
        MDSYS.SDO_DIM_ELEMENT('X', 0, 200000, 0.1),
        MDSYS.SDO_DIM_ELEMENT('Y', 0,250000, 0.1)
    ),
    19973);

But there is no srsName, srsDimension in LineString. Do you mean I should add 
the linestring column to USER_SDO_GEOM_METADATA table before all the data is 
imported in? Could you give the instructions in more detail? Thanks.

No, you don't have to perform the above before data is imported.  Does CRS 
definition exist for EPSG:19973 in geoserver ? What revision of geoserver build 
are you using ? (refer to :  for srsName encoding patch)

Could I ask whether there is any plan to add 1-D and 3-D? Now I have to take 
the sa:shape and gsml:shape away. I understand  maybe GeoServer solely focuses 
on borehole, instead of its layers, so 1-D and 3-D is omitted. What about later 
time? Thanks.
 Someone have to answer this one, I do not know of any plan at the moment.

Best wishes,

Yinghttp://jira.codehaus.org/browse/GEOT-2639




________________________________
From: [email protected]
To: [email protected]; [email protected]
Date: Wed, 20 Oct 2010 09:08:46 +0800
Subject: RE: [Geoserver-users] About gsml:Borehole again

Hi Ying, to answer your questions :

I asked this question in May, could I ask whether <sa:shape> has been improved 
to support 3-dimension?
AND how to add 'srsName', 'srsDimension' to gml:LineString as above?
No, geoserver do not support 3D coordinate yet.  (Someone please correct me if 
it does now...)
To get the srsName, srsDimension for LineString, in Oracle, you need to add the 
linestring column to USER_SDO_GEOM_METADATA table, e.g. :

INSERT INTO USER_SDO_GEOM_METADATA VALUES (table_name,column_name,diminfo,srid);
e.g.
INSERT INTO USER_SDO_GEOM_METADATA VALUES (
    'SITE',
    'GEODETIC_POINT',
    MDSYS.SDO_DIM_ARRAY(
        MDSYS.SDO_DIM_ELEMENT('longitude', -180, 180, 0.000001),
        MDSYS.SDO_DIM_ELEMENT('latitude', -90, 90, 0.000001)
    ),
    4326);

GeoServer will encode the srsName and srsDimension base on the SRID.


For your second question on 1D mapping, I don't think GeoServer support 1D 
coordinate at the moment as well.


Regards,
Florence


________________________________
From: ssss [mailto:[email protected]]
Sent: Tuesday, 19 October 2010 11:19 PM
To: [email protected]
Subject: [Geoserver-users] About gsml:Borehole again

Hi,

I come back to gsml:borehole again. Now, the GeoServer runs very well except 
for several small questions. Thanks very much.

1. About gsml:Borehole/sa:shape

What I want is like

            <sa:shape>
                <gml:LineString
                    gml:id="bh.TR34SWBJ90.shape"
                    srsName="urn:ogc:def:crs:EPSG:6.15:7405"
                    srsDimension="3">
                    <gml:pos>630400 0141150 29.5</gml:pos>
                    <gml:pos>630400 0141150 74.5</gml:pos>
                </gml:LineString>
            </sa:shape>

So in <gml:pos>, it should be like 'X Y Depth'.

In mapping file, I define,

                <AttributeMapping>
                    <targetAttribute>gsml:Borehole/sa:shape</targetAttribute>
                    <sourceExpression>
                    <OCQL>GEOM</OCQL>
                    </sourceExpression>
                 </AttributeMapping>

where 'GEOM' is a Oracle spatial field in a table. But I can only get

<sa:shape>
<gml:LineString>
<gml:posList>163410.0 264500.0 163410.0 264500.0</gml:posList>
</gml:LineString>
</sa:shape>

It seems GeoServer still doesn't support 3-dimension.

I asked this question in May, could I ask whether <sa:shape> has been improved 
to support 3-dimension?
AND how to add 'srsName', 'srsDimension' to gml:LineString as above?


2. About gsml:shape in gsml:MappedInterval

If I encode a borehole log as MappedIntervals, then in gsml:MappedInterval, I 
need to define gsml:shape. What I want is

                    <gsml:shape>
                        <gml:LineString
                            srsName="bh.TR34SWBJ90.shape"
                            srsDimension="1">
                            <gml:pos>0</gml:pos>
                            <gml:pos>1.0</gml:pos>
                        </gml:LineString>
                    </gsml:shape>

as Above, it define the starting depth to the end depth from 0 to 1.0, which is 
one layer of a borehole.

Could I ask how to define this in the mapping? Should I define a new Oracle 
spatial field and use something like,

                <AttributeMapping>
                    
<targetAttribute>gsml:MappedInterval/sa:shape</targetAttribute>
                    <sourceExpression>
                    <OCQL>GDEPTH</OCQL>
                    </sourceExpression>
                 </AttributeMapping>
??????????????? Or there is better way???

Meanwhile, how to add srsDimension to gml:LineString?


Thanks very much for your help,

Ying



------------------------------------------------------------------------------ 
Nokia and AT&T present the 2010 Calling All Innovators-North America contest 
Create new apps & games for the Nokia N8 for consumers in U.S. and Canada $10 
million total in prizes - $4M cash, 500 devices, nearly $6M in marketing 
Develop with Nokia Qt SDK, Web Runtime, or Java and Publish to Ovi Store 
http://p.sf.net/sfu/nokia-dev2dev
_______________________________________________ Geoserver-users mailing list 
[email protected] 
https://lists.sourceforge.net/lists/listinfo/geoserver-users
------------------------------------------------------------------------------
Nokia and AT&T present the 2010 Calling All Innovators-North America contest
Create new apps & games for the Nokia N8 for consumers in  U.S. and Canada
$10 million total in prizes - $4M cash, 500 devices, nearly $6M in marketing
Develop with Nokia Qt SDK, Web Runtime, or Java and Publish to Ovi Store 
http://p.sf.net/sfu/nokia-dev2dev
_______________________________________________
Geoserver-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/geoserver-users

Reply via email to