From a132d98517f7dc30f68931a51d131533a805d8bf Mon Sep 17 00:00:00 2001 From: 13693261870 <252740454@qq.com> Date: 星期四, 24 八月 2023 17:33:58 +0800 Subject: [PATCH] 完成入库的开发 --- DataLoader/MainWindow.xaml.cs | 4 ++-- DataLoader/CS/GdalHelper.cs | 4 ++-- DataLoader/CS/Importor.cs | 20 ++++++++++---------- DataLoader/CS/StaticData.cs | 2 +- DataLoader/CS/DBHelper.cs | 12 +++++++----- 5 files changed, 22 insertions(+), 20 deletions(-) diff --git a/DataLoader/CS/DBHelper.cs b/DataLoader/CS/DBHelper.cs index a716e80..3edabc4 100644 --- a/DataLoader/CS/DBHelper.cs +++ b/DataLoader/CS/DBHelper.cs @@ -14,16 +14,17 @@ 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, @geom, @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) 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"; /// <summary> /// 鎻掑叆鍏冩暟鎹� /// </summary> public static int InsertMeta(SysMeta meta) { - List<DbParameter> args = Tools.GetParams<SysMeta>(insertMeta, meta); + string sql = string.Format(insertMeta, string.IsNullOrEmpty(meta.geom) ? "null" : meta.geom); + List<DbParameter> args = Tools.GetParams<SysMeta>(sql, meta); - return Tools.DBHelper.GetIntScalar(insertMeta, args.ToArray()); + return Tools.DBHelper.GetIntScalar(sql, args.ToArray()); } /// <summary> @@ -36,9 +37,10 @@ int count = 0; foreach (SysMeta meta in list) { - List<DbParameter> args = Tools.GetParams<SysMeta>(insertMeta, meta); + string sql = string.Format(insertMeta, string.IsNullOrEmpty(meta.geom) ? "null" : meta.geom); + List<DbParameter> args = Tools.GetParams<SysMeta>(sql, meta); - int id = db.GetIntScalar(insertMeta, args.ToArray()); + int id = db.GetIntScalar(sql, args.ToArray()); if (id > 0) count++; } diff --git a/DataLoader/CS/GdalHelper.cs b/DataLoader/CS/GdalHelper.cs index 177fa52..18c23c6 100644 --- a/DataLoader/CS/GdalHelper.cs +++ b/DataLoader/CS/GdalHelper.cs @@ -145,9 +145,9 @@ double ymin = minPoint.GetY(0); double xmax = maxPoint.GetX(0); double ymax = maxPoint.GetY(0); - string wkt = string.Format("POLYGON (({0} {1},{2} {3},{4} {5},{6} {7},{0} {1}))", xmin, ymax, xmax, ymax, xmax, ymin, xmin, ymin); + string geom = string.Format("ST_GeomFromText('POLYGON (({0} {1},{2} {3},{4} {5},{6} {7},{0} {1}))')", xmin, ymax, xmax, ymax, xmax, ymin, xmin, ymin); - vd.Meta.geom = wkt; // 鍥涜嚦鑼冨洿 + vd.Meta.geom = geom; // 鍥涜嚦鑼冨洿 } catch (Exception ex) { diff --git a/DataLoader/CS/Importor.cs b/DataLoader/CS/Importor.cs index 99d6ec0..82ced01 100644 --- a/DataLoader/CS/Importor.cs +++ b/DataLoader/CS/Importor.cs @@ -15,14 +15,6 @@ public static void Loading(ObservableCollection<ViewData> viewDatas) { Importor.GetFiles(viewDatas, CommonProp.SourcePath); - - foreach (ViewData vd in viewDatas) - { - if (StaticData.RASTER_EXT.Contains(vd.Ext)) - { - GdalHelper.Instance.ReadRasterInfo(vd); - } - } } /// <summary> @@ -261,6 +253,7 @@ public static void ImportFiles(ObservableCollection<ViewData> viewDatas) { Parallel.ForEach(viewDatas, (vd, ParallelLoopState) => + //foreach (ViewData vd in viewDatas) { try { @@ -270,7 +263,7 @@ if (!string.IsNullOrEmpty(vd.Meta.guid) && DBHelper.IsFileExists(vd.Meta.guid)) { vd.Status = "宸插瓨鍦紒"; - return; + return; // continue; } vd.Status = "璇诲彇鏍呮牸淇℃伅..."; @@ -330,7 +323,7 @@ foreach (string file in files) { string md5 = MD5Helper.GetMD5Hash(file); - if (string.IsNullOrEmpty(md5)) list.Add(md5); + if (!string.IsNullOrEmpty(md5)) list.Add(md5); } if (list.Count == 0) return null; @@ -411,6 +404,10 @@ try { string target = source.Replace(vd.FilePath, targetFolder); + string path = new FileInfo(target).Directory.FullName; + if (!Directory.Exists(path)) Directory.CreateDirectory(path); + + File.Copy(source, target, true); count++; } catch (Exception ex) @@ -435,6 +432,9 @@ { try { + string source = vd.FilePath.Replace(vd.Ext, ext); + if (!File.Exists(source)) continue; + File.Copy(vd.FilePath.Replace(vd.Ext, ext), target.Replace(vd.Ext, ext), true); count++; } diff --git a/DataLoader/CS/StaticData.cs b/DataLoader/CS/StaticData.cs index 8a141ea..b3686d8 100644 --- a/DataLoader/CS/StaticData.cs +++ b/DataLoader/CS/StaticData.cs @@ -100,6 +100,6 @@ /// <summary> /// 鎵�鏈夋枃浠舵墿灞曞悕 /// </summary> - public readonly static List<String> ALL_EXTENSION = new List<String> { ".txt", ".xml", ".pdf", ".xls", ".xlsx", ".doc", ".docx", ".ppt", ".pptx", ".shp", ".gdb", ".mdb", ".dwg", ".las", ".laz", ".cpt", ".mpt", ".ei.mpt", ".fly", ".efb", ".g3d", ".fbx", ".obj", ".3dm", ".3dml", ".osgb", ".rvt", ".ifc", ".jpg", ".jp2", ".png", ".img", ".tif", ".tiff", ".dem", ".bmp", ".gif", ".rmvb", ".rm", ".mp3", ".mp4", ".avi", ".wma", ".wmv", ".7z", ".rar", ".zip" }; + public readonly static List<String> ALL_EXTENSION = new List<String> { ".txt", ".xml", ".pdf", ".xls", ".xlsx", ".doc", ".docx", ".ppt", ".pptx", ".shp", ".gdb", ".mdb", ".dwg", ".las", ".laz", ".cpt", ".mpt", ".ei.mpt", ".fly", ".efb", ".g3d", ".fbx", ".obj", ".3dm", ".3dml", ".osgb", ".rvt", ".ifc", ".jpg", ".jp2", ".png", ".img", ".tif", ".tiff", ".dem", ".bmp", ".gif", ".rmvb", ".rm", ".mp3", ".mp4", ".avi", ".wma", ".wmv", ".7z", ".rar", ".zip", ".csv" }; } } diff --git a/DataLoader/MainWindow.xaml.cs b/DataLoader/MainWindow.xaml.cs index be76c14..a98651c 100644 --- a/DataLoader/MainWindow.xaml.cs +++ b/DataLoader/MainWindow.xaml.cs @@ -35,8 +35,8 @@ CommonProp.Owner = this; CommonProp.Init(); - //this.btnLoad.IsEnabled = false; - //this.btnImport.IsEnabled = false; + this.btnLoad.IsEnabled = false; + this.btnImport.IsEnabled = false; lvView.DataContext = viewDatas; lvView.SetBinding(ListView.ItemsSourceProperty, new Binding()); -- Gitblit v1.9.3