js已知多边形坐标点,求多边形的中心点坐标
你需要传入的数据类型如下:

// 取面对象 中心点
var calculateCenter = function (lnglatarr) {
var total = lnglatarr.length;
var X = 0, Y = 0, Z = 0;
lnglatarr.forEach(function (lnglat) {
var lng = lnglat.lon * Math.PI / 180;
var lat = lnglat.lat * Math.PI / 180;
var x, y, z;
x = Math.cos(lat) * Math.cos(lng);
y = Math.cos(lat) * Math.sin(lng);
z = Math.sin(lat);
X += x;
Y += y;
Z += z;
});
X = X / total;
Y = Y / total;
Z = Z / total; var Lng = Math.atan2(Y, X);
var Hyp = Math.sqrt(X * X + Y * Y);
var Lat = Math.atan2(Z, Hyp);
console.log(Lng, Lat, Hyp);
return { lng: Lng * 180 / Math.PI, lat: Lat * 180 / Math.PI };
};
// console.log(calculateCenter(list), '1111');
最后拿到的坐标点,就是这个多边形的“重心”,赶紧试试吧~~~
作者:微微一笑绝绝子
出处:https://www.cnblogs.com/wwyxjjz/p/16397169.html
本博客文章均为作者原创,转载请注明作者和原文链接。
js已知多边形坐标点,求多边形的中心点坐标的更多相关文章
- 2019-8-31-C#-已知点和向量,求距离的点
title author date CreateTime categories C# 已知点和向量,求距离的点 lindexi 2019-08-31 16:55:58 +0800 2018-05-08 ...
- TZOJ 3209 后序遍历(已知中序前序求后序)
描述 在数据结构中,遍历是二叉树最重要的操作之一.所谓遍历(Traversal)是指沿着某条搜索路线,依次对树中每个结点均做一次且仅做一次访问. 这里给出三种遍历算法. 1.中序遍历的递归算法定义: ...
- python应用-已知三角形的边长求他的面积和周长
""" 已知三角形的边长求他的面积和周长 Author:罗万财 Date:2017-3-3 """ import math a=float( ...
- C语言:已知三角形三边长求面积
//已知三角形三边长求面积 #include <stdio.h> #include <math.h> int main() { float a,b,c,p,s; int x=0 ...
- poj1190,DFS/已知一个等式,求另一个最小值
7月17日是Mr.W的生日,ACM-THU为此要制作一个体积为Nπ的M层生日蛋糕,每层都是一个圆柱体. 设从下往上数第i(1 <= i <= M)层蛋糕是半径为Ri, 高度为Hi的圆柱. ...
- C# 已知点和向量,求距离的点
已知一个点 P 和向量 v ,求在这个点P按照向量 v 运行距离 d 的点 B . 已经知道了一个点 P 和他运动方向 v ,就可以通过这个求出距离点 P 为 d 的点 B. 首先把 v 规范化,规范 ...
- js已知A,B两点坐标,在线段AB上有C点,已知AC的距离,求C点的坐标
/** * @param {Number} _x1 A点坐标 * @param {Number} _y1 A点坐标 * @param {Number} _x2 B点坐标 * @param {Numbe ...
- 【美国血统 American Heritage 题解】已知前序中序 求后序
题目: 题目名称:美国血统 American Heritage 题目来源:美国血统 American Heritage ## 题目描述 农夫约翰非常认真地对待他的奶牛们的血统.然而他不是一个真正优秀的 ...
- 【POJ 1981】Circle and Points(已知圆上两点求圆心坐标)
[题目链接]:http://poj.org/problem?id=1981 [题意] 给你n个点(n<=300); 然后给你一个半径R: 让你在平面上找一个半径为R的圆; 这里R=1 使得这个圆 ...
- HLG2040二叉树遍历已知前中,求后
二叉树的遍历 Time Limit: 1000 MS Memory Limit: 32768 K Total Submit: 60(34 users) Total Accepted: 34(30 us ...
随机推荐
- 西湖论剑2023-mp3[wp]
一 题目描述 二 解题步骤 1.分析文件 (1)放入Audacity中查看频谱信息无果 (2)010editor中查看文件结构 文件尾部存在PNG文件尾,搜索png文件头 将该png文件复制提取出来, ...
- java短链接生成二维码
import com.google.zxing.BarcodeFormat; import com.google.zxing.EncodeHintType; import com.google.zxi ...
- 生成数据库文档 —— Spring Boot + Screw
1.创建一个SpringBoot项目(本人使用的是IntelliJ IDEA 2020.1 x64) 最佳简单的项目配置如下: 2.添加相关依赖 <!--screw依赖--> <de ...
- C/C++ union联合体介绍
C/C++ union联合体介绍 文章参考:https://blog.csdn.net/mooneve/article/details/92703036 目录 C/C++ union联合体介绍 1. ...
- 一种改进后的turf.idw算法
turf 是Advanced geospatial analysis geojson data in javascript. 官网:http://turfjs.org/ 针对github 中的源码. ...
- Linux学习 --- 系统网络配置
前言 : 如果一台计算机想接入互联网,必须配置好IP地址,子网掩码,网关,DNS服务器.在Linux系统中,这些信息都可以修改对应的配置文件来进行配置.临时配置一下网络可以使用一些简单的命令来进行配置 ...
- 莫凡Python 3
莫凡Python 3 新建模板小书匠 CNN 卷积神经网络 参考资料 https://morvanzhou.github.io/tutorials/machine-learning/keras/2-3 ...
- 浅谈AD域
活动目录(Active Directory)是面向Windows Standard Server.Windows Enterprise Server以及 Windows Datacenter Serv ...
- 【Word】如何批量导出ppt中的备注
[Word]如何批量导出ppt中的备注 文件 | 导出 | 创建讲义 | 备注在幻灯片旁 在word中删除左边两列,复制剩下的表格 | 粘贴-只保留文本
- source insight c++ namespace 无法跳转解决方法
source insight c++ namespace 无法跳转解决方法 2016年02月15日 11:47:35 暗小夜 阅读数:4460 勾选igore namespace declarat ...