要在MATLAB中根据经纬度而不是行列号绘制三波段的TIFF影像并叠加矢量SHP,可以按照以下步骤操作:

  1. 读取TIFF影像文件:使用imread函数读取TIFF影像文件,将其存储为一个三维数组。例如:
image = imread('image.tif');
  1. 获取影像的地理空间信息:使用geotiffinfo函数获取TIFF影像的地理空间信息,包括经纬度范围和分辨率等。例如:
info = geotiffinfo('image.tif');
  1. 创建地理参考对象:使用georasterref函数创建一个地理参考对象,该对象描述了影像的空间参考信息。例如:
R = georasterref('RasterSize', size(image), 'LatitudeLimits', info.LatitudeLimits, 'LongitudeLimits', info.LongitudeLimits);
  1. 可视化影像:使用geoshow函数绘制地理参考对象和影像,以经纬度坐标系进行显示。例如:
geoshow(image, R, 'DisplayType', 'image');
  1. 叠加矢量SHP文件:使用shaperead函数读取矢量SHP文件,并使用geoshow函数将其叠加在影像上。例如:
shp = shaperead('vector.shp');
geoshow(shp, 'FaceColor', 'none', 'EdgeColor', 'red');

完整的示例代码如下:

% 读取TIFF影像
image = imread('image.tif');

% 获取影像的地理空间信息
info = geotiffinfo('image.tif');

% 创建地理参考对象
R = georasterref('RasterSize', size(image), 'LatitudeLimits', info.LatitudeLimits, 'LongitudeLimits', info.LongitudeLimits);

% 可视化影像
figure;
geoshow(image, R, 'DisplayType', 'image');

% 叠加矢量SHP文件
shp = shaperead('vector.shp');
hold on;
geoshow(shp, 'FaceColor', 'none', 'EdgeColor', 'red');

请将示例代码中的image.tif替换为实际的TIFF影像文件路径,将vector.shp替换为实际的矢量SHP文件路径

用matlab根据经纬度而不是行列号绘制三波段的tiff影像并在上面叠加矢量shp

原文地址: http://www.cveoy.top/t/topic/hY43 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录