主要内容

vec2mtx

转换纬度经度矢量到常规数据网格

语法

[Z, R] = vec2mtx(纬度、经度、密度)
(Z, R) = vec2mtx(纬度、经度、密度、latlim lonlim)
(Z, R) = vec2mtx(纬度,经度,Z1, R1)
(Z, R) = vec2mtx(…,“填满”)

描述

[Z, R] = vec2mtx(纬度、经度、密度)创建一个常规的数据网格Z从矢量数据中,将1放置在由矢量相交的网格单元格中,在其他地方放置0。R是计算网格的栅格参考对象。纬度是长度相等的向量,其中包含以度为单位的地理位置。密度表示每个纬度和经度单位的网格单元数(例如,10表示每度10单元),且必须为标量值。只要有空间,一个由两个网格单元格组成的缓冲区就包含在网格的四面。根据需要减少缓冲区,以保持纬度限制在[-90 90]范围内,并保持经度限制的差异不超过360度。

(Z, R) = vec2mtx(纬度、经度、密度、latlim lonlim)使用二元向量latlimlonlim定义网格的纬度和经度限制。

(Z, R) = vec2mtx(纬度,经度,Z1, R1)使用预先存在的数据网格Z1地理坐标,R1,以定义输出网格的极限和密度。R1可以是引用向量、引用矩阵或地理光栅引用对象。

如果R1是一个地理光栅参考对象,它呢RasterSize属性必须与大小(Z1)和它的RasterInterpretation必须“细胞”

如果R1是引用向量,它必须是包含以下元素的1 × 3向量:

(细胞/学位northern_latitude_limit western_longitude_limit]

如果R1是一个引用矩阵,它必须是3 × 2的,并根据下面的方程将光栅的行和列索引转换为或从地理坐标:

[color = # 0000ff] [color = # 0000ff] [color = # 0000ff

矩阵必须定义一个(非旋转,非倾斜)关系,其中数据网格的每一列沿着子午线,每一行沿着平行线。

使用此语法,输出R等于R1,可以是引用对象、向量或矩阵。

(Z, R) = vec2mtx(…,“填满”),在那里纬度形成一个或多个封闭多边形(用-separators),用值2而不是值0填充多边形外面的区域。

笔记

纬度、经度顶点数组将导致一个错误,除非网格限制显式提供(通过latlim, lonlimZ1, R1).对于显式极限,Z将完全被0填充,如果“填充”参数省略,如果包含该参数则为2s。

这是可以申请的vec2mtx将多边形集合平铺而不重叠以覆盖一个区域,如下面的示例1,但使用“填充”与多边形实际上重叠可能会导致混淆哪些区域是内部和外部。

例子

全部折叠

将纬度-经度多边形转换为常规数据网格并显示为地图。

州= shaperead (“usastatelo”“UseGeoCoords”,真正的);lat = [states.Lat];朗= [states.Lon];(Z, R) = vec2mtx(纬度、经度5“填充”);图worldmap (Z, R) geoshow (Z, R,“DisplayType”“texturemap”) colormap(国旗(3))

合并两个单独的调用vec2mtx创建一个4色栅格地图,显示内陆地区,海岸线,海洋和世界河流。

负载海岸线(Z, R) = vec2mtx (coastlat coastlon 1,...270年[-90 - 90],[-90],“填充”);河流= shaperead (“worldrivers.shp”“UseGeoCoords”,真正的);一个= vec2mtx ([rivers.Lat], [rivers.Lon], Z, R);Z(a == 1) = 3;图worldmap (Z, R) geoshow (Z, R,“DisplayType”“texturemap”) colormap((。45 .60 .30;0 0 0;0 0.5 - 1;0 0 1])

导入美国状态多边形作为地理空间表。通过将地理空间表转换为表格来提取多边形的坐标。

州= readgeotable (“usastatelo.shp”);T = geotable2table(州,“人肉搜索”“经”]);(纬度、经度)= polyjoin (T.Latitude ', T.Longitude ');

选择地理限制。

Latlim = [15 75];Lonlim = [-190 -65];

指定一个每度5个单元格的网格。

密度= 5;

计算光栅的大小。(M和N都是整数。)

M =密度* diff(latlim);N =密度* diff(lonlim);

创建一个地理光栅参考对象。

R = georasterref (“RasterSize”(mn),...“ColumnsStartFrom”“北”“Latlim”latlim,...“Lonlim”, lonlim);

创建一个空白网格与R大小。vec2mtx需要一个数据网格作为输入。

Z = 0 (R.RasterSize);

覆盖Z新的网格包括州轮廓和内部。

Z = vec2mtx(纬度,经度,Z, R,“填充”);

绘制地理参考网格。

图;worldmap (Z, R);geoshow (Z, R,“DisplayType”“texturemap”) colormap(国旗(3))

兼容性的考虑

全部展开

行为在R2021a中改变

之前介绍过的R2006a