oracle spatial sdo_buffer函数精度控制
2012-11-14 11:09
204 查看
SDO_GEOM.sdo_buffer 函数用来做缓冲区查询使用,它有三个参数:
param1:需要查询的几何要素。
param2:用来过滤的几何要素。
param3:用来控制缓冲区半径值、缓冲弧容差和单位的控制。
当下,我有一个需求,对一线状地物进行缓冲区查询,并将缓冲区绘制在地图上。以下是我的代码:
public String getBufferLine(String lineWKT, double distance) {
String response="";
//tolerace值越小 图越精确 likehua 20121114
StringBuffer sql=new StringBuffer("select SDO_UTIL.to_wktgeometry(SDO_GEOM.sdo_buffer(SDO_GEOMETRY('"+lineWKT+"',8307),"+distance+",0.0002,'arc_tolerance=0.02 unit=m')) as wkt from dual");
List<Map> result=this.getListByArg(sql.toString(), null);
if(result!=null&&result.size()>0){
Map one=result.get(0);
response=one.get("WKT").toString();
}
return response;
}
其中arc_tolerance 越小,缓冲区图形越精确,同时也意味着sdo_geoemtry越庞大,导致在前端绘制图形的响应时间越慢。
param1:需要查询的几何要素。
param2:用来过滤的几何要素。
param3:用来控制缓冲区半径值、缓冲弧容差和单位的控制。
当下,我有一个需求,对一线状地物进行缓冲区查询,并将缓冲区绘制在地图上。以下是我的代码:
public String getBufferLine(String lineWKT, double distance) {
String response="";
//tolerace值越小 图越精确 likehua 20121114
StringBuffer sql=new StringBuffer("select SDO_UTIL.to_wktgeometry(SDO_GEOM.sdo_buffer(SDO_GEOMETRY('"+lineWKT+"',8307),"+distance+",0.0002,'arc_tolerance=0.02 unit=m')) as wkt from dual");
List<Map> result=this.getListByArg(sql.toString(), null);
if(result!=null&&result.size()>0){
Map one=result.get(0);
response=one.get("WKT").toString();
}
return response;
}
其中arc_tolerance 越小,缓冲区图形越精确,同时也意味着sdo_geoemtry越庞大,导致在前端绘制图形的响应时间越慢。
相关文章推荐
- Oracle_spatial的函数介绍
- Oracle PLSQL 学习笔记(块、控制结构、过程、函数、包)
- matlab控制运算精度函数digits(A)和vpa(B)的使用方法
- ORACLE 函数处理的数据返回值过长 character string buffer too small , WMSYS.WM_CONCAT
- Oracle PLSQL 学习笔记(块、控制结构、过程、函数、包)
- 浮点精度控制实用小函数
- Oracle 函数 “数据控制,指定某些人只能查看他权限范围内的信息”
- Oracle Spatial SDO_Geometry类型的详细说明
- ORACLE 常用函数及日期控制
- javascript中对数值计算控制精度的函数
- matlab控制运算精度函数digits(A)和vpa(B)的使用方法
- Oracle_spatial的函数介绍[转]
- Oracle_spatial的几何处理函数
- oracle----buffer、图形相交、使用body中的函数、确认表存在,导入文本入库
- Oracle_spatial的函数介绍
- Oracle Spacial(空间数据库)sdo_Geom包的函数
- Oracle_spatial的主要函数
- Oracle_spatial的函数介绍
- ORACLE 函数处理的数据返回值过长 character string buffer too small
- Oracle_spatial的函数