彩票走势图

TatukGIS如何连接ESRI ArcSDE矢量层或SDE光栅SQL层

原创|其它|编辑:郝浩|2013-01-05 17:05:18.000|阅读 276 次

概述:TatukGIS GIS开发包、GIS网络服务器、GIS编辑器支持ESRI ArcSDE SQL空间数据库矢量数据结构和功能,也同样支持只读SDE光栅图层。本文将介绍如何实现TatukGIS连接ESRI ArcSDE矢量层或SDE光栅SQL层。

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

TatukGIS DK GIS开发包(8.11企业版或者更高的VCL、ActiveX和.NET版),TatukGIS Internet Server GIS网络服务器(9.0以上版本),TatukGIS Editor GIS编辑器(2.0以上版本)支持ESRI ArcSDE SQL空间数据库矢量数据结构和功能。他们也同样支持只读SDE光栅图层。支持绕过ArcSDE服务和任何独立的ESRI中间件。

TatukGIS支持以下版本的ArcSDE:

  • ArcSDE for MS SQL Server (ArcGIS 9.1和更早的版本)
  • ArcSDE Personal for MS SQL Express Edition (ArcGIS 9.2)
  • ArcSDE Workgroup for MS SQL Express Edition (ArcGIS 9.2)
  • ArcSDE Enterprise for MS SQL Standard, Workgroup, Enterprise Edition (ArcGIS 9.2)
  • ArcSDE for Oracle (ArcGIS 9.1和更早的版本)

ArcSDE支持包括:

  • 地图显示使用Direct ArcSDE SQL图层直接访问
  • 采用ArcSDE空间索引进行快速的空间查询
  • 编辑属性值和结构
  • 几何对象的删除
  • ArcSDE图层在MSSQL Server、Oracle或其他数据库服务器上面运行时兼容ArcSDE标准。

连接到ArcSDE图层:

TatukGIS产品可以通过*.ttkls文件名称连接到ArcSDE图层:图层名称.ttkls。*.ttkls文件是一个TatukGIS存根文件,它包含了SQL矢量数据库图层的连接设置。TTKLS文件的创建方式有两种:

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

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

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

ArcSDE层的*.ttkls文件结构必须是:

; ; [TatukGIS Layer]
; ; Storage=SdeBinary|SdeOgcWkb
; ; Layer=name|name;schema|name;schema;catalog
; ; Features=table/view name; if provided will replace standard features table
; ; Dialect=MSSQL|ORACLE|INTERBASE
; ; ReadOnly=True|False
; ; ADO=ADO connection string; if not exist, then DBX connection will be used
; ; LoginPrompt=1|0
; ; Synonyms=override standard ArcSDE synonyms for Oracle and MS SQL Server
; ; DriverName=see DBExpress help for TSQL Connection
; ; GetDriverFunc=see DBExpress help for TSQL Connection
; ; VendorLib=see DBExpress help for TSQL Connection
; ; LibraryName=see DBExpress help for TSQL Connection
; ; ...
; ; Parameters key=value
; ; ...

ArcSDE层的关键是基于OpenGIS标准的格式化。基于数据库表结构(SDE_Layers)的ArcSDE Equivalent看起来类似:

; ;Layer=table_name| table_name;owner| table_name;owner;database_name

示例1:在MSSQL服务器上运行ArcSDE

; ; [TatukGIS Layer]
; ; Storage=SdeBinary
; ; LAYER=AIRPORTS;SDE;TRAFFIC_STUDY
; ; DIALECT=MSSQL
; ; ADO=Provider=SQLOLEDB.1;Password=XXX;Persist Security Info=True;User ID=sa;Initial Catalog=traffic_study;Data Source=TEST-DB\SQLEXPRESS
; ; ;If you use ArcSDE for Oracle, don't remove the following line or mark the next line as a comment.
; ; ;If you use ArcSDE for MS SQL Server, remove the following line or mark the next line as a comment.
; ;Synonyms=SDE.SDE_LAYERS=LAYERS;SDE.SDE_SPATIAL_REFERENCES=SPATIAL_REFERENCES; SDE.SDE_GEOMETRY_COLUMNS=GEOMETRY_COLUMNS

示例2:在Oracle数据库上使用ActiveX VB应用程序运行ArcSDE

环境:

