获取指定坐标处的栅格单元格的值

private double getRasterCellValue(IPoint pPoint, IRasterLayer pRasterLayer)

        {

            IIdentify pIdentify = (IIdentify)pRasterLayer;

            IArray pArray = pIdentify.Identify(pPoint);

            IRasterIdentifyObj2 pRasterIdentify2 = (IRasterIdentifyObj2)pArray.get_Element(0);

            //IRasterIdentifyObj pRasterIdentify = (IRasterIdentifyObj)pArray.get_Element(0);

            string pField = "";

            string pValue = "";

            //pField = pRasterIdentify.Name;

            if (pField == "NoData")

                return 0; 

            int pIdentifyIndex = 0;

            while (true)

            {

                try

                {

                    pRasterIdentify2.GetPropAndValues(pIdentifyIndex, out pField, out pValue);

                }

                catch

                {

                    break;

                }

                pIdentifyIndex = pIdentifyIndex + 1;

            }

            return Convert.ToDouble(pValue);

        }

 

 

    

private double[] getRasterCellValue(IPoint pPoint, IGroupLayer pGroupLayer)

{

IIdentify pIdentify = (IIdentify)pGroupLayer;

     IArray pArray = pIdentify.Identify(pPoint);

         

     double[] RasterCellValue = new double[pArray.Count];

 

     for (int i = 0; i < pArray.Count; i++)

     {

     IRasterIdentifyObj2 pRasterIdentify2 = (IRasterIdentifyObj2)pArray.get_Element(i);

          IRasterIdentifyObj pRasterIdentify = (IRasterIdentifyObj)pArray.get_Element(i);

          string pField = "";

          string pValue = "";

          pField = pRasterIdentify.Name;

          if (pField == "NoData")

          return RasterCellValue;

          int pIdentifyIndex = 0;

          while (true)

          {

              try

              {

                   pRasterIdentify2.GetPropAndValues(pIdentifyIndex, out pField, out pValue);

              }

              catch

              {

                   break;

              }

              if (pField == "Pixel value" && pValue != "")

                   RasterCellValue[i] = Convert.ToDouble(pValue);  

              pIdentifyIndex = pIdentifyIndex + 1;

           }

   }

return RasterCellValue;

}

 

转载于:https://www.cnblogs.com/kisstome88/archive/2010/10/08/1845775.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: MATLAB具有许多功能强大的工具箱和函数,可以对带有地理坐标栅格进行投影操作。下面是使用MATLAB进行栅格投影的步骤: 1. 将栅格数据加载到MATLAB中。可以使用函数imread()加载栅格图像文件,或者使用geotiffread()函数加载GeoTIFF格式的栅格数据。 2. 获取栅格的地理坐标信息。可以使用函数geotiffinfo()来获取GeoTIFF格式栅格数据的元数据,包括坐标系统和投影信息。 3. 对栅格数据进行投影转换。MATLAB提供了函数projectedRasterReference()用于创建一个投影参考对象,可以使用该对象来进行投影转换。需要提供目标投影坐标系的定义,可以使用函数utmzone()或projcrs()来获取投影坐标系信息。 4. 使用投影参考对象对栅格数据进行投影转换。可以使用函数imwarp()将栅格数据按照指定的投影参考对象进行投影转换。可以选择不同的插方法来栅格数据的像素。 5. 可选地,将投影转换后的栅格数据保存为GeoTIFF格式。可以使用函数geotiffwrite()将投影转换后的栅格数据保存为GeoTIFF格式,以保留栅格的地理坐标信息。 使用MATLAB进行栅格投影可以有效地理地理信息数据,并能够与其他地理信息系统(GIS)软件进行交互。MATLAB提供了丰富的库和函数,用于理和分析地理数据,可以轻松完成各种地理信息科学和应用领域的任务。 ### 回答2: Matlab是一种强大的科学计算软件,可以对带有地理坐标栅格进行投影操作。地理坐标是指基于地球的经度和纬度来表示位置的坐标系统,栅格是一种将地理现象表示为离散单元格的空间数据表示方法。 Matlab中使用的主要工具是Mapping Toolbox,它提供了用于理地理坐标和投影转换的函数和工具。要进行地理坐标到投影坐标的转换,首先需要定义一个坐标参考对象,这个对象包含了原始地理坐标和目标投影的信息。可以使用函数georefcells或者georeferencedCellsReference来创建坐标参考对象。 在定义坐标参考对象后,可以使用函数projectedRasterReference将地理栅格数据投影为目标投影坐标系。这个函数会根据提供的地理坐标坐标参考对象来计算出栅格数据在目标投影坐标系下的位置。 除了投影转换,Mapping Toolbox还提供了其他的地理数据理功能,比如地理数据存储和显示、地形分析和地理数据分析等。通过这些功能,可以对栅格数据进行更加深入的分析和理。 总之,Matlab提供了丰富的功能和工具,可以对带有地理坐标栅格进行投影理。它的使用方法简单直观,并且可以通过编写脚本或者使用交互式工具进行操作。无论是进行基本的投影转换还是进行复杂的地理数据分析,Matlab都能满足用户的需求。 ### 回答3: Matlab在理带有地理坐标栅格投影方面具有广泛的功能。它提供了一系列用于理和分析空间数据的工具和函数。下面是一些关于Matlab在理带有地理坐标栅格投影方面的功能和用途的示例: 1. 栅格数据理:Matlab可以读取和理包含地理坐标信息的栅格数据。它支持各种栅格数据格式,如GeoTIFF和NetCDF。用户可以使用Matlab读取栅格数据的元数据(如地理坐标系统、投影信息等),并将其转换为Matlab中的数据数组进行进一步理。 2. 投影转换:Matlab提供了函数和工具箱,用于将栅格数据从一个投影系统转换为另一个投影系统。用户可以使用projproj函数将栅格数据从一种地理坐标系(如经纬度)转换为另一种地理坐标系(如UTM)。 3. 投影分析:通过Matlab的空间数据分析工具箱,用户可以执行各种与地理坐标栅格投影相关的分析任务。例如,用户可以计算栅格数据的统计指标(如均、最大、最小等)或执行空间插(如克里金插)以生成平滑的栅格表面。 4. 可视化:Matlab可以用于绘制和可视化带有地理坐标栅格投影数据。用户可以使用plot函数绘制栅格数据的等线图或色彩图,或使用contour函数绘制栅格数据的等高线图。 综上所述,Matlab提供了强大的工具和函数,用于理和分析带有地理坐标栅格投影数据。它能够读取和栅格数据、进行投影转换、执行投影分析任务,并通过可视化工具绘制和呈现栅格投影数据。这些功能使Matlab成为地理信息系统(GIS)和遥感数据分析领域的一种有用工具。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值