ArcSDE vs. Oracle Spatial 3
1. 常见几何对象的构造
对于SDO_GEOMETRY这种定义晦涩的类型,最好是搞几个例子来对照一下,好在《Oracle Spatial Developer’s Guide》里提供了几个简单的Example,还配上了很好看的插图,在这里一并引用一下:
矩形 | SDO_GEOMETRY( 2003,-- 面,表 1 4326, NULL, SDO_ELEM_INFO_ARRAY(1,1003,3),-- 矩形,表 2 SDO_ORDINATE_ARRAY(1,1, 5,7) -- 左下角和右上角 ) |
有洞的多边形 | SDO_GEOMETRY( 2003,-- 面,表 1 4326, NULL, SDO_ELEM_INFO_ARRAY(1,1003,1, 19,2003,1), -- 从1开始多边形,从19开始多边形,表 2 SDO_ORDINATE_ARRAY(2,4, 4,3, 10,3, 13,5, 13,9, 11,13, 5,13, 2,11, 2,4,--外多边形,逆时针 7,5, 7,10, 10,10, 10,5, 7,5)-- 内多边形,顺时针 ) |
复合线 | SDO_GEOMETRY( 2002,-- 线,表 1 4326, NULL, SDO_ELEM_INFO_ARRAY(1,4,2, 1,2,1, 3,2,2), -- 从1开始复合线,从1开始直线,从3开始圆弧,表 2 SDO_ORDINATE_ARRAY(10,10, 10,14, 6,10, 14,10) ) |
复合多边形 | SDO_GEOMETRY( 2003,-- 面,表 1 4326, NULL, SDO_ELEM_INFO_ARRAY(1,1005,2, 1,2,1, 5,2,2), -- 从1开始复合多边形,从1开始直线,从5开始圆弧构成的多段线,表 2 SDO_ORDINATE_ARRAY(6,10, 10,1, 14,10, 10,14, 6,10) ) |
点 | SDO_GEOMETRY( 2001,-- 点,表 1 4326, SDO_POINT_TYPE(116.39, 39.9, NULL),--使用SDO_POINT属性 NULL, NULL ) |
有向点 | SDO_GEOMETRY( 2001,-- 点,表 1 4326, NULL, SDO_ELEM_INFO_ARRAY(1,1,1, 3,1,0), --从1开始点,从3开始方向,表 2 SDO_ORDINATE_ARRAY(12,14, 0.3,0.2) ) |