Tüm ülkeler için merkezi koordinatların (centroid) listesi?


17

Tüm ülkeler için merkezi noktaların (centroid) bir listesine ihtiyacım var:

Çin: lat / uzun (Çin'in en merkezi noktasının koordinatları)
Fransa: lat / uzun (Fransa'nın en merkezi noktasının koordinatları)
vb ...

Yanıtlar:


18

Frank Donnelly , GeoNames Sunucusundan alınan ancak Frank tarafından elde edilen verilere dayanan bir ülke sentroidleri CSV dosyası sağlar . Veriler en son Şubat 2012'de güncellendi.


Mayıs 2018

Eski kaynak artık mevcut değil, burada daha yeni bir kaynak var, ülkeler hakkında birçok bilgi (Centroids dahil) ve verileri çeşitli formatlarda indirme imkanı. https://worldmap.harvard.edu/data/geonode:country_centroids_az8

Stackoverflow'da da benzer bir soru var: Dünyadaki tüm ülkelerin, boylam ve enlem koordinatıyla , diğer veri kaynaklarından böyle bir liste oluşturmak için birkaç yaklaşım içeren bir listeye ihtiyacınız var.


bağlantılı csv 404 şimdi görünüyor, başka bir kaynağı olan var mı?
Vincent V.

İyi ve eksiksiz görünen başka bir kaynak bulduk : worldmap.harvard.edu/data/geonode:country_centroids_az8 csv dahil olmak üzere ihtiyacınız olan herhangi bir formatı dl yapabilir, ülkeler hakkında da birçok başka veriye sahiptir
Vincent V.

1
1. ve son url'ler 404'tür.
Aaron

7

Bu bilgileri şu şekilde kullanarak alabilirsiniz 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)

sonuç


3

Python ve GeoPanda'ları kullanarak ülke sentroidleri alabilirsiniz .

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 ...

resim açıklamasını buraya girin


Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.