2 Replies Latest reply on May 21, 2014 4:15 PM by B Hall

    Problems defining a transformation rule


      Hi all,


      I working in Oracle 11g Enterprise Edition Release, and I have to transform spatial data from ED50 (EPSG:4230) to ETRS89 (EPSG:4258) using an specific NTv2 file (ASCII format),

      but for any reason the transformation rule that I have defined hasn't any effect in coordinate transformation.


      I have followed specifically the steps described in this post: https://community.oracle.com/message/4131715#4131715
      and I have no problems defining the new transformation (id=5661) into SDO_COORD_OPS, and  SDO_COORD_OP_PARAM_VALS tables.

      So, I have defined a transformation rule without errors:
      exec sdo_cs.create_pref_concatenated_op(100800401, 'CONCATENATED OPERATION', TFM_PLAN(SDO_TFM_CHAIN(4230, 5661, 4258)), NULL);
      to change default transformation chain: TFM_PLAN(SDO_TFM_CHAIN(4230, -2, 4258))

      into a new one preferred transformation: TFM_PLAN(SDO_TFM_CHAIN(4230, 100800401, 4258))


      Finally, I tested the transformation with (lon,lat) = (0.00, 0.00) with a wrong result.


      Query:  select sdo_cs.transform(  sdo_geometry( 2001, 4230, sdo_point_type(0.0, 0.0, null),null, null), 4258) from dual;
      Result: SDO_GEOMETRY(2001, 4258, SDO_POINT_TYPE(0, 0, NULL), NULL, NULL)


      Query:  select sdo_cs.transform(  sdo_geometry( 2001, 4258, sdo_point_type(0.0, 0.0, null),null, null), 4230) from dual;
      Result: SDO_GEOMETRY(2001, 4230, SDO_POINT_TYPE(0, 0, NULL), NULL, NULL)


      I get the same wrong result using sdo_cs.transform_layer function.


      The process steps are clear but there is something I'm doing wrong and I can not see it.

      Any ideas or suggestions will be very welcome.

      Thanks a lot !