蠻力? (你可能會錯過梵蒂岡,但是我希望你會得到其他人,它也將花費大量時間試圖地理編碼海洋)
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