繁体   English   中英

GPS坐标:一个点周围1平方公里

[英]GPS coordinates: 1km square around a point

我希望那里有人可以给我一个方程来计算一个给定点附近的1平方公里(从a.aaa到b.bbb的X,从c.ccc到c.ccc的Y),比如lat = 53.38292839lon = -6.1843984 我还需要一个点周围2公里,5公里和10公里的方格。

我试过谷歌搜索无济于事......这是深夜,希望有人可以快速修复方便我钻研三角函数之前......

我将在Javascript中运行所有这些,虽然任何语言都可以。

根据基本的三角学,如果世界是一个完美的球体......

纬度在世界任何地方都具有相同的线性距离,因为所有纬度线都是相同的尺寸。 因此1度纬度等于地球周长的1/360,即40,075 km的1/360。

经度线的长度取决于纬度。 纬度l的经度线为cos(l)* 40,075 km。 一度经度将是1/360。

所以你可以从那里倒退。 假设你想要一个非常接近一平方公里的东西,你需要1 *(360/40075)= 0.008983纬度。

在您的示例纬度53.38292839,经度线为cos(53.38292839)* 40075 = [约] 23903.297公里长。 所以1 km是1 *(360 / 23903.297)= 0.015060度。

实际上,地球不是一个完美的球体,它在赤道上更加肥胖。 上面给出了世界上大多数有用区域的一个非常好的答案,但是在极点附近容易变得有些奇怪(长/纬线中的矩形停止看起来像地球上的矩形)。 例如,如果你在赤道上,假设的经度线是0公里长。 那么你如何处理需要计算学位的需要将取决于你想要数字的原因。

以下是我的笔记中使用的十进制GPS在Android上使用的内容。

Lat Long:NY City 40N 47 73W 58 40.783333 73.966667

清洗DC 38N 53 77W 02 38.883333 77.033333

产量= 209英里!! 很接近

距离(英里)(x)= 69.1(lat2-lat1)距离(英里)(y)= 53.0(long2 - long1)乌鸦飞行sqrt(x2 + y2)... duh!@

delta(LAT)/ Mile = .014472 delta(LONG)/ Mile = .018519

使用方框作为近似值找到100英里内的人(100北/ 100南,100 E / 100 W)从0,0 -14.472 / + 14.472,-18.519 / 18.519

给出中心的更简单的生成gps方形的方法是使用间接Vincenty算法。这里的Javascript代码显示了如何做到这一点http://www.movable-type.co.uk/scripts/latlong.html 使用圆形创建正方形并不难。 正方形与每个点的距离相等。 因此,给定一个中心点,距离中心的距离,根据方形的旋转将轴承从0或任何数字改变,并增加90度或PI / 2弧度。 通过每次增加90度,你将在圆形空间中增加一个正方形。

我自己用这个来生成一个给定距离的中心点周围的GPS点.---。 - / - --0-- - / - .---。

TL; DR

某个geopoint 10 km = 0.08999半径。 此计算仅基于纬度值,仅适用于具有WGS84投影的地理点。

更多细节

如果你想要一个更准确的答案,你必须通过构建某种函数来计算它。 然而,它仍然不能保证因为人们甚至争吵的程度。 考虑到海拔高度,mercator与否等等。

警告

上面的值只是一个拇指规则,所以不要将它用于关键应用程序。

参考

GIS StackExchange, 如何计算给定距离和纬度/经度的边界框 ,由澳大利亚开发人员David回答

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM