ArcGIS / global mapper / MATLAB—裁剪DEM高程数据

裁剪DEM高程数据方法


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

1、使用ARCGIS裁剪

2、使用globalmapper裁剪

3、使用MATLAB裁剪


1、使用ARCGIS裁剪


Arcgis将一幅影像裁剪成一幅或多幅,此时可以应用ArcGIS中的工具箱ArcToolbox进行相关裁剪操作,ArcToolbox提供了许多可以应用的工具。


1)裁剪工具提取


总的步骤为:“数据管理工具”——“栅格”——“栅格处理”——"裁剪"工具
①"输出范围"项可以选择一个矢量要素,选择之后下面的最小外包矩形数值将自动填写;
②勾选"使用输入要素裁剪几何(可选)"则不会沿着外包矩形裁剪,而是沿着面要素周长裁剪,面要素以外则变为NoData,更多干货敬请关注:水经注GIS 故此操作会提升像素深度;
③"NoData值(可选)"与"保持裁剪范围(可选)"两项对于一般操作来说不经常用到。

2)按矩形提取工具提取


总的步骤为:“空间分析(Spatial Analyst工具)”——“提取分析”——“按矩形提取"工具
此种方法相对容易理解,功能也相对简单,可以提取矩形内的区域或矩形外的区域。但需提前建立一个有关于“面”shapefile的矢量文件,此文件需将在被裁剪的tif文件中进行选择框选裁剪范围,此时的shp就是将被裁剪的范围,但ARCGIS的裁剪工具手动框选存在一定的误差,如果精确裁剪到某一具体的像素值(行或列),此时的裁剪工具相对会体现出精度不足的问题。


3)按掩膜提取工具提取


总的步骤为"空间分析(Spatial Analyst工具)”——“提取分析”——"按掩膜提取"工具
掩膜在制图中是一种遮盖工具,用于处理要素在显示上的冲突,最典型的应用就是等高线的标注。掩膜可以理解为一种看不见的面要素,它遮挡住了不需要显示的图形。用这个工具可以将影像按面要素周长裁剪。(适用于省界等边界的区分)


4)分割栅格工具提取


总的步骤为:“数据管理工具”——“栅格”——“栅格处理”——"分割栅格"工具
这个工具用于将影像分幅输出到一个文件夹里。
分割栅格
①"输出文件夹"与"输出基本名称"中定义输出文件夹与前缀,在输出结果的前缀后会自动加上编号;
②"分割方法"有两种,SIZE_OF_TILE按指定分割后影像的大小分割,选择此项之后需要在"输出栅格的大小(可选)"输入栅格大小,这样末尾可能会有像元数不够的影像,而NUMBER_OF_TILES按照指定的行数和列数平均分割栅格,选择此项后需要在"输出栅格数(可选)"输入行数和列数;
③"重采样技术(可选)"中有三项,NEAREST、BILINEAR、CUBIC复杂程度和计算时间依次上升,但平滑效果也越来越好,可根据需要进行选择。

2、使用globalmapper裁剪


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

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

5、在有了范围后,既可对这个面用【数据工具】进行选择。

6、在左侧图层栏中,对要进行裁剪的DDEM进行双击,或右键→选项;

7、在弹出的高程选项界面中,点击裁剪按钮,勾选“裁剪当前选定多边形”选项,点击确定即可完成裁剪。

8、导出数据,自行操作:

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);
 

### 在 ArcGIS 中根据省界裁剪 DEM 数据 #### 准备工作 为了顺利完成裁剪操作,需准备两个主要的数据集:一是待处理的DEM数据;二是作为裁剪边界的省级行政区划矢量数据。 #### 启动ArcMap并加载数据 启动ArcMap软件并将上述两种类型的文件加载到当前会话中。确保能够看到代表地形起伏情况的DEM图层以及描绘各省份轮廓的矢量多边形图层[^1]。 #### 执行裁剪命令 前往【工具箱】菜单下的【数据管理工具】分支中的【栅格】选项卡内找到【裁剪】功能项。此时弹出对话框等待进一步配置参数设置: - **输入栅格**:选择之前导入的地图文档里的DEM数据源; - **输出范围**:指定用于限定最终成果覆盖区的要素类对象——即事先准备好表示特定省份界限的信息; - 设置好目标存储位置与命名规则之后确认执行即可完成整个流程[^3]。 ```python import arcpy from arcpy import env env.workspace = "C:/data" inRaster = "elevation.tif" outRaster = "clippedElevation.tif" clipFeature = "provinceBoundary.shp" arcpy.Clip_management(inRaster, "#", outRaster, clipFeature,"#", "ClippingGeometry") ``` 此脚本实现了通过Python调用ArcPy库来自动化实现同样的效果,其中`Clip_management()`函数接收五个必填参数和一个选填参数,分别对应着原始影像路径、坐标系转换标志位(此处留空)、被截取后的产物存放处所指代字符串形式表达的新文件名全路径、用来界定新旧两版地理实体间关系依据的实际空间几何图形载体变量名称以及是否保留NoData值的选择开关[^2]。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

MR.Sun961

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值