裁剪DEM高程数据

article/2025/7/26 16:39:57

裁剪DEM高程数据方法

对DEM高程数据(tif文件)方法较多,现将使用的方法进行总结,内容主要包括三个方面:

  1. 使用ARCGIS裁剪
  2. 使用globalmapper裁剪
  3. 使用MATLAB裁剪

1、使用ARCGIS裁剪

Arcgis将一幅影像裁剪成一幅或多幅,此时可以应用ArcGIS中的工具箱ArcToolbox进行相关裁剪操作,ArcToolbox提供了许多可以应用的工具。
裁剪工具提取
总的步骤为:“数据管理工具”——“栅格”——“栅格处理”——"裁剪"工具
①"输出范围"项可以选择一个矢量要素,选择之后下面的最小外包矩形数值将自动填写;
②勾选"使用输入要素裁剪几何(可选)"则不会沿着外包矩形裁剪,而是沿着面要素周长裁剪,面要素以外则变为NoData,更多干货敬请关注:水经注GIS 故此操作会提升像素深度;
③"NoData值(可选)"与"保持裁剪范围(可选)"两项对于一般操作来说不经常用到。
在这里插入图片描述
按矩形提取工具提取
总的步骤为:“空间分析”——“提取分析”——“按矩形提取"工具
此种方法相对容易理解,功能也相对简单,可以提取矩形内的区域或矩形外的区域。但需提前建立一个有关于“面”shapefile的矢量文件,此文件需将在被裁剪的tif文件中进行选择框选裁剪范围,此时的shp就是将被裁剪的范围,但ARCGIS的裁剪工具手动框选存在一定的误差,如果精确裁剪到某一具体的像素值(行或列),此时的裁剪工具相对会体现出精度不足的问题。
按掩膜提取工具提取
总的步骤为"空间分析”——“提取分析”——"按掩膜提取"工具
掩膜在制图中是一种遮盖工具,用于处理要素在显示上的冲突,最典型的应用就是等高线的标注。掩膜可以理解为一种看不见的面要素,它遮挡住了不需要显示的图形。用这个工具可以将影像按面要素周长裁剪。(适用于省界等边界的区分)
分割栅格工具提取
总的步骤为:“数据管理工具”——“栅格”——“栅格处理”——"分割栅格"工具
这个工具用于将影像分幅输出到一个文件夹里。
分割栅格
①"输出文件夹"与"输出基本名称"中定义输出文件夹与前缀,在输出结果的前缀后会自动加上编号;
②"分割方法"有两种,SIZE_OF_TILE按指定分割后影像的大小分割,选择此项之后需要在"输出栅格的大小(可选)"输入栅格大小,这样末尾可能会有像元数不够的影像,更多干货敬请关注:水经注GIS 而NUMBER_OF_TILES按照指定的行数和列数平均分割栅格,选择此项后需要在"输出栅格数(可选)"输入行数和列数;
③"重采样技术(可选)"中有三项,NEAREST、BILINEAR、CUBIC复杂程度和计算时间依次上升,但平滑效果也越来越好,可根据需要进行选择。

2、使用globalmapper裁剪

