| | |
| | | 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> |
| | |
| | | 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++; |
| | | } |
| | | |
| | |
| | | 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) |
| | | { |
| | |
| | | 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> |
| | |
| | | public static void ImportFiles(ObservableCollection<ViewData> viewDatas) |
| | | { |
| | | Parallel.ForEach(viewDatas, (vd, ParallelLoopState) => |
| | | //foreach (ViewData vd in viewDatas) |
| | | { |
| | | try |
| | | { |
| | |
| | | if (!string.IsNullOrEmpty(vd.Meta.guid) && DBHelper.IsFileExists(vd.Meta.guid)) |
| | | { |
| | | vd.Status = "已存在!"; |
| | | return; |
| | | return; // continue; |
| | | } |
| | | |
| | | vd.Status = "读取栅格信息..."; |
| | |
| | | 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; |
| | |
| | | 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) |
| | |
| | | { |
| | | 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++; |
| | | } |
| | |
| | | /// <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" }; |
| | | } |
| | | } |
| | |
| | | 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()); |