Daftar koordinat pusat (centroid) untuk semua negara?


17

Saya perlu daftar poin sentral (centroid) untuk semua negara:

China: lat / long (koordinat titik paling sentral di Cina)
Prancis: lat / long (koordinat titik paling sentral di Prancis)
dll ...

Jawaban:


18

Frank Donnelly menyediakan file CSV centroid negara yang didasarkan pada data yang diambil dari Server GeoNames, tetapi dikuratori oleh Frank. Data terakhir diperbarui pada Februari 2012.


Mei 2018

Sumber yang lama tidak tersedia lagi, ini yang lebih baru, dengan banyak info di negara-negara (termasuk. Centroid), dan kemungkinan untuk mengunduh data dalam beberapa format. https://worldmap.harvard.edu/data/geonode:country_centroids_az8

Ada juga pertanyaan serupa di Stackoverflow: Butuh daftar semua negara di dunia, dengan koordinat garis bujur dan garis lintang , yang mencakup beberapa pendekatan untuk menghasilkan daftar semacam itu dari sumber data lain.


csv tertaut tampaknya 404 sekarang, ada yang punya sumber lain?
Vincent V.

Menemukan sumber lain yang terlihat bagus dan lengkap: worldmap.harvard.edu/data/geonode:country_centroids_az8 dapat dl format apa pun yang Anda perlukan termasuk csv, memiliki banyak data lain tentang negara juga
Vincent V.

1
Url pertama dan terakhir adalah 404.
Aaron

7

Anda dapat mengambil informasi ini menggunakan Rseperti ini:

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)

hasil


3

Anda bisa mendapatkan centroid negara menggunakan Python dan 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 ...

masukkan deskripsi gambar di sini


Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.