蛮力? (你可能会错过梵蒂冈,但是我希望你会得到其他人,它也将花费大量时间试图地理编码海洋)
GeoServiceReference.GeocodeServiceClient client = new GeoServiceReference.GeocodeServiceClient();
var countries = new List<string>();
for (double lat = 0; lat < 360; lat+=0.1)
for(double lon = 0; lon < 360; lon+=0.1)
{
var result = client.ReverseGeocode(new GeoServiceReference.ReverseGeocodeRequest
{
Location = new GeoServiceReference.Location
{
Latitude = lat,
Longitude = lon
}
});
if (!countries.Contains(result.Results.First().Address.CountryRegion))
{
Console.WriteLine(result.Results.First().Address.CountryRegion);
countries.Add(result.Results.First().Address.CountryRegion);
}
}
几个要点:第一,纬度从-90变化到+90,经度从-180到+180 ......没有一个从0到360 :)其次,如果我的数学是正确的,这种方法蛮力地理编码超过12万*点,并且正如你自己所说的,其中大部分都在海洋中。为什么不建立一个包含所有世界首都城市经纬度的列表,然后查看为每个城市返回的国家?首先建立列表的时间很短,但您只需制作200个地理编码即可 - 每个国家/地区一个。 –
@AlastairAitchison是的,我同意你的观点,在这里有一个首都城市名单:http://lab.lmnixon.org/4th/worldcapitals.html虽然我不知道它有多完整 – paul