geo地理信息matlab
① matlab能讀取geotiff數據嗎
例如,你的文本文件名為'x.txt',那麼就很簡單了,使用load x.txt就可以了,matlab會自內動使用文件名作為容變數。
如果你使用其它的文件名,例如'1.txt',matlab會將內容賦給變數X1,那麼你轉換一下就可以了,令x=X1。
--------------------------------------------------
a=load('x.txt');
x=a(:,1);
b=load('y.txt');
y=b(:,1);
改成(數據橫著放,以空格分開數據)
x=a;
y=b;
② 怎樣把matlab生成的矩陣轉換為ENVI可以讀入的圖像
function write_envi(input_data,filename,geo)
%保存文件(.img和.hdr)到內存
%輸入
%input_data,圖像立方體
%filename,路徑加文件名,無擴展名
%geo,地理信息
%
file_img=[filename,'.img'];
file_hdr=[filename,'.hdr'];
%分析文件的行、列、層 及 數據格式
[samples,lines,bands] = size(input_data);
input_data_class = class(input_data);
%寫出數據文件
file_img_id = fopen(file_img,'wb');
%output_data = permute(input_data,[2,1,3]);
fwrite(file_img_id,input_data,input_data_class);
fclose(file_img_id);
%寫出頭文件
switch input_data_class %數據格式
case 'int16'
input_data_class_num = 2;
case 'int32'
input_data_class_num = 3;
case 'single'
input_data_class_num = 4;
case 'double'
input_data_class_num = 5;
case 'Uint16'
input_data_class_num = 12;
case 'Uint32'
input_data_class_num = 13;
case 'int64'
input_data_class_num = 14;
case 'Uint64'
input_data_class_num = 15;
otherwise
errordlg('數據類型錯誤!','錯誤');
return
end
%output_File_hdr = output_File;
%output_File_hdr(end-2:end) = 'hdr';
file_hdr_id = fopen(file_hdr,'wt');
fprintf(file_hdr_id,'%s\n','ENVI');
fprintf(file_hdr_id,'%s\n','description = {');
fprintf(file_hdr_id,'%s\n',' File Imported into ENVI.}');
fprintf(file_hdr_id,'%s\n',['samples = ' num2str(samples)]);
fprintf(file_hdr_id,'%s\n',['lines = ' num2str(lines)]);
fprintf(file_hdr_id,'%s\n',['bands = ' num2str(bands)]);
fprintf(file_hdr_id,'%s\n','header offset = 0');
fprintf(file_hdr_id,'%s\n','file type = ENVI Standard');
fprintf(file_hdr_id,'%s\n',['data type = ' num2str(input_data_class_num)]);
fprintf(file_hdr_id,'%s\n','interleave = bsq');
fprintf(file_hdr_id,'%s\n','sensor type = Unknown');
fprintf(file_hdr_id,'%s\n','byte order = 0');
fprintf(file_hdr_id,'%s\n','sensor type = Unknown');
fprintf(file_hdr_id,'%s\n','wavelength units = Unknown');
if nargin==3
if isfield(geo,'mapinfo')
fprintf(file_hdr_id,'%s\n',geo.mapinfo);
else
fprintf(file_hdr_id,'%s\n',['map info = {Geographic Lat/Lon,' num2str(geo.image_X) ', ' num2str(geo.image_Y) ', ' num2str(geo.long) ', ' num2str(geo.lat) ', '...
num2str(geo.long_scale) ', ' num2str(geo.lat_scale) ', WGS-84, units=Degrees}']);
end
fprintf(file_hdr_id,'%s\n',geo.coordinate);
end
fclose(file_hdr_id);
③ 請問你用MATLAB讀取gprmax計算得出的.geo和.out文件,能夠成像了嗎
gprmax3d讀取geo,抄如襲 [mesh,header,media]=gprmax2g('*.geo');,image(mesh)
.out用[Header,Fields]=gprmax('*.out');
好好研究下得到的兩個結構體,然後成像!
④ 輸入地理經緯度,怎樣用matlab計算地磁經緯度
地磁不同地點的磁傾角等分量值是不同的,海拔高度影響很大。我有根據IGRF12系數計算全球各地的地磁總場和各個分量的matlab源碼。包括水平分量、垂直分量、年變化量、磁傾角等值。
⑤ MATLAB讀寫tif遙感影像後地理坐標不正確
請用geotiffread和geotiffwrite函數讀寫,geotiffinfo函數讀取投影信息,詳回情可查答help或http://cn.mathworks.com/help/map/ref/geotiffinfo.html?searchHighlight=geotiff
⑥ matlab如何輸出圖像左上角的經緯度,是tif格式,左上角和左下角的經緯度是有的,求如何輸出
info = geotiffinfo('*.tif');
[x,y] = pix2map(info.RefMatrix, 1, 1); %1,1代表左上角像素點
[lat,lon] = projinv(info, x,y) %這個是左上角的經緯度
如果要右下角回的經緯度,把1,1改成最後的那個像素點的位置答就可以了
⑦ 用gprmax進行地質雷達正演模擬,生成的geo和out文件怎麼用matlab成像
gprmax3d讀取geo,如 [mesh,header,media]=gprmax2g('*.geo');,image(mesh)
.out用[Header,Fields]=gprmax('*.out');
好好研究下得到的兩個結構體,然後成像!
⑧ Matlab如何將地理信息添加到tiff圖像中
geotiffread
geotiffwrite
函數
⑨ 遙感問題,在matlab中怎麼讀取影像的坐標系信息
[A, R]= geotiffread('pathname:\ filename') %得到文件的像元值矩陣A和地理信息R
⑩ 怎麼用matlab讀入.cel文件(GEO),萬分謝謝
.cel 文件可以用excel打開來源 然後導入excel文件就可以
兩種導入數據的辦法 第一種是file--import date這個肯定可以 還有一種就是命令導入 xlsread('filename') 如只是導入部分數據 xlsread('filename', range)
例如TT=xlsread('e:\zhanghai\TT') 就將數據TT導入了