c# arcengine中能否实现get cell value?

我在arcengine中找到getcellvalue的应用,想得到图像单个点的像素,结果它给的事例是#Createthegeoprocessingobjectimport... 我在arcengine中找到get cell value的应用,想得到图像单个点的像素,结果它给的事例是
# Create the geoprocessing object
import arcgisscripting
gp = arcgisscripting.create()
gp.workspace = "c:/local"
gp.GetCellValue_management("testdata.img","100 200","1")
这个代码看不懂,好像不能在C#中使用,该怎么改这个代码?
展开
 我来答
百度网友9871b1607
2014-11-25 · TA获得超过133个赞
知道小有建树答主
回答量:80
采纳率:0%
帮助的人:86.6万
展开全部
public static void ReadRasterValue(IRaster pRaster)
        {          
            IRasterProps pRasterProps = pRaster as IRasterProps;
            int dHeight = pRasterProps.Height;//当前栅格数据集的行数
            int dWidth = pRasterProps.Width; //当前栅格数据集的列数
            double dX = pRasterProps.MeanCellSize().X; //栅格的宽度
            double dY = pRasterProps.MeanCellSize().Y; //栅格的高度
            IEnvelope pEnvelope = pRasterProps.Extent; //当前栅格数据集的范围
            rstPixelType pixelType = pRasterProps.PixelType; //当前栅格像素类型
            IPnt pntSize = new PntClass();
            pntSize.SetCoords(dX, dY);
            IPixelBlock pPixelBlock = pRaster.CreatePixelBlock(pntSize);
            IPnt pnt = new PntClass();
            for (int i = 0; i < dHeight; i++)
            {
                for (int j = 0; j < dWidth; j++)
                {
                    pnt.SetCoords(i, j);
                    pRaster.Read(pnt, pPixelBlock);
                    if (pPixelBlock != null)
                    {
                        object obj = pPixelBlock.GetVal(0, 0, 0);                        
                    }
                }
            }
        }
zhuizhuzhang
推荐于2016-06-23 · TA获得超过792个赞
知道小有建树答主
回答量:206
采纳率:100%
帮助的人:192万
展开全部
这是一段Python的代码,因为是直接调用的gp模块,所以在C#中不能直接使用。但是可以使用ArcEngine调用gp工具。具体方法请百度,网上的内容很多。
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式