目录
2.2 S = shaperead(filename,Name,Value)
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为空。