三方矢量数据直连读写指南 

针对 ShapeFile、FileGDB、Geopackage 及 ArcSDE_Oracle 矢量数据,SuperMap 平台提供的直连机制支持直接读取原始数据,并允许用户进行实时浏览、查询、编辑及空间分析等全套操作,同时处理结果可直接保存至第三方矢量文件中。该模式避免了传统流程中数据转换所耗费的时间与可能的信息失真,对于大体量矢量数据,能实现快速接入与高效处理,从而显著提升数据价值利用率。 

表一:三方矢量数据直连功能概览  

本表简要说明三方数据直连的支持情况。图例说明:“”表表示支持,“×”表示不支持。

支持格式 读取 编辑 分析结果直存 备注
ShapeFile   ×

采用矢量文件引擎(EngineType.VECTORFILE)连接。

FileGDB
  • 采用 ArcSDE Oracle (EngineType.ARCSDE_ORACLE) 连接。
  • 仅支持读取二三维点线面数据。
  • 若Geopackage 文件打开失败,则可能是因为包含了 MultiCurve、CurvePolygon、CompoundCurve 几何类型的数据,当前 Geopackage 不支持参数化对象。
Geopackage ×
ArcSDE_Oracle × ×

表二:三方矢量数据直连功能详细说明

本表展示了各功能模块对第三方矢量数据的支持情况。图例说明:“”表示支持,“×”表示不支持,“--”表示不涉及。

功能模块 功能名称 FileGDB ShapeFile Geopackage 备注
数据源连接 直接打开 FileGDB -- -- 打开 FileGDB,需指定FileGDB文件夹路径,打开 ShapeFile、Geopackage,需指定完整路径(包含 .shp、.gpkg 扩展名)。
直接打开 ShapeFile -- --
直接打开 Geopackage -- --
元数据读取 读取数据范围  
读取坐标系定义  
读取几何类型
  • 支持的数据集类型参考表三
  • 支持读取几何中的 M 值(参数化对象 M 值不支持)。特别的,FileGDB 原始数据中线/面对象全部坐标点的 M 值均为 NAN 时,将 M 值读取为 0,原始数据中线/面对象部分坐标点的 M 值为 NAN 时,将 M 值读取为 M值域范围的最小值。ShapeFile 原始数据中 M 值为 NAN 时,统一读取为 -1.7976931348623157E308。
读取字段结构 支持的字段类型参考表四
几何与属性查询 空间查询  
属性查询  
SQL查询
  • 支持的 SQL 查询语法参考表五
  • 对Geopackage 的DATETIME字段进行SQL查询时,如果您输入的查询条件值(如 "2025/08/21 17:08:07"),需要修改为文件中实际存储的日期格式("2025-08-21T17:08:07",日期和时间改为"T"连接),才能成功查询出结果,否则查询失败。因为Geopackage文件中的DATETIME字段采用“YYYY-MM-DDT00:00:00”的格式存储。若您使用 SuperMap 平台保存的日期值,这里的查询条件值需修改为 "2025-08-21T17:08:07.000",因为 SuperMap 平台保存的时间精度为毫秒。
几何与属性编辑 编辑对象 ×
  • FileGDB 中的参数化对象编辑后将被拟合成折线,ShapeFile、Geopackage 不支持参数化对象。
  • FileGDB、Geopackage 的属性数据集仅包含主键字段时,不支持新增记录。
  • FileGDB 原始数据点对象的 M 值为 NAN 时,几何更新后,M 值将自动更新为 M 值域范围的最小值。
新增字段 ×
  • 支持的字段类型参考表四
  • 使用超图平台创建的 WTEXT、CHAR 字段,将自动转为 TEXT 字段。
  • 使用超图平台创建的 DATE 字段,将自动转为 DATETIME 字段。
  • 使用超图平台创建的 BYTE 字段,将自动转为 INT16 字段。
删除字段 ×  
修改字段信息(字段名、长度、默认值等) × × ×  
高级特性 值域 × × ×  
子类型 × × ×  
条件值 × × ×  
附件管理 × × ×  
数据集分组 -- --
  • 仅支持读取FileGDB数据集分组,不支持创建和修改。
  • 删除数据集分组,仅删除分组下的所有数据集,不会删除分组。
版本管理 × × ×  
属性和空间索引 支持使用文件自带的索引,不支持创建索引。
分析结果直存 将分析结果直接保存为FileGDB -- --  
  将分析结果直接保存为ShapeFile -- --  
  将分析结果直接保存为Geopackage -- -- ×  
数据集管理 新建、删除、复制、重命名数据集     --
  • FileGDB仅支持EPSG投影,新建数据集请设置EPSG投影,保证数据正常使用。
  • 新建数据集未设置数据集范围,新增对象的坐标值不允许小于 -2147483647(即不小于 INT32 位的最小取值),否则会导致对象创建失败。如果已预先设置了有效的数据集范围,则新增对象的坐标值不受此限制影响。
  • 复制数据集到矢量文件,如果源数据集存在 INT64 位字段,复制到矢量文件后 INT64 字段会丢失,因为当前版本不支持创建 INT64 字段。
多进程/线程 多线程读取  
多进程编辑 × × ×  
事务提交 × × ×  

表三:支持的数据集类型

本表展示了直连数据源中各类数据集的支持情况。图例说明:“”表示支持读取和编辑,“只读”表示仅支持读取,“×”表示完全不支持或该格式不包含此数据集类型。

数据集类型 FileGdb ShapeFile Geopackge
网络 × × ×
文本 只读 × ×

拓扑

× × ×
属性表 ×
多点 只读 只读 ×
关系类 × × ×
二三维点线面 只读

表四:支持的字段类型

本表展示了数据集中支持的字段类型。图例说明:“”表示支持读取和编辑,“只读”表示仅支持读取,“×”表示完全不支持或该格式不包含此数据集类型。

数据集类型 FileGdb ShapeFile Geopackge
INT16 只读
INT32 只读
INT64 只读 只读 只读
DOUBLE 只读
SINGLE 只读
TEXT 只读
WTEXT × × ×
JSONB × × ×
CHAR × × ×
BOOLEAN × 只读 只读
DATETIME 只读
DATE × × ×
TIME × × ×
BYTE  × × ×
LONGBINARY ×

表五:支持的SQL查询功能

本表展示了 SQL 查询功能中关键字的支持情况。图例说明:“”表示支持,“×”表示不支持。

SQL查询类别 SQL关键字 支持情况
条件查询 WHERE clause 语句
DISTINCT 去重
LIKE 模糊匹配
IN 值列表匹配
BETWEEN 范围匹配
聚合与分组 GROUP BY 分组
COUNT()、SUM()、AVG()等聚合函数
HAVING 分组后过滤 ×
排序与分页 ORDER BY 排序
LIMIT 分页 ×
高级查询 JOIN 多表关联查询 ×
SELECT 嵌套查询 ×
UNION 联合查询 ×
AS 别名
存储过程/函数  

相关主题

打开外部矢量文件

新建数据源

管理数据源