上一波配置好了oracle中sde函数的环境,这一波就尝试着使用了下基本的函数st_geometry,为下一步不用arcgis server做准备了,现在还很少使用st_raster==
查询方法如下:
SELECT t.SHAPE FROM "GGBWY_构件" t
具体其中一条数据:
SDE.ST_GEOMETRY(8, 5, 664229.20532171, -3216.215523613970, 664449.2053217110, -1716.215523613970, null, null, null, null, 330000.0000000080, 3440.000000000010, 300004)
很奇怪这并不是我们常见的polygon ((40 40, 40 60, 60 60, 60 40, 40 40))这种类型,那里面的8,5这些都是啥呢:
ST_Geometry 存储空间数据的结构如下表:
Name Type
ENTITY NUMBER(38)
NUMPTS NUMBER(38)
MINX FLOAT(64)
MINY FLOAT(64)
MAXX FLOAT(64)
MAXY FLOAT(64)
MINZ FLOAT(64)
MAXZ FLOAT(64)
MINM FLOAT(64)
MAXM FLOAT(64)
AREA FLOAT(64)
LEN FLOAT(64)
SRID NUMBER(38)
POINTS BLOB
Entity 为要素类型,包括 (linestring, multilinestring, multipoint, multipolygon, point, or polygon )。具体的值对应的类型可以通过st_geom_util 存储过程获得。 NUMPTS 为坐标点的个数
Minx, miny, maxx, maxy 几何的外包络矩形
Area 几何的面积
Len 几何的周长
SRID 空间参考系 ID ,对应 ST_Spatial_References 表中的空间参考信息
POINTS 坐标序列
查询方法
SELECT SDE.st_astext(t.SHAPE) FROM "GGBWY_构件" t
这样的数据就成为我们平时查看的格式了。
查询方法
SELECT SDE.st_astext(t.SHAPE) FROM "GGBWY_构件" t WHERE sde.st_intersects (t.SHAPE, sde.st_geometry('POLYGON (( 664229.20532171 -1716.21552361, 664229.20532171 -3216.21552361, 664449.20532171 -3216.21552361, 664449.20532171 -1716.21552361, 664229.20532171 -1716.21552361))', 300004)) = 1
这里st_geometry中的函数参数要填写srid,srid可以用下面的sql语句查询
SELECT SDE.st_srid(t.SHAPE) FROM "GGBWY_构件" t