主要城市的纬度、经度和时区列表

29
我正在寻找一个开源的平面文件(例如逗号分隔的值),其中包含世界上主要城市及其纬度、经度和时区。前1000个或更多都可以。是否有这样的资源可用?
最好也可以使用两个平面文件(纬度/经度和时区)的组合。

请参阅此社区维基条目 - Matt Johnson-Pint
7个回答

21

7
以下命令将把数据库转换为“城市、国家:纬度十进制数:经度十进制数”的格式。cat GlobalAirportDatabase.txt | grep -v "00:00:00" | awk -F':' '{print $4", "$5":"$9""($6+$7/60+$8/3600)":"$13""($10+$11/60+$12/3600)}' | sed 's/:S/:-/' | sed 's/:U/:-/' | sed 's/:N/:/' | sed 's/:E/:/' > WorldCities - Richard
不错!尽管名称如此,但其中并不包含机场坐标。目前该CSV中有7322个城市。然而,对我来说,这些坐标似乎相当任意。例如,对于德国奥格斯堡市,坐标指向的绝对不是该市的重要部分。 - Martin Thoma

10

这个有很多重复的条目,它们只有一个字母之类的不同。 - saganas
请查看pt,Porto条目(是的,同一城市有重复条目)以评估该数据集的质量。 - Martin Thoma
worldcities链接不再可用,而“GeoLite Legacy数据库已于2019年1月2日停止使用”。 - Nico

1

Parapura的答案(使用机场列表的好主意,+1)的基础上:

这里有另一个更加完整的机场数据库(截至今日共46325个机场,而且似乎在积极维护)。

为了节省其他人的时间,以下是我用来获取所有内容的几个命令行:

wget ourairports.com/data/airports.csv
wget ourairports.com/data/airport-frequencies.csv
wget ourairports.com/data/runways.csv
wget ourairports.com/data/navaids.csv
wget ourairports.com/data/countries.csv
wget ourairports.com/data/regions.csv

为了获取主要城市,我会使用被标记为"large_airport"的机场。

这假设每个主要城市都有一个机场。 - Rolf
3
@Rolf,你能否举个反例? - Martin Thoma
该数据集包括616个大型机场、4500个中型机场和35000个小型机场。这应该涵盖了大多数人所描述的主要城市。 - DanB

1

1
通过将"#mw-content-text > table.wikitable tbody tr"替换为"table.wikitable tbody tr",我成功了。 - Martin Thoma
谢谢@MartinThoma。看起来标记已经改变了,我正在更新要点。 - Rolf

1

我找到了一个仍然在网上并且保持相对更新的:https://simplemaps.com/data/world-cities

基础版本(约41,000个位置)可在CSV或Excel格式下免费使用,遵循创意共享许可。纬度、经度和人口都包括在内。我刚刚下载了它,所以还没有进行质量测试。


0

0

我建议使用NaturalEarth,您可以在该网站上下载包含不同语言和人口的主要城市文件。它还提供了国家边界和时区的信息。可下载的格式包括SHP、SQLite和GeoPackage;虽然没有CSV格式,但是这些格式都很容易在QGIS中阅读(您可以将其转换为CSV),或者使用Python。

如果您还需要较小的城市,请访问https://www.geonames.org/ - 在该网站上提供了城市的CSV文件下载(包括坐标、名称和其他属性)。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接