From 2264d9de37892022293424a818fa7ee5ac9c50a6 Mon Sep 17 00:00:00 2001 From: 13693261870 <252740454@qq.com> Date: 星期六, 16 九月 2023 08:55:05 +0800 Subject: [PATCH] 1 --- DataLoader/CS/GdalHelper.cs | 25 +++++++++++++++++++++++++ 1 files changed, 25 insertions(+), 0 deletions(-) diff --git a/DataLoader/CS/GdalHelper.cs b/DataLoader/CS/GdalHelper.cs index 9e5e701..95153a8 100644 --- a/DataLoader/CS/GdalHelper.cs +++ b/DataLoader/CS/GdalHelper.cs @@ -129,6 +129,7 @@ ColorTable ct = ds.GetRasterBand(1).GetRasterColorTable(); vd.Meta.ct = null == ct ? null : ct.ToString(); // 鏁版嵁棰滆壊琛� vd.Meta.h_datum = null; // 楂樼▼鍩哄噯 + setMinAndMax(ds, vd.Meta); // 璁剧疆鏈�鍊� double[] tr = new double[6]; ds.GetGeoTransform(tr); @@ -235,6 +236,30 @@ return geo; } + + /// <summary> + /// 璁剧疆鏈�鍊� + /// GDALRasterBand::GetHistogram聽鈥嬧�嬬粺璁$洿鏂瑰浘 + /// </summary> + private void setMinAndMax(Dataset ds, SysMeta meta) + { + List<double> minList = new List<double>(); + List<double> maxList = new List<double>(); + + for (int i = 1; i <= ds.RasterCount; i++) + { + int hasval; + double min, max; + ds.GetRasterBand(i).GetMinimum(out min, out hasval); + ds.GetRasterBand(i).GetMaximum(out max, out hasval); + + minList.Add(min); + maxList.Add(max); + } + + meta.min = string.Join(",", minList.ToArray()); + meta.max = string.Join(",", maxList.ToArray()); + } #endregion } } -- Gitblit v1.9.3