xusong 2014-05-15
通过ArcSDE的空间查询返回空间位置的WKT,有两种方式:
1.使用ArcSDE库函数,sde.st_astext(shape)
2.手动构造,‘Point(’||sde.st_minx(shape)||' '||sde.st_minx(shape)||')'
sde.st_astext函数定义
sde.st_x函数定义
测试表中存在2w+条数据,以上两种方式的查询效率有明显的差别,测试如下:
select NAME,sde.st_astext(shape) shape from POI where name like '%大%'
执行时间:18.516s
select NAME,sde.st_minx(shape)||' '||sde.st_minx(shape) shape from POI where name like '%大%'
执行时间:1.344s
注:sde.st_astext(shape)将SHAPE字段转换成CLOB格式返回,sde.st_minx(shape)从SHAPE字段的属性中直接获取。通过sde.st_astext(shape)获取CLOB数据后,在代码中还需要将CLOB转换为String格式,这也影响了处理效率。