如何找到给定坐标的区域
How to find area of given coordinates?
如何找到给定坐标的面积?要求: 我在地图上有一个多边形坐标,然后我们想找到以公顷和英亩为单位的多边形面积
坐标在十进制度区应以十进制度为单位我们可以转换公顷和英亩请重播我
坐标是
(10.072642780669105,76.3268655538559),(10.078051232146612,76.32986962795258]),(10.073530110959743,76.33390367031097)
法典
arr=[ [10.075854059674523, 76.32832467556],
[10.079825860518895, 76.33338868618011],
[10.076234340596953, 76.33806645870209],
[10.07065684212598, 76.33806645870209],
[10.068924417668397, 76.33175790309906] ];
var sum=0;
for(var i=0,l=arr.length-1;i<l;i++){ sum+=(arr[i][0]*arr[i+1][1]-arr[i+1][0]*arr[i][1]); }
alert('The Area of Ploygon is:'+(sum/2));
它非常复杂,不完全是数学。如果你想得到现实世界的结果而不是一些数学理论,你必须注意到地球不是球体 - 在谷歌中寻找WGS 84。
可以非常快地实现的算法之一是蒙特卡洛:
查找多边形的最小边界框(对于小区域,您可以将地球视为平面)
计算 MBB 的面积,如矩形 S = a*b
获取矩形内的 N 个随机点
查找 M = 多边形内的点
多边形的表面为 S*M/N
增加 N 可提高准确度。
您应该很容易找到解决每个步骤的算法(查找从一个地理点到另一个地理点的距离,检查点 x/y 是否在图中内)
多边形区号与另一个数学站点相比具有优势,后者在二维多边形下解释问题。
问题是你有平方度。
好吧,对于小块土地,地球可以被认为是平的,要将平方度转换为公顷、英亩或平方米,您需要知道度数有多长。
在赤道,地球上的度数是地球周长的 1/360,即 2*Pi*Rearth或 ~40000km。
1度大约是 40000 公里的 1/360 = 每度约 111 公里。
1公里是1000米。 1 km^2 = 10^6 m^2。 但是 1 公顷 = 10000 m^2,所以 1km^2 是 100 公顷。
平方度约为 (111^2 km^2) (100 公顷/km^2) ~= 1232100 公顷
啊,但我作弊了,这只在赤道附近有效。
地球比周围40000公里胖一点,当你接近极点时,经度也会变短。纬度 N 或 S 始终是地球从极点到极点的 1/360,但经度在赤道处最宽,随着cos(latitude)
变窄。
理想情况下,您需要一个库来为您进行转换。
这实际上取决于你在世界上的位置以及你想要的精确度。 请记住,土地既不平坦,也不一定与下面的球体对齐。
我工作的公司从空中喷洒蕨菜,并制作喷洒发生地点的地图,绘制在精确到一两米的军械测量地图上。
在英国,您可能会发现这些很有用,它们详细说明了这些转换的复杂性,我什至不会在这里总结。
http://www.ordnancesurvey.co.uk/business-and-government/help-and-support/navigation-technology/os-net/surveying.html
http://www.ordnancesurvey.co.uk/docs/support/guide-coordinate-systems-great-britain.pdf
看来军械测量局没有我在他们的网站上学到的旧转换论文,但我在这里找到了一份副本。http://www.fgg.uni-lj.si/~/mkuhar/Zalozba/TM_projection.pdf
- onkeyup无法动态创建多个文本区域
- EaseJS拖放;放下(动画CC)电影剪辑的鼠标坐标
- FabricJs-限制主对象内添加对象的移动区域
- 如何在d3.js中返回路径的y坐标
- 在谷歌地图上获取事件的x,y坐标
- 将文本区域行/列转换为屏幕 x/y 坐标
- 从谷歌地图Api中的区域名称获取坐标
- 为坐标之间的区域添加背景色
- 如何计算坐标以将元素保留在用户屏幕的区域中
- 高效获取元素的可见区域坐标
- 如何使用google maps JavaScript API v3获取google地图中查看区域中心的坐标
- 使用javascript更改区域标记的坐标
- 谷歌地图区域坐标和多边形
- 获取键盘焦点在文本区域或输入上的坐标
- JavaScript-获取区域地图形状的坐标
- 计算坐标区域的黑色像素
- 使用JavaScript或Coldfusion绘制和填充基于4或5个坐标点的区域
- 将元素拖放到iframe中.可降区域坐标错误,碰撞错误
- 文本区域中特定行的垂直坐标
- 如何找到给定坐标的区域