1500字范文,内容丰富有趣,写作好帮手!
1500字范文 > Matlab快速将影像的二维坐标转换为经纬度坐标

Matlab快速将影像的二维坐标转换为经纬度坐标

时间:2021-03-15 01:27:57

相关推荐

Matlab快速将影像的二维坐标转换为经纬度坐标

一般使用[lat, lon] = pix2latlon(R,row,col)逐个将影像的二维坐标转换为经纬度坐标,但这样用到双重循环,运行较慢,代码如下:

[A, RA] = readgeoraster('D:\test.tif');info = geotiffinfo('D:\test.tif');A_Lat = zeros(size(A));A_Lon = zeros(size(A));for i = 1 : size(A, 1)for j = 1 : size(A, 2)[A_Lat(i, j), A_Lon(i, j)] = pix2latlon(info.RefMatrix, i, j);endend

为了快速得到影像的经纬度坐标,要避免使用双重循环,利用好Matlab矩阵运算的优势;而且pix2latlon函数可以对矩阵进行处理。

所以,在这里一种较快的方法为,先建立二维坐标的X矩阵和Y矩阵(代码中的A_I和A_J),然后仅需运行一次pix2latlon函数即可,运行效率能够大幅提高,代码如下:

[A, RA] = geotiffread('D:\test.tif');info = geotiffinfo('D:\test.tif');A_I = zeros(size(A));A_J = zeros(size(A));for i = 1 : size(A_I, 1)A_I(i, :) = i;endfor j = 1 : size(A_J, 2)A_J(:, j) = j;end[A_Lat, A_Lon] = pix2latlon(info.RefMatrix, A_I, A_J);

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。