管道基础大数据平台系统开发-【CS】-ExportMap
1
13693261870
2023-03-19 24c796033d9105256cd3253e52a9b0197013ce2f
1
已修改3个文件
149 ■■■■■ 文件已修改
ExportMap/Sources/xyz.py 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ExportMap/Web.config 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ExportMap/cs/SGUtils.cs 142 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ExportMap/Sources/xyz.py
@@ -31,7 +31,7 @@
    parser.add_argument("-file", type=str, default=r"D:\xyz\zy.txt", required=False)
    parser.add_argument("-out", type=str, default=r"D:\xyz\tiles\zy", required=False)
    parser.add_argument("-min", type=int, default=12, required=False)
    parser.add_argument("-max", type=int, default=15, required=False)
    parser.add_argument("-max", type=int, default=18, required=False)
    return parser.parse_args()
@@ -133,7 +133,7 @@
        'TILE_FORMAT': 0,
        'TILE_HEIGHT': 256,
        'TILE_WIDTH': 256,
        'TMS_CONVENTION': True,
        'TMS_CONVENTION': False,
        'ZOOM_MAX': args.max,
        'ZOOM_MIN': args.min
    }
ExportMap/Web.config
@@ -16,7 +16,8 @@
    <!-- SG的DB库 -->
    <add key="sgDB" value="E:\soft\SGConfig\catalog.db"/>
    <!-- PG连接 -->
    <add key="pgConn" value="Server=192.168.20.205;Port=5433;Database=langfang;User Id=postgres;Password=Postgres!_14_Lf;"/>
    <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.205;Port=5433;Database=langfang;User Id=postgres;Password=Postgres!_14_Lf;"/>-->
    <add key="webpages:Version" value="3.0.0.0"/>
    <add key="webpages:Enabled" value="false"/>
    <add key="ClientValidationEnabled" value="true"/>
ExportMap/cs/SGUtils.cs
@@ -1,6 +1,7 @@
using ExportMap.db;
using ExportMap.Models;
using System;
using System.Collections;
using System.Collections.Generic;
using System.Configuration;
using System.Data;
@@ -88,8 +89,9 @@
            RomoveNoneFiles(list);
            if (list.Count == 0) return 0;
            err = LinkFiles(list);
            if (!string.IsNullOrEmpty(err)) return 0;
            //err = LinkFiles(list);
            //if (!string.IsNullOrEmpty(err)) return 0;
            MoveFiles(list);
            int count = 0;
            for (int i = 0; i < 25; i++)
@@ -166,6 +168,87 @@
        }
        /// <summary>
        /// 插入数据发布表
        /// </summary>
        private void InsertInto(List<SysMeta> list, List<SpatialItem> items, XYZArgs args)
        {
            foreach (SysMeta meta in list)
            {
                IEnumerable<SpatialItem> iterator = from item in items where item.Name.Equals(meta.id + "_" + meta.name) select item;
                if (null == iterator) return;
                meta.verid = iterator.First().id;
                InsertToDB(meta, args);
            }
        }
        /// <summary>
        /// 插入数据库
        /// </summary>
        private static void InsertToDB(SysMeta meta, XYZArgs args)
        {
            if (PubDBHelper.IsPublish(meta.id)) return;
            SysPublish sys = NewPublish(meta, args);
            sys.path = meta.id + "\\" + meta.name;
            int pubid = PubDBHelper.InsertPublish(sys);
            if (pubid > 0)
            {
                PubDBHelper.InsertMetaPub(meta.id, pubid, args.userId);
            }
        }
        /// <summary>
        /// 创建数据发布类
        /// </summary>
        private static SysPublish NewPublish(SysMeta meta, XYZArgs args)
        {
            SysPublish sp = new SysPublish();
            sp.name = meta.name;
            sp.url = GetReleaseUrl(meta, meta.verid);
            sp.type = meta.type;
            sp.status = 3;
            sp.dirid = meta.dircode;
            sp.depid = args.depcode;
            sp.min = 0;
            sp.max = 0;
            sp.json = null;
            sp.create_user = args.userId;
            sp.geom = null;
            sp.bak = null;
            return sp;
        }
        /// <summary>
        /// 移动文件
        /// </summary>
        private static void MoveFiles(List<SysMeta> metas)
        {
            string uploadFolder = Tool.GetSetting("uploadFolder");
            string sgFolder = Path.Combine(uploadFolder, "SG");
            if (!Directory.Exists(sgFolder)) Directory.CreateDirectory(sgFolder);
            List<string> list = new List<string>();
            foreach (SysMeta meta in metas)
            {
                string source = Path.Combine(uploadFolder, meta.path);
                File.Move(source, Path.Combine(sgFolder, meta.id + "_" + meta.name));
                if ("mpt".Equals(meta.type))
                {
                    string midx = Path.Combine(uploadFolder, meta.path.Replace(".mpt", ".midx"));
                    File.Move(midx, Path.Combine(sgFolder, meta.id + "_" + meta.name.Replace(".mpt", ".midx")));
                    string strmi = Path.Combine(uploadFolder, meta.path.Replace(".mpt", ".strmi"));
                    File.Move(strmi, Path.Combine(sgFolder, meta.id + "_" + meta.name.Replace(".mpt", ".strmi")));
                }
            }
        }
        #region 链接文件
        /// <summary>
        /// 链接文件
        /// </summary>
        private string LinkFiles(List<SysMeta> metas)
@@ -231,59 +314,6 @@
            if (!File.Exists(targetMidx)) list.Add(string.Format("mklink \"{0}\" \"{1}\"", targetMidx, midx));
            if (!File.Exists(targetStrmi)) list.Add(string.Format("mklink \"{0}\" \"{1}\"", targetStrmi, strmi));
        }
        /// <summary>
        /// 插入数据发布表
        /// </summary>
        private void InsertInto(List<SysMeta> list, List<SpatialItem> items, XYZArgs args)
        {
            foreach (SysMeta meta in list)
            {
                SpatialItem si = (from item in items where meta.name.Equals(item.Name) select item).First();
                if (null == si) continue;
                meta.verid = si.id;
                InsertToDB(meta, args);
            }
        }
        /// <summary>
        /// 插入数据库
        /// </summary>
        private static void InsertToDB(SysMeta meta, XYZArgs args)
        {
            if (PubDBHelper.IsPublish(meta.id)) return;
            SysPublish sys = NewPublish(meta, args);
            sys.path = meta.id + "\\" + meta.name;
            int pubid = PubDBHelper.InsertPublish(sys);
            if (pubid > 0)
            {
                PubDBHelper.InsertMetaPub(meta.id, pubid, args.userId);
            }
        }
        /// <summary>
        /// 创建数据发布类
        /// </summary>
        private static SysPublish NewPublish(SysMeta meta, XYZArgs args)
        {
            SysPublish sp = new SysPublish();
            sp.name = meta.name;
            sp.url = GetReleaseUrl(meta, meta.verid);
            sp.type = meta.type;
            sp.status = 3;
            sp.dirid = meta.dircode;
            sp.depid = args.depcode;
            sp.min = 0;
            sp.max = 0;
            sp.json = null;
            sp.create_user = args.userId;
            sp.geom = null;
            sp.bak = null;
            return sp;
        }
        #endregion
    }
}