MEASUREMENT
COORDINATE MUTATION
TRANSFORMATION
FEATURE_CONVERSION
MISC
HELPER
RANDOM
GRIDS
AGGREGATION
META
ASSERTIONS
BOOLEANS
UNIT CONVERSION
DATA
JOINS
CLASSIFICATION

booleanPointInPolygon

使用Turf的booleanPointInPolygon函数可以判断一个点是否在多边形内部,并返回一个布尔值。该函数的输入参数包括一个点坐标和一个多边形,输出结果是一个布尔值,表示该点是否在该多边形内。

语法

turf.booleanPointInPolygon(point, polygon);

参数

  • point:表示要判断的点的坐标,可以是Turf的点对象或者包含点坐标的数组,格式为[lng, lat](经度,纬度)。
  • polygon:表示包含要判断的点的多边形,可以是Turf的多边形对象或者包含多边形顶点坐标数组的多边形对象(顶点顺序应该是顺时针方向),格式为[[[lng1,lat1],[lng2,lat2],...,[lngN,latN]]]

返回值

该函数返回一个布尔值,如果点在多边形内部,返回true,否则返回false

示例

var point = turf.point([-77, 44]);
var polygon = turf.polygon([[
    [-76, 43],
    [-80, 46],
    [-73, 47],
    [-76, 43]
]]);
var isInside = turf.booleanPointInPolygon(point, polygon);
console.log(isInside); // 返回 true

在上面的示例中,我们首先定义了一个点对象和一个多边形对象,然后调用 booleanPointInPolygon 函数来判断点是否在多边形内部,最后输出结果为 true

异常情况

如果输入的参数不符合要求,会抛出异常。例如,如果点对象或多边形对象的格式不正确,或者多边形顶点顺序不是顺时针方向,都会引发异常。在代码中,可以使用 try-catch 语句来捕获这些异常,以便更好的处理错误。