01.Dem数据提取高程

愿你出走半生,归来仍是少年! 

环境:.NET FrameWork4.5、Dotspatial 1.9 

        业务需要根据已有的Dem数据(tif)获取指定坐标点的高程数据 ,因此有此记录。

        DotSpatial博主于2016年左右开始接触,有强大的Gis功能和极高的集成度。此处使用其集成了Gdal后的功能特性进行Gdal Raster文件的读取。其思路为加载tif文件,将地理坐标转换为像素坐标,并获取像素点的高程数据,具体实现如下:

public class DemRasterHelper
    { 

        IRaster  raster;

        public DemRasterHelper(string tifPath)
        {
             
            GdalRasterProvider gdalRasterProvider = new GdalRasterProvider();
            raster = gdalRasterProvider.Open(tifPath);


        }

        /// 
        /// 获取高程
        /// 
        /// 
        /// 
        /// 
        public double GetElevation(double x, double y)
        {
            try
            {
                if (true)
                {

                }

                var index = raster.ProjToCell(x, y);

                var height = raster.Value[index.Row, index.Column];

                return height;
            }
            catch (Exception ex)
            {

                return -9999;
            }
           
        }
    }

你可能感兴趣的:(DotSpatial,c#,.net)