在matlab中将处理结果输出为shp文件
2023-09-11 14:17:15 时间
在matlab中读入shp文件很简单,一个函数shaperead就可以了,但输出为shp文件就稍微麻烦一些了。shp文件实际上就是一个struct,因此得到处理结果后,要先将数据变成struct结构,然后调用shapewrite函数就可以了。
clc;clear;close all; [pic, R] = geotiffread('boston.tif'); %读取tif图像 gray=rgb2gray(pic); bw=im2bw(gray,0.1); %阈值分割 bw=1-bw; bw1 = bwareaopen(bw,30000); %删除面积小于500000的区域 bw2=imfill(bw1,'holes'); %填充孔洞 figure(1),imshow(bw2); bw3=bwboundaries(bw2); %得到边缘轮廓,一个轮廓为一个Line num=size(bw3,1); %行数 STR = 'struct(''Geometry'',values ,''X'', values,''Y'', values,''ID'',values)'; values = cell(num, 1); %为结构体赋初值 S = eval(STR); clear values; for i=1:num data=bw3{i,1}; %得到轮廓线的坐标,一个N*2的矩阵,此坐标为本地图像坐标 S(i).Geometry='Line'; S(i).ID=i; [x,y]=pix2map(R,data(:,1),data(:,2)); %将本地图像坐标转换为地理坐标 S(i).X=[x;NaN]'; S(i).Y=[y;NaN]'; end figure(2),axis off; mapshow('boston.tif'); %绘制遥感影像 mapshow([S.X], [S.Y],'Color','r'); %绘制轮廓线 shapewrite(S,'water.shp'); %输出shp文件,会生成后缀名为shp,shx和dbf的三个文件
相关文章
- 使用 Enigma Virtual Box 打包单文件
- Flask框架中Jinja2模板配置静态文件(url_for)
- 【MATLAB教程案例83】通过matlab实现数据的插值拟合
- 【MATLAB教程案例52】SVM支持向量机学习——使用matlab实现基于SVM的数据二分类
- 【MATLAB教程案例51】传统神经网络学习——使用matlab神经网络工具箱实现BP、PNN、GRNN神经网络等
- 【MATLAB教程案例46】三维数据的插值和滤波处理matlab仿真
- 【MATLAB教程案例42】语音信号的MFCC特征提取matlab仿真
- 【MATLAB教程案例40】语音信号的共振峰频率倒谱法估计matlab仿真学习
- 【MATLAB教程案例25】常用图像变换域的matlab仿真分析——DFT频域,DCT域,小波域等
- 【MATLAB教程案例16】基于GWO灰狼优化算法的函数极值计算matlab仿真及其他应用
- 【CUDA7.5】MATLAB中配置Win7+Matlab R2015b+CUDA7.5+vs2013配置方法
- 不下载软件,可以把电脑本地文件快速传到远端服务器里吗?
- 在 Linux 系统下从 ISO 镜像中提取和复制文件的 3 种方法
- C#修改文件或文件夹的权限,为指定用户、用户组添加完全控制权限
- Linux 执行ThinkPHP 文件的计划任务
- Python 当前执行文件路径拆分和拼接
- 转 windows下安装pycharm并连接Linux的python环境 以及 windows 下notepad ++编辑 linux 的文件
- QBuffer简单操作(被看做一个标准的可随机访问的文件,支持信号)
- C# 删除文件以及文件夹
- controlfile 备份到trace文件例子
- Django-项目上线后,静态文件配置失效以及404、500页面的全局配置
- 20二进制文件操作
- Python获取MySQL的创建表sql,保存到文件中
- Python pymysql批量执行目录里面的多个sql文件
- Linux 目录和文件管理的命令
- MatLab GUI Load .mat File 导入mat文件
- matlab常用函数——文件操作函数
- nodejs模块——fs模块 WriteFile写入文件
- 如何新建.htaccess文件