多个经纬度坐标到英里



我有几个x,y坐标,我想得到它的面积。我认为最好的做法是将 X,Y 十进制坐标转换为海里,然后做多边形的面积。我已经用谷歌搜索过,但真的没有找到任何对我的问题有帮助的东西。不是在寻找答案,但我只是想知道如何处理这个问题以及可能用于转换的内容。

这些是数组中的坐标:

    Lat_Long = [60.8427194, -042.7969500; ...
                60.8646972, -042.5323889; ...
                60.7640417, -042.5178639; ...
                60.5882139, -042.8185056; ...
                60.8080111, -042.8507500; ...
                60.8069889, -042.8374167; ...
                60.8083028, -042.8278361; ...
                60.8114056, -042.8186167; ...
                60.8152306, -042.8117389; ...
                60.8203694, -042.8055667; ...
                60.8256528, -042.8013611; ...
                60.8315167, -042.7985083; ...
                60.8374056, -042.797078; ...
                60.8427194, -042.7969500];

如果面积的直径不超过几公里(如果您坚持,则为英里),则

1)用单位米
将坐标转换为x,y空间2)使用简单的公式areaint

对于 1):将以单位度为单位的纬度和经度转换为米,方法是乘以因子

f = 40 000 000 / 360. // or use a more exact value using the WGS84 equitorial radius

(以米为单位的地球围栏,以360度为单位)

所以

x = longitude * f;
y = latitdue * f

将x与cos(averageLatitude)相乘,这消除了纬度和lon的比例尺不同的事实(在赤道上,两度经度之间的距离为aproxx 111km,而在北极为0。

x= x * cos(toRadians(averageLatitude));

结果是以平方米为单位的面积。

平均纬度是该区域所有纬度坐标的平均值

最新更新