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导入了