bboxClip是Turf中的一个转换函数,可以用来将输入的GeoJSON对象中的几何体按照指定的边界框进行裁剪,并输出裁剪后的GeoJSON对象。
bboxClip(input, bbox)
input:必需,输入的GeoJSON对象,可以是点、线、面或者多个几何体组成的集合。bbox:必需,边界框数组,表示裁剪的范围。数组中含有四个元素,依次是最小经度、最小纬度、最大经度和最大纬度,格式为 [minX, minY, maxX, maxY],且minX小于等于maxX,minY小于等于maxY。const bbox = [110.408, 31.087, 112.175, 33.055];
const polygon = turf.polygon([
[
[111.0, 32.0],
[112.0, 32.0],
[112.0, 33.0],
[111.0, 33.0],
[111.0, 32.0]
]
]);
const clipped = turf.bboxClip(polygon, bbox);
console.log(clipped);
上述示例中,我们定义了一个四边形多边形 polygon,然后指定了一个边界框 bbox,最后将polygon与bbox输入到bboxClip函数中进行裁剪,得到一个新的GeoJSON对象 clipped,该对象由polygon中符合bbox定义的范围部分构成。
bboxClip函数只对从投影的角度讲,是球体上的经纬度坐标系有效,在平面直角坐标系和投影坐标系中不适用;input的GeoJSON对象需保证几何体的坐标系与边界框匹配,否则在使用函数时可能出现异常。bboxClip只裁剪几何体在bbox定义的范围内的部分,若有几何体在bbox范围外也与输入到函数中,函数并不会将其剔除,而是保留原有的几何体。