彩票走势图

TatukGIS SQL数据库层格式支持与连接详解(含代码示例)

原创|其它|编辑:郝浩|2013-01-04 15:20:23.000|阅读 379 次

概述:TatukGIS GIS开发工具、编辑器和网络服务器都支持多种数据库层格式,由于这些格式的SQL特性,TatukGIS和SQL数据库矢量图层之间的连接使用了一个包含连接设置的名为*.ttkls的存根文件。

# 慧都年终大促·界面/图表报表/文档/IDE等千款热门软控件火热促销中 >>

TatukGIS Developer KernelGIS开发工具)、(GIS编辑器)和TatukGIS Internet Server(GIS网络服务器)都支持数据库层格式:Microsoft SQL Spatial Server (Katmai)、Oracle Spatial/Locator & Oracle GeoRaster、PostGIS、ESRI ArcSDE & ESRI SDE Raster、ESRI Personal Geodatabase (PGDB)、Geomedia Access Warehouse & Geomedia SQL Server、支持SQL的OpenGIS (OGC)简单功能、TatukGIS SQL binary、SQLite Spatial和TatukGIS PixelStore。

矢量和PixelStore格式支持读和写,ESRI ArcSDE Raster和Oracle GeoRaster格式只支持读。免费的GIS浏览器TatukGIS Viewer也可以显示每种支持的SQL层类型。

TatukGIS和SQL数据库矢量图层之间的连接方式

由于这些格式的SQL特性,TatukGIS产品和SQL数据库矢量图层之间的连接使用了一个包含连接设置的存根文件,例如数据库引擎类型、SQL数据存储类型(格式)、ADO驱动程序、图层名称。TatukGIS产品的存根文件是一个名为*.ttkls的文件,任何SQL矢量图层均支持。TTKLS文件的创建方式有两种:

  • 手动使用任何文本编辑器创建(如记事本);
  • 使用TatukGIS Editor中的SQL连接向导创建。

不使用*.ttkls文件也可以连接到SQL数据库层,方法同样有两种:

  • 将所有的*.ttkls文件参数作为一个CRLF或'\n'字符串(作为一个新行)嵌入到Path属性中;
  • 使用SQLParameters['KEY']=VALUE为SQLParameters属性分配*.ttkls文件参数。

知识基础库中提供了一些TatukGIS产品连接到SQL数据库层方面的说明和示例,主要基于以下几种SQL格式进行的说明:

TTKLS示例

下面提供了TatukGIS的一些TTKLS示例。以下例子假定数据库连接是使用的ADO接口。

示例 1

MSSQL数据库连接到Geomedia SQL Server文件

  1. 创建一个ODBC连接(包含Microsoft Windows O/S)到你的数据库
  2. 创建一个“你的名称.ttkls”文件
    [TatukGIS Layer]
    Storage=Geomedia
    LAYER= name_of_the_layer
    DIALECT=MSSQL
    ADO=YOUR_DSN_NAME
  3. 打开“你的名称.ttkls”

示例 2

MS Access数据库连接到Geomedia Access (MDB) Warehouse文件

  1. 创建一个“你的名称.ttkls”文件
    [TatukGIS Layer]
    Storage=Geomedia
    LAYER=name_of_the_layer
    DIALECT=MSJET
    ADO=Provider=Microsoft.Jet.OLEDB.4.0;Data Source=your_database.mdb
  2. 打开“你的名称.ttkls”

示例 3

MS Access数据库连接到ESRI Personal Geodatabase (PGDB)文件

  1. 创建一个“你的名称.ttkls”文件
    [TatukGIS Layer]
    Storage=PersonalGdb
    LAYER=name_of_the_layer
    DIALECT=MSJET
    ADO=Provider=Microsoft.Jet.OLEDB.4.0;Data Source=your_database.mdb
  2. 打开“你的名称.ttkls”

示例 4

SQLite数据库连接到TatukGIS Native(二进制) SQL文件

  1. 创建一个“你的名称.ttkls”文件
    [TatukGIS Layer]
    Storage=Native
    Layer=Rivers
    Dialect=SQLITE
    Sqlite=gistest.sqlite
  2. 打开“你的名称.ttkls”

示例 5

SQLite数据库连接到TatukGIS PixelStore文件

  1. 创建一个“你的名称.ttkls”文件
    [TatukGIS Layer]
    Storage= PixelStore2
    Layer=ORTO
    Dialect=SQLITE
    Sqlite=pixelstore.sqlite
  2. 打开“你的名称.ttkls”

TTKLS配置设置

这个过程与创建*.ttkls连接器文件的过程非常相似。更换Storage对应层类型的值和Dialect对应数据库产品的值。以下是部分支持SQL层类型和数据库引擎的列表。完整的列表和说明请参阅帮助文件。

Storage=Native|OpenGisBlob|OpenGisNormalized|OpenGisWkt|PostGIS|GeoMedia|
              Katmai|OracleSpatial|OracleGeoraster|PersonalGdb|SdeBinary|
              SdeOgcWkkb|SdeRaster|PixelStore2|SpatialWare|DB2SpatialExtender|
              IfxSpatialDataBlade

Dialect=MSJET|MSSQL|INTERBASE|MYSQL|DB2|SYBASE|ORACLE|PROGRESS|
            INFORMIX|ADVANTAGE|SAPDB|POSTGRESQL|FLASHFILER|NEXUSDB|
            BLACKFISH|SQLITE

  • Native
  • OpenGisBlob
  • OpenGisNormalized
  • OpenGisWkt
  • OpenGisKatmai
  • Katmai
  • PersonalGdb
  • SdeBinary
  • SdeOgcWkb
  • DB2SpatialExtender
  • IfxSpatialDataBlade

创建一个新的数据库层

  1. 创建一个*.ttkls文件(在Windows O/S)到数据库,或者
  2. 直接操作 layer.SQLParams
  3. 请记住,SQL层的格式和SQL数据库产品必须兼容。 TatukGISbinary格式兼容所有TatukGIS支持的数据库产品,但其他格式的不兼容。例如,OpenGIS SQL格式与PostgreSQL数据库不兼容,GeoMedia SQL Server格式仅适用于MS JET(Access),GeoMedia SQL Server格式仅适用于MSSQL Server,ArcSDE仅适用于MSSQL Server或Oracle……。  

SQLite的注意事项

  • SQLite数据库适用于本地计算机的TatukGIS 'Native' 和 'OpenGIS' SQL 矢量图层格式,以及TatukGIS 'PixelStore'光栅图层格式。
  • 层名称尽量使用大写,应为不同数据库引擎的层名称不区分大小写。
  • 在导入过程中使用全球通用的标准,在ttkls文件中添加ENGINEOPTIONS=16参数。
  • 如果一个SQLite客户端支持R-tree扩展,该层将可以建立和使用btree索引。
  • 在ttkls文件中修改SQLite库的操作使用PRAGMA声明。

标签:GIS

本站文章除注明转载外,均为本站原创或翻译。欢迎任何形式的转载,但请务必注明出处、不得修改原文相关链接,如果存在内容上的异议请邮件反馈至chenjj@pclwef.cn

文章转载自:慧都控件网

为你推荐

  • 推荐视频
  • 推荐活动
  • 推荐产品
  • 推荐文章
  • 慧都慧问
扫码咨询


添加微信 立即咨询

电话咨询

客服热线
023-68661681

TOP