如何生成或获取人口超15k的多语言全球城市数据集
多语言全球城市数据集构建方案求助
我正尝试创建一个涵盖人口超过15000城市的多语言全球城市数据集,希望找到免费或低成本的可靠方案。理想的CSV数据格式如下:
country_en,state_en,county_en,name_en,country_es,state_es,county_es,name_es,lat,lng France,,,Paris,Francia,,,París,48.8566,2.3522 United Kingdom,,,Birmingham,Reino Unido,,,Birmingham,52.4862,-1.8904 United States,Alabama,Jefferson County,Birmingham,Estados Unidos,Alabama,Condado de Jefferson,Birmingham,33.5186,-86.8104 United States,California,Los Angeles,Los Angeles,Estados Unidos,California,Los Ángeles,Los Ángeles,34.0522,-118.2437 United Arab Emirates,,,Dubai,Emiratos Árabes Unidos,,,Dubái,25.276987,55.296249
核心逻辑:像英国伯明翰这类唯一城市,无需存储郡信息;而美国存在多座同名的伯明翰,必须存储州和郡信息来区分。
已尝试的方案及问题
- joelacus的world-cities数据集:格式完全匹配需求,但仅支持英文,无法覆盖多语言场景。
- Wikidata查询:结果可靠性不足,county字段匹配逻辑混乱——有时错误返回城市或国家名称,比如英国伯明翰的county字段返回Birmingham而非West Midlands,俄罗斯莫斯科的county字段直接返回Russia。查询逻辑为筛选人口超100万的城市,同时尝试获取西班牙文标签、国家代码、郡和州信息,但字段映射存在偏差。
- Google Maps API逆地理编码:我已有带GPS坐标的数据集,可通过以下请求获取指定语言的格式化城市信息:
https://maps.googleapis.com/maps/api/geocode/json?latlng=48.8566,2.3522&result_type=locality&language=es&key=your-api-key
请求通常能返回规范结果,例如:
... "formatted_address": "París, Francia", ...
理论上可以生成符合要求的多语言CSV,但单语言就需要调用接口超10万次,存在调用配额限制和潜在成本问题。
请问有什么可行的解决方案?
内容的提问来源于stack exchange,提问作者Sebastian Meckovski
相关产品推荐
相关产品推荐

