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

  • 2
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

MR.Sun961

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

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

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

打赏作者

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

抵扣说明:

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

余额充值