Список центральных координат (центроид) для всех стран?

17

Мне нужен список центральных точек (центроид) для всех стран:

Китай: широта / долгота (координаты самой центральной точки в Китае)
Франция: широта / долгота (координаты самой центральной точки во Франции) и
т. Д ...

seinecle
источник

Ответы:

18

Фрэнк Доннелли предоставляет CSV-файл страновых центроидов , основанный на данных, взятых с сервера GeoNames, но созданный вручную Фрэнком. Данные в последний раз обновлялись в феврале 2012 года.


Май 2018

Прежний источник больше не доступен, вот более новый, с большим количеством информации о странах (включая центроиды) и возможностью загрузки данных в нескольких форматах. https://worldmap.harvard.edu/data/geonode:country_centroids_az8

В Stackoverflow есть также аналогичный вопрос: нужен список всех стран в мире с координатами долготы и широты , который включает пару подходов для создания такого списка из других источников данных.

Джейк
источник
теперь похоже на связанный csv 404, у кого-нибудь есть другой источник?
Винсент В.
Нашел другой источник, который выглядит хорошо и полно: worldmap.harvard.edu/data/geonode:country_centroids_az8 может использовать любой формат, который вам нужен, включая csv, а также имеет много других данных о странах
Vincent V.
1
Первый и последний URL - 404.
Аарон
7

Вы можете получить эту информацию, используя Rэто:

library(rgeos)
library(rworldmap)

# get world map
wmap <- getMap(resolution="high")

# get centroids
centroids <- gCentroid(wmap, byid=TRUE)

# get a data.frame with centroids
df <- as.data.frame(centroids)
head(df)

#>                     x         y
#> Aruba       -69.97345  12.51678
#> Afghanistan  66.00845  33.83627
#> Angola       17.53646 -12.29118
#> Anguilla    -63.06082  18.22560
#> Albania      20.05399  41.14258
#> Aland        20.03715  60.20733

# plot
plot(centroids)

результат

rafa.pereira
источник
3

Вы можете получить центроиды страны, используя Python и GeoPandas .

import geopandas as gpd
import pandas as pd

# Access built-in Natural Earth data via GeoPandas
world = gpd.read_file(gpd.datasets.get_path('naturalearth_lowres'))

# Get a list (dataframe) of country centroids
centroids = world.centroid
centroid_list = pd.concat([world.name, centroids], axis=1)

# Plot the results
base = world.plot(column = 'name', cmap = 'Blues')
centroids.plot(ax = base, marker = 'o', color = 'red', markersize = 5)

In [1]: centroid_list
Out[1]: 
                           name                                              0
    0               Afghanistan  POINT (66.08669022192834 33.85639928169076)
    1                    Angola  POINT (17.47057255231345 -12.24586903613316)
    2                   Albania  POINT (20.03242643144321 41.14135330604877)
    3      United Arab Emirates  POINT (54.20671476159633 23.86863365334761)
    4                 Argentina  POINT (-65.17536077114174 -35.44682148949509)
    5                   Armenia  POINT (45.00029001101479 40.21660761230144)
    6                Antarctica  POINT (20.57100056984261 -80.49198288284349)
    ... and so on ...

введите описание изображения здесь

Аарон
источник
1

Большинство ссылок, упомянутых выше, мертвы. Однако я нашел этот CSV-файл, содержащий географические центры стран в широтных координатах .

mystupidstory
источник