数据连接信息参数说明

在使用处理自动化工具时,需要输入“连接信息”来访问数据库或数据文件,以下是不同数据来源连接信息参数的详细释义。

SuperMap SDX+ (--providerType=sdx)

参数名 参数释义
--providerType
(必填)
数据提供方的类型,这里为 sdx,表示使用 SuperMap SDX+ 空间数据引擎访问数据。
--dbType, --type, -T, --db-type
(必填)
引擎类型,支持访问多种数据库和矢量、栅格文件,例如
UDBX文件:--dbType=UDBX
PostGIS数据库:--dbType=PGGIS
矢量文件:--dbType=VECTORFILE
--server, -S
(必填)
数据库引擎服务地址或文件路径。
--dataset, --dt
(必填)
读取或保存的数据集名称。
--CHARSET 字符集编码,仅用于矢量文件引擎类型。
--driver 数据源连接所需的驱动名称。
--database, --db 数据源连接的数据库名。
--alias, -A 数据源别名。
--user, -U 数据库登录的用户名。
--password, --pwd 数据库登录的用户名密码。
--maxConnPoolNum 数据源的最大连接数。
--numPartitions, --num-parts, -N 分区数目,默认为0。
--partitionField, --part-field 用于分区的字段名称,默认用 SmID 字段,但如果数据库引擎 (例如 PGGIS)中没有 SmID,需要用户指定分区字段。
--idField, --id-field 用于要素对象中读取唯一的要素 ID 的字段。必须确保字段值是唯一的。如果为空,会使用默认的 SmID 字段值。
--blockingWrite 分块写数据,对于大数据,可以有效提高性能,默认为 true。

举例:

  • 连接UDBX:--providerType=sdx --dbType=UDBX --server=F:\data\landuse.udbx --dataset=DLTB
  • 连接PostGIS:--providerType=sdx --dbType=PGGIS --server=127.0.0.1 --database=postgis --user=postgres --password=uitest --maxConnPoolNum=10 --dataset=DLTB
  • 连接ArcGIS for Oracle:--providerType=sdx --server=127.0.0.1:3452/xe --user=testdb --password=testdb --alias=test --maxConnPoolNum=1 --dataset=dt --dbType=ARCSDE_ORACLE
  • 连接矢量文件(ShapeFile):--providerType=sdx --server=E:\data\DLTB.shp --dataset=DLTB --CHARSET=ANSI --dbType=VECTORFILE

JDBC (--providerType=jdbc)

参数名 参数释义
--providerType
(必填)
数据提供方的类型,这里为 jdbc,表示使用 JDBC 提供的 Java API 访问数据。
--dbType, --type, -T, --db-type
(必填)
仅支持PostGIS 和 OracleSpatial数据库,并且在集群模式下可以实现分布式读写。
--host
(必填)
数据库服务地址。
--port
(必填)
数据库服务端口号,默认为0。
--database, --db 数据源连接的数据库名。
--dataset, --dt
(必填)
读取或保存的数据集名称。
--schema 要访问的数据库模式。
--user, -U 数据库登录的用户名。
--password, --pwd 数据库登录的用户名密码。
--numPartitions, --num-parts, -N 分区数目,默认为0。
--partitionField, --part-field 用于分区的字段名称,默认用 SmID 字段,但如果数据库引擎 (例如 PGGIS)中没有 SmID,需要用户指定分区字段。
--predicates 分区条件数组。

举例:

  • 连接OracleSpatial :--providerType=jdbc --host=127.0.0.1 --port=1521 --schema=testosp --database=orcl --user=testosp --password=testosp --dbtype=oracle --table=SMDTV(注意:此处需要填写数据集表名。)
  • 连接PostGIS:--providerType=jdbc --host=127.0.0.1 --port=5432 --schema=postgres --database=uitest --user=postgres --password=uitest --dbtype=postgis --dataset=DLTB

DSF (--providerType=dsf)

参数名 参数释义
--providerType
(必填)
数据提供方的类型,这里为 dsf,表示使用 DSF 分布式空间文件引擎访问数据。
--path, -P, --url
(必填)
DSF 目录地址,支持本地目录和 HDFS 目录。
--bounds, -B 查询范围,主要用于范围查询,, as-dsf-rdd 为 true 时无效。相比使用 Query 中的 box 查询,queryBounds 会利用一级索引进行一次过滤,性能更高效。
-fields, --result-fields 需要读取的字段名,多个字段以逗号分隔。
--as-dsf-rdd 是否以 DSFFeatureRDD 方式读取,默认 false。如果为 true,则以 DSFFeatureRDD 读取,在进行两个数据集的空间关系或空间判断时,需要确保两个 DSFFeatureRDD 数据集的分区索引一致,否则用户可以设置为 false,以 FeatureRDD 方式读取,这样,在进行两个数据集的空间运算或判断时会统一建立分区索引。

