范文健康探索娱乐情感热点
投稿投诉
热点动态
科技财经
情感日志
励志美文
娱乐时尚
游戏搞笑
探索旅游
历史星座
健康养生
美丽育儿
范文作文
教案论文
国学影视

C使用GDAL读取TIF文件

  C#使用GDAL库需安装以下两个Nuget包:GDAL和GDAL.Native
  也可以安装这几个包:
  这两种方式的注册方式会不太一样,其他用法大致相同。在此选中的是第一种方式,即在此安装的是GDAL和GDAL.Native。 注册
  使用GDAL库的功能之前,必须先注册 // 注册 GdalConfiguration.ConfigureGdal(); Gdal.AllRegister(); // 设置utf-8编码 Gdal.SetConfigOption("GDAL_FILENAME_IS_UTF8", "YES");
  若安装的是第二种程序包,即MaxRev.Gdal.Core等,则注册语句为: // 注册 GdalBase.ConfigureAll(); // 设置编码 Gdal.SetConfigOption("GDAL_FILENAME_IS_UTF8", "YES");
  需注意的是,有时会报"PROJ: proj_create_from_database: Cannot find proj.db"这样的异常,解决这个异常,可以在注册之后加上这行代码,手动设置PROJ_DB环境变量的查找路径: Osr.SetPROJSearchPath(Environment.GetEnvironmentVariable("PROJ_LIB"));
  或者在文件资源管理器中找到proj.db文件,再设置它的查找路径
  最后手动设置查找路径: Osr.SetPROJSearchPath("C:xxxxxx.nugetpackagesgdal.native3.5.3buildgdalshare");
  MaxRev.Gdal的查找路径为: Osr.SetPROJSearchPath("C:xxxxxx.nugetpackagesmaxrev.gdal.windowsruntime.minimal3.6.1.110runtimeswin-x64nativemaxrev.gdal.core.libshared"); 读取信息// 使用只读方式打开tif文件 Dataset ds = Gdal.Open("C:xxx.tif", Access.GA_ReadOnly); if (ds == null) {     Console.WriteLine("文件打开失败...");     return; }  // 获取驱动器名称,这里输出的是:GeoTIFF var driverName = ds.GetDriver().LongName;  // 投影坐标系信息 var projection = ds.GetProjection(); var projection = ds.GetProjectionRef();
  这里的波段表示单个栅格波段/通道/图层,它不一定代表整个图像,例如,24 位 RGB 图像通常表示为具有三个波段的数据集,一个用于红色,一个用于绿色,一个用于蓝色。 // 波段数 var rasterCount = ds.RasterCount; // 获取tif的第一个波段,波段索引从1开始 var band = ds.GetRasterBand(1); // 波段数据类型 var bandDataType = band.DataType; Console.WriteLine("DataType: " + Gdal.GetDataTypeName(bandDataType)); // 波段颜色解释 var interpretation = band.GetRasterColorInterpretation(); Console.WriteLine("PaletteInterp: " + interpretation.ToString());
  读取像素值 var band = ds.GetRasterBand(1);  // 计算最大值和最小值 double[] rasterMinMax = new double[2]; int approx_ok = 0; band.ComputeRasterMinMax(rasterMinMax, approx_ok); Console.WriteLine("rasterMinMax = " + rasterMinMax[0] + ", " + rasterMinMax[1]);  // 获取最大值和最小值,这里获取的不一定是真实的最值 band.GetMaximum(out double mval, out int mhasval); band.GetMinimum(out double min, out int minval);  // 获取无效值 band.GetNoDataValue(out var val, out var hasval);  // 读取像素值 int Xsize = band.XSize; int Ysize = band.YSize; var buff = new double[Xsize * Ysize]; band.ReadRaster(0, 0, Xsize, Ysize, buff, Xsize, Ysize, 0, 0); for (int i = 0; i < Xsize; i++) {     for (int j = 0; j < Ysize; j++)     {         var value = buff[i + j * Xsize];         Console.Write(value + "  ");     } }
  计算经纬度 // 获取仿射变换矩阵 /* 	地理坐标和影像数据行列的转换关系: 	Xgeo = GT(0) + Xpixel*GT(1) + Yline*GT(2) 	Ygeo = GT(3) + Xpixel*GT(4) + Yline*GT(5) */ double[] geoTrans = new double[6]; ds.GetGeoTransform(geoTrans);  // 转换地理坐标系 SpatialReference spatial = ds.GetSpatialRef(); var geors = new SpatialReference(""); geors.ImportFromEPSG(4326); var transformation = new CoordinateTransformation(spatial, geors);  //计算经纬度 for (int i = 0; i < Ysize; i++) {     for (int j = 0; j < Xsize; j++)     {         // 计算投影坐标         var x = geoTrans[0] + i * geoTrans[1] + j * geoTrans[2];         var y = geoTrans[3] + i * geoTrans[4] + j * geoTrans[5];         // 计算经纬度         double[] longiAndLat = new double[2];         transformation.TransformPoint(longiAndLat, x, y, 0); 		// 1是经度,2是纬度         Console.Write("(" + longiAndLat[1] + "," + longiAndLat[0] + ") , ");     } }
  标签: GIS

