SDO_BUFFER函数在一个特定的几何体或几何体集合周围构建一个缓冲。例如,可以使用这个函数在一个运输地点周围创建一个0.25英里的缓冲区。该缓冲区将会是围绕运输地点的一个圆,半径是0.25英里。这个函数有如下的语法:
其中,geometry是一个参数,表示将被缓冲的SDO_GEOMETRY对象;distance是一个参数,表示缓冲输入的几何体的数值距离;tolerance是一个参数,表示容差;params是一个可选的第四个参数,表示两个参数,即unit=<valuc_string>和arc-_tolerance=<value_number>。unit=<valuc_string>参数表示距离单位。可以通过查阅MDSYS.SDO_DIST_UNITS表来获得单位的可能取值。
如果几何体是大地测量的(也就是说,如果几何体的SDO_SRID被赋值为大地测量SRID,如8307或者8625),那么arc_tolerance=<value_number>参数就是必需的。在大地测量的空间里,弧度是不允许的。然而,它们可以近似地用线表示。弧线的容差参数表示弧线与它近似线的最大距离。
可以为在BRANCHES表中的每一个分支机构位置周围构建一个0.25英里的缓冲。代码如下:(www.xing528.com)
注意,第一个参数是将被缓冲的几何体,第二个参数表示缓冲的距离是0.25,第三个参数表示容差是0.5m,这个容差是大地测量几何体的容差单位,第四个变量的parameter_string参数表示缓冲距离(通常为0.25)的单位。在这个例子中,单位是英里,那么缓冲距离也是0.25英里,此外,parameter_string参数也表示0.005的弧线容差。因为单位是英里,所以弧线容差将被解释为0.005英里。代码运行结果如图6-11所示。
图6-11 SDO_BUFFER空间函数的使用
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。