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!

Need help understanding sdo_util.rectify_geometry and what exactly it is doing

jkcrosby3Aug 11 2016 — edited Sep 13 2016

As I've been working my way through all the errors my the data, I've finally come to 13349 [Element <1>] [Ring <1>][Edge <1>][Edge <3>], where it is a funky polygon, but technically correct.  I had found this blog that talks about it somewhat (http://www.spatialdbadvisor.com/oracle_spatial_tips_tricks/110/esri-arcsde-exverted-and-inverted-polygons-and-oracle-spa… ) and I thought it might be my answer to get my data to process properly when I query it (determining a point in a window), but I question the values of the data that get changed. 

These are nautical charts and my window is the 4 corners of the charts.  So, when the coordinates get changed from something like

(29.89531 -90.15322, 29.89531 -89.99156, 30.00592 -89.99156,  30.00592 -90.15306, 29.89531 -90.15322)

to

(-150.01621952311,-90,30.00592,-89.99156,29.89531,-89.99156,-150.01621952311,-90,-150.10469,-89.84678,-150.01621952311,-90,-149.99408,-89.84694,-150.10469,-89.84678)

I question why the change from i.e. lat 29.89531 to lat -150.01621952311.

The elem_info_array seems to have a few extra numbers added too and I don't understand what they are or why. i.e. ((1,1003,1) to (1,1003,1,9,1003,1).

This is the query I am using:

select bd.title, bd.kapp, bd.chart,

          bd.sdo_window.sdo_elem_info,

          bd.sdo_window.get_wkt(),

          SDO_GEOM.VALIDATE_GEOMETRY_WITH_CONTEXT (bd.sdo_window, 0.005),

          sdo_util.rectify_geometry(bd.sdo_window,0.5) as rectgeom

  from boundaries_data bd

  where SDO_GEOM.VALIDATE_GEOMETRY_WITH_CONTEXT (bd.sdo_window, 0.005) not like 'TRUE'

  and SDO_GEOM.VALIDATE_GEOMETRY_WITH_CONTEXT (bd.sdo_window, 0.005) not like '13356%';

See the table below for more complete data.

       

#TITLEKAPPCHARTSDO_WINDOW.SDO_ELEM_INFOBD.SDO_WINDOW.GET_WKT()SDOO_GEOM.VALIDATE_GEOMETRY_WITH_CONTEXT(BD.SDO_WINDOW,0.00T)
  NOT LIKE 13356%
RECTGEOM
1NEW ORLEANS HARBOR CHALMETTE SLIP TO SOUTHPORT211368MDSYS.SDO_ELEM_INFO_ARRAY(1,1003,1)POLYGON ((29.89531 -90.15322, 29.89531 -89.99156, 30.00592 -89.99156,
  30.00592 -90.15306, 29.89531 -90.15322))
13349 [Element <1>] [Ring <1>][Edge <1>][Edge
  <3>]
MDSYS.SDO_GEOMETRY(2007,4326,NULL,MDSYS.SDO_ELEM_INFO_ARRAY(1,1003,1,9,1003,1),MDSYS.SDO_ORDINATE_ARRAY(-150.01621952311,-90,30.00592,-89.99156,29.89531,-89.99156,-150.01621952311,-90,-150.10469,-89.84678,-150.01621952311,-90,-149.99408,-89.84694,-150.10469,-89.84678))
2NEW ORLEANS HBR INSET 1 CONT OF MISSISSIPPI RVR311368MDSYS.SDO_ELEM_INFO_ARRAY(1,1003,1)POLYGON ((29.98558 -90.02322, 29.98558 -89.98322, 30.00167 -89.98322,
  30.00167 -90.02319, 29.98558 -90.02322))
13349 [Element <1>] [Ring <1>][Edge <1>][Edge
  <3>]
MDSYS.SDO_GEOMETRY(2003,4326,NULL,MDSYS.SDO_ELEM_INFO_ARRAY(1,1003,1),MDSYS.SDO_ORDINATE_ARRAY(-150.01442,-89.97678,29.98558,-89.98322,-149.99833,-89.97681,-150.01442,-89.97678))
3PORT FOURCHON AND APPROACHES10211346MDSYS.SDO_ELEM_INFO_ARRAY(1,1003,1)POLYGON ((28.85497 -90.30025, 28.85497 -89.99164, 29.25169 -89.99164,
  29.25169 -90.30003, 28.85497 -90.30025))
13349 [Element <1>] [Ring <1>][Edge <1>][Edge
  <3>]
MDSYS.SDO_GEOMETRY(2007,4326,NULL,MDSYS.SDO_ELEM_INFO_ARRAY(1,1003,1,9,1003,1),MDSYS.SDO_ORDINATE_ARRAY(28.85497,-90,29.25169,-89.99164,28.85497,-89.99164,28.85497,-90,-151.14503,-89.69975,28.85497,-90,-150.74831,-89.69997,-151.14503,-89.69975))
4LOOP DEEPWATER PORT LOUISIANA OFFSHORE OIL PORT19411359MDSYS.SDO_ELEM_INFO_ARRAY(1,1003,1)POLYGON ((28.44131 -90.08414, 28.44131 -89.69942, 28.93414 -89.69942,
  28.93414 -90.08406, 28.44131 -90.08414))
13349 [Element <1>] [Ring <1>][Edge <1>][Edge
  <3>]
MDSYS.SDO_GEOMETRY(2007,4326,NULL,MDSYS.SDO_ELEM_INFO_ARRAY(1,1003,1,9,1003,1),MDSYS.SDO_ORDINATE_ARRAY(28.6204968094534,-90,28.93414,-89.69942,28.44131,-89.69942,28.6204968094534,-90,-151.55869,-89.91586,28.6204968094534,-90,-151.06586,-89.91594,-151.55869,-89.91586))
5LAKES PONTCHARTRAIN AND MAUREPAS5411369MDSYS.SDO_ELEM_INFO_ARRAY(1,1003,1)POLYGON ((29.88261 -90.60125, 29.88261 -89.73236, 30.43444 -89.73236,
  30.43444 -90.60114, 29.88261 -90.60125))
13349 [Element <1>] [Ring <1>][Edge <1>][Edge
  <3>]
MDSYS.SDO_GEOMETRY(2007,4326,NULL,MDSYS.SDO_ELEM_INFO_ARRAY(1,1003,1,9,1003,1),MDSYS.SDO_ORDINATE_ARRAY(-150.393239819749,-90,30.43444,-89.73236,29.88261,-89.73236,-150.393239819749,-90,-150.11739,-89.39875,-150.393239819749,-90,-149.56556,-89.39886,-150.11739,-89.39875))
6KEY WEST TO THE MISSISSIPPI RIVER4411006MDSYS.SDO_ELEM_INFO_ARRAY(1,1003,1)POLYGON ((24.15647 -90.09444, 24.15647 -80.98889, 30.69294 -80.98889,
  30.69294 -90.09444, 24.15647 -90.09444))
13349 [Element <1>] [Ring <1>][Edge <1>][Edge
  <3>]
MDSYS.SDO_GEOMETRY(2007,4326,NULL,MDSYS.SDO_ELEM_INFO_ARRAY(1,1003,1,9,1003,1),MDSYS.SDO_ORDINATE_ARRAY(-147.138696254681,-90,30.69294,-80.98889,24.15647,-80.98889,-147.138696254681,-90,-155.84353,-89.90556,-147.138696254681,-90,-149.30706,-89.90556,-155.84353,-89.90556))
7GENERAL CHART OF THE GREAT LAKES156814500MDSYS.SDO_ELEM_INFO_ARRAY(1,1003,1)POLYGON ((39.71764 -93.74269, 39.69136 -73.94742, 50.52422 -71.81114,
  50.56256 -95.81664, 39.71764 -93.74269))
13349 [Element <1>] [Ring <1>][Edge <3>][Edge
  <1>]
MDSYS.SDO_GEOMETRY(2007,4326,NULL,MDSYS.SDO_ELEM_INFO_ARRAY(1,1003,1,9,1003,1),MDSYS.SDO_ORDINATE_ARRAY(30.3817332819283,-89.9913459973723,50.52422,-71.81114,39.69136,-73.94742,30.3817332819283,-89.9913459973723,30.3817332819283,-89.9913459973723,-129.43744,-84.18336,-140.28236,-86.25731,30.3817332819283,-89.9913459973723))
8GULF OF MEXICO45411MDSYS.SDO_ELEM_INFO_ARRAY(1,1003,1)POLYGON ((17.76519 -98.14394, 17.76519 -76.07256, 33.63147 -76.07256,
  33.63147 -98.14411, 17.76519 -98.14394))
13349 [Element <1>] [Ring <1>][Edge <1>][Edge
  <3>]
MDSYS.SDO_GEOMETRY(2007,4326,NULL,MDSYS.SDO_ELEM_INFO_ARRAY(1,1003,1,9,1003,1),MDSYS.SDO_ORDINATE_ARRAY(24.1019258331818,-90,33.63147,-76.07256,17.76519,-76.07256,24.1019258331818,-90,-162.23481,-81.85606,24.1019258331818,-90,-146.36853,-81.85589,-162.23481,-81.85606))
9MISSISSIPPI RIVER VENICE TO NEW ORLEANS5611364MDSYS.SDO_ELEM_INFO_ARRAY(1,1003,1)POLYGON ((29.26597 -90.04125, 29.26597 -89.34736, 30.01364 -89.34736,
  30.01364 -90.04114, 29.26597 -90.04125))
13349 [Element <1>] [Ring <1>][Edge <1>][Edge
  <3>]
MDSYS.SDO_GEOMETRY(2007,4326,NULL,MDSYS.SDO_ELEM_INFO_ARRAY(1,1003,1,9,1003,1),MDSYS.SDO_ORDINATE_ARRAY(28.7677099859846,-90,30.01364,-89.34736,29.26597,-89.34736,28.7677099859846,-90,-150.73403,-89.95875,28.7677099859846,-90,-149.98636,-89.95886,-150.73403,-89.95875))
10BARATARIA BAY AND APPROACHES6011358MDSYS.SDO_ELEM_INFO_ARRAY(1,1003,1)POLYGON ((28.76597 -90.20125, 28.76597 -89.53236, 29.50114 -89.53236,
  29.50114 -90.20111, 28.76597 -90.20125))
13349 [Element <1>] [Ring <1>][Edge <1>][Edge
  <3>]
MDSYS.SDO_GEOMETRY(2007,4326,NULL,MDSYS.SDO_ELEM_INFO_ARRAY(1,1003,1,9,1003,1),MDSYS.SDO_ORDINATE_ARRAY(-150.131189838775,-90,29.50114,-89.53236,28.76597,-89.53236,-150.131189838775,-90,-151.23403,-89.79875,-150.131189838775,-90,-150.49886,-89.79889,-151.23403,-89.79875))
11LAKE SUPERIOR REDRIDGE MICH TO SAXON HARBOR WIS151114965MDSYS.SDO_ELEM_INFO_ARRAY(1,1003,1)POLYGON ((46.39739 -90.50089, 46.39672 -88.74728, 47.27631 -88.73217,
  47.27697 -90.51464, 46.39739 -90.50089))
13349 [Element <1>] [Ring <1>][Edge <3>][Edge
  <1>]
MDSYS.SDO_GEOMETRY(2007,4326,NULL,MDSYS.SDO_ELEM_INFO_ARRAY(1,1003,1,9,1003,1),MDSYS.SDO_ORDINATE_ARRAY(-16.491490992696,-89.9999952989555,47.27631,-88.73217,46.39672,-88.74728,-16.491490992696,-89.9999952989555,-16.491490992696,-89.9999952989555,-132.72303,-89.48536,-133.60261,-89.49911,-16.491490992696,-89.9999952989555))
12LAKE SUPERIOR BEAVER BAY TO PIGEON POINT MINN152014967MDSYS.SDO_ELEM_INFO_ARRAY(1,1003,1)POLYGON ((47.19878 -91.30881, 47.19872 -89.49186, 48.08342 -89.47864,
  48.08122 -91.32656, 47.19878 -91.30881))
13349 [Element <1>] [Ring <1>][Edge <1>][Edge
  <3>]
MDSYS.SDO_GEOMETRY(2007,4326,NULL,MDSYS.SDO_ELEM_INFO_ARRAY(1,1003,1,9,1003,1),MDSYS.SDO_ORDINATE_ARRAY(47.19872,-89.49186,-132.778295693141,-89.9990426215493,48.08342,-89.47864,47.19872,-89.49186,-132.80122,-88.69119,-132.778295693141,-89.9990426215493,-131.91878,-88.67344,-132.80122,-88.69119))
13NEW ORLEANS TO CALCASIEU RIVER
  EAST SECTION
4611352MDSYS.SDO_ELEM_INFO_ARRAY(1,1003,1)POLYGON ((29.01464 -91.50242, 29.01464 -89.79769, 30.302 -89.79769,
  30.302 -91.50231, 29.01464 -91.50242))
13349 [Element <1>] [Ring <1>][Edge <1>][Edge
  <3>]
MDSYS.SDO_GEOMETRY(2007,4326,NULL,MDSYS.SDO_ELEM_INFO_ARRAY(1,1003,1,9,1003,1),MDSYS.SDO_ORDINATE_ARRAY(30.9455798232288,-90,30.302,-89.79769,29.01464,-89.79769,30.9455798232288,-90,-150.98536,-88.49758,30.9455798232288,-90,-149.698,-88.49769,-150.98536,-88.49758))
14APPROACHES TO MISSISSIPPI RIVER288611366MDSYS.SDO_ELEM_INFO_ARRAY(1,1003,1)POLYGON ((27.91378 -90.25311, 27.91378 -88.31894, 30.33617 -88.31894,
  30.33617 -90.25328, 27.91378 -90.25311))
13349 [Element <1>] [Ring <1>][Edge <1>][Edge
  <3>]
MDSYS.SDO_GEOMETRY(2007,4326,NULL,MDSYS.SDO_ELEM_INFO_ARRAY(1,1003,1,9,1003,1),MDSYS.SDO_ORDINATE_ARRAY(21.8935040417344,-90,30.33617,-88.31894,27.91378,-88.31894,21.8935040417344,-90,-152.08622,-89.74689,21.8935040417344,-90,-149.66383,-89.74672,-152.08622,-89.74689))
15LEASE BLOCK FOR MISSISSIPPI RIVER TO GALVESTON29961116AMDSYS.SDO_ELEM_INFO_ARRAY(1,1003,1)POLYGON ((26.84467 -94.83933, 26.84467 -89.24406, 30.30517 -89.24406,
  30.30517 -94.83928, 26.84467 -94.83933))
13349 [Element <1>] [Ring <1>][Edge <1>][Edge
  <3>]
MDSYS.SDO_GEOMETRY(2007,4326,NULL,MDSYS.SDO_ELEM_INFO_ARRAY(1,1003,1,9,1003,1),MDSYS.SDO_ORDINATE_ARRAY(-61.4166322390673,-90,30.30517,-89.24406,26.84467,-89.24406,-61.4166322390673,-90,-153.15533,-85.16067,-61.4166322390673,-90,-149.69483,-85.16072,-153.15533,-85.16067))
16MISSISSIPPI RIVER TO GALVESTON4911340MDSYS.SDO_ELEM_INFO_ARRAY(1,1003,1)POLYGON ((26.84467 -94.83933, 26.84467 -89.24406, 30.30517 -89.24406,
  30.30517 -94.83928, 26.84467 -94.83933))
13349 [Element <1>] [Ring <1>][Edge <1>][Edge
  <3>]
MDSYS.SDO_GEOMETRY(2007,4326,NULL,MDSYS.SDO_ELEM_INFO_ARRAY(1,1003,1,9,1003,1),MDSYS.SDO_ORDINATE_ARRAY(-61.4166322390673,-90,30.30517,-89.24406,26.84467,-89.24406,-61.4166322390673,-90,-153.15533,-85.16067,-61.4166322390673,-90,-149.69483,-85.16072,-153.15533,-85.16067))
17LAKE SUPERIOR149914961MDSYS.SDO_ELEM_INFO_ARRAY(1,1003,1)POLYGON ((45.99294 -92.37683, 45.99294 -84.18989, 49.23161 -84.18989,
  49.23161 -92.37678, 45.99294 -92.37683))
13349 [Element <1>] [Ring <1>][Edge <1>][Edge
  <3>]
MDSYS.SDO_GEOMETRY(2007,4326,NULL,MDSYS.SDO_ELEM_INFO_ARRAY(1,1003,1,9,1003,1),MDSYS.SDO_ORDINATE_ARRAY(-129.690100854439,-90,49.23161,-84.18989,45.99294,-84.18989,-129.690100854439,-90,-134.00706,-87.62317,-129.690100854439,-90,-130.76839,-87.62322,-134.00706,-87.62317))
Comments
Locked Post
New comments cannot be posted to this locked post.
Post Details
Locked on Oct 11 2016
Added on Aug 11 2016
12 comments
1,344 views