举例:

  • 本地目录(Windows 系统):--providerType=dsf --path=E:/data/Zoo_pt
  • 本地目录(Linux 系统):--providerType=dsf --path=/home/data/Zoo_pt
  • HDFS 目录 :--providerType=dsf --path=hdfs://127.0.0.1:9000/data/DLTB

CSV (--providerType=csv)

参数名 参数释义
--providerType
(必填)
数据提供方的类型,这里为 csv,表示数据来源为 csv 文件。
--path, -P, --url
(必填)
CSV 目录地址,支持本地目录和 HDFS 目录。
-fields, -F 待导入的字段,以逗号分隔,csv 有表头时,传入字段名,并将 FirstRowIsField 设为 true,没表头时,按照列序,传入 col0,col1 等。
--geofields, --geo-fields, -GF 待导入的空间信息字段,以逗号分隔。传入一列代表线或面数据,两列代表点数据,更多则无效。csv 有头时,传入字段名,并将 FirstRowIsField 设为 true,没头时,按照列序,传入 col0,col1 等。注意:仅支持WGS84坐标系的经纬度坐标数据,并且范围必须在[-180,180],[-90,90]之间。
--firstRowIsField, --first-as-field, -FAF 第一行是否是表头,作为字段名。
--idField, --id-field, -IF 指定 id 字段名,如果不指定默认是 uuid。
--modifyDesFieldTypes, --des-field-type, -DFT 指定字段的字段类型,如不指定则 W 默认读取字段为字符串型,输入格式为'字段名->字段类型,字段名->字段类型'。
--timeZoneOffset,--time-Zone-Offset,-TZO 当modifyDesFieldTypes参数中指定字段类型为date时,默认为UTC时间,可通过此参数进行时差换算,格式为“+/-hh:mm:ss”。例如换算为北京时间:--timeZoneOffset=+08:00:00,表示UTC+8小时。

举例:

  • 本地目录(Windows 系统):--providerType=csv --path=E:/data/Zoo_pt
  • 本地目录(Linux 系统):--providerType=csv --path=/home/data/Zoo_pt
  • HDFS 目录 :--providerType=csv --path=hdfs://127.0.0.1:9000/data/DLTB

ESRI File Geodatabase (--providerType=gdb)

参数名 参数释义
--providerType
(必填)
数据提供方的类型,这里为 dsf,表示使用 DSF 分布式空间文件引擎访问数据。
--path, -P, --url
(必填)
GDB 目录地址,支持本地目录和 HDFS 目录。
--dataset, --table GDB 中需要读取的数据集名称。
--minPartitions, --min-part, -M Spark RDD 最小分区数,默认0。

举例:

  • 本地目录:--providerType=gdb --path=F:/data/landuse.gdb --table=DLTB

ShapeFile (--providerType=shape)

参数名 参数释义
--providerType
(必填)
数据提供方的类型,这里为 dsf,表示使用 DSF 分布式空间文件引擎访问数据。
--path, -P, --url
(必填)
ShapeFile 目录地址,支持本地目录和 HDFS 目录。注意:这里的地址为 ShapeFile 文件所在的文件夹地址。

举例:

  • 本地目录:--providerType=shape --path=E:\data\shp

Elasticsearch (--providerType=elasticsearch)

参数名 参数释义
--providerType
(必填)
数据提供方的类型,这里为 dsf,表示使用 DSF 分布式空间文件引擎访问数据。
--dataset, --table 指定要读取的数据表名。
--index
(必填)
索引名称。
--es.nodes, --nodes
(必填)
ES 服务器地址。
--es.port, --port
(必填)
ES 服务端口。
--es.batch.size.bytes, --batch-size-bytes, --BSB 批量写入的大小,默认为 1 MB。
--es.batch.size.entries, --batch-size-entries, --BSE 与 es.batch.size.bytes 相匹配,执行批量更新,默认为1000。
--es.internal.es.cluster.name, --cluster-name, CN 集群名,集群版本为5.x和6.x读写需要设置,7.x版本可设置可以不设置。
--es.mapping.id 待写入的字段、属性,其名称包含es.mapping.id。
--number_of_shards 分片数,默认为5。
--number_of_replicas 副本数,默认为1。

举例:

  • --providerType=elasticsearch --index=test --table=test --nodes=localhost --port=9200

SimpleJson (--providerType=simplejson)

参数名 参数释义
--providerType
(必填)
数据提供方的类型,这里为 dsf,表示使用 DSF 分布式空间文件引擎访问数据。
--path, -P, --url
(必填)
SimpleJson 目录地址,支持本地目录和 HDFS 目录。
--minPartitions, --min-part, -M Spark RDD 最小分区数,默认0。
--metaInfo, --meta-info, --meta SimpleJson 文件元信息或元信息地址,用户可以指定独立的 SimpleJson 文件元信息。
--idField, --id-field, -IF 指定 feature ID 的字段,如果 SimpleJson 的对象没有 featureID,可以通过 --id-field 指定一个字段用于构造 featureID, 但用户需确保字段值唯一。

举例:

  • --providerType=simplejson --path=E:\data\Region.json