js根据经纬度计算多边形面积
项目因使用百度地图,但百度地图的面积计算太过low,经常为出现面积为负的情况;
调用computeSignedArea(path)
function computeSignedArea(path) {//传入path:{[{lat:,lng:}],[{lat:,lng:}],[{lat:,lng:}]
}let radius= 6371009let len = path.length;if (len < 3) return 0; let total = 0;let prev = path[len - 1];let prevTanLat = Math.tan(((Math.PI / 2 - prev.lat/180*Math.PI) / 2));let prevLng = (prev.lng)/180*Math.PI;for (let i in path) {let tanLat = Math.tan((Math.PI / 2 -(path[i].lat)/180*Math.PI) / 2);let lng = (path[i].lng)/180*Math.PI;total += polarTriangleArea(tanLat, lng, prevTanLat, prevLng);prevTanLat = tanLat;prevLng = lng;}return Math.abs(total * (radius * radius));
}
function polarTriangleArea(tan1,lng1,tan2,lng2) {let deltaLng = lng1 - lng2;let t = tan1 * tan2;return 2 * Math.atan2(t * Math.sin(deltaLng), 1 + t * Math.cos(deltaLng));
}
最简单粗暴的经纬点面积计算方法;
js根据经纬度计算多边形面积相关推荐
- python计算多边形面积_Python求凸包及多边形面积教程
一般有两种算法来计算平面上给定n个点的凸包:Graham扫描法(Graham's scan),时间复杂度为O(nlgn):Jarvis步进法(Jarvis march),时间复杂度为O(nh),其中h ...
- 通过坐标点位,计算多边形面积
多边形面积 本文使用三角形面积累计法计算多边形面积,就是将多边形按照一个顶点,分割成多个三角形,计算三角形的面积,累加,得到多边形的面积. 当然,这个算法也有一些缺点,当这个多边形比较奇怪的时候,不能 ...
- Java 根据多边形坐标点 计算多边形面积
请仔细阅读代码注释(有肯多坑,跟着注释走没问题) 亲测有效 /*** 计算多边形面积公式** @author Lion Li* @date 2020-05-19*/ public class Poly ...
- 判断多边形的凹凸性和计算多边形面积:利用向量叉乘
根据百度百科的讲解: 凸多边形 现在重点讲解顶点凹凸性法(最常用也是较为简单的方法):计算总结在最后. 利用向量叉乘的相关知识进行计算:假设当前连续的三个顶点分别是P1,P2,P3.计算向量P1P3, ...
- 向量法计算多边形面积
计算多边形面积的方法为将多边形分解成多个三角形,然后把这些三角形的面积相加.三角形面积为两边向量叉积除以2. 这是Java代码,目前是第3版 ,已经尽可能优化了,相比初版有25%的性能提升. /*** ...
- python计算多边形面积
本文提供一个简单的方法计算多边形面积,参考维基百科 实现代码: def polygon_area(polygon):"""compute polygon areapoly ...
- js根据经纬度计算两点距离
js根据经纬度计算两点距离 1.html <button type="button" οnclick="distanceByLnglat(116.95400,39. ...
- 5分钟理解外积计算多边形面积
5分钟理解外积计算多边形面积 在矢量结构下,面状物体用其轮廓线构成的多边形表示,对于简单多边形,设有n个顶点,面积计算公式为: 公式如何得来的呢? 此公式涉及数学中的外积,外积即叉乘: "a ...
- matlab 二维凸包面积,PKU——3348——(凸包和计算多边形面积)
//3348 Accepted 264K 0MS C++ 4016B//典型的凸包和计算多边形面积#include#include#include#include#include#includeusi ...
最新文章
- Git将主合并到功能分支
- 洛谷 - P4390 [BOI2007]Mokia 摩基亚(带修二维数点-四叉线段树/CDQ分治)
- 详细解读神经网络十大误解,再也不会弄错它的事情原理
- Java!越来越像Kotlin了!!
- K8S架构设计及工作流程分析
- 开发人员需要了解的测试
- 题目1140:八皇后
- 微软12月补丁星期二值得关注的6个0day及其它
- 2021-10-26 模电共射放大电路部分
- 微信小程序 等待几秒、_微信小程序从提交审核到审核通过最快速度:39分55秒!...
- python入门之函数结构第二关_Python入门二:函数
- 【转】宁做创业狼,不做打工狗(ZT)
- 浅谈ERP项目团队管理的四个方面
- 自定义AVA数据集流程及在SlowFast中训练
- 计算机里的word怎么重装,word能卸载重装吗 word卸载重装
- properties文件的用法;utils类封装数据库连接、资源关闭、通用的增删改,以及两种通用的查询方法
- java序列化3-序列化设计防坑点
- 校园地图设计——任意两点间的算法优化流程与while搭配switch语句的bug解读
- 一文读懂设计模式--策略模式
- 山水印|竹林野茶:在这个临近八月中秋的九月,再喝桂花香茶
热门文章
- iOS 15Beta5版本更新变化,这些细节你发现了吗?
- Prometheus客户端节点监控node_exporter
- SpringMVC的视图和视图解析器
- CheckListBox的实现方式分析
- Superpixel_Segmentation_With_Fully_Convolutional_Networks ---CVPR_2020_paper(翻译)
- SpringBoot 实现国际化 SpringBoot配置国际化 SpringBoot 国际化 springboot实现国际化 springboot配置国际化 springboot国际化代码实现
- FPGA Verilog视频笔记
- X509Certificate
- 滴滴一技术总监4年累计受贿1000万,被开除并移送公安机关
- PTA——互评成绩(c语言)