主要内容

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

maptriml

将线段裁剪为经纬度四边形

语法

[lat,lon] = maptriml(lat0,lon0,latlim,lonlim)

说明

[lat,lon] = maptriml(lat0,lon0,latlim,lonlim) 返回经过过滤 的、以 NaN 为分隔符的向量地图数据集,其中所有位于目标纬度和经度范围之外的点均已被剔除。这些边界由两个元素向量 latlimlonlim 指定,它们分别具有 [south-limit north-limit][west-limit east-limit] 的形式。

示例

全部折叠

向量数据超出当前关注的地理区域范围的情况并不少见。例如,您可能拥有全球范围的海岸线数据,但只想绘制澳大利亚的海岸线图。在这种及其他情况下,您可能需要从工作区和计算中删除不必要的数据,以节省内存或加快处理和显示速度。您可以通过将线段裁剪至地图边框或某个其他定义区域,从而移除位于感兴趣区域之外的点,以此对线段数据进行修剪。maptriml 函数返回仅包含位于定义区域内的点的变量。

加载 coastlines MAT 文件。该文件包含全球范围内的数据。

load coastlines

定义一个以澳大利亚为中心的感兴趣区域。

latlim = [-50 0]; 
lonlim = [105 160];

使用 maptriml 函数删除这些边界之外的所有线数据,从而生成线向量。

[linelat,linelon] = maptriml(coastlat,coastlon,latlim,lonlim);

检查这些变量,以了解数据量减少了多少。2. 简化中文(大陆)截取后的数据量仅为原始数据集的 10%。

whos
  Name             Size            Bytes  Class     Attributes

  coastlat      9865x1             78920  double              
  coastlon      9865x1             78920  double              
  latlim           1x2                16  double              
  linelat        977x1              7816  double              
  linelon        977x1              7816  double              
  lonlim           1x2                16  double              

使用米勒投影绘制裁剪后的线数据。

axesm('MapProjection', 'miller', 'Frame', 'on',...
'FlatLimit', latlim, 'FlonLimit', lonlim)
geoshow(linelat,linelon)

Figure contains an axes object. The axes object contains 2 objects of type patch, line.

版本历史记录

在 R2006a 之前推出

另请参阅

| | |