Lista de coordenadas centrais (centróide) para todos os países?


17

Preciso de uma lista dos pontos centrais (centróide) para todos os países:

China: lat / long (coordenadas do ponto mais central da China)
França: lat / long (coordenadas do ponto mais central da França)
etc ...

Respostas:


18

Frank Donnelly fornece um arquivo CSV de centróides do país base em dados extraídos do servidor GeoNames, mas com curadoria manual de Frank. Os dados foram atualizados pela última vez em fevereiro de 2012.


Maio 2018

A fonte anterior não está mais disponível, aqui está uma mais nova, com muitas informações sobre os países (incluindo Centroids) e possibilidade de baixar os dados em vários formatos. https://worldmap.harvard.edu/data/geonode:country_centroids_az8

Há também uma pergunta semelhante no Stackoverflow: Precisa de uma lista de todos os países do mundo, com coordenadas de longitude e latitude , que incluem algumas abordagens para gerar essa lista a partir de outras fontes de dados.


o csv vinculado parece 404 agora, alguém tem uma outra fonte?
Vincent V.

Encontrado outra fonte que parece ser bom e completa: worldmap.harvard.edu/data/geonode:country_centroids_az8 pode dl qualquer formato que você precisa, incluindo CSV, tem muitos outros dados sobre países também
Vincent V.

1
O primeiro e o último URLs são 404.
Aaron

7

Você pode recuperar essas informações usando o Rseguinte:

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)

resultado


3

Você pode obter centróides de países usando Python e 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 ...

insira a descrição da imagem aqui


Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.