Country/region 代码 (iso-3166-1/iso-3166-2) 到经度和纬度
Country/region codes (iso-3166-1/iso-3166-2) to longitude and latitude
我需要将 iso-3166-1/iso-3166-2 代码转换为 longitude/latitude
示例:
- 输入:"US",输出:(37.09024, -95.71289100000001).
- 输入"VE-O",输出:(10.9970723, -63.91132959999999).
我一直在四处搜索,但未能找到完整的列表,或者理想情况下,Java 库没有找到。
This Github project 很有前途,但缺少很多地区的大量地理位置信息。
请注意,与问题 Need a list of all countries in the world, with a longitude and latitude coordinate 不同,此问题指的是区域细分 (iso-3166-2)。
由于我没有得到任何答案,我将解释我是如何解决的。
我找到了 iso-3166-1 国家代码质心的 csv 列表:http://dev.maxmind.com/geoip/legacy/codes/country_latlon/(我不得不进行一些手动调整)
至于 iso-3166-2 区域质心,我最终创建了一个 shell 脚本,它使用 Google 地图 API 以 csv 格式打印区域质心(请注意,我没有验证完整的输出,但我检查的情况是正确的)。这是使用 curl and jq 处理 API 输出的脚本的简化版本:
#!/bin/bash
# Example list of regions (full list can be obtained from https://www.ip2location.com/free/iso3166-2 )
REGIONS="VE-O GB-BKM GB-CAM GB-CMA"
for REGION in $REGIONS; do
LATLON=$(curl -s "maps.googleapis.com/maps/api/geocode/json?sensor=false&address=$REGION" | jq -r '.results[0].geometry.location.lat,@text ",",.results[0].geometry.location.lng')
echo $REGION , $LATLON | tr -d ' '
done
然后我使用 Apache Commons CSV
在我的 java 代码中导入了 csv 列表
这些是我在解决这个问题时找到的最好的资源:
国家坐标:
http://dev.maxmind.com/geoip/legacy/codes/country_latlon/
ISO 3166-2 坐标:
https://github.com/oodavid/iso-3166-2/blob/master/iso_3166_2.js
我需要将 iso-3166-1/iso-3166-2 代码转换为 longitude/latitude
示例:
- 输入:"US",输出:(37.09024, -95.71289100000001).
- 输入"VE-O",输出:(10.9970723, -63.91132959999999).
我一直在四处搜索,但未能找到完整的列表,或者理想情况下,Java 库没有找到。
This Github project 很有前途,但缺少很多地区的大量地理位置信息。
请注意,与问题 Need a list of all countries in the world, with a longitude and latitude coordinate 不同,此问题指的是区域细分 (iso-3166-2)。
由于我没有得到任何答案,我将解释我是如何解决的。
我找到了 iso-3166-1 国家代码质心的 csv 列表:http://dev.maxmind.com/geoip/legacy/codes/country_latlon/(我不得不进行一些手动调整)
至于 iso-3166-2 区域质心,我最终创建了一个 shell 脚本,它使用 Google 地图 API 以 csv 格式打印区域质心(请注意,我没有验证完整的输出,但我检查的情况是正确的)。这是使用 curl and jq 处理 API 输出的脚本的简化版本:
#!/bin/bash
# Example list of regions (full list can be obtained from https://www.ip2location.com/free/iso3166-2 )
REGIONS="VE-O GB-BKM GB-CAM GB-CMA"
for REGION in $REGIONS; do
LATLON=$(curl -s "maps.googleapis.com/maps/api/geocode/json?sensor=false&address=$REGION" | jq -r '.results[0].geometry.location.lat,@text ",",.results[0].geometry.location.lng')
echo $REGION , $LATLON | tr -d ' '
done
然后我使用 Apache Commons CSV
在我的 java 代码中导入了 csv 列表这些是我在解决这个问题时找到的最好的资源:
国家坐标: http://dev.maxmind.com/geoip/legacy/codes/country_latlon/
ISO 3166-2 坐标: https://github.com/oodavid/iso-3166-2/blob/master/iso_3166_2.js