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)
上一篇 2025年8月18日 下午8:22
下一篇 2025年8月18日 下午9:01


相关推荐

  • BurpSuite系列(五)—-Intruder模块(暴力激活成功教程)「建议收藏」

    BurpSuite系列(五)—-Intruder模块(暴力激活成功教程)「建议收藏」一、简介BurpIntruder是一个强大的工具,用于自动对Web应用程序自定义的攻击,BurpIntruder是高度可配置的,并被用来在广范围内进行自动化攻击。你可以使用BurpIntruder方便地执行许多任务,包括枚举标识符,获取有用数据,漏洞模糊测试。合适的攻击类型取决于应用程序的情况,可能包括:缺陷测试:SQL注入,跨站点脚本,缓冲区溢出,路径遍历;暴力攻击认证

    2022年7月12日
    72
  • C语言枚举类型简介

    C语言枚举类型简介枚举是 C 语言中一种基本数据类型 它可以让数据简洁和易读定义格式为 enum 枚举名 元素 1 元素 2 为什么要用枚举 defineMON1 defineTUE2 defineWED3 defineTHU4 defineFRI5 defineSAT6 defineSUN7 例如以上这些代码 看起来很多很复杂 如果用枚举的方式 enumDAY MON 1 TUE WED THU FRI SAT SUN 注意 第一个枚举

    2026年3月19日
    3
  • 写给夏燕第十一个男人「建议收藏」

    写给夏燕第十一个男人「建议收藏」悲哀,(李旧)是她第十一个男人。她想要什么呢???很多男人吗?很多是多少?我是她第十个男人,我原理她了:“说自己以前走的路不可能回头了,叫我不要在过问她以前的事了”。过也两个月后,可还死不改心,还有多少男人被她骗呢?   夏燕(安徽宿松人) 她电话13764996496 15300910532 13917482046   过年回家时,我和夏燕(我第一个女人)认识我不到24小时,就和她发生过关系,还

    2026年1月19日
    5
  • Java代码生成器原理和编写

    Java代码生成器原理和编写代码生成器的原理其实是非常简单的,主要可以分为下面两个步骤: 数据库元数据抓取 模板输出 第一步数据库元数据信息抓取这里给大家提供些简单易于操作的思路,我们找到数据库连接中的information_schema这个库,这个库就是元数据库,保存着其他库以及库表的信息,并且一直维护.我们想要做到根据数据库去动态生成代码,那么就需要拿到生成代码的对应的数据库,表,以及字段等信息.下面给大家提供一下获取数据库,获取数据库表,获取数据库表字段的SQL语句获取连接中的所有数据..

    2022年5月4日
    151
  • Linux切换到root用户

    Linux切换到root用户在 Linux 中执行一些操作可能需要 root 用户才有权限操作 可使用 su 命令切换到 root 输入 su 命令并回车 此时会要求输入 root 用户的密码 如果密码正确即可切换成功 在我的 Ubuntu 虚拟机上 提示我谁失败 如下 这有可能是在安装 Ubuntu 系统的时候没有设置 root 账号的密码 可以使用 sudopasswdro 命令来设置 root 账号的密码 密码设置好就可以使用 su 命令来切换到 root 账号了 如下

    2026年3月26日
    2
  • 全网最详细!教你5分钟快速注册申请美区ASU的edu教育邮箱教程

    全网最详细!教你5分钟快速注册申请美区ASU的edu教育邮箱教程

    2026年3月16日
    1

发表回复

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

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