通过SDE将栅格图像导入到数据为中

Public Sub LoadToSDE(sDir As String, sInput As String, sServer As String, sInstance As String, _
sDB As String, sUser As String, sPasswd As String, sSDERaster As String)

' sDir: the directory where the input raster resides
' sInput: the name of input raster
' sServer,sInstance,sDB,sUser,sPasswd: ArcSDE connection info
' sSDERaster: the output ArcSDE raster dataset name
On Error GoTo eh
Dim pSDEConn As IRasterSdeConnection
Dim pSDEStorage As IRasterSdeStorage
Dim pSDEOp As IRasterSdeServerOperation
Dim pRasterWsFact As IWorkspaceFactory
Dim pRasterWS As IRasterWorkspace
Dim pGeoDs As IGeoDataset

' Initialize RasterSDELoader
Set pSDEConn = New RasterSdeLoader
' Make connection
pSDEConn.ServerName = sServer
pSDEConn.Instance = sInstance
pSDEConn.Database = sDB
pSDEConn.UserName = sUser
pSDEConn.Password = sPasswd
pSDEConn.InputRasterName = sDir & "\" & sInput
pSDEConn.SdeRasterName = sSDERaster

' Set storage parameters
Set pSDEStorage = pSDEConn
' Get spatialreference
Set pRasterWsFact = New RasterWorkspaceFactory
Set pRasterWS = pRasterWsFact.OpenFromFile(sDir, 0)
Set pGeoDs = pRasterWS.OpenRasterDataset(sInput)
' Set spatialreference
Set pSDEStorage.SpatialReference = pGeoDs.SpatialReference
' Set compression
pSDEStorage.CompressionType = esriRasterSdeCompressionTypeUncompressed
' Set tilesize
pSDEStorage.TileHeight = 128
pSDEStorage.TileWidth = 128
' Pyramids option
pSDEStorage.PyramidOption = esriRasterSdePyramidBuildWithFirstLevel
pSDEStorage.PyramidResampleType = RSP_BilinearInterpolation
pSDEStorage.CompressionType = esriRasterSdeCompressionTypeJPEG2000

' Start loading
Set pSDEOp = pSDEConn

pSDEOp.Create
pSDEOp.Update
' Calculate stats
pSDEOp.ComputeStatistics

' Cleanup
Set pSDEConn = Nothing
Set pSDEStorage = Nothing
Set pSDEOp = Nothing
Set pRasterWsFact = Nothing
Set pRasterWS = Nothing
Set pGeoDs = Nothing

Exit Sub
eh:
MsgBox Err.Description, vbInformation, "LoadToSDE" '错误处理

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值