Volker Hetzer wrote:
> "DA Morgan" <damorgan_at_x.washington.edu> schrieb im Newsbeitrag news:1113441782.298443_at_yasure...
>
>>Volker Hetzer wrote:
>>
>>
>>>Hi!
>>>When I deal with objects (particularly geometries in spatial),
>>>sqlplus returns nice ASCII descriptions of the geometry objects.
>>>How can I do the same thing from an api? Is there some
>>>object-to-constructor-function that I'm overlooking?
>>>
>>>Lots of Greetings!
>>>Volker
>>
>>DBMS_DESCRIBE built-in package.
>
> From what I see this gives me the headers of packages and so on.
> What I'm after is this:
> I create spatial objects (sdo_geometry objects) using constructor
> calls (mdsys.sdo_geometry(...)), do operations on them, like
> sdo_difference, sdo_buffer and so on. At the end, I get totally
> different geometries in some table.
> When I now read them out using sqlplus, I get:
> SQL> select outline from cvc_outlines;
>
> OUTLINE(SDO_GTYPE, SDO_SRID, SDO_POINT(X, Y, Z), SDO_ELEM_INFO, SDO_ORDINATES)
> --------------------------------------------------------------------------------
> SDO_GEOMETRY(2003, NULL, NULL, SDO_ELEM_INFO_ARRAY(1, 1005, 5, 1, 2, 1, 3, 2, 1,
> 5, 2, 2, 9, 2, 1, 11, 2, 1), SDO_ORDINATE_ARRAY(-11.55, 10.85, -11.55, 11.75, -
> 13.25, 11.75, -13.320711, 11.7207107, -13.35, 11.65, -13.35, 10.85, -11.55, 10.8
> 5))
>
> SDO_GEOMETRY(2003, NULL, NULL, SDO_ELEM_INFO_ARRAY(1, 1005, 4, 1, 2, 1, 3, 2, 1,
> 5, 2, 1, 7, 2, 1), SDO_ORDINATE_ARRAY(94.75, 122.6, 96.65, 122.6, 96.65, 125.1,
> 94.75, 125.1, 94.75, 122.6))
>
> SDO_GEOMETRY(2003, NULL, NULL, SDO_ELEM_INFO_ARRAY(1, 1005, 5, 1, 2, 1, 3, 2, 1,
> 5, 2, 2, 9, 2, 1, 11, 2, 1), SDO_ORDINATE_ARRAY(51.71, -31.65, 50.31, -31.65, 5
>
> OUTLINE(SDO_GTYPE, SDO_SRID, SDO_POINT(X, Y, Z), SDO_ELEM_INFO, SDO_ORDINATES)
> --------------------------------------------------------------------------------
> 0.31, -34.25, 50.3392893, -34.320711, 50.41, -34.35, 51.71, -34.35, 51.71, -31.6
> 5))
>
> SDO_GEOMETRY(2003, NULL, NULL, SDO_ELEM_INFO_ARRAY(1, 1005, 5, 1, 2, 1, 3, 2, 1,
> 5, 2, 2, 9, 2, 1, 11, 2, 1), SDO_ORDINATE_ARRAY(75.8, -76.95, 77.2, -76.95, 77.
> 2, -74.35, 77.1707107, -74.279289, 77.1, -74.25, 75.8, -74.25, 75.8, -76.95))
>
> i.e. ASCII that I can use as it is for copy/paste and inserting into another table.
> Yet, when I do a "select outline from cvc_outlines" from any API I seem to have
> to either call individual methods which are no use to me, or, it doesn't work at
> all and the api complains about a type error.
> What I'd like to get is exactly the same string, sqlplus gives me (per row, not
> the column heads of course).
>
> Any ideas?
>
> Lots of Greetings!
> Volker
I suspect I still don't know precisely what you are asking but try this:
CREATE OR REPLACE TYPE rectangle_t AS OBJECT (
h NUMBER,
w NUMBER,
x NUMBER,
y NUMBER);
/
CREATE TABLE rectable (
rectangle_name VARCHAR2(20),
rectangle rectangle_t);
desc rectable
set describe depth all
desc rectable
set describe depth all linenum on indent on
desc rectable
In the right direction or not?
If not can you send me, off-line, the DDL and a cut-and-paste of
what you are trying to get. No promises but I'll look at it.
--
Daniel A. Morgan
University of Washington
damorgan_at_x.washington.edu
(replace 'x' with 'u' to respond)
Received on Thu Apr 14 2005 - 10:24:59 CDT