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
范围外也与输入到函数中,函数并不会将其剔除,而是保留原有的几何体。