princeofhunan
路人甲
路人甲
  • 注册日期2006-03-08
  • 发帖数1
  • QQ
  • 铜币114枚
  • 威望0点
  • 贡献值0点
  • 银元0个
阅读:909回复:0

关于修改Grid形式DEM的高程值

楼主#
更多 发布于:2006-04-06 11:46
<P>我现在想修改一个Grid的DEM各个格网的高程值。</P>
<P>我写了一段代码,但是我把它转化为ASCII文件的时候没有任何记录!</P>
<P>请各位高手帮我看看这段代码?</P>
<P>若代码不是这样写的,能不能给我个思路,非常感谢!</P>
<P>  Dim pRWS As IRasterWorkspace<BR>        Dim pWSF As IWorkspaceFactory<BR>        pWSF = New RasterWorkspaceFactory<BR>        If Not pWSF.IsWorkspace("D:\Data\re\re") Then Exit Sub<BR>        pRWS = pWSF.OpenFromFile("D:\Data\re\re", 0)<BR>        Dim pRaster As IRaster<BR>        pRaster = pRWS.OpenRasterDataset("tingrid").CreateDefaultRaster</P>
<P>        Dim pRasProps As IRasterProps<BR>        pRasProps = pRaster</P>
<P><BR>        Dim pBand As IRasterBand<BR>        Dim pBandCol As IRasterBandCollection<BR>        pBandCol = pRaster<BR>        pBand = pBandCol.Item(0)</P>
<P><BR>        Dim pRawPixel As IRawPixels<BR>        pRawPixel = pBand</P>
<P><BR>        Dim pSize As IPnt<BR>        pSize = New DblPnt<BR>        pSize.SetCoords(pRasProps.Width, pRasProps.Height)</P>
<P><BR>        Dim pBlock As IPixelBlock<BR>        pBlock = pRawPixel.CreatePixelBlock(pSize)</P>
<P>        Dim pSafeArray As Object<BR>        pSafeArray = pBlock.SafeArray(0)</P>
<P>        Dim I, J As Integer<BR>        For I = 0 To pSize.X - 1<BR>            For J = 0 To pSize.Y - 1<BR>                pSafeArray(I, J) = 10<BR>            Next J<BR>        Next I</P>
<P><BR>        Dim pPnt As IPnt<BR>        pPnt = New DblPnt<BR>        pPnt.SetCoords(0, 0)</P>
<P>        pRawPixel.Write(pPnt, pBlock)<BR>        pRawPixel = Nothing<BR>        pPnt = Nothing<BR>        pSize = Nothing<BR>        pBlock = Nothing<BR>        pBand = Nothing<BR>        pBandCol = Nothing</P>
<P>        pRaster = Nothing<BR>        pRasProps = Nothing<BR>        pRWS = Nothing<BR>        pWSF = Nothing<BR>        MsgBox("ok")</P>
喜欢0 评分0
游客

返回顶部