Heim > Datenbank > MySQL-Tutorial > Oracle spatial sdo_buffer函数精度控制

Oracle spatial sdo_buffer函数精度控制

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
Freigeben: 2016-06-07 17:22:36
Original
1220 Leute haben es durchsucht

SDO_GEOM.sdo_buffer 函数用来做缓冲区查询使用,它有三个参数:其中arc_tolerance 越小,缓冲区图形越精确,同时也意味着sdo_ge

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越庞大,,导致在前端绘制图形的响应时间越慢。

linux

Verwandte Etiketten:
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage