Skip to Main Content

Database Software

Announcement

For appeals, questions and feedback about Oracle Forums, please email oracle-forums-moderators_us@oracle.com. Technical questions should be asked in the appropriate category. Thank you!

[Oracle 11.2.0.3] issue aggregation two interesected geometries

1002750Apr 12 2013 — edited Apr 15 2013
Hello,

i've got some issue aggregating intersected geometries, i'm not sure if it's a bug, because i'm not "oracle expert" at all.....

i've got 2 geometries from the same table, first i try to aggregate them correctly by doing a sdo_aggr_union
the result geometry is a 2003 (polygon), ok, but the shape isn't good as u can see on the link : http://oi48.tinypic.com/sgskmc.jpg

so i decided to use another method, i extracted the two geometries
SELECT MDSYS.SDO_GEOMETRY(2003,2154,NULL,MDSYS.SDO_ELEM_INFO_ARRAY(1,1003,1),MDSYS.SDO_ORDINATE_ARRAY(702222.130192308,7055494.23532051,702247.330512821,7055477.20807692,702263.676666667,7055488.78660256,702264.15873668,7055506.62319306,702280.703910256,7055503.77057692,702295.687884615,7055528.28980769,702256.008115944,7055525.98953125,702253.460320513,7055529.65198718,702249.907609149,7055525.63587868,702248.692692308,7055525.56544872,702249.188030304,7055524.82244173,702222.130192308,7055494.23532051)) as GEOM from dual; ==> GA

SELECT MDSYS.SDO_GEOMETRY(2003,2154,NULL,MDSYS.SDO_ELEM_INFO_ARRAY(1,1003,1),MDSYS.SDO_ORDINATE_ARRAY(702231.665448718,7055548.041410256,702241.20070512825044,7055529.651987179005283,702252.098141025629622,7055513.305833332994717,702269.125384615379182,7055513.305833332994717,702286.152628205128742,7055533.057435897001761,702288.8769871795026414,7055557.576666666017611,702260.2712179487513214,7055572.56064102501585)) as GEOM from dual ==> GB

trying with sdo_union

SELECT SDO_GEOM.SDO_UNION (GA.GEOM, GB.GEOM, 0.05) GEOM
FROM GA, GB ;

same result...

so trying another method:
getting the difference between the two geometries and aggregating this one with one of the two geometries:

SELECT
SDO_UTIL.APPEND ( T_A.GEOM, T_B.GEOM) G
FROM
(
GEA
) T_a
,--UNION ALL
(
SELECT SDO_GEOM.SDO_DIFFERENCE (GEA.GEOM, GEB.GEOM, 0.05) GEOM FROM
GEA,
GEB
) T_B;

i get a 2007 geometry, then doing a self sdo_aggr_union on it => same issue

So i'm trying another method, asking why the aggregated geometry isn't like it should be on the oracle forums... :)

when we look at the result geometry, it seems that one vertex has been destroyed/removed (on the picture link above, u can see on the left that one vertex has disappeared..

if anyone already get this error and solved it, because i can't find a similar case on google/forums/etc..., i would be helpful :)

Regards

PS: Sorry if there are some mistakes in my text, i havn't been speaking english for a long time

Anthony, FR

Edited by: 999747 on 12 avr. 2013 06:49
This post has been answered by Ying Hu-Oracle on Apr 12 2013
Jump to Answer
Comments
Locked Post
New comments cannot be posted to this locked post.
Post Details
Locked on May 13 2013
Added on Apr 12 2013
2 comments
436 views