MaxMind:为 lat/lng 关联文件?

Posted

技术标签:

【中文标题】MaxMind:为 lat/lng 关联文件?【英文标题】:MaxMind: Correlating files for lat/lng? 【发布时间】:2015-04-19 20:57:09 【问题描述】:

我已经从 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_code,subdivision_1_name,subdivision_2_iso_code,subdivision_2_name,city_name,metro_code,time_zone

3369157,en,AF,Africa,ZA,"南非",WC,"西部省 开普敦",,,"开普敦",,非洲/约翰内斯堡

从中可以看出开普敦的第一个政治分区是WC。然而,第二个文件提供了以下内容:

locId,country,region,city,postalCode,latitude,longitude,metroCode,areaCode 244,"ZA","11","开普敦","",-33.9258,18.4232,,

从中可以看出“region”是“11”,而不是“WC”。

几个问题:

1) 我如何关联这两种信息来源? 2)如果它们无法关联,我应该查看其他文件吗? 3) 如果 MaxMind 提供的信息不一致,是否有更好的来源来提供世界各地提供地理位置信息的城市名称列表?

TIA

【问题讨论】:

【参考方案1】:

纬度和经度在 GeoLite2 块文件中,而不是位置文件中。请参阅GeoLite2 CSV documentation。原因是坐标可能比位置文件中的(通常)城市级位置更具体。

您链接到的另一个 zip 文件用于旧版 CSV,不适合与 GeoLite2 一起使用

【讨论】:

以上是关于MaxMind:为 lat/lng 关联文件?的主要内容,如果未能解决你的问题,请参考以下文章

如果 lat/lng 为空,要在 lat/lng 数据库字段中添加啥?

将字符 lat/lng 值转换为数字

将webmercator坐标转换为lat lng

有关python,numexpr和数组运算加速的应用求助

Django:如何将python变量值传递给javascript文件?

为移动目标 lat/lng 和缩放级别的动画偏移地图片段的中心