寻求欧洲国家的免费Shapefile?


11

我似乎找不到欧洲国家的免费 shapefile。我正在使用ESRI ArcGIS用我自己的数据填充这种地图:欧洲地图样本

欧盟统计局网站似乎只具有地区与国家界限shape文件还包括螺母分歧。自然地球shapefile似乎仅适用于整个世界,不适用于欧洲等地区。


11
拿天然土,手动或通过过滤选择欧洲国家,另存为新的shapefile。做完了 再简单不过了。
HeikkiVesanto

预先拥有ISO 3166-1 alpha-3国家/地区代码(除了alpha-2)将是很好的选择。
Nikos Alexandris

Answers:


18

您可以从Eurostat的GISCO服务下载“官方”欧盟行政/统计单位。矢量层可作为ESRI Shapefile和Personal GDB使用,此处的分辨率不同。

请注意,为了按以下方式提取国家/地区多边形,您将需要根据以下查询STAT_LEVL_ = 1从Shapefile中提取所有 要素NUTS_RS_01M_2013.shp

在此处输入图片说明


11

自然地球是各种规模的免费数据(包括国家和州边界)的重要来源。您只需要使用属性表选择欧洲国家。


8

您可以从ArcGIS Online下载世界国家,然后打开属性表,按属性(CONTINENT = 'Europe')选择,然后右键单击以将欧洲导出为新图层。大概您可以对找到的其他全局数据集执行相同的操作。


给出未找到的404
hd1

5

GRASS-GIS方式:

获取NUTS 2013 ESRI Shapefile

wget http://ec.europa.eu/eurostat/cache/GISCO/geodatafiles/NUTS_2013_01M_SH.zip

解压缩

unzip NUTS_2013_01M_SH.zip

如果不存在,则根据EPSG 3035创建一个位置

grass72 -c NUTS_RG_01M_2013.shp /geo/grassdb/europe/etrs_1989_laea

否则,跳过下一个命令,并根据所需的空间参照系输入位置。

然后,导航至

cd NUTS_2013_01M_SH/data/

并导入矢量图

v.in.ogr NUTS_RG_01M_2013.shp out=NUTS_RG_01M_2013

将所有STAT_LEVL_ = 0提取到新地图

v.extract NUTS_RG_01M_2013 out=NUTS_RG_01M_2013_STAT_LEVL_0 where="STAT_LEVL_='0'"

最后,解散以获得国家边界

v.dissolve NUTS_RG_01M_2013_STAT_LEVL_0 out=NUTS_RG_01M_2013_Countries column=NUTS_ID

瞧,

在此处输入图片说明

该地图包含NUTS_ID

v.db.select NUTS_RG_01M_2013_Countries

cat|NUTS_ID
1|AT
2|BE
3|BG
4|CH
5|CY
6|CZ
7|DE
8|DK
9|EE
10|EL
11|ES
12|FI
13|FR
14|HR
15|HU
16|IE
17|IS
18|IT
19|LI
20|LT
21|LU
22|LV
23|ME
24|MK
25|MT
26|NL
27|NO
28|PL
29|PT
30|RO
31|SE
32|SI
33|SK
34|TR
35|UK

因此,以下CSV可能对于需要加入ISO3166-1-alpha3国家/地区代码的人有用

NUTS_ID,iso31661a2,iso31661a3
AT,AT,AUT
BE,BE,BEL
BG,BG,BGR
CH,CH,CHE
CY,CY,CYP
CZ,CZ,CZE
DE,DE,DEU
DK,DK,DNK
EE,EE,EST
EL,GR,GRC
ES,ES,ESP
FI,FI,FIN
FR,FR,FRA
HR,HR,HRV
HU,HU,HUN
IE,IE,IRL
IS,IS,ISL
IT,IT,ITA
LI,LI,LIE
LT,LT,LTU
LU,LU,LUX
LV,LV,LVA
ME,ME,MNE
MK,MK,MKD
MT,MT,MLT
NL,NL,NLD
NO,NO,NOR
PL,PL,POL
PT,PT,PRT
RO,RO,ROU
SE,SE,SWE
SI,SI,SVN
SK,SK,SVK
TR,TR,TUR
UK,GB,GBR

有趣。但是我该如何摆脱左下角的岛屿和到处都是的小岛呢?只是保留主要国家
-18

一种方法:识别要拒绝的国家(地区)代码,NUTS_ID然后执行反向操作v.select
Nikos Alexandris

另一种更快的方式:在v.extract步骤中使用更详细的SQL语句,以拒绝有问题的国家/地区。
Nikos Alexandris

1
后者也可能意味着使用“区域”列,并从提取过程中跳过小于给定大小的边界。
Nikos Alexandris

0

这个(http://www.diva-gis.org/gdata)网站非常适合从包括欧洲在内的世界各地获取管理数据。您还可以获取不同管理级别的数据(例如,国家/地区,州/县)。




0

您的shapefile不容易复制。

欧盟统计局的GISCO服务具有欧洲的怪异概念,它不包括乌克兰,但包括土耳其。

我发现最好的选择是将自然地球国家shapefile剪切到欧洲边界,如果您不想要的话,将俄罗斯排除在外。请注意,克里米亚在国家shapefile中不再在乌克兰。(可选)您还可以通过裁剪到矩形范围来删除斯瓦尔巴群岛和亚速尔群岛。

从以下位置下载自然地球:https : //www.naturalearthdata.com/http//www.naturalearthdata.com/download/10m/cultural/ne_10m_admin_0_countries.zip

:与大陆的边界从下载continent.zip https://baruch.cuny.edu/confluence/display/geoportal/ESRI+International+Data

选择具有gdal的欧洲边界:

ogr2ogr -sql "select * from continent where CONTINENT = 'Europe'" europeboundary.shp continent.shp

使用europeboundary.shp从自然地球国家中裁剪该区域:

ogr2ogr -clipdst europeboundary.shp ne_10m_admin_0_countries.shp   europecountries.shp

如果要排除俄罗斯,请删除该国家:

ogr2ogr -sql "select * from europecountries.shp NAME != 'Russia'" EuropeminusRussia.shp europecountries.shp

在带有rgdal和raster的R中(对于raster :: crop),过程类似,例如:

library(rgdal)
library(raster) 
continents = readOGR('path_to../continent.shp')
countries = readOGR('path_to../ne_10m_admin_0_countries.shp')
europeboundary = continents[continents$CONTINENT == "Europe",]
eurcountries = crop(countries, europeboundary)
eurcountriesminusRussia = eurcountries[eurcountries$NAME != 'Russia',]

该帖子虽然很旧,但是仍然是一个有效且有用的问题,希望对您有所帮助。

在此处输入图片说明

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.