以下 MATLAB 脚本在 300x400 数组中生成随机位置,并使用 1-12 的值对这些位置进行编码。 如何将此非空间数组转换为 geotiff?我希望使用 geotiff 输出来进行一些试验分析。任何投影坐标系(例如 UTM)都可以用于此分析。
我尝试使用geotiffwrite()
以下实现但没有成功:
out = geotiffwrite('C:\path\to\file\test.tif', m)
这会产生以下错误:
>> test
Error using geotiffwrite
Too many output arguments.
编辑:
我遇到的主要问题是缺乏对该geotiffwrite()
函数的输入。我不确定如何处理这个问题。例如,我没有A
或R
变量,因为数组没有空间参考。只要每个像素都在某处进行地理参考,我不在乎空间参考是什么。这样做的目的是创建一个示例数据集,我可以使用 MATLAB 空间函数进行试验。
% Generate a totally black image to start with.
m = zeros(300, 400, 'uint8');
% Generate 1000 random locations.
numRandom = 1000;
linearIndices = randi(numel(m), 1, numRandom);
% Set those locations to be "white".
m(linearIndices) = randi(12, [numel(linearIndices) 1]);
% Display it. Random locations will appear white.
image(m);
colormap(gray);