TatukGIS DK : ActiveX版本(8.13.13.1210)
Oracle : 8.1.7
ArcSde for Oracle8i (9.1)
编程语言 : VB.NET 2008
Oracle 账户 : geouser / geouser
Oracle 服务器 : demoserver
ArcSDE 矢量图层名称 : GEOUSER.EMD (User Name.Layer Name)
---------------------
ttkls文件
---------------------
[TatukGIS Layer]
Storage=SdeBinary
LAYER=EMD;GEOUSER
DIALECT=ORACLE
ADO=Provider=MSDAORA.1;Password=GEOUSER;User ID=GEOUSER;Data
Source=demoserver;Persist Security Info=True
Synonyms=SDE.SDE_LAYERS=SDE.LAYERS;SDE.SDE_SPATIAL_REFERENCES=SDE.SPATIAL_REFERENCES;
SDE.SDE_GEOMETRY_COLUMNS=SDE.GEOMETRY_COLUMNS
----------------------------------------------

在创建TTKLS文件时,需要注意以下几点:

  • 确认Provider(驱动器)的正确安装和使用二进制数据(BLOB)
  • 确认数据库连接字符串。
  • 确认图层名称配置的“模式名称|名称”、“模式|名称”、“模式”、“目录”是有效的。例如上面例子中的LAYER=EMD;GEOUSER
  • 仔细检查同义词。检查SDE模式中是否存在同义字表格。
  • 在初始化时记得使用GISKeyList对象在应用程序中添加授权信息。例如上面例子中的:utils.GisKeyList.Add("SDO", "PASS", "Your License")

添加ArcSDE图层到DK Viewer的应用程序示例代码:

'// License check
Dim utils As New XGIS_Utils
utils.GisKeyList.Add("SDO", "PASS", "Your License")

Dim pLocation As New clsOpenFileDialog(DiagFOpen.FileName, False)
Dim ll As TatukGIS_DK.XGIS_LayerSqlSdeAdo

ll = New TatukGIS_DK.XGIS_LayerSqlSdeAdo
ll.Path = DiagFOpen.FileName
ll.Name = pLocation.FileName
ll.UseConfig = False
ll.Params.Line.OutlineWidth = 0
ll.Params.Line.Width = 3
ll.Params.Line.Color = RGB(0, 0, 255)
ll.UseRTree = True
ll.CodePage = 949
ll.OutCodePage = 949
ll.Transparency = 60

Try
GIS.Add(ll)
Catch ex As Exception

MsgBox("Error", MsgBoxStyle.Information, "ERR")
Exit Sub
End Try

GIS.CtlUpdate()

打开一个SDE光栅图层

TatukGIS DK(9.0企业版或者更高的VCL、ActiveX和.NET版),TatukGIS Internet Server GIS网络服务器(9.0以上版本),TatukGIS Editor GIS编辑器(2.0以上版本)支持阅读(打开和浏览) ESRI SDE光栅图层格式。

TatukGIS产品连接到SDE栅格图层是通过打开一个*.ttkps存根文件实现的。如上所述,*ttkps文件可以使用任何文本编辑器创建(如记事本)。

这个文件的结构应该是:

; ; ; [TatukGIS Layer]
; ; ; Dialect=MSSQL
; ; ; Storage=SdeRaster
; ; ; Layer=name|name;schema|name;schema;catalog
; ; ; ADO=ADO connection string if not exist then DBX connection will be used
; ; ; LoginPrompt=1|0
; ; ; DriverName=see DBExpress help for TSQL Connection
; ; ; GetDriverFunc=see DBExpress help for TSQL Connection
; ; ; VendorLib=see DBExpress help for TSQL Connection
; ; ; LibraryName=see DBExpress help for TSQL Connection
; ; ; ...
; ; ; Parameters key=value
; ; ; ...

例如:

; ; ; [TatukGIS Layer]
; ; ; Storage=SdeRaster
; ; ; Dialect=MSSQL
; ; ; Layer=ZDJ6;DBO;PERSONAL
; ; ; ADO=""

标签:GIS

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

文章转载自:慧都控件网

为你推荐

  • 推荐视频
  • 推荐活动
  • 推荐产品
  • 推荐文章
  • 慧都慧问
相关产品
TatukGIS Developer Kernel

强大的GIS软件开发工具包,用于开发自定义地理信息系统(GIS)应用程序以及解决方案。

TatukGIS Internet Server (IS)

TatukGIS互联网服务器(Internet Server)是一个开发以及部署安全基于Web的地图解决方案的综合性ASP.NET地理信息系统(GIS)服务器。

TatukGIS Editor

此桌面地理信息系统(GIS)编辑器支持免费TatukGIS浏览器的所有特征功能,并且还具有大量可用来创建、编辑、分析地理信息系统地图文件或项目的特征功能。

扫码咨询


添加微信 立即咨询

电话咨询

客服热线
023-68661681

TOP