使用 IATA 代码计算机场之间的距离
Posted
技术标签:
【中文标题】使用 IATA 代码计算机场之间的距离【英文标题】:Calculate Distance Between Airports Using IATA Codes 【发布时间】:2011-08-07 06:38:05 【问题描述】:我需要找到两个机场之间的距离(如空中客车 A320 飞行,不是超级准确),最好使用 IATA 代码(例如 PHX、LAX、CLT)。
我看到很多网站都这样做,但我需要找到一个 API(Google 地图、Bing 地图?),我可以用它来计算距离。我知道我可能需要对 IATA 代码进行地理编码,但我想避免这种情况(我知道使用谷歌地图可以指定 IATA 代码+机场,它会得到位置)
有什么建议吗?
【问题讨论】:
【参考方案1】:您可以简单地存储机场代码及其纬度和经度的数据库(***可能有这些坐标)。然后,您可以在您自己的服务器上和/或使用 javascript 代码计算这些机场之间的地理距离(例如,大地距离),而不是依赖谷歌地图等,除非所需的机场不在数据库中。另请参阅geographiclib 库或http://www.movable-type.co.uk/scripts/latlong.html。
【讨论】:
是的,这可能是我必须走的路线。我目前对我的机场没有很长的时间,但我确信我可以在找到它们时发挥创意(我确实为一家大型航空公司工作)。最好使用我自己的服务器。谢谢。 对于其他尝试使用 C# 执行此操作的人,我刚刚发现:megocode3.wordpress.com/2008/02/05/haversine-formula-in-c【参考方案2】:SITA* 提供免费 API。详细信息可以在这里找到。 https://www.developer.aero/Airport-API/
用法:
curl -v -X GET "https://airport.api.aero/airport/distance/ORK/LHR?user_key=[Your_User_Key]&units=km"
*注意 - 我为 SITA 工作。
【讨论】:
你好@Kevin,但是 API 有一些问题,在我搜索 2 个机场时给我一个错误,例如:airport.api.aero/airport/distance/HEM/MUQ?user_key=mykey 告诉“无效的起始机场:HEM”,它没有意义 @Pedro - 回复有点晚了...但是您是否联系过该 API 的支持电子邮件?【参考方案3】:世界上有数以万计的机场,如果你能找到所有机场的经纬度数据库,你可以建立一个公式来计算每个机场之间的距离。
如果您知道如何使用 REST API,您可以使用 Aviation Edge,它的功能可以让您找到某个坐标附近的机场和城市。这应该符合您的要求。看看他们的developers page
【讨论】:
以上是关于使用 IATA 代码计算机场之间的距离的主要内容,如果未能解决你的问题,请参考以下文章