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

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

夜读一个人成熟的标志是什么主播读经典,陪您说晚安。大家好!这里是闪电夜读,我是邹鲁融媒主播栗志楠,今晚与您分享的文章是周国平的一个人成熟的标志是什么。一个人成熟的标志是什么文周国平世界上有一些东西,是你自己没爱过怎知情重!没醉过怎知酒浓一个爱字让人肝肠寸断没爱过怎知情重!没醉过怎知酒浓!若不是情深似海,又怎会痛彻心扉?今生遇见你。是人生最美的邂逅。也是人生最美的缘份!好想真的好想听你说一句你爱我此生永远只有你!没真正的聪明人,都懂得少管闲事文玛卡巴卡(富书作者)明张凤翼灌园记后识法章中有一句进去罢,各人自扫门前雪,莫管他家瓦上霜。生活中,有很多人总是习惯将自己的想法强加在别人身上,试图让别人按照自己的意愿来做事。殊不东岳观丨要理直气壮宣传左宗棠天地英雄气,千秋尚凛然。自古以来,每当中华民族危急关头,总有人挺身而出,赴汤蹈火舍身死,力挽狂澜守江山,保卫国土安全,维护民族尊严。他们都是我们的民族英雄,应该被我们世代景仰。左公4大教条罩香港!隔绝一国死守旧制中央不能管政改学西方文柳扶风中国特色社会主义之所以能发展起来,取得世界瞩目的成就,一个重要原因,就是能在坚持改革开放中不断在经济基础上层建筑各个领域展开和实现制度性的创新,打破旧框框,推出新规制,为中葡萄牙为什么可以61战胜瑞士,却被摩洛哥10击败五个原因在葡萄牙对阵摩洛哥之前可能没有球迷能想到非洲球队摩洛哥能淘汰葡萄牙队,闯入四强摩洛哥代表非洲球队第一次打入世界杯的四强,嗯,历史是需要新人去打破的,摩洛哥做到了。那为什么在上一场葡他,含冤入狱27年,获赔496万妻子改嫁,儿子成家,现如今咋样了前言2020年8月4号,张玉环无罪释放,获4960000元赔款今天给大家分享的是张玉环和宋小女的故事,2020年8月4号张玉环无罪释放的那一天,如释重负的张玉环走出不见天日的监狱大王岐山在第四届外滩金融峰会开幕式上发表致辞央广网北京12月11日消息据中央广播电视总台中国之声新闻和报纸摘要报道,国家副主席王岐山昨天(10日)在第四届外滩金融峰会开幕式上发表视频致辞。王岐山指出,中共二十大开启了以中国式中国国民党革命委员会第十四次全国代表大会闭幕词中国国民党革命委员会第十四次全国代表大会闭幕词郑建邦(2022年12月10日)各位代表同志们中国国民党革命委员会第十四次全国代表大会,在全体代表的共同努力下,顺利完成了各项议程,就人过四十,不要盲目亲近枕边人,多留这几个心眼很重要这世间最好的关系,便是有距离的关系。距离二字,年轻的时候我们也许不在意,认为最为亲密的关系,最好不要有距离,不然会破坏人与人之间的和谐。抱着这种态度,我们到处碰钉子,不是今天得罪了红网夜读丨生活不可能像你想象得那么好,但也不会像你想象得那么糟来源红网时刻新闻play用声音传递温暖,欢迎收听红网夜读,我是田萌,田野的田,萌芽的萌。很喜欢莫泊桑在一生中的一段话生活不可能像你想象得那么好,但也不会像你想象得那么糟。我觉得人的
汉武帝和卫子夫极宠的女儿,还安排了两段好姻缘,结局她也没想到公元前138年,卫长公主出生。她是汉武大帝刘彻的第一个女儿,也是第一个孩子,一出生就集万千宠爱于一身,刘彻对她极其宠爱。在西汉时期,长公主不是排行,而是极其尊贵的封号。一般而言,皇邱淑贞女儿近照曝光,肤白貌美气质优雅,被赞颜值不输年轻时妈妈新年伊始,邱淑贞的女儿沈月在网上晒出了一组自己的美照,并发文称和家人来到马来西亚度假希望大家2023年都健康快乐温暖。照片中的沈月一身白色打扮,露着肚脐,大秀她的好身材,皮肤白皙的美国,为何歇斯底里的反对中国登月?美国国家航空航天局(NASA)局长比尔尼尔森,对于我国的登月计划又双叒叕歇斯底里了。元旦那天,尼尔森在接近美媒采访时大放厥词,不顾体面的对我国的登月计划进行疯狂的诋毁与攻击。身为美2022年12月,华为仅推荐三款手机,近乎零差评头条创作挑战赛现阶段华为手机这边其实可选的手机还是蛮多的,不像是去年华为基本上没有什么新机上市,今年下半年华为的供应链陆续回归,新机的频率也在逐渐加快。要说现在华为最强的旗舰手机必性能提升49,英特尔32款全新13代酷睿移动处理器亮相CES2023!在2023年1月3日举办的国际消费电子展(CES)上,英特尔发布了全新的第13代英特尔酷睿移动处理器。此次亮相的32款全新移动处理器,覆盖55W的酷睿HX系列45W的酷睿H系列28聊一款绿油油的笔记本电脑要想生活过得去,电脑必须带点绿。奥拉叶今天这台电脑不一般,它是PC平板二合一结构,并且采用了绿色机身绿色键盘,整机绿意盎然,它的名字叫微软SurfacePro9。我们几乎每年都会测从相机到手机!盘点2023值得入的数码好物,这两款折叠屏成香饽饽2023年阳历新年刚刚过去,不久后又将迎来农历春节,在这段时间里,广大小伙伴们似乎已经提前开启了买买买模式,趁着新年之前各类优惠活动,把种草已久的好物纳入囊中。而对于数码爱好者们来传苹果AirPodsAppleWatch和MacBook均遭砍单2023年1月3日消息,据日经新闻报导,苹果以需求减弱为由,已通知大陆供应商本季减产AirPodsAppleWatch和MacBook元件。苹果此番砍单三大产品线,立讯精密或受影响限制多体验差,手机手柄注定不是一个好生意手机游戏的兴起,大幅增加了用户日常搓玻璃的需求,同时也催生了大量手机外设,其中就包括我们熟知的散热背夹防汗指套吃鸡辅助神器,以及各色各样的游戏手柄。小雷和大家一样,很喜欢玩手游,每RTX4070Ti正式公布!799美元性能超RTX3090TiRTX4070Ti正式公布,售价为799美元,性能超RTX3090Ti,将于1月5日正式发售。得益于NVIDIAAdaLovelace架构创新和NVIDIADLSS3,全新GeFo扛不住了?中国砍单700亿颗芯片后,美企宣布降价,外媒晚了2022生机大会美企的芯片畅销全球,想要买到顶级的芯片基本上都是选择美企的产品。高通的骁龙,英伟达的显卡以及英特尔的CPU等等,这些芯片占据绝对的市场份额。不过随着中国砍单700亿