ESRI形状文件(SHP)

也称为“shapefile”,或ESRI ArcView shapefile。ESRI是引入这种格式的软件公司。ArcView是第一个使用shapefile的产品。

文件列表

形状文件至少由三个同名文件组成,后缀不同:

Countries_area.dbf
Countries_area.shp
Countries_area.shx

数据访问/连接方法

Shapefile访问直接内置到MapServer中。它也可以通过OGR访问,但建议在这里讨论没有OGR的直接访问。Shapefile的路径是必需的(相对于SHAPEPATH)。建议指定“.shp”扩展名。Shapefile只保存一层数据,因此不需要进行区分(对于其他可以包含多个层的OGR矢量格式是必需的)。

Ogrinfo示例

  • 目录可以用作数据源。

  • 目录中的每个形状文件都用作层。

  • 形状文件也可以是数据源。在这种情况下,层具有与形状文件相同的前缀。

在包含多个形状文件的目录上使用ogrinfo::

> ogrinfo /data/shapefiles/

INFO: Open of `/data/shapefiles/'
using driver `ESRI Shapefile' successful.
1: wpg_h2o (Line String)
2: wpg_roads (Line String)
3: wpg_roads_dis (Line String)
4: wpgrestaurants (Point)

在单个形状文件上使用ogrinfo::

> ogrinfo /data/shapefiles/Countries_area.shp

Had to open data source read-only.
INFO: Open of `Countries_area.shp'
using driver `ESRI Shapefile' successful.
1: Countries_area (Polygon)

使用ogrinfo检查文件/层的结构:

> ogrinfo -summary /data/shapefiles/Countries_area.shp Countries_area

Had to open data source read-only.
INFO: Open of `Countries_area.shp'
using driver `ESRI Shapefile' successful.

Layer name: Countries_area
Geometry: Polygon
Feature Count: 27458
Extent: (-180.000000, -90.000000) - (180.000000, 83.627419)
Layer SRS WKT:
(unknown)
FAC_ID: Integer (5.0)
TILE: Integer (3.0)
ARCLIST: String (254.0)
NAM: String (77.0)
PERIMETER: Real (22.17)
POLYGONCOU: Integer (6.0)
NA2DESC: String (45.0)

映射文件示例:

LAYER
  NAME "my_shapefile"
  STATUS ON
  TYPE POLYGON
  DATA "countries_area.shp"
  CLASS
    NAME "Countries"
    STYLE
      OUTLINECOLOR 0 0 0
      COLOR 150 150 150
    END #style
  END #class
END #layer