Oracle FAQ Your Portal to the Oracle Knowledge Grid
HOME | ASK QUESTION | ADD INFO | SEARCH | E-MAIL US
 

Home -> Community -> Usenet -> c.d.o.misc -> Re: How to get at object values...

Re: How to get at object values...

From: DA Morgan <damorgan_at_x.washington.edu>
Date: Thu, 14 Apr 2005 08:24:59 -0700
Message-ID: <1113492072.222305@yasure>


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

Original text of this message

HOME | ASK QUESTION | ADD INFO | SEARCH | E-MAIL US