Export Geometry to WKT or WKB but include ARCs too - Do not densify

Dear all,
I have been having some issues when exporting the spatial data to WKT or WKB. I can get the WKT without any problems but the issue is that all ARCs are not exported as ARCs but rather as line segments. Looks like during the export process there is some Densify process that gets run.
Can someone please help me if there is a way to export the ARCs as ARCs and do not densify.
WKT has support for Circular Arcs so there should be no problems.
And the second problem was that when i export to WKB this data can not be read by SQL Server or any other tool.
Any advice much apprciated.
Dan

Dan,
Without actual examples we cannot help you solve you problem.
Here are some tests I ran in Oracle and SQL Server.
Oracle Export
select a.name, a.geom.get_wkt() as text
  from (select 'Line segment' as name,sdo_geometry (2002, null, null, sdo_elem_info_array (1,2,1), sdo_ordinate_array (10,10, 20,10)) as geom from dual union all
        select 'Line string' as name,sdo_geometry (2002, null, null, sdo_elem_info_array (1,2,1), sdo_ordinate_array (10,25, 20,30, 25,25, 30,30)) as geom from dual union all
        select 'Arc segment' as name,sdo_geometry (2002, null, null, sdo_elem_info_array (1,2,2), sdo_ordinate_array (10,15, 15,20, 20,15)) as geom from dual union all
        select 'Arc string' as name,sdo_geometry (2002, null, null, sdo_elem_info_array (1,2,2), sdo_ordinate_array (10,35, 15,40, 20,35, 25,30, 30,35)) as geom from dual union all
        select 'Closed arc string' as name,sdo_geometry (2002, null, null, sdo_elem_info_array (1,2,2), sdo_ordinate_array (15,65, 10,68, 15,70, 20,68, 15,65)) as geom from dual union all
        select 'Compound line string' as name,sdo_geometry (2002, null, null, sdo_elem_info_array (1,4,3, 1,2,1, 3,2,2, 7,2,1), sdo_ordinate_array (10,45, 20,45, 23,48, 20,51, 10,51)) as geom from dual union all
        select 'Closed mixed line' as name,sdo_geometry (2002, null, null, sdo_elem_info_array (1,4,2, 1,2,1, 7,2,2), sdo_ordinate_array (10,78, 10,75, 20,75, 20,78, 15,80, 10,78)) as geom from dual
       ) a;
-- results
NAME                 TEXT
Line segment         LINESTRING (10.0 10.0, 20.0 10.0)
Line string          LINESTRING (10.0 25.0, 20.0 30.0, 25.0 25.0, 30.0 30.0)
Arc segment          CIRCULARSTRING (10.0 15.0, 15.0 20.0, 20.0 15.0)
Arc string           CIRCULARSTRING (10.0 35.0, 15.0 40.0, 20.0 35.0, 25.0 30.0, 30.0 35.0)
Closed arc string    CIRCULARSTRING (15.0 65.0, 10.0 68.0, 15.0 70.0, 20.0 68.0, 15.0 65.0)
Compound line string COMPOUNDCURVE ((10.0 45.0, 20.0 45.0), CIRCULARSTRING (20.0 45.0, 23.0 48.0, 20.0 51.0), (20.0 51.0, 10.0 51.0))
Closed mixed line    COMPOUNDCURVE ((10.0 78.0, 10.0 75.0, 20.0 75.0, 20.0 78.0), CIRCULARSTRING (20.0 78.0, 15.0 80.0, 10.0 78.0))
7 rows selectedNo densification there.
SQL Server Denali Import
Now, take the above WKT and import into SQL Server.
select geometry::STGeomFromText('LINESTRING (10.0 10.0, 20.0 10.0)',0).STAsText() as text union all
select geometry::STGeomFromText('LINESTRING (10.0 25.0, 20.0 30.0, 25.0 25.0, 30.0 30.0)',0).STAsText() as text union all
select geometry::STGeomFromText('CIRCULARSTRING (10.0 15.0, 15.0 20.0, 20.0 15.0)',0).STAsText() as text union all
select geometry::STGeomFromText('CIRCULARSTRING (10.0 35.0, 15.0 40.0, 20.0 35.0, 25.0 30.0, 30.0 35.0)',0).STAsText() as text union all
select geometry::STGeomFromText('CIRCULARSTRING (15.0 65.0, 10.0 68.0, 15.0 70.0, 20.0 68.0, 15.0 65.0)',0).STAsText() as text union all
select geometry::STGeomFromText('COMPOUNDCURVE ((10.0 45.0, 20.0 45.0), CIRCULARSTRING (20.0 45.0, 23.0 48.0, 20.0 51.0), (20.0 51.0, 10.0 51.0))',0).STAsText() as text union all
select geometry::STGeomFromText('COMPOUNDCURVE ((10.0 78.0, 10.0 75.0, 20.0 75.0, 20.0 78.0), CIRCULARSTRING (20.0 78.0, 15.0 80.0, 10.0 78.0))',0).STAsText() as text ;
-- results
LINESTRING (10 10, 20 10)
LINESTRING (10 25, 20 30, 25 25, 30 30)
CIRCULARSTRING (10 15, 15 20, 20 15)
CIRCULARSTRING (10 35, 15 40, 20 35, 25 30, 30 35)
CIRCULARSTRING (15 65, 10 68, 15 70, 20 68, 15 65)
COMPOUNDCURVE ((10 45, 20 45), CIRCULARSTRING (20 45, 23 48, 20 51), (20 51, 10 51))
COMPOUNDCURVE ((10 78, 10 75, 20 75, 20 78), CIRCULARSTRING (20 78, 15 80, 10 78))Can you provide us with similar examples where the process fails?
And the second problem was that when i export to WKB this data can not be read by SQL Server or any other tool.Let's try and solve the first problem before the second. Are Oracle and SQL Server both on the same hardware?
regards
Simon

Similar Messages

Maybe you are looking for