yczhu171018的个人博客分享 http://blog.sciencenet.cn/u/yczhu171018

博文

Matlab中如何将投影信息写入到shape文件中

已有 523 次阅读 2019-3-21 11:44 |个人分类:程序代码|系统分类:科研笔记



在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);




http://blog.sciencenet.cn/blog-3367669-1168753.html

上一篇:站点气温数据的积温计算(含Matlab程序实现)
下一篇:Matlab中将图片保存为avi动画

0

该博文允许注册用户评论 请点击登录 评论 (0 个评论)

数据加载中...

Archiver|手机版|科学网 ( 京ICP备14006957 )

GMT+8, 2019-7-21 16:43

Powered by ScienceNet.cn

Copyright © 2007- 中国科学报社

返回顶部