sdo_geometry插入点和面的sql

sdo_geometry理解起来稍微难一点,但常用的需求就两个,插入点和插入面

1.插入点

insert into t_sxt2 (shape) values (
  t_sxt2.SDO_GEOMETRY( 2001,4326, sdo_point_type(120.1,30.1,0),null,null ));

解释:2001表示二维单点,其中2表示二维,第二位一般为0,后面01表示单点。

  4326表示坐标系srid

  sdo_point_type(120.1,30.1,0)表示 点坐标,xyz三个参数都要,即使是二维的

  后面两个null,分别表示SDO_ELEM_INFO 和SDO_ORDINATES,当类型为点的时候,都是null

2.插入多边形

insert into zz_wg (shape) VALUES (
zz_wg.SDO_GEOMETRY(  2003,  4326,NULL,MDSYS.SDO_ELEM_INFO_ARRAY(1,1003,1),MDSYS.SDO_ORDINATE_ARRAY(119,29,119,30,120,30,119,29)));

解释:2003同上,03表示多边形,polygon

  4326同上

          null:当为多边形时,第三个参数会被忽略,即设为null

MDSYS.SDO_ELEM_INFO_ARRAY(1,1003,1):MDSYS为oracle空间数据账户,是一个默认账户。    

SDO_ELEM_INFO_ARRAY定义了如何理解后面一个参数(坐标串):1表示从第一个坐标端开始,后面两个参数要连起来理解:在这里1003为逆时针,1表示直线多边形

SDO_ORDINATE_ARRAY(119,29,119,30,120,30,119,29):具体坐标

以上理解虽然不全面,但至少能用,下面有详解链接。

https://www.cnblogs.com/upDOoGIS/archive/2009/05/20/1469871.html

你可能感兴趣的:(oracle,arcgis)