Liste des coordonnées centrales (centroïde) pour tous les pays?


17

J'ai besoin d'une liste des points centraux (centroïde) pour tous les pays:

Chine: lat / long (coordonnées du point le plus central en Chine)
France: lat / long (coordonnées du point le plus central en France)
etc ...

Réponses:


18

Frank Donnelly fournit un fichier CSV de centroïdes de pays basé sur des données provenant du serveur GeoNames, mais géré à la main par Frank. La dernière mise à jour des données date de février 2012.


Mai 2018

L'ancienne source n'est plus disponible, en voici une plus récente, avec beaucoup d'informations sur les pays (y compris Centroids), et possibilité de télécharger les données dans plusieurs formats. https://worldmap.harvard.edu/data/geonode:country_centroids_az8

Il y a aussi une question similaire sur Stackoverflow: besoin d'une liste de tous les pays dans le monde, avec une coordonnée de longitude et de latitude , qui comprend quelques approches pour générer une telle liste à partir d'autres sources de données.


le csv lié semble 404 maintenant, quelqu'un a une autre source?
Vincent V.15

Trouvé une autre source qui semble bonne et complète: worldmap.harvard.edu/data/geonode:country_centroids_az8 peut dl n'importe quel format dont vous avez besoin, y compris csv, a beaucoup d'autres données sur les pays également
Vincent V.

1
La 1ère et la dernière URL sont 404.
Aaron

7

Vous pouvez récupérer ces informations en utilisant Rcomme ceci:

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)

résultat


3

Vous pouvez obtenir des centroïdes de pays en utilisant Python et 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 ...

entrez la description de l'image ici


En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.