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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • pytest的assert_assert中文

    pytest的assert_assert中文前言断言是写自动化测试基本最重要的一步,一个用例没有断言,就失去了自动化测试的意义了。什么是断言呢?简单来讲就是实际结果和期望结果去对比,符合预期那就测试pass,不符合预期那就测试failed

    2022年7月31日
    6
  • vb6.0连接access数据库_access数据库是什么型数据库

    vb6.0连接access数据库_access数据库是什么型数据库第一步:在stdafx.h头文件中加入#import”c:\programfiles\commonfiles\system\ado\msado15.dll”no_namespacerename(“EOF”,”adoEOF”),rename(“BOF”,”adoBOF”)第二步:初始化COM库子main函数中CoInitialize(NULL); CoUninitialize

    2022年8月12日
    6
  • python表白代码大全简单-python表白代码

    python表白代码大全简单-python表白代码广告关闭腾讯云双11爆品提前享,精选热门产品助力上云,云服务器首年88元起,买的越多返的越多,最高满返5000元!作者|马超编辑|jane来源|csdn博客【导语】转眼又到了咱们中国传统的情人节七夕了,今天笔者就带大家来领略一下用python表白的方式。让程序员的恋人们感受一下it人的浪漫。一、词云制作首先咱们可以用之前介绍过的wordcould包制作词云。wordc…

    2022年6月2日
    48
  • python数组拼接字符串_Python练习题——数组拼接

    python数组拼接字符串_Python练习题——数组拼接##输入一个正整数数组,把数组里所有数字拼接起来排成一个数,打印能拼接出的所有数字中最小的一个。##示例1:#输入:[10,2]#输出:”102″##示例2:#输入:[3,30,34,5,9]#输出:”3033459″##1#classSolution:#defminNumber(self,nums):#nums_str=[str(i)…

    2022年6月2日
    107
  • 第一个模板类(templet<class elemType> class xxxxx)

    第一个模板类(templet<class elemType> class xxxxx)小弟是刚刚加入c++大队的,对c++中的基本知识只是稍微懂一点。今天在看《c++primer》中的模板类时,就将其中的程序在vs2008中写下,新建了Array.h和Array.cpp两个文件。主函数:Main.cpp1#include”stdafx.h”2#include<iostream>3#include”Array.h”45u…

    2022年5月19日
    55
  • 机器学习之KNN最邻近分类算法[通俗易懂]

    机器学习之KNN最邻近分类算法[通俗易懂]KNN算法简介KNN(K-NearestNeighbor)最邻近分类算法是数据挖掘分类(classification)技术中最简单的算法之一,其指导思想是”近朱者赤,近墨者黑“,即由你的邻居来推断出你的类别。KNN最邻近分类算法的实现原理:为了判断未知样本的类别,以所有已知类别的样本作为参照,计算未知样本与所有已知样本的距离,从中选取与未知样本距离最近的K个已知样本,根据少数服从多数…

    2022年4月27日
    52

发表回复

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

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