魏三,终为自己的狂妄付出了代价2005年,号称东北三宝的两个二人转演员,登上了春晚舞台。一个是魏三,一个是孙小宝。两人在李咏的帮助下,靠着小品明日之星火遍了全国。其实,在此之前,两人的威名早已响彻东北三省。尤其继续合作!TVB女星自曝已成功与大台续约,未来发展不设限本文编辑剧透社彤心晓筑未经授权严禁转载,发现抄袭者将进行全网投诉大台一年一度的颁奖礼结束后,一众演员们也都重新投入到了新的工作中,继续在新一年努力拍出更多的精彩作品给大家。近日,T新能源汽车补贴留下的红黑账单从2009年开始实施十城千辆(2009年2012年实施的十城千辆节能与新能源汽车示范推广应用工程)政策,到2022年底新能源汽车国家补贴结束,新能源汽车财政补贴已经实施了13年。经春节不打烊爬楼有补贴!菜鸟联合天猫超市将给快递员发2亿补贴年货已备足,物流不打烊。1月10日,菜鸟联合天猫超市启动老旧无电梯小区快递送货上门保障计划以及春节物流不打烊,从春节开始,全年投入2亿元补贴奖励给快递员,用于专项保障老旧无电梯小区Qt全局热键实现监听系统原生事件Qt作为跨平台的框架,实现的功能是在每个平台都共有的部分,而有的功能可能由于某些原因不能跨平台就没有,这时候就需要调用系统原生的API,比如全局热键的功能电池休眠事一加11成新年真香旗舰?参考首批用户评价,一文看懂值不值得买临近春节,不少小伙伴都会趁着年末给自己换新装备。而今年新机潮提前来袭,众多骁龙8Gen2旗舰上线,让大家眼花缭乱,其中一加11显得格外突出,首销即迎来开门红,京东天猫双平台开售51苹果春节年度大片又双叒叕来了!iPhone14Pro拍摄过五关近几年,苹果公司都会在中国春节前夕,为中国用户奉献一部短片,这种待遇,除了西方圣诞节,仅有中国拥有。这个习惯从2015年的老唱片,到2016年关锦鹏李宗盛的过年歌,2018年陈可辛智能物流仓储行业研究乘中国制造之风,智能仓储物流可期万里(报告出品方华安证券)1智能仓储物流降本增效的神兵利器1。1不可忽视的第三利润源泉建立高效的物流系统物流管理是企业生产的前提,更是企业运作的保证。从采购生产再到销售,物流贯穿企业活美国西雅图公立校区起诉谷歌等多家科技公司视频加载中据路透社8号报道,美国西雅图公立校区近日对大型科技公司发起诉讼,称这些公司应该对学生们不断恶化的心理健康危机负责,并且这些公司还直接影响了学校履行教育职责的能力。据报道,python每天一道面试题16Python中set集合?set集合是一个无序不重复元素的集,基本功能包括关系测试和消除重复元素。集合使用大括号()框定元素,并以逗号进行分隔。但是注意如果要创建一个空集合,必须用回家序曲4款续航超长的纯电动汽车盘点!纯电动汽车发展至今,续航焦虑仍然是一个无法回避的话题,虽然现如今充电站已经随处可见,但是动辄半小时一小时的充电时间仍然不算特别方便。就比如现在,春节将至,今年很多朋友都是自己开车回
悄悄地提升自己,使自己在任何时候都不要做一个消沉堕落的人昨天开始,把调整情绪作为首要任务进行改正。但在这一天里,我就没有控制住情绪,对孩子发火了,还打了孩子。这孩子总是说着不听,到底要怎么样才能听呢?我又要怎样才能控制住这情绪呢!控制情生活中只知道拼命挣钱的人,日子过得幸福吗?生活中只知道拼命挣钱的人,日子过得幸福吗?生活的方式有多种,对于努力赚钱的人也是一种幸福,中国有60的人需要努力赚钱,她们需要生存,生活所迫,有30的人是旱涝保丰的,可以畅想一下享当你老了,躺在病床上就会明白这世上最亲的,只有三个人变老,走向暮年,不管我们有多不情愿,这都会成为所有人的终点。这是我们的宿命,当你老了,躺在医院的病床上就会明白,这世上最亲的人,只有这三个人!01伴侣在这个世界上,唯一一个没有血缘中国不会乱,节奏不会偏人可于一时一事一境去洞察问题,却不可因一时一事一境而误判形势。你有反对的权利,我有支持的权利,如何做选择是政治立场问题,而立场坚不坚定敢不敢负责任则是政治品行问题,这方面,潜伏里的间接得罪人,你有吗?文宋增芬有时候人很奇怪,你不知道的就得罪了一些和你不大相关的人,这种情况还时有发生。很多话很多事情很多时候都是说者无心,听者有意,然后传来传去,加以想象描述夸张各个手法,就变得比较60岁之后,如果有存款,一定要做好这几件事前言60岁之后,如果有存款的话,我们一定要安排好后面的生活,不要把所有的事情都想得那么糟糕,在这个世界上有很多事情真的很简单,如果你总是想太多的话,你就会发现人生真的会出现问题,有神舟十五号航天员定了费俊龙邓清明张陆来源人民日报客户端据中国载人航天工程办公室消息,经空间站阶段飞行任务总指挥部研究决定,费俊龙邓清明张陆3名航天员将执行神舟十五号载人飞行任务,由费俊龙担任指令长。北京时间2022年神舟十五号任务进行最后一次全区合练发射场做好应对低温天气准备来源海外网海外网1128095211月27日,酒泉卫星发射中心,神舟十五号载人飞行任务进行了最后一次全区合练和全系统气密性检查。目前,火箭飞船及发射场各系统状态良好,已完成火箭加注热评丨备份廿五年终圆梦,致敬飞天人的坚守11月28日,中国载人航天工程办公室发布消息神舟十五号将于11月29日23时08分发射,费俊龙邓清明张陆3名航天员将执行飞行任务。邓清明这个名字,出现在神舟十五号乘组名单的那一刻,我国成功发射遥感三十六号卫星新华社西昌11月27日电(杨晓敏胡煦劼)11月27日20时23分,我国在西昌卫星发射中心使用长征二号丁运载火箭,成功将遥感三十六号卫星发射升空,卫星顺利进入预定轨道,发射任务获得圆人生如戏春风正慢慢地吹着。酒店的迎宾楼看起来很漂亮。楼前的草坪绿油油的,路边围着的花鲜艳迷人。站在大门前,首先看到的是酒店的招牌,清晰明亮。我也是这里的会员!这不可能是梦。喂,艾然,你在做