Robert Karwowski
Robert Karwowski

Reputation: 11

Oracle Spatial geometry transformation gives wrong output

I'm trying to convert SRID from 2180 to 2177. This is my sample code.

SELECT SDO_CS.TRANSFORM(MDSYS.SDO_GEOMETRY(2002,2180,null,MDSYS.SDO_ELEM_INFO_ARRAY(1,2,1),MDSYS.SDO_ORDINATE_ARRAY(461273,290199996,608231,546195962,461280,489099996,608185,353195948)),2177) geometria FROM DUAL

The output is MDSYS.SDO_ORDINATE_ARRAY(6374994,33906775,295683316,187577,6638854,92398028,551837709,962805,6387072,01129964,494707234,588496,6717195,04670803,358718858,239292) but when I use an online converter it looks like this(correct value):
6527855.83,5911838.68 6527863.20 5911792.21

What am i doing wrong?

Upvotes: 0

Views: 193

Answers (1)

Ponder Stibbons
Ponder Stibbons

Reputation: 14848

I think the reason is trivial, you used , instead of . when separating decimal parts. It happens to me sometimes too ;)

select sdo_cs.transform(
         mdsys.sdo_geometry(2002,2180,null,mdsys.sdo_elem_info_array(1,2,1),
                            mdsys.sdo_ordinate_array(461273.290199996,
                                                     608231.546195962,
                                                     461280.489099996,
                                                     608185.353195948)),
                            2177) geometria 
  from dual

Result:

6527855.83374364
5911838.68338696
6527863.68346768
5911792.56737736

Upvotes: 1

Related Questions