oracle sde layers,TatukGIS如何连接ESRI ArcSDE矢量层或SDE光栅SQL层

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

本站文章除注明转载外,均为本站原创或翻译。欢迎任何形式的转载,但请务必注明出处、不得修改原文相关链接,尊重他人劳动成果

文章转载自:慧都控件网

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值