主要内容

本页采用了机器翻译。点击此处可查看英文原文。

geocrop

裁剪地理栅格

说明

[B,RB] = geocrop(A,RA,latlim,lonlim) 对地理栅格 A 进行裁剪,该栅格使用栅格引用 RA,并返回裁剪后的栅格 B 和栅格引用 RB。返回的栅格被裁剪为与 latlimlonlim 指定的地理边界(以度为单位)相近的范围。

若要裁剪以点、线或多边形形状表示的、位于地理坐标系中的向量数据,请改用 geoclip 函数。

示例

示例

全部折叠

裁剪地理栅格,并在地图上显示裁剪后的栅格。

首先,加载朝鲜半岛的高程栅格数据和地理像元参考对象。然后,将栅格裁剪至 latlimlonlim 指定的边界。

load korea5c
latlim = [34.25 38.72]; 
lonlim = [125.85 129.92];
[B,RB] = geocrop(korea5c,korea5cR,latlim,lonlim);

将裁剪后的栅格作为地表显示在地图上。使用 demcmap 函数为高程数据应用合适的颜色图。

worldmap(latlim,lonlim)
geoshow(B,RB,'DisplayType','surface')
demcmap(B)

Figure contains an axes object. The hidden axes object contains 8 objects of type patch, surface, line, text.

使用 geocrop 函数,将栅格数据的经度边界调整为覆盖 360 度的范围。然后,将偏移后的数据以曲面形式显示在地图上。

首先,加载全球高程栅格数据以及一个地理像元参考对象。然后,将栅格的经度范围从 [0, 360] 调整为 [-180, 180]。

load topo60c
latlim = topo60cR.LatitudeLimits;
[B,RB] = geocrop(topo60c,topo60cR,latlim,[-180 180]);

通过查询栅格的 LongitudeLimits 属性来比较这些栅格。

topo60cR.LongitudeLimits
ans = 1×2

     0   360

RB.LongitudeLimits
ans = 1×2

  -180   180

将偏移后的数据以曲面形式显示在地图上。使用 mlabel 函数将经线标签移动到地图底部。使用 MLabelLocation 属性指定要显示的经线标签。然后,使用 demcmap 函数应用适合地形数据的颜色图。请注意,经度边界线在地图边缘处有所偏移。

worldmap(RB.LatitudeLimits,RB.LongitudeLimits)
geoshow(B,RB,'DisplayType','surface')
mlabel('south')
setm(gca,'MLabelLocation',-180:90:180)
demcmap(B)

Figure contains an axes object. The hidden axes object contains 14 objects of type patch, surface, line, text.

输入参数

全部折叠

地理栅格,指定为 M × NM × N × P 格式的数值数组或逻辑数组。

A 的栅格参考,指定为 GeographicCellsReference 对象或 GeographicPostingsReference 对象。

纬度边界,指定为形式为 [slat nlat] 的两个元素数值向量,其中 slat 表示最南端边界(单位为度),nlat 表示最北端边界(单位为度)。

经度边界,指定为形式为 [wlon elon] 的两个元素数值向量,其中 wlon 表示以度为单位的西界,elon 表示以度为单位的东界。

输出参量

全部折叠

裁剪后的地理栅格,以数值数组或逻辑数组的形式返回。B 的数据类型和大小与 A 的数据类型和大小一致。

如果由 latlimlonlim 指定的边界与由 ARA 指定的栅格没有交集,则 B 为空。

B 的栅格参考,以 GeographicCellsReference 对象或 GeographicPostingsReference 对象的形式返回。RB 的对象类型与 RA 的对象类型一致。

RB 的确切纬度和经度边界与 latlimlonlim 指定的边界不一致,除非它们与单元格边界或发布位置重合。否则,RB 的极限值会比 latlimlonlim 稍大一些。

如果由 latlimlonlim 指定的边界与由 ARA 指定的栅格没有交集,则 RB 为空。

提示

  • 要在平面地图坐标系中裁剪栅格,请使用 mapcrop 函数。

  • 要创建一个边界与 latlimlonlim 匹配的栅格,请使用 georesample 函数对该栅格进行重采样。

版本历史记录

在 R2020a 中推出