如何找到给定坐标的区域

How to find area of given coordinates?

本文关键字:坐标 区域 何找      更新时间:2023-09-26

如何找到给定坐标的面积?要求: 我在地图上有一个多边形坐标,然后我们想找到以公顷和英亩为单位的多边形面积

坐标在十进制度区应以十进制度为单位我们可以转换公顷和英亩请重播我

坐标是

(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