从 Shapefile 中加载空间数据

Vertica 提供了加载和解析 Shapefile 中存储的空间数据的功能。Shapefile 描述了点、线和多边形。Shapefile 由三个必要的文件构成:所有三个文件都必须存在,并且位于同一目录内以定义几何图形:

  • .shp—包含几何数据。

  • .shx—包含几何图形的位置索引。

  • .dbf—包含每个几何图形的属性。

要从 shapefile 加载空间数据:

  1. 使用 STV_ShpCreateTable 生成 CREATE TABLE 语句。

    => SELECT STV_ShpCreateTable ( USING PARAMETERS file = '/home/geo/temp/shp-files/spatial_data.shp')
                                   OVER() AS spatial_data;
               spatial_data
    ----------------------------------
     CREATE TABLE spatial_data(
       gid IDENTITY(64) PRIMARY KEY,
       uniq_id INT8,
       geom GEOMETRY(85)
    );
    (5 rows)
    
  2. 创建表。

    => CREATE TABLE spatial_data(
       gid IDENTITY(64) PRIMARY KEY,
       uniq_id INT8,
       geom GEOMETRY(85));
    
  3. 加载 Shapefile。

    => COPY spatial_data WITH SOURCE STV_ShpSource(file='/home/geo/temp/shp-files/spatial_data.shp')
        PARSER STV_ShpParser();
     Rows Loaded
    -------------
              10
    (1 row)
    

支持的 Shapefile 图形类型

下表列出了 Vertica 支持的 Shapefile 图形类型。