管道基础大数据平台系统开发-【CS】-ExportMap
13693261870
2023-08-24 a132d98517f7dc30f68931a51d131533a805d8bf
完成入库的开发
已修改5个文件
42 ■■■■ 文件已修改
DataLoader/CS/DBHelper.cs 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
DataLoader/CS/GdalHelper.cs 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
DataLoader/CS/Importor.cs 20 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
DataLoader/CS/StaticData.cs 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
DataLoader/MainWindow.xaml.cs 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
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++;
            }
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)
            {
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++;
                }
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" };
    }
}
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());