所有国家的中心坐标(质心)列表?


17

我需要所有国家/地区的中心点(质心)列表:

中国:纬度/经度(中国最中心点的坐标)
法国:纬度/经度(法国最中心点的坐标)
等...

Answers:


18

Frank Donnelly提供了一个国家质心CSV文件,该文件基于从GeoNames服务器获取的数据,但由Frank亲自策划。该数据的最新更新时间为2012年2月。


2018年五月

前一个来源不再可用,这里是一个较新的来源,其中包含有关国家/地区的大量信息(包括质心),并且可以下载多种格式的数据。 https://worldmap.harvard.edu/data/geonode:country_centroids_az8

Stackoverflow上还有一个类似的问题:需要一个世界上所有经度和纬度坐标的列表,其中包括几种从其他数据源生成此类列表的方法。


链接的csv现在似乎是404,还有其他人吗?
Vincent V.

找到了其他看起来又不错又完整的资源:worldmap.harvard.edu/data/geonode : country_centroids_az8可以dl所需的任何格式,包括csv,也有许多其他国家/地区的数据
Vincent V.

1
第一和最后一个URL是404
亚伦

7

您可以使用以下方式检索此信息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)

结果


3

您可以使用Python和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 ...

在此处输入图片说明


By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.