获取经纬度中心点函数工具
```getCenter(pointArray) {
//console.log(JSON.stringify(pointArray));
var sortedLongitudeArray = pointArray
.map((item) => item.longitude)
.sort(); //首先对经度进行排序,红色部分是array中经度的名称
var sortedLatitudeArray = pointArray.map((item) => item.latitude).sort(); //对纬度进行排序,红色部分是array中纬度的名称
var centerLongitude = (
(parseFloat(sortedLongitudeArray[0]) +
parseFloat(sortedLongitudeArray[sortedLongitudeArray.length - 1])) /
2
).toFixed(4);
const centerLatitude = (
(parseFloat(sortedLatitudeArray[0]) +
parseFloat(sortedLatitudeArray[sortedLatitudeArray.length - 1])) /
2
).toFixed(4);
//如果经纬度在array中不是数字类型,需要转化为数字类型进行计算,如果是可以去掉parseFloat处理
//console.log(centerLongitude+"kkk"+centerLatitude);
return [centerLongitude, centerLatitude];
},
经纬度面积算法
getwellpoint(point, pts) {
var N = pts.length; //pts [{lat:xxx,lng:xxx},{lat:xxx,lng:xxx}]
var boundOrVertex = true; //如果点位于多边形的顶点或边上,也算做点在多边形内,直接返回true
var intersectCount = 0; //cross points count of x
var precision = 2e-10; //浮点类型计算时候与0比较时候的容差
var p1, p2; //neighbour bound vertices
var p = point; //point {lat:xxx,lng:xxx}
p1 = pts[0]; //left vertex
for (var i = 1; i <= N; ++i) {
//check all rays
if (p.lat == p1.lat && p.lng == p1.lng) {
return boundOrVertex; //p is an vertex
}
p2 = pts[i % N]; //right vertex
if (
p.lat < Math.min(p1.lat, p2.lat) ||
p.lat > Math.max(p1.lat, p2
获取经纬度中心点函数工具,经纬度面积算法,D3js,xy轴转为经纬度算法,六代度坐标转换为经纬度
最新推荐文章于 2024-05-22 11:53:15 发布