阅读:1367回复:1
求教:AE距离量算
<P>有人用过RasterDistanceOp的eucDistance(IGeoDataset sourceData, Object maxDistance, Object valueRaster)方法吗,能否解释一下第三个参数valurRaster的含义及获取方法,万分感谢</P>
<P> <TABLE height="85%" width="95%" align=center border=0> <TR> <TD vAlign=top width=* height="100%"> <P>请问这个Valueraster的栅格的值是什么,我的sourcedata是0和1,1是水系,0没有值,</P></TD></TR></TABLE></P> <P>Dim pFilt As IQueryFilter<BR>Set pFilt = New QueryFilter<BR>pFilt.whereClause = "value =1"</P> <P>' Create raster from dataset<BR>Dim pRaster As IRaster<BR>Set pRaster = frmMain.OpenRasterDataset("c:\", "g5").CreateDefaultRaster</P> <P>' Create RasterDescriptor<BR>Dim pDesc As IRasterDescriptor<BR>Set pDesc = New RasterDescriptor<BR>pDesc.Create pRaster, pFilt, Value</P> <P>' Create the RasterMathOps object<BR>Dim pLogicalOp As ILogicalOp<BR>Set pLogicalOp = New RasterMathOps</P> <P>' Declare the output raster object</P> <P>Dim pOutputRaster3 As IGeoDataset</P> <P>' Calls the method<BR>Set pOutputRaster3 = pLogicalOp.Test(pDesc)</P> <P>Dim prasterly As IRasterLayer<BR> Set prasterly = New RasterLayer</P> <P> prasterly.CreateFromRaster pOutputRaster3</P> <P> ocxmap.AddLayer prasterly<BR>' Call frmMain.saveraster(ocxmap)<BR>'''''''''''''''<BR><BR>Set pOutputRaster = pDistanceOp.EucDistance(pOutputRaster3, 200, pCostDataset) '最长距离200<BR></P> |
|
1楼#
发布于:2008-02-24 23:18
补充代码
<P>Dim pFilt As IQueryFilter<BR>Set pFilt = New QueryFilter<BR>pFilt.whereClause = "value =1"</P>
<P>' Create raster from dataset<BR>Dim pRaster As IRaster<BR>Set pRaster = frmMain.OpenRasterDataset("c:\", "g5").CreateDefaultRaster</P> <P>' Create RasterDescriptor<BR>Dim pDesc As IRasterDescriptor<BR>Set pDesc = New RasterDescriptor<BR>pDesc.Create pRaster, pFilt, Value</P> <P>' Create the RasterMathOps object<BR>Dim pLogicalOp As ILogicalOp<BR>Set pLogicalOp = New RasterMathOps</P> <P>' Declare the output raster object</P> <P>Dim pOutputRaster3 As IGeoDataset</P> <P>' Calls the method<BR>Set pOutputRaster3 = pLogicalOp.Test(pDesc)</P> <P>Dim prasterly As IRasterLayer<BR> Set prasterly = New RasterLayer</P> <P> prasterly.CreateFromRaster pOutputRaster3</P> <P> ocxmap.AddLayer prasterly<BR>' Call frmMain.saveraster(ocxmap)<BR>'''''''''''''''<BR>Set pOutputRaster = pDistanceOp.EucDistance(pOutputRaster3, 200, pvalueDataset) '最长距离200<BR></P> |
|