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 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
Oracle spatial sdo_buffer函数精度控制
来源: 互联网 发布时间:2017-05-11
本文导语: SDO_GEOM.sdo_buffer 函数用来做缓冲区查询使用,它有三个参数: param1:需要查询的几何要素。 param2:用来过滤的几何要素。 param3:用来控制缓冲区半径值、缓冲弧容差和单位的控制。 当下,我有一个需求,对一线状地物进行缓冲...
您可能感兴趣的文章:
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。