我已经从MaxMind下载了城市数据库,在这里可以找到:
http://geolite.maxmind.com/download/geoip/database/GeoLite2-City-CSV.zip
其不包含纬度/经度信息。该信息似乎在另一个文件中:
http://geolite.maxmind.com/download/geoip/database/GeoLiteCity_CSV/GeoLiteCity-latest.zip
然而,当试图将两者关联时,我发现细分代码不匹配。例如,第一个文件包含以下行:
geoname_id,locale_code,continent_code,continent-name,country_iso-code,country_name,subdivision_1_iso-coode,subdivision _1_name,subsubdivisition_2_iso_code,subdividion_2_name,city_name,metro_code,time_zone
3369157,en,AF,非洲,ZA,"南非",WC,"西部省"开普敦",,"开普敦",非洲/约翰内斯堡
从中可以看出,开普敦的第一个政治分区是WC。然而,第二个文件提供了以下行:
locId,国家,地区,城市,邮政编码,纬度,经度,metroCode,areaCode244,"ZA","11","开普敦",",-33.9258,18.4232,
从中可以看出,"区域"是"11",而不是"WC"。
所以有几个问题:
1) 我如何将这两种信息来源联系起来?2) 如果它们无法关联,是否还有其他文件需要我查看?3) 如果MaxMind在他们的信息中没有提供一致性,那么世界各地有没有更好的城市名称列表来源可以提供地理位置信息?
TIA-
纬度和经度在GeoLite2块文件中,而不是位置文件中。请参阅GeoLite2 CSV文档。原因是坐标可能比位置文件中的(通常)城市级别的位置更具体。
您链接到的另一个zip文件用于Legacy CSV,不打算与GeoLite2 一起使用