
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#中使用,该怎么改这个代码? 展开
# Create the geoprocessing object
import arcgisscripting
gp = arcgisscripting.create()
gp.workspace = "c:/local"
gp.GetCellValue_management("testdata.img","100 200","1")
这个代码看不懂,好像不能在C#中使用,该怎么改这个代码? 展开
展开全部
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);
}
}
}
}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询