Мне нужен список всех стран мира с координатой one lat/long для страны.
Я посмотрел на GeoNames, но все, что я могу найти, это списки, в которых есть страны, а также города в том же списке. Я думаю, я могу просто разобрать его и отфильтровать страны, но я надеялся избежать этого.
В принципе, что мне нужно,
Название страны - Lat/long Coord (какой-то центр страны)
Не нужно ничего говорить о континенте, но я бы не прочь, если бы это произошло.
_L
Ответ 1
Два веб-сервиса, которые могут вас заинтересовать, чтобы создать эти данные:
Вы можете вызвать http://ws.geonames.org/countryInfo, чтобы получить полный список кодов стран и названий стран, а затем вызвать http://ws.geonames.org/search?country=<code>&name=<name>&maxRows=1
для каждого, чтобы получить что, по-видимому, является лат/длинной центральной точки страны. (например, http://ws.geonames.org/search?country=US&name=United%20States&maxRows=1)
ИЗМЕНИТЬ
Вот С# script, который вы можете выполнить против перечисленных выше служб.
Вы можете запустить это, как в LinqPad.
void Main()
{
var countries = new List<Country>();
XDocument xmlDoc = XDocument.Load(@"http://ws.geonames.org/countryInfo");
var countryList = (from c in xmlDoc.Descendants("country") select c);
foreach (var country in countryList)
{
var countryPath = string.Format("http://ws.geonames.org/search?country={0}&name={1}&maxRows=1", country.Element("countryCode").Value, country.Element("countryName").Value);
var element = (from e in XDocument.Load(countryPath).Descendants("geoname") select e).FirstOrDefault();
countries.Add(new Country
{
Code = element.Element("countryCode").Value,
Name = element.Element("countryName").Value,
Latitude = Convert.ToDecimal(element.Element("lat").Value),
Longitude = Convert.ToDecimal(element.Element("lng").Value),
Continent = country.Element("continentName").Value
});
}
Console.WriteLine("{0},{1},{2},{3},{4}","Continent", "Code", "Name", "Latitude", "Longitude");
foreach (var country in countries)
{
Console.WriteLine("{0},{1},{2},{3},{4}",country.Continent, country.Code, country.Name, country.Latitude, country.Longitude);
}
}
public class Country
{
public string Continent {get;set;}
public string Name { get;set;}
public string Code { get;set;}
public decimal Latitude { get;set;}
public decimal Longitude { get;set;}
}
Ответ 2
Также этот http://dev.maxmind.com/geoip/legacy/codes/country_latlon/, который мы ищем, но никакого анализа не нужно. Его csv, который будет играть красиво
Ответ 3
Хорошо, вы могли бы загрузить этот уровень GIS и запустить на нем многотоновый объект.
Изменить: возможно этот список.
Ответ 4
Вот Документ Google CSV, со странами координируются.
Ответ 5
Это именно то, что вы ищете. Также мне это очень интересно
Список ЦРУ, содержащий координаты центральных точек стран
Ответ 6
У правительства США есть стандартизованная база данных имен мест, которую вы можете запросить. Между прочим, он включает координату lat/long. Они также предлагают загружаемые наборы некоторых из их данных.
Ответ 7
Концепция центра страны не очень четко определена. Будут ли координаты столичных городов? Если это так, вы можете извлечь их откуда-то вроде Википедии относительно прямо. В конце концов, всего 200 или около того. Тем не менее я отмечаю, что Всемирный информационный бюллетень ЦРУ (доступный онлайн) дает приблизительные координаты для географических центров стран.
Ответ 8
В тематическом картографическом наборе данных мировых границ. Вам нужно будет преобразовать его в желаемый формат.
http://thematicmapping.org/downloads/world_borders.php
Ответ 9
У меня есть файл CSV, который я собрал еще в 2012 году, в котором есть все названия стран на разных языках, информация о центроидах (lat/lon) и континентах в регионе: Страны мира (COW)
http://www.opengeocode.org/download/cow.php
Ответ 10
Если вы загрузите последнюю версию этого международного файла данных страны из естественной земли: ne_10m_admin_0_countries.zip
Затем поместите его в QGIS, вы можете легко получить центроиды, запустив пункт меню Vector- > Geometry Tools- > Polygon Centroids, а затем экспортируйте, щелкнув правой кнопкой мыши и сохраните как.
Ответ 11
geographicdb pakage - это база данных World Cities с широтой долготы и информацией о часовых поясах для +240 стран с их названиями городов и кодом стран и более 270 000 записей
вы можете скачать здесь geographicdb pakage