全国高分辨率土地利用数据服务 土地利用数据服务 土地覆盖数据服务 坡度数据服务 土壤侵蚀数据服务 全国各省市DEM数据服务 耕地资源空间分布数据服务 草地资源空间分布数据服务 林地资源空间分布数据服务 水域资源空间分布数据服务 建设用地空间分布数据服务 地形、地貌、土壤数据服务 分坡度耕地数据服务 全国大宗农作物种植范围空间分布数据服务
多种卫星遥感数据反演植被覆盖度数据服务 地表反照率数据服务 比辐射率数据服务 地表温度数据服务 地表蒸腾与蒸散数据服务 归一化植被指数数据服务 叶面积指数数据服务 净初级生产力数据服务 净生态系统生产力数据服务 生态系统总初级生产力数据服务 生态系统类型分布数据服务 土壤类型质地养分数据服务 生态系统空间分布数据服务 增强型植被指数数据服务
多年平均气温空间分布数据服务 多年平均降水量空间分布数据服务 湿润指数数据服务 大于0℃积温空间分布数据服务 光合有效辐射分量数据服务 显热/潜热信息数据服务 波文比信息数据服务 地表净辐射通量数据服务 光合有效辐射数据服务 温度带分区数据服务 山区小气候因子精细数据服务
全国夜间灯光指数数据服务 全国GDP公里格网数据服务 全国建筑物总面积公里格网数据服务 全国人口密度数据服务 全国县级医院分布数据服务 人口调查空间分布数据服务 收入统计空间分布数据服务 矿山面积统计及分布数据服务 载畜量及空间分布数据服务 农作物种植面积统计数据服务 农田分类面积统计数据服务 农作物长势遥感监测数据服务 医疗资源统计数据服务 教育资源统计数据服务 行政辖区信息数据服务
Landsat 8 高分二号 高分一号 SPOT-6卫星影像 法国Pleiades高分卫星 资源三号卫星 风云3号 中巴资源卫星 NOAA/AVHRR MODIS Landsat TM 环境小卫星 Landsat MSS 天绘一号卫星影像
栅格数据结构简单、直观,非常利于计算机操作和处理,是 GIS 常用的空间基础数据格式。 基于栅格 数据的空间分析是 GIS 空间分析的基础,也是 ArcGIS 的空间分析的重要组成部分.在 ArcGIS Engine 中对 栅格数据的空间分析提供了众多的接口,现在我们对常用的进行简单介绍。
IRasterProps
该接口用来描述通用的栅格数据的属性,如行数,列数等.如下面的代码用来获取栅格数据的高和宽
void GetRasterProps(IRaster pRaster)
{
IRasterProps pRasterPros = pRaster as IRasterProps; int pH = pRasterPros.Height;//3973
int pW = pRasterPros.Width;//5629
}
IRasterCursor
IRasterCursor 接口控制着 一个 Raster 的像素块 (Pixblock),IRasterCurosr 接口跟前面介绍的IFeatureCursor 一样具有一个 Next 方法,用于获取下一个 Pixblock,在默认情况下 IRasterCurosr 将整个 Raster 划分为高为 128 的像素块,宽为整个 Raster 的宽, IRasterCurosr 每次读取比前一次低于 128 行的像素块 接口的属性和方法如下:
为了获取 IRasterCursor,我们要用 IRaster::CreateCursor 或者 IRaster2::CreateCursorEx 方法,而这两个 的区别是前者不需要参数,而是系统默认的,而后者是需要我们制定一个大小(IPnt,看清是 IPnt,不是 IPoint)
void GetRasterCursorDefault (IRaster pRaster)
{
IRasterCursor pRasterCursor = pRaster.CreateCursor ();
while (pRasterCursor.Next ())
{
IPixelBlock pPixBlock = pRasterCursor.PixelBlock;
int W = pPixBlock.Width;
//这个W也就是整个栅格数据记得宽度
int H = pPixBlock.Height;
}
}
void GetRasterCursorCustom (IRaster pRaster)
{
IRaster2 pRaster2 = pRaster as IRaster2;
IPnt pPnt = new PntClass ();
pPnt.X = 256;
pPnt.Y = 256;
//IRasterCursor pRasterCursor2 = pRaster2.CreateCursorEx(null);
//参数null的时候,获取PixBlock大小为1*1
while (pRasterCursor2.Next ())
{
IPixelBlock pPixBlock = pRasterCursor2.PixelBlock;
int W = pPixBlock.Width;
int H = pPixBlock.Height;
}
}
IPixelBlock
我们知道栅格数据的容量一般很大,怎么样调高效率呢,如果按照数组的方式一个一个像素的读取, 将整个栅格数据集都塞进二维数组也不是不可以,但是这样占的内存很多。ArcGIS 用数据库管理栅格数据 的时候是按照 block(默认是 128*128)将数据存在数据库中.而在 ArcGIS Engine 中,IPixelBlock 接口就提供了类似的功能。
IRasterLayerExport
IRasterLayerExport 接口提供的栅格数据提取功能有限,只能以矩形范围作为提取范围,如果需要更强 大的栅格数据提供功能,请考虑 IExtractionOp 接口,IExtractionOp 接口提供了多边形,圆,属性,矩形等几种形式作为提取栅格数据.