luoyi491
路人甲
路人甲
  • 注册日期2004-05-25
  • 发帖数4
  • QQ
  • 铜币125枚
  • 威望0点
  • 贡献值0点
  • 银元0个
阅读:1367回复:1

求教:AE距离量算

楼主#
更多 发布于:2008-02-24 23:16
<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>
喜欢0 评分0
luoyi491
路人甲
路人甲
  • 注册日期2004-05-25
  • 发帖数4
  • QQ
  • 铜币125枚
  • 威望0点
  • 贡献值0点
  • 银元0个
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>
举报 回复(0) 喜欢(0)     评分
游客

返回顶部