25.04.2013 Views

View PDF

View PDF

View PDF

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

SDO_UTIL.TO_GMLGEOMETRY<br />

10.1,10.1 20.1,20.1 <br />

-- Polygon with holes<br />

SELECT TO_CHAR(<br />

SDO_UTIL.TO_GMLGEOMETRY(sdo_geometry(2003, 262152, null,<br />

sdo_elem_info_array(1,1003,3, 5, 2003, 1, 13, 2003, 1),<br />

sdo_ordinate_array(10.10,10.20, 40.50, 41.10, 30.30, 30.30, 30.30,<br />

40.10, 40.10, 40.10, 30.30, 30.30, 5, 5, 5, 6, 6, 6, 6, 5, 5, 5 )))<br />

)<br />

AS GmlGeometry FROM DUAL;<br />

GMLGEOMETRY<br />

--------------------------------------------------------------------------------<br />

10.1,10<br />

.2, 40.5,10.2, 40.5,41.1, 10.1,41.1, 10.1,10.2 30.3,30.3 30.3,40.1 40.1,40.1 30.3,30.3 5,5 5,6 6,6 6,5 5,5 <<br />

/gml:LinearRing><br />

-- Creating an XMLTYPE from the GML fragment. Also useful for "pretty<br />

-- printing" the GML output.<br />

SET LONG 40000<br />

SELECT XMLTYPE(<br />

SDO_UTIL.TO_GMLGEOMETRY(sdo_geometry(2003, 262152, null,<br />

sdo_elem_info_array(1,1003,1, 11, 2003, 1, 21, 2003, 1),<br />

sdo_ordinate_array(10.10,10.20, 40.50,10.2, 40.5,41.10, 10.1,41.1,<br />

10.10, 10.20, 30.30,30.30, 30.30, 40.10, 40.10, 40.10, 40.10, 30.30,<br />

30.30, 30.30, 5, 5, 5, 6, 6, 6, 6, 5, 5, 5 )))<br />

)<br />

AS GmlGeometry FROM DUAL;<br />

GMLGEOMETRY<br />

--------------------------------------------------------------------------------<br />

10.1,10<br />

.2 40.5,10.2 40.5,41.1 10.1,41.1 10.1,10.2 30.3,30.3 30.3,40.1 40.1,40.1 40.1,30.3 30.3,30.3 5,5 5,6 6,6 6,5 5,5 <br />

The following example uses the TO_GMLGEOMETRY function with the Oracle XML<br />

DB XMLTYPE data type and the XMLELEMENT and XMLFOREST functions.<br />

SELECT xmlelement("State", xmlattributes(<br />

'http://www.opengis.net/gml' as "xmlns:gml"),<br />

xmlforest(state as "Name", totpop as "Population",<br />

xmltype(sdo_util.to_gmlgeometry(geom)) as "gml:geometryProperty"))<br />

AS theXMLElements FROM states WHERE state_abrv in ('DE', 'UT');<br />

THEXMLELEMENTS<br />

--------------------------------------------------------------------------------<br />

<br />

Delaware<br />

32-54 Oracle Spatial Developer’s Guide

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!