Cesium多边形内取点情景:框选一个区域,里面需要填充一些模型或者mark点。
1.按照每隔1m取一个点
- let lonZj = 0.00001141 //根据株距计算经度上最大间隔
- let latZj = 0.00000899 //根据株距计算纬度上最大间隔
- let lonNum = Math.floor((maxLon - minLon) /lonZj) //经度上能取多少个点
- let latNum = Math.floor((maxLat - minLat) /latZj)//纬度上能取多少个点
-
- let abc = []
- for (let i = 0; i < lonNum; i++) {
- for (let j = 0; j < latNum; j++) {
- let abcLon = (i+1)*lonZj+minLon
- let abcLat = (j+1)*latZj+minLat
- abc.push([abcLon,abcLat])
- }
- }
如果每隔五米取一个点就需要对lonZj和latZj各自乘以五。
2.固定在多边形内取一定数量的点
- let lonZj = (maxLon-minLon)/10
- let latZj = (maxLat-minLat)/10
- let lonNum = 10
- let latNum = 10
最后不管是哪种方式都要判断这些点是否都在多边形内,这个就需要使用turf.js