globalmapper界面友好,交互性强,对图像进行裁剪,可以大大减少地图容量,提高处理速度及指定范围的数据输出。但裁剪会出现缝隙,精度会打折扣。(注意必须是Geotiff文件,如果不是还需转换
总体步骤如下:

  1. 将要裁剪的矢量文件和裁剪区域文件依次导入到GlobalMapper中,如没有矢量数据也可自己用矩形裁剪工具进行框选裁剪范围。
  2. 先导入矢量文件,然后导入裁剪文件
  3. 在GlobalMapper中点击图层控制中心,选择裁剪图层,然后右键裁剪图层,点击缩放到选中图层
  4. 在GlobalMapper中选择数字化工具,然后鼠标点击裁剪区域,选中裁剪区域
    在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述

3、使用MATLAB裁剪

对图像(tif格式)进行裁剪函数(TIF文件须是geotiff格式):
function newpic = croptif(path,lon1,lat1,lon2,lat2)
% path为图片绝对路径,lon1,lat1为裁剪图片左上角经纬度,lon2,lat2为图右下角经纬度
[A,R] = geotiffread(path);
a = (lon1-R.LongitudeLimits(1,1))./R.CellExtentInLongitude+1;
b = (R.LatitudeLimits(1,2)-lat1)./R.CellExtentInLatitude+1;
c = (lon2-lon1)./R.CellExtentInLongitude+1;
d = (lat1-lat2)./R.CellExtentInLatitude+1;
newpic = imcrop(A,[a b c d]);
end
函数使用举例:
从图中截取规定经纬度范围内的图像,并显示出来,经纬度范围如下:
左下角经纬度坐标(单位:度):112.928123474, 28.156242371
左上角经纬度坐标(单位:度):112.928123474, 28.157272339
右上角经纬度坐标(单位:度):112.929153442, 28.157272339
右下角经纬度坐标(单位:度):112.929153442, 28.156242371
调用函数:
path = ‘D:\study\data\CSUpark.tif’;
newpic1 = croptif(path,112.928123474,28.157272339,112.929153442,28.156242371);
imshow(newpic1);
原文链接:https://blog.csdn.net/weixin_45662485/article/details/106187327


http://chatgpt.dhexx.cn/article/4Vd0F942.shtml

相关文章

12.5m高程数据DEM,导入大疆精灵4RTK,M300仿地飞行

点赞及加关注,即可获得——12.5m高程数据DEM,记得私信我——回复 “12.5m高程数据DEM” 领取哦。 文末有视频教程连接。 下面进入教程正文。 全国12.5米高程数据,是ALOS卫星的测绘成果,ALOS卫星于2006年1月24日发射,同…

GlobalMapper20使用控制点对地形数据(高程数据)进行高程纠正(高程拟合/纠偏/配准)

序:为什么要对高程数据进行控制点纠正 1.经常因为拿到的地形数据非当前坐标系,高程基准也不一样,需要进行投影转换调整高程基准 此情况一般一个控制点就够了,对地形进行整体的抬升或者下降。 2.实测数据和基于卫星、航测等生成…

高精度数字高程数据1m的dem

最近一直在做一个三维场景的项目,老板一直让我下载高精度的数据,从而构建三维场景,一开始在各种网站上下载如中国科学院镜像站点下载,德国航天局的DLR数字高程数据,美国航天局NASA网站上等一些地方下载,基本…

地理高程数据SRTM3简介

1. SRTM简介 SRTM(Shuttle Radar Topography Mission,航天飞机雷达地形测绘使命)是美国太空总署(NASA)和国防部国家测绘局(NIMA)以及德国与意大利航天机构共同合作完成联合测量,由美国发射的“…

国内外高程数据介绍

目前网上有多种全球高程数据,国内在这方面也进步喜人,资源三号目前已放出来的卫片给了不少惊喜,其高程数值得期待。但资源三号的高程数据放出来还需等待,过去两三年全球高程数据发展相当迅猛,DLR放出了相当高精度的数据…

DEM高程数据下载方法

网页下载 网站上下载免费的DEM数据 地形高程数据几个比较好的下载地点: (1)http://srtm.csi.cgiar.org/SELECTION/inputCoord.asp,从这里可以下载SRTM 90m数据,支持逐个Tile选取,或者拖拽鼠标一次选取多个,或者输入经纬度坐标选…

全球高精度5米 12.5米 30米地形(DEM)高程数据(tif格式)下载

高程数据在地形分析、坡度坡向分析、等高线分析等多个场景都需要用到,而最常见的高程数据便是数字高程模型,即DEM了。 下面便给大家罗列下几个常见的高程数据(即DEM)的下载渠道。 下载位置:图新地球 免费下载&#x…

DEM高程数据

DEM高程数据 ** DEM高程数据包括两个部分:ASTER GDEM30米分辨率高程数据和SRTM90米分辨率高程数据。ASTER GDEM数据来源于NASA,数据覆盖范围为北纬83到南纬83之间的所有陆地区域,时间范围为2000年前后;SRTM数据来源于CIAT&#x…

gis 数据框裁剪_GIS中DEM高程数据的获取/处理/等高线生成

1.高程数据的下载地址和下载方式 下载地址:地理空间数据云 点击“高级检索”——选择“GDEMDEM 30M 分辨率数字高程数据”——“地图选择”——画出自己想要的高程数据所在地我们以鹤岗为例,通过检索我们发现一共是10块,我们依次下载。 下载完成后解压是这样的

全球数字高程数据(DEM)详解,还有地形晕渲、等高线等干货

1 基本概念 DEM是数字高程模型的英文简称(Digital Elevation Model),是研究分析地形、流域、地物识别的重要原始资料。由于DEM 数据能够反映一定分辨率的局部地形特征,因此通过DEM 可提取大量的地表形态信息,可用于绘制等高线、坡度图、坡向…

python isupper_Python中用于检查英文字母大写的isupper()方法

Python中用于检查英文字母大写的isupper()方法 isupper()方法检查字符串的所有基于大小写的字符(字母)是否是大写。 语法 以下是isupper()方法的语法: str.isupper() 参数 NA 返回值 如果字符串中的所有字符是大写字母并且至少有一个可大小写字符此方法返回…

isupper

原型:extern int isupper(int c);用法:#include 功能:判断字符c是否为大写英文字母说明:当c为大写英文字母(A-Z)时,返回非零值,否则返回零。举例:// isupper.c#include #include main(){int c;c…

Python字符串:isspace、istitle、isupper、islower

str.isspace() 如果字符串中只有空白字符且至少有一个字符则返回 True ,否则返回 False 。 空白 字符是指在 Unicode 字符数据库 (参见 unicodedata) 中主要类别为 Zs (“Separator, space”) 或所属双向类为 WS, B 或 S 的字符。 str.istitle() 如果字符串中至…

python中的 isdigit( ), islower( ), isupper( ), isalpha( ) , isspace( ) 的用法

isdigit( ), islower( ), isupper( ), isalpha( ) , isspace( )这几个函数在算法题里面还是很有用处的。 isdigit( ) 检测字符串是否只由数字组成。 和 isnumeric( )函数类似 islower( ) 检测字符串是否由小写字母组组成 isupper( ) 检测字符串中所有的字母是否都为大写…

c语言中isupper用法,C 库函数 - isupper()

描述 C 库函数 int isupper(int c) 检查所传的字符是否是大写字母。 声明 下面是 isupper() 函数的声明。 int isupper(int c); 参数 c -- 这是要检查的字符。 返回值 如果 c 是一个大写字母,则该函数返回非零值(true),否则返回 0(false)。 实例 下面的实…

【C++常用函数】isalpha、isalnum、isdigit、islower、isupper用法

isalpha()用来判断一个字符是否为字母isalnum用来判断一个字符是否为数字或者字母,也就是说判断一个字符是否属于a~ z||A~ Z||0~9。isdigit() 用来检测一个字符是否是十进制数字0-9islower()用来判断一个字符是否为小写字母,也就是是否属于a~z。isupper(…

python isupper_Python isupper()函数判断字符串字符是否都为大写形式

Python中的 isupper() 函数的作用是检查一个字符串中的字符是否都为大写形式,如果字符串不为空,且所有字符都为大写形式的话就返回 True ,否则返回 False 。 可以认为,Python 的 isupper() 函数的作用与 islower() 函数是相反的。后者的作用是检查一个字符串的所有字符是否…

isupper_Python字符串isupper()

isupper Python String isupper() function returns True if all the cased characters are in Uppercase. If the string is empty or there are no cased characters then it returns False. 如果所有大小写的字符均为大写,则Python String isupper(&a…

isupper()函数

头文件 <ctype.h> isupper()判断一个字符是否是大写字母 int isupper&#xff08;int c);参数 c 要检测的字符。它可以是一个有效的字符&#xff08;被转换为 int 类型&#xff09;&#xff0c;也可以是 EOF&#xff08;表示无效的字符&#xff09;。 返回值 返回值为非…

C语言isupper函数介绍、示例和实现

文章目录 1、包含头文件2、函数声明3、功能说明4、示例5、自定义的isupper函数的实现方法6、获取视频教程7、版权声明 C语言isupper函数用于判断字符是否为大写字母&#xff08;A-Z&#xff09;。 在本文中&#xff0c;我们先来介绍isupper函数的使用方法&#xff0c;然后编写…