你需要传入的数据类型如下:

                    // 取面对象 中心点
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已知多边形坐标点,求多边形的中心点坐标的更多相关文章

  1. 2019-8-31-C#-已知点和向量,求距离的点

    title author date CreateTime categories C# 已知点和向量,求距离的点 lindexi 2019-08-31 16:55:58 +0800 2018-05-08 ...

  2. TZOJ 3209 后序遍历(已知中序前序求后序)

    描述 在数据结构中,遍历是二叉树最重要的操作之一.所谓遍历(Traversal)是指沿着某条搜索路线,依次对树中每个结点均做一次且仅做一次访问. 这里给出三种遍历算法. 1.中序遍历的递归算法定义:  ...

  3. python应用-已知三角形的边长求他的面积和周长

    """ 已知三角形的边长求他的面积和周长 Author:罗万财 Date:2017-3-3 """ import math a=float( ...

  4. C语言:已知三角形三边长求面积

    //已知三角形三边长求面积 #include <stdio.h> #include <math.h> int main() { float a,b,c,p,s; int x=0 ...

  5. poj1190,DFS/已知一个等式,求另一个最小值

    7月17日是Mr.W的生日,ACM-THU为此要制作一个体积为Nπ的M层生日蛋糕,每层都是一个圆柱体.  设从下往上数第i(1 <= i <= M)层蛋糕是半径为Ri, 高度为Hi的圆柱. ...

  6. C# 已知点和向量,求距离的点

    已知一个点 P 和向量 v ,求在这个点P按照向量 v 运行距离 d 的点 B . 已经知道了一个点 P 和他运动方向 v ,就可以通过这个求出距离点 P 为 d 的点 B. 首先把 v 规范化,规范 ...

  7. js已知A,B两点坐标,在线段AB上有C点,已知AC的距离,求C点的坐标

    /** * @param {Number} _x1 A点坐标 * @param {Number} _y1 A点坐标 * @param {Number} _x2 B点坐标 * @param {Numbe ...

  8. 【美国血统 American Heritage 题解】已知前序中序 求后序

    题目: 题目名称:美国血统 American Heritage 题目来源:美国血统 American Heritage ## 题目描述 农夫约翰非常认真地对待他的奶牛们的血统.然而他不是一个真正优秀的 ...

  9. 【POJ 1981】Circle and Points(已知圆上两点求圆心坐标)

    [题目链接]:http://poj.org/problem?id=1981 [题意] 给你n个点(n<=300); 然后给你一个半径R: 让你在平面上找一个半径为R的圆; 这里R=1 使得这个圆 ...

  10. HLG2040二叉树遍历已知前中,求后

    二叉树的遍历 Time Limit: 1000 MS Memory Limit: 32768 K Total Submit: 60(34 users) Total Accepted: 34(30 us ...

随机推荐

  1. Jmeter使用文档(循环怎么用)

    Jmeter使用文档(循环怎么用) 基础用法 修改语言 Jmeter之界面语言设置 下面使用简体中文的命名进行说明 打开日志 启动后,右上角有个黄色的感叹号图标,点击即可打开即时日志 如果没有看到重启 ...

  2. matlab如何关闭figure

    如果想要关闭之前打开的figure,用**close()**函数就可以了. close(H):关闭句柄为H的figure: close('name'):关闭指定name的figure: close a ...

  3. ts 学习笔记

    var message:string = "Hello World" console.log(message) // ts 1基础类型 任意类型 any 声明为 any 的变量可以 ...

  4. 激光雷达ldlidar communication is abnormal.

    查看串口设置是否正常,可以通过cat /dev/ttyS4查看是否有数据以确定所接的串口是否正确

  5. 从个人角度谈为什么要使用git多分支?

    今天烦死了,公司的项目没有使用多分支管理,造成给某客户的打包的代码竟然需要截取gitlab节点重新打包. 在我上家公司开发Android项目的时候,使用了非常鲜明的多分支管理,当时作为项目运维,对gi ...

  6. vue 滑动到指定位置

    在Vue中,有三种方式可以实现H5页面滑动至指定位置 方法1: //先获取目标位置距离 mounted() { this.$nextTick(() => { setTimeout(() => ...

  7. vue整体回顾

    vue大回顾 1 前端发展史 react vue---> 前端工程化---> 前后端分离 大前端:flutter uni-app 2 Vue介绍 单页面应用(spa) 组件化开发 mvvm ...

  8. 快速上手springboot(2)

    简介 Spring程序的缺点: 1.依赖设置繁琐 2.配置繁琐 SpringBoot程序优点 1.起步以来(简化依赖配置) 2.自动配置(简化常用工程相关配置) 3.辅助功能(内置服务器,...) S ...

  9. Java07 异常

    一.Error 和 Exception 1.什么是异常 实际工作中,遇到的情况不可能是非常完美的.比如:你写的某个模块,用户输入不一定符合你的要求.你的程序要打开某个文件,这个文件可能不存在或者文件格 ...

  10. Cannot add middleware after an application has started

    This helped: Open the Command Prompt or the Windows PowerShell. Navigate to your Stable Diffusion fo ...