Matlab之读取shp文件函数shaperead

目录

一、shaperead函数

1.功能

2.语法

2.1 S = shaperead(filename)

2.2 S = shaperead(filename,Name,Value)

2.3 [S,A] = shaperead(___)

3.示例

二、shapeinfo函数

1.功能

2.语法

3.示例

3.1从Shapefile获取CRS信息

3.2作为结构返回的关于shapefile内容的信息包含以下字段


一、shaperead函数

1.功能

从shapefile读取矢量特征和属性

2.语法

2.1 S = shaperead(filename)

读取shapefile,文件名,并以投影地图坐标mapstruct)返回N×1地理数据结构数组。

地理数据结构结合了几何和要素属性信息。

shaperead支持普通的2D形状类型:“点”,“多点”,“ PolyLine”和“多边形”。

2.2 S = shaperead(filename,Name,Value)

返回S中的shapefile内容的子集,这由名称-值对参数确定。

使用RecordNumbers,BoundingBox和Selector选择要读取的功能。

如果在同一调用中使用多个这些参数之一,则会收到与各个规范匹配的记录的交集。

例如,如您同时指定RecordNumbers和BoundingBox的值,则仅导入那些具有记录号的要素,这些要素的编号出现在列表中,并且其边界框与指定的边界框相交。

如果未指定任何参数,shaperead将为每个非空特征返回一个条目,并为每个属性创建一个字段

2.3 [S,A] = shaperead(___)

返回包含几何信息的N×1地理数据结构数组S和包含要素属性信息的并行N×1属性结构数组A

3.示例

S = shaperead('concord_roads.shp');   % 读取shp文件
mapshow(S);                           % 显示shp地区

绘制的图像如下图所示:

二、shapeinfo函数

1.功能

读取shp文件信息

2.语法

info = shapeinfo(filename)

返回一个结构info,其结构域包含有关shapefile内容的信息。

filename可以是任何一个组件文件的基本名称或全名。

shapeinfo会读取所有三个文件,只要它们存在于同一文件夹中且未指定长度或角度单位即可。 如果缺少主文件(扩展名为.SHP),shapeinfo将返回错误。 如果缺少任何其他文件,shapeinfo将返回警告。

3.示例

3.1从Shapefile获取CRS信息

通过使用shapeinfo函数从shapefile获取投影或地理CRS信息。

首先,返回有关shapefile的信息作为结构。 对于此示例,指定一个使用投影坐标的shapefile。 然后,通过查询结构的CoordinateReferenceSystem字段获取有关坐标参考系统的信息。

info = shapeinfo('landareas.shp');
S=shaperead('landareas.shp');
mapshow(S);                           % 显示shp地区

3.2作为结构返回的关于shapefile内容的信息包含以下字段

  • Filename

包含已读取文件名称的Char数组

  • ShapeType

包含形状类型的字符向量

  • BoundingBox

大小为2×N的数字数组,它为shapefile中的空间数据的每个维度指定最小值(行1)和最大值(行2)

  • Attributes

大小为1-by-numAttributes的结构数组,用于描述数据的属性。 该结构包含以下字段:

Name,包含xBASE表中给出的属性名称的字符向量

Type,字符向量,指定shaperead返回的属性数据的MATLAB®类。 支持以下属性(xBASE)类型:数字,浮动,字符和日期

  • NumFeatures

shapefile中空间特征的数量

  • CoordinateReferenceSystem

坐标参考系统(CRS),作为geocrs或projcrs对象返回。 CoordinateReferenceSystem的值取决于文件中包含的数据:

如果数据参考到地理坐标系(geographic,则CoordinateReferenceSystem是geocrs对象。

如果数据参考到投影坐标系(projected,则CoordinateReferenceSystem是一个projcrs对象。

如果文件不包含有效的坐标参考系统信息,则CoordinateReferenceSystem为空。

评论 18
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

珞瑜·

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值