我正在开发一个包含出发地和目的地字段的旅行网络应用程序,是否有一个我可以调用的API来获取出发地和目的地并返回它们的iata代码?
您可以使用维基数据和维基数据的SPARQL查询服务来检索IATA代码。
要求是您知道您的出发/目的地城市的维基百科文章的标题。对于大城市来说,这应该不是问题,因为维基百科标题与城市名称一致。但对于较小的地方,您可能需要首先使用 Wikipedia API 来查找正确的文章。
一旦您知道了维基百科标题,您就可以在 https://query.wikidata.org 上运行以下查询:
SELECT DISTINCT ?iata WHERE {
<https://en.wikipedia.org/wiki/Los_Angeles> schema:about ?city .
?airport wdt:P31/wdt:P279* wd:Q1248784;
wdt:P131+ ?city;
wdt:P238 ?iata
}
如果您是 Wikidata 和 SPARQL 的新手,您可以在 https://www.wikidata.org/wiki/Wikidata:SPARQL_query_service/A_gentle_introduction_to_the_Wikidata_Query_Service 找到相关介绍。
简而言之,以上几行执行以下操作:
<https://en.wikipedia.org/wiki/Los_Angeles> schema:about ?city .
查询链接到给定维基百科文章的维基数据项。 ?airport wdt:P31/wdt:P279* wd:Q1248784; wdt:P131+ ?city;
查找位于该城市的所有机场。?airport wdt:P238 ?iata
返回该机场的 IATA 代码。要以编程方式访问数据,请调用 https://query.wikidata.org/sparql?query=...
您可以使用此 API 参考来获取城市/机场位置的 IATA 代码。
机场和城市搜索/API 参考