ArcGIS 制作中国区的数字高程DEM地图(附中国区STRM 90m DEM百度云免费下载链接)[通俗易懂]

ArcGIS 制作中国区的数字高程DEM地图(附中国区STRM 90m DEM百度云免费下载链接)[通俗易懂]数字高程模型(DigitalElevationModel),简称DEM网上有很多中国DEM的下载链接,要么收费,要么地图不对(缺藏南、台湾等等),要么版本太老所以自己做了一个,流程如下:第一步:NASA官网下载STRM90m文件包(http://srtm.csi.cgiar.org)(i)第二张图的Tilesize就是在选区域下载,所以也可以选5x5degree,但就要选很多区域,而且下载的时候要一个个点,太麻烦了,30x30degree的话,只需要选六块就能包住中国;(ii)下载速度

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全家桶1年46,售后保障稳定

数字高程模型(Digital Elevation Model),简称DEM
网上有很多中国DEM的下载链接,要么收费,要么地图不对(缺藏南、湾湾等等),要么版本太老
所以自己做了一个,流程如下:

第一步:NASA官网下载STRM 90m文件包(http://srtm.csi.cgiar.org)

在这里插入图片描述(i) 第二张图的Tile size就是在选区域下载,所以也可以选5x5degree,但就要选很多区域,而且下载的时候要一个个点,太麻烦了,30x30degree的话,只需要选六块就能包住中国;

(ii) 下载速度可能有点儿慢,值得等待;

第二步:将六块地图拼接

在这里插入图片描述
(i) 一张一张读到ArcGIS中(上图之所以看着怪是因为每个子图的colorbar还没统一),可能会卡,别着急

(ii) 像素类型选16_BIT_SIGNED (因为原始图像的类型就是16位有符号整型,保持一致;可以通过属性查看原图像的像素类型)为arcgis中DEM图进行拼接时像素类型怎么填?

(iii)波段选1(因为不是真彩色,全部合到一幅上); 在ArcGIS下如何合并dem?

这时候咱们的DEM图还是栅格数据集,需要转换成tif格式才能进行掩模裁剪

第三步:转换格式 栅格数据集→TIF

网上有很多DEM合并办法(镶嵌)和裁减办法,但是我发现用镶嵌办法得到的是栅格数据集而不是TIF文件,如果用栅格数据集去裁减,那么就必须保存在默认路径(Default.gdb)里,否则图像就怪怪的完全不对(丢失空间参考信息 解决ArcGIS栅格数据空间参考丢失问题) 但这样的话,我又没办法导出,就很鸡肋,所以就要转成TIF来裁减
在这里插入图片描述

第四步:根据边界线掩模裁剪出DEM

如果你的待裁剪图像文件没有空间参考信息丢失的问题,那就可以直接掩模裁剪,请看:
只有边界线的情况下如何在Arcgis上截取目标区域(掩膜裁剪)

如果你的待裁剪图像文件空间参考信息丢失的问题,要注意:
掩模裁剪,因为空间信息的丢失,裁出来的图会怪怪的也不对,调试了很久,最后发现用代码反而能裁出来,代码很简单如下(也是自己写的,改四个路径就行,如果需要批量裁减,可以看用Python对ASCII文件进行批量掩模裁剪):

# -*- coding: utf-8 -*-
#此代码是用以掩模裁剪,从全球DEM中裁剪出中国区

import arcpy

arcpy.CheckOutExtension("spatial")

arcpy.gp.overwriteOutput=1

arcpy.env.workspace = "F:\\DEM_SRTM\\China_include_tif"               #工作空间

raster = "F:\\DEM_SRTM\\China_include_tif\\china_include.tif"         #需要裁减的图像

mask= "F:\\DEM_SRTM\\China_include_tif\\China_boundary.shp"           #掩膜文件

out= "F:\\DEM_SRTM\\China_include_tif\\china_only.tif"                #输出文件

arcpy.gp.ExtractByMask_sa(raster, mask, out)


print("All done")

Jetbrains全家桶1年46,售后保障稳定

这样就能成功裁减了,结果图如下:
在这里插入图片描述
(西北有负值,这是图像原本就有的,估计是因为盆地,具体原因还需要继续探索)

一直以来觉得中国的数据共享和分发做的不好,要么收费,要么不对,要么陈旧,所以在这儿也把我自己裁出来的中国区DEM分享出来,大家下载后也可以检查检查,有问题随时联系我~

链接:https://pan.baidu.com/s/1d8ad36FPHTO9CVU9r9DXGw
提取码:bdak

中国边界shp(包含九段线)文件下载链接:(感谢这位博主!)
[资料] 南海诸岛及九段线shp

Finish!

后记:

写博客的初衷是分享经验,同时是算是自己对思路和代码的整理,方便日后处理数据,应该可以帮到很多人。
我已免费分享我的心得,如果看官还有其他问题的,那么:知识付费,我的时间和经验正好可以解决你的问题。
咨询问题请添加QQ:819369354

2022年4月20日

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/201099.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • latex中如何画表格_时态结构总结表格

    latex中如何画表格_时态结构总结表格三线表表格的合并三线表在写论文的时候我们常常会用到三线表,三线表的基本语法就是下面这个样子的。如果是在双栏的环境里,如果我们的表格比较大,我们一般需要在表格的环境中加星号,如果是表格只占一栏,这个时候我们就不需要加星号,我们假设我们使用表格的情况是占双栏的。三线表的精华就是那三根线了啦,用的命令就是\toprule,\midrule,\bottomrule这…

    2022年8月11日
    6
  • nginx url转发的一种方式「建议收藏」

    nginx url转发的一种方式「建议收藏」比如,以前是http://vampire.com/elasticsearch现在要转到http://vampire.com/search配置如下:server{listen81;server_namelocalhost;location/{roothtml;indexindex.htmlinde

    2022年9月25日
    3
  • Java数据结构与算法入门

    Java数据结构与算法入门第一部分:Java数据结构要理解Java数据结构,必须能清楚何为数据结构?数据结构:Data_Structure,它是储存数据的一种结构体,在此结构中储存一些数据,而这些数据之间有一定的关系。而各数据元素之间的相互关系,又包括三个组成成分,数据的逻辑结构,数据的存储结构和数据运算结构。而一个数据结构的设计过程分成抽象层、数据结构层和实现层。数据结构在Java的语言体系中按逻辑结构可以分为两大类:线…

    2022年7月18日
    16
  • telnet不是内部或外部命令怎么办[通俗易懂]

    telnet不是内部或外部命令怎么办[通俗易懂]telnet不是内部或外部命令怎么办命令提示符下执行telnet,提示:’telnet’不是内部或外部命令,也不是可运行的程序或批处理文件。Win7,Win10系统环境下,Telnet客户端默认是关闭状态。下面我们来看看如何打开Telnet客户端?打开【控制面板】。单击“程序”;单击“打开或关闭Windows功能”;勾选“Telnet客户端”,单击“确定”。打开Telnet客户端;无需重启,再次运行Telnet,成功进入MicrosoftTelnet

    2022年9月23日
    4
  • 使用cookie登录

    前言:什么是cookie?Cookie,指某些网站为了辨别用户身份、进行session跟踪而储存在用户本地终端上的数据(通常经过加密)。比如说有些网站需要登录后才能访问某个页面,在登录之前,你想抓取某个页面内容是不允许的。那么我们可以利用Urllib库保存我们登录的Cookie,然后再抓取其他页面,这样就达到了我们的目的。一、Urllib库简介Urllib是python内置的H…

    2022年4月7日
    181
  • Python与Pycharm安装包

    Python与Pycharm安装包Python3.6.4与Pycharm安装包

    2022年5月17日
    50

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号