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/App.config | 5 +++-- DataLoader/CS/GdalHelper.cs | 25 +++++++++++++++++++++++++ DataLoader/MainWindow.xaml | 2 +- DataLoader/CS/DBHelper.cs | 2 +- DataLoader/Model/SysMeta.cs | 10 ++++++++++ 5 files changed, 40 insertions(+), 4 deletions(-) diff --git a/DataLoader/App.config b/DataLoader/App.config index bef7937..26885e2 100644 --- a/DataLoader/App.config +++ b/DataLoader/App.config @@ -4,10 +4,11 @@ <!-- 鑾峰彇鏂囦欢鐨凪D5鐮侊細0-鍚︼紝1-鏄� --> <add key="GetMD5" value="1"/> <add key="StartPath" value="3"/> - <add key="SourcePath" value="D:\Moon\data"/> + <add key="SourcePath" value="D:\Moon\data\DOM"/> <add key="TargetPath" value="D:\LF\upload"/> <!--<add key="pgConn" value="Server=127.0.0.1;Port=5433;Database=langfang;User Id=postgres;Password=postgres;"/>--> - <add key="pgConn" value="Server=192.168.20.83;Port=5433;Database=moon;User Id=postgres;Password=Postgres!_14_moon;"/> + <!--<add key="pgConn" value="Server=192.168.20.83;Port=5433;Database=moon;User Id=postgres;Password=Postgres!_14_moon;"/>--> + <add key="pgConn" value="Server=103.85.165.99;Port=5433;Database=moon;User Id=postgres;Password=Postgres!_14_moon;"/> </appSettings> <startup> <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.8"/> diff --git a/DataLoader/CS/DBHelper.cs b/DataLoader/CS/DBHelper.cs index 3edabc4..19a4aa2 100644 --- a/DataLoader/CS/DBHelper.cs +++ b/DataLoader/CS/DBHelper.cs @@ -14,7 +14,7 @@ public class DBHelper { // id, eventid, metaid, verid, name, type, guid, path, sizes, tab, rows, create_user, create_time, update_user, update_time, bak, geom, layer, depcode, dircode, ismeta, sensortype, acq_time, resolution, gridsize, coor_sys, epsg, h_datum, mata_type, bands, band_type, ct - private const string insertMeta = "insert into lf.sys_meta (eventid, metaid, verid, name, type, guid, path, sizes, tab, rows, create_user, create_time, bak, geom, layer, depcode, dircode, ismeta, sensortype, acq_time, resolution, gridsize, coor_sys, epsg, h_datum, mata_type, bands, band_type, ct) values (@eventid, @metaid, @verid, @name, @type, @guid, @path, @sizes, @tab, @rows, @create_user, now(), @bak, {0}, @layer, @depcode, @dircode, @ismeta, @sensortype, @acq_time, @resolution, @gridsize, @coor_sys, @epsg, @h_datum, @mata_type, @bands, @band_type, @ct) returning id"; + private const string insertMeta = "insert into lf.sys_meta (eventid, metaid, verid, name, type, guid, path, sizes, tab, rows, create_user, create_time, bak, geom, layer, depcode, dircode, ismeta, sensortype, acq_time, resolution, gridsize, coor_sys, epsg, h_datum, mata_type, bands, band_type, ct, min, max) values (@eventid, @metaid, @verid, @name, @type, @guid, @path, @sizes, @tab, @rows, @create_user, now(), @bak, {0}, @layer, @depcode, @dircode, @ismeta, @sensortype, @acq_time, @resolution, @gridsize, @coor_sys, @epsg, @h_datum, @mata_type, @bands, @band_type, @ct, @min, @max) returning id"; /// <summary> /// 鎻掑叆鍏冩暟鎹� 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 } } diff --git a/DataLoader/MainWindow.xaml b/DataLoader/MainWindow.xaml index 35ddc8a..01bf2ba 100644 --- a/DataLoader/MainWindow.xaml +++ b/DataLoader/MainWindow.xaml @@ -2,7 +2,7 @@ xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" Height="700" Width="900" Loaded="Window_Loaded" Closing="Window_Closing" - Title="鏁版嵁鍏ュ簱 v1.7" WindowStartupLocation="CenterScreen"> + Title="鏁版嵁鍏ュ簱 v1.72" WindowStartupLocation="CenterScreen"> <Window.Resources> <Style x:Key="btn" TargetType="Button"> <Setter Property="Background" Value="#005699"/> diff --git a/DataLoader/Model/SysMeta.cs b/DataLoader/Model/SysMeta.cs index b99fa3c..fe82a9c 100644 --- a/DataLoader/Model/SysMeta.cs +++ b/DataLoader/Model/SysMeta.cs @@ -163,6 +163,16 @@ public string bands { set; get; } /// <summary> + /// 鏈�灏忓�� + /// </summary> + public string min { set; get; } + + /// <summary> + /// 鏈�灏忓ぇ鍊� + /// </summary> + public string max { set; get; } + + /// <summary> /// 娉㈡鏁版嵁绫诲瀷 /// </summary> public string band_type { set; get; } -- Gitblit v1.9.3