matlab存取面shp
Matlab提供了关于shp读取以及shp存储的函数。
S = shaperead(filename)
shapewrite(S,filename)
常见的三种shp类型:Point,Line,Polygon。
首先先读取了一个面状的shp看看。
读取完是多个struct(这里每个struct代表一个省),每个struct都有几个共同的字段。
如果是Point类型,X字段(经度)和Y字段(纬度)只需要一个数字。
如果是Polygon类型,则多需要多个数字形成闭合,需要注意的是,第一个数字和倒数第二个数字需要相同,最后一个数字需要是NaN,具体的见代码。
clc;clear;
S(1).Geometry = 'Polygon';
S(1).BoundingBox=[116,29; 117,28];
S(1).X = [116,116,117,117,116, NaN]; % 经度 lon
S(1).Y = [29,28,28,29,29, NaN]; % 纬度 lat
S(1).Id = 1; %除了以上的几个关键字段,还得有至少一个额外的字段,不然不能生成dbf文件S(2).Geometry = 'Polygon';
S(2).BoundingBox=[114,25; 115,24];
S(2).X = [114,114,115,115,114, NaN]; % 经度 lon
S(2).Y = [25,24,24,25,25, NaN]; % 纬度 lat
S(2).Id = 2;shapewrite(S,'test.shp'); %生成shp,dbf,shx三个文件
生成的shp效果如图:
了解了以上的步骤和原理之后,下面批量生成shp
% Satellite-based survey of extreme methane emissions in the Permian basin
PermianBasin = [-104.5,31;-103,31;-103,32.5;-104.5,32.5;-104.5,31;NaN,NaN];
% Monitoring large methane point sources with Sentinel-2 satellite observations
Algeria = [5.6,31.2;6.2,31.2;6.2,32;5.6,32;5.6,31.2;NaN,NaN];
% Airborne methane remote measurements reveal heavytail flux distribution in Four Corners region
SanJuanBasin = [-108.25,36.75;-107.75,36.75;-107.75,37;-108.25,37;-108.25,36.75;NaN,NaN];
% Satellites Detect Abatable Super-Emissions in One of the World’s Largest Methane Hotspot Regions
Turkmenistan = [53.4,37.8;54.5,37.8;54.5,39.6;53.4,39.6;53.4,37.8;NaN,NaN];Hotspots = {'PermianBasin','Algeria','SanJuanBasin','Turkmenistan'};
for i = 1:4basin = eval(Hotspots{1,i});P.Geometry = 'Polygon';P.BoundingBox=[min(basin(:,1)),max(basin(:,2)); max(basin(:,1)),min(basin(:,2))];P.X = basin(:,1); % 经度 lonP.Y = basin(:,2); % 纬度 latP.Id = 1;shapewrite(P,[Hotspots{1,i},'.shp']); %生成shp,dbf,shx三个文件
end
PermianBasin变量如下
matlab存取面shp相关推荐
- matlab对于polygon.shp共用一个colorbar
[提醒]当图形比较多时,为了方便比较,需要共用一个colorbar.但如果不统一设置colorbar的上下界限,可能显示了共用,但实际"共用"的只是最后一个图的colorbar而已 ...
- Matlab之读取shp文件函数shaperead
目录 一.shaperead函数 1.功能 2.语法 2.1 S = shaperead(filename) 2.2 S = shaperead(filename,Name,Value) 2.3 [S ...
- 在matlab中将处理结果输出为shp文件
在matlab中读入shp文件很简单,一个函数shaperead就可以了,但输出为shp文件就稍微麻烦一些了.shp文件实际上就是一个struct,因此得到处理结果后,要先将数据变成struct结构, ...
- matlab对遥感影像投影转换,在matlab中实现遥感影像和shp文件的结合显示
clc;close all;clear; road=shaperead('boston_roads.shp'); %读取shape文件 figure, mapshow('boston.tif'); % ...
- Matlab基础内容学习大纲
目录 前言 一.数据 二.文件 三.绘图 3.1 绘图基础 3.2 绘图细节修饰 3.3 各种绘图模式 四.信号处理 五.工具箱 六.提高Matlab办公效率 七.界面交互 八.音频函数 九.其他 前 ...
- (转)如何使用caffe的MATLAB接口
编译MatCaffe 转自: http://blog.csdn.net/ws_20100/article/details/50525879 使用如下命令编译MatCaffe make all matc ...
- MATLAB地图作为底图,matlab画图——地图背景
使用Matlab加载shp地图 世界shp地图下载 画地图 要先下载m_map插件 再下载shp地图包 如部分加拿大气温检测站点图: %由经纬度坐标绘制点图 clc clear all close a ...
- matlab画图——地图背景
使用Matlab加载shp地图 世界shp地图下载 画地图 要先下载m_map插件 再下载shp地图包 如部分加拿大气温检测站点图: %由经纬度坐标绘制点图 clc clear all close a ...
- 利用计算机录音模拟声波,realplayer插件 声音数字化|74数字化声音试题(7)
制数字来表示,必须对每个值分配一 个编码.显然对无穷多个值分配编码 是不可能的. 如果把信号幅度取值的数目加以限 定,量化后得到的值只能取有限个参 考值,若实际值不在这些有限个值之 内,则使用四舍五入 ...
最新文章
- mysql错误代码 集合
- 计算音频数据音量_【翻译】线性的音量推子……简直像一个个秤砣!
- Boost:bimap双图的突变关系的测试程序
- 开发自定义JSF组件(4) 保存状态与恢复状态
- php用session制作网站仿恶意刷新计数器
- installshield 脚本 在卸载过程执行_Linux下运行Jmeter脚本
- Linux系统中安装软件的三种方法(三)
- 跨浏览器测试工具推荐
- Ubuntu下安装nginx支持rtmp和http流媒体方案
- docker打包部署flask镜像
- .Net----Remoting 激活 激活方式
- 三行条形码打印样式设计 html,条形码生成及打印(JsBarcode)
- HTML ASP VBSCRIPT JAVASCRIPT SKILLS 常见问题
- 高版本IE中弹出窗口不显示IE地址栏的解决方法
- Linux 内核通知链随笔【中】【转】
- java面试题_度小满一面_java面经汇总
- nodejs前端+后端
- ajax type是get请求,jQuery的Ajax请求数据时type无法使用GET
- 几行最简单的代码 ,却改变了世界!
- python-pygame实现飞机大战-3-发射子弹以及击中敌机