||
在Matlab中保存shape格式数据时,没有具体的函数可以将投影信息直接写入到shape文件中,不过可以通过另外一种方式实现。看下shape格式的文件不难发现,shape文件的投影信息是一个单独的文件,也就是说在保存shape文件时可以直接将投影信息写入到与shape文件同名的prj文件中,从而实现将将投影信息写入到shape文件中的目的。简单说就是自己手动添加一个同名的.prj投影文件.
下面的代码添加WGS84地理坐标:
% 保存shape文件-p是自己要保存的点数据 p = mappoint(); p.X = lons_henan; p.Y = lats_henan; p.Z = double(dataIn_henan); shapewrite(p,'my.shp') % 新建一个'.prj'文件 fid = fopen(['my.prj'],'w'); % 添加的投影信息-WGS84地理坐标为例 prj_WGS84 = ['GEOGCS["GCS_WGS_1984",DATUM["D_WGS_1984",',... 'SPHEROID["WGS_1984",6378137.0,298.257223563]],',... 'PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]]']; % 写入到prj文件中 fprintf(fid,'%s\n',prj_WGS84); % 关闭文件 fclose(fid);
Archiver|手机版|科学网 ( 京ICP备07017567号-12 )
GMT+8, 2024-11-23 09:32
Powered by ScienceNet.cn
Copyright © 2007- 中国科学报社