Elenco delle coordinate centrali (centroide) per tutti i paesi?


17

Ho bisogno di un elenco dei punti centrali (centroide) per tutti i paesi:

Cina: lat / long (coordinate del punto più centrale in Cina)
Francia: lat / long (coordinate del punto più centrale in Francia)
ecc ...

Risposte:


18

Frank Donnelly fornisce un file CSV di centroidi di un paese basato su dati presi dal server GeoNames, ma curati a mano da Frank. I dati sono stati aggiornati l'ultima volta a febbraio 2012.


Maggio 2018

La fonte precedente non è più disponibile, eccone una nuova, con molte informazioni sui paesi (incl. Centroidi) e possibilità di scaricare i dati in diversi formati. https://worldmap.harvard.edu/data/geonode:country_centroids_az8

C'è anche una domanda simile su StackOverflow: serve un elenco di tutti i paesi del mondo, con coordinate di longitudine e latitudine , che includa un paio di approcci per generare tale elenco da altre fonti di dati.


il CSV collegato sembra 404 ora, qualcuno ha un'altra fonte?
Vincent V.

Ho trovato un'altra fonte che sembra buona e completa: worldmap.harvard.edu/data/geonode:country_centroids_az8 può dl qualsiasi formato di cui hai bisogno incluso csv, ha anche molti altri dati sui paesi
Vincent V.

1
Il primo e l'ultimo URL sono 404.
Aaron

7

Puoi recuperare queste informazioni usando in Rquesto modo:

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)

risultato


3

Puoi ottenere i centroidi del paese 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 ...

inserisci qui la descrizione dell'immagine


Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.