一、什么是SHP文件?
SHP文件是指ESRI Shapefile格式的文件,这是一种用于存储和共享地理信息系统(GIS)数据的格式。它主要以矢量数据的形式表示地理空间信息,包括点、线和多边形等几何体对象,并记录它们的坐标和属性信息。SHP文件通常由坐标文件(.shp)、索引文件(.shx)和属性文件(.dbf)三个文件组成。这些文件格式不仅支持GIS数据的存储和共享,还促进了地理信息系统(GIS)应用程序之间的互操作性。
SHP文件的表现形式有两种,分别是点状要素和线状要素,分别在地图上以点的形式表示和线的形式表示空间对象的几何位置。这种文件格式已被地理信息软件界开发为开放规范,成为了一个非常重要的交换数据格式。
在实际应用中,可以使用多种软件来打开SHP文件,如ArcGIS、QGIS等地理分析软件,以及Google Earth等电子地图软件。此外,还有一些在线工具可以用于在线打开、查看SHP文件,例如3D模型在线转换网站NSDT 3dconvert等。
SHP文件是一种重要的地理信息数据格式,广泛应用于地图制作、地理数据分析等领域,其开放性和互操作性使其成为GIS行业中不可或缺的一部分。
二、SHP文件读取方式
这里仅展示matlab读取shp文件的方法。
1、函数讲解
主要用到了两个函数shapeinfo和shaperead。
1.1 shapeinfo函数
-
功能
读取shp文件信息
-
语法
info = shapeinfo(filename)
返回一个结构info,其结构域包含有关shapefile内容的信息。
filename可以是任何一个组件文件的基本名称或全名。
shapeinfo会读取所有三个文件,只要它们存在于同一文件夹中且未指定长度或角度单位即可。如果缺少主文件(扩展名为.SHP),shapeinfo将返回错误。如果缺少任何其他文件,shapeinfo将返回警告。
1.2 shaperead函数
-
功能
从shapefile读取矢量特征和属性
-
语法
S = shaperead(filename)
读取shapefile,文件名,并以投影地图坐标(mapstruct)返回N×1地理数据结构数组。地理数据结构结合了几何和要素属性信息。
shaperead支持普通的2D形状类型:“点”,“多点”,“ PolyLine”和“多边形”。
2、示例
-
陆地面积
figure;
info = shapeinfo('landareas.shp');
S=shaperead('landareas.shp');
mapshow(S); % 显示shp地区
-
世界城市
figure;
info = shapeinfo('worldcities.shp');
S=shaperead('worldcities.shp');
mapshow(S); % 显示shp地区
-
世界湖泊
figure;
info = shapeinfo('worldlakes.shp');
S=shaperead('worldlakes.shp');
mapshow(S); % 显示shp地区
-
世界河流
figure;
info = shapeinfo('worldrivers.shp');
S=shaperead('worldrivers.shp');
mapshow(S); % 显示shp地区
上述shp文件,按需自取。
链接:https://pan.quark.cn/s/9df7fe6a9f6f