爱气象,爱气象家园! 

气象家园

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博登陆

只需一步, 快速开始

搜索
查看: 9310|回复: 5

使用Arcgis绘制中国区域的shapefile文件

[复制链接]

新浪微博达人勋

发表于 2020-10-13 19:14:20 | 显示全部楼层 |阅读模式

登录后查看更多精彩内容~

您需要 登录 才可以下载或查看,没有帐号?立即注册 新浪微博登陆

x
本帖最后由 151170080 于 2020-10-13 19:57 编辑

在使用ncl绘制扣取中国区域的数据并绘制等值线填充图的过程中,发现ncl官网上的中国区域轮廓是有问题的(图1)。要扣取中国区域的数据需要一幅精确的中国地区的shapefile文件。国外有一个专门提供shape文件的网站(https://gadm.org/download_country_v3.html),但是也是不准确的。网上有关中国区域的shape文件要么是收费的,要么就不准确,所以利用全国地理信息资源目录服务系统1:100万的全国基础地理数据库,自己制作了一幅全国区域的polygon类型的shapefile文件使用。下面是制作步骤

1.png



图1

一、下载全国77幅基础地理信息文件

全国地理信息资源目录服务系统上免费提供了1:100万的基础地理信息文件,一共77幅。在该网站上注册之后,就可以免费下载。解压缩之后,gdb文件列表如下图右所示。

       2.png             3.png



二、将77个gdb文件合并成一个gdb文件并导入到Arcgis中

我自己尝试了两个方法和并这些文件。一个是使用Arcgis软件进行和并,另一个方法是使用GDAL命令进行和并,为了后面操作的连续性和统一性,我建议使用Arcgis软件进行和并。和并步骤如下:

1.建立一个存放和并文件的文件夹,命名为Final_file,并将77个基础信息文件中的A49.gdb(可以是任意一个,这样可以省去建立AANP、AGNP、BOUA等features的麻烦)复制到Final_file中并改名为final.gdb

4.png



2打开安装Arcgis软件时,附带 的Python IDE运行如下代码

import os
import sys
import arcpy
arcpy.env.workspace = "G:\Nation_geodata\China_geodata"   
workspaces = arcpy.ListWorkspaces("*","FileGDB")


for workspace in workspaces:
    print(workspace)
    arcpy.env.workspace = workspace
    featureclasses = arcpy.ListFeatureClasses()
    for fc in featureclasses:
        print(fc)
        output = os.path.join("G:\Nation_geodata\Final_file\\final.gdb",os.path.splitext(fc)[0])
        print output
        arcpy.Append_management(fc,output)
这个过程时间比较长


3.导入final.gdb文件
首先打开ArcCatalog软件,导入Final_file文件夹(使用Folder Connections,这样final.gdb文件就会一块导入进去),然后在Arcgis中的layer添加final.gdb数据中的BOUA
5.png       6.png       7.png

三、提取中国部分(不包括九段线区域)轮廓
提取中国区域轮廓就是一级一级和并的过程,步骤如下:
1.根据PAC筛选中国区域
完整的77幅数据包括一些国外的部分,我们首先将这一部分去除掉。首先打开BOUA的Attribute table,并将PAC升序排列,不难发现,国外区域的PAC值都小于902,另外,九段线区域的PAC值为250100。然后在Selection->Select By Attributes,输入PAC >902 AND PAC<250100 OR PAC >250100进行筛选。然后在BOUA图层中将选中的区域导出(选择一个gdb类型的file,可以时final.gdb).接着,Geoprocessing->Dissolve,合共各个方格文件,Input Features 选择刚刚导出的文件,勾选PAC和NAME
8.png       9.png    10.png     11.png

2. 创建新的Field,进行国界融合
添加刚刚disolve的文件作为新的图层,并且打开Attribute Table,新建一个field,命名为Nation,Type为Long Integer.然后对使用Field Calculator对Nation赋值100000.  接着,Geoprocessing->Dissolve和并polygon,Input Features选择添加Nation的那个文件,勾选Nation. 最后得出的图如下右边的图.  然后将该图层导出为shapefile文件即可.
12.png     13.png     14.png     15.png


这样中国区域的polygon shapefile文件就制作完成了.当然,具体某个省的polygon文件也可以按照上面的方法制作,思路是一样的.
如果过程中有什么问题,欢迎留言讨论!

来自群组: 南京大学风云英华
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2020-10-14 10:06:51 | 显示全部楼层
感谢分享
密码修改失败请联系微信:mofangbao
回复

使用道具 举报

新浪微博达人勋

发表于 2020-10-14 10:21:16 | 显示全部楼层
{:eb502:}{:eb502:}{:eb502:}{:eb502:}{:eb502:}
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

新浪微博达人勋

发表于 2020-11-23 15:58:47 | 显示全部楼层
{:eb502:}{:eb502:}
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

新浪微博达人勋

发表于 2020-11-24 11:00:10 | 显示全部楼层
楼主太牛了,省钱了 {:5_275:},要不然真是玩不起了
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

新浪微博达人勋

发表于 2021-1-11 22:11:09 | 显示全部楼层
才接触ArcGis,各种迷茫和无助,感谢分享。
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册 新浪微博登陆

本版积分规则

Copyright ©2011-2014 bbs.06climate.com All Rights Reserved.  Powered by Discuz! (京ICP-10201084)

本站信息均由会员发表,不代表气象家园立场,禁止在本站发表与国家法律相抵触言论

快速回复 返回顶部 返回列表