c#读写SDO_GEOMETRY字段

查询语句

selectdb.SHAPE.SDO_gtype as SDO_gtype,
   db.shape.sdo_srid as sdo_srid,
   db.shape.sdo_point.x as point_x,
   db.shape.sdo_point.y as point_y,
   db.shape.sdo_point.z as point_z,
   db.shape.sdo_elem_info as elem_info,
   db.shape.sdo_ordinates as sdo_ordinates
from T_table db

regexp_replace(sdo_util.to_gmlgeometry(db.shape),'</?[^>]*>|nbsp;|&','') as ORDINATES

插入字段值

INSERT INTO T_table (ID,SHAPE) VALUES(
          '10000000003',         
          MDSYS.SDO_GEOMETRY( 
                      2003,
                      NULL,
                      NULL,
                      MDSYS.SDO_ELEM_INFO_ARRAY(1,1003,3,3,22),
                      MDSYS.SDO_ORDINATE_ARRAY(1,1, 5,7)

         )
 );

读取字段

select db.id as region_id, sdo_util.to_gmlgeometry(db.shape) as region_location from T_table db

 获取类型

select db.shape.get_gtype() from T_table db

select db.SHAPE.SDO_gtype from T_table db

 条件查询

selectdb.objectid,
       TO_CHAR(db.shape.get_wkt()) AS wkt,
       db.comp_type,
       db.datatype,
       db.comp_name,
       db.health_lic,
       db.shape.SDO_POINT.X as x,
       db.shape. SDO_POINT.Y as y,
       db.reg_addr,
       db.bus_addr
  from t_publicplaces db
 where 1 = 1
   and substr(db.comp_type, 0, 2) = '01'
   and sdo_within_distance(db.SHAPE,
                           SDO_GEOMETRY(2001,
                                        8307,
                                        SDO_POINT_TYPE(116.4, 39.9, NULL),
                                        NULL,
                                        NULL),
                           'distance=1500.0 unit=m') = 'TRUE'

 

SELECT
   /*轨迹SHAPE信息 */
   db.id,
   db.SHAPE.SDO_gtype as SDO_gtype,
   db.shape.sdo_srid as sdo_srid,
   db.shape.sdo_point.x as point_x,
   db.shape.sdo_point.y as point_y,
   db.shape.sdo_point.z as point_z,
   '' as elem_info,
   /*
   db.shape.sdo_elem_info as elem_info,
   db.shape.sdo_ordinates as sdo_ordinates,
   sdo_util.to_gmlgeometry(db.shape) as sdo_ordinates
   */
   regexp_replace(sdo_util.to_gmlgeometry(db.shape),'</?[^>]*>|nbsp;|&','') as ORDINATES

FROM T_DEVICESTRACK db;

posted @ 2018-04-17 09:06  恋上微笑的天使  阅读(1026)  评论(0编辑  收藏  举报