| | |
| | | return ResponseMsg<int>.fail("令牌无效"); |
| | | } |
| | | |
| | | int count = ConvertUtils.Convert(args.ids); |
| | | int count = ConvertUtils.Convert(args); |
| | | if (0 == count) |
| | | { |
| | | return ResponseMsg<int>.fail("失败"); |
| | |
| | | public string token { set; get; } |
| | | |
| | | /// <summary> |
| | | /// 名称 |
| | | /// </summary> |
| | | public string name { set; get; } |
| | | |
| | | /// <summary> |
| | | /// 用户ID |
| | | /// </summary> |
| | | public int userId { set; get; } |
| | | |
| | | /// <summary> |
| | | /// 地图最小级别 |
| | | /// </summary> |
| | | public int min { set; get; } |
| | |
| | | public string dircode { set; get; } |
| | | |
| | | /// <summary> |
| | | /// 单位目录编码 |
| | | /// </summary> |
| | | public string depcode { set; get; } |
| | | |
| | | /// <summary> |
| | | /// 元数据ID集合 |
| | | /// </summary> |
| | | public List<int> ids { set; get; } |
| | |
| | | /// <summary> |
| | | /// 模型转换 |
| | | /// </summary> |
| | | public static int Convert(List<int> ids) |
| | | public static int Convert(XYZArgs args) |
| | | { |
| | | int count = 0; |
| | | string uploadFolder = Tool.GetSetting("uploadFolder"); |
| | | string tilesFolder = Path.Combine(Tool.GetSetting("lfData"), "3d\\3dtiles"); |
| | | |
| | | List<SysMeta> list = XYZUtils.selectMetas(ids, "and type in ('ifc', 'fbx', 'rvt')"); |
| | | List<SysMeta> list = XYZUtils.selectMetas(args.ids, "and type in ('ifc', 'fbx', 'rvt')"); |
| | | if (null == list || list.Count == 0) return 0; |
| | | |
| | | foreach (SysMeta meta in list) |
| | |
| | | ExecNavisworks(modelFile, configFile); |
| | | |
| | | File.Delete(configFile); |
| | | count += File.Exists(jsonFile) ? 1 : 0; |
| | | if (File.Exists(jsonFile)) |
| | | { |
| | | string path = jsonFile.Replace(Tool.GetSetting("lfData") + "\\", ""); |
| | | InsertToDB(meta, args, path); |
| | | |
| | | string path = jsonFile.Replace(Tool.GetSetting("lfData") + "\\", ""); |
| | | InsertToDB(meta, path); |
| | | count++; |
| | | } |
| | | } |
| | | |
| | | return count; |
| | |
| | | /// <summary> |
| | | /// 插入数据库 |
| | | /// </summary> |
| | | private static void InsertToDB(SysMeta meta, string path) |
| | | private static void InsertToDB(SysMeta meta, XYZArgs args, string path) |
| | | { |
| | | if (PubDBHelper.IsPublish(meta.id)) return; |
| | | |
| | | SysPublish sys = NewPublish(meta); |
| | | SysPublish sys = NewPublish(meta, args); |
| | | sys.path = path; |
| | | |
| | | int pubid = PubDBHelper.InsertPublish(sys); |
| | |
| | | /// <summary> |
| | | /// 创建数据发布类 |
| | | /// </summary> |
| | | private static SysPublish NewPublish(SysMeta meta) |
| | | private static SysPublish NewPublish(SysMeta meta, XYZArgs args) |
| | | { |
| | | SysPublish sp = new SysPublish(); |
| | | sp.name = meta.name; |
| | |
| | | sp.type = meta.type; |
| | | sp.status = 3; |
| | | sp.dirid = meta.dircode; |
| | | sp.depid = meta.depcode; |
| | | sp.depid = args.depcode; |
| | | sp.min = 0; |
| | | sp.max = 0; |
| | | sp.json = null; |
| | | sp.create_user = meta.create_user; |
| | | sp.create_user = args.userId; |
| | | sp.geom = null; |
| | | sp.bak = null; |
| | | |
| | |
| | | List<SpatialItem> items = SelectItems(maxId); |
| | | if (null == items || items.Count == 0) continue; |
| | | |
| | | InsertInto(list, items); |
| | | InsertInto(list, items, args); |
| | | count = items.Count; |
| | | break; |
| | | } |
| | |
| | | /// <summary> |
| | | /// 插入数据发布表 |
| | | /// </summary> |
| | | private void InsertInto(List<SysMeta> list, List<SpatialItem> items) |
| | | private void InsertInto(List<SysMeta> list, List<SpatialItem> items, XYZArgs args) |
| | | { |
| | | foreach (SysMeta meta in list) |
| | | { |
| | |
| | | if (null == si) continue; |
| | | |
| | | meta.verid = si.id; |
| | | InsertToDB(meta); |
| | | InsertToDB(meta, args); |
| | | } |
| | | } |
| | | |
| | | /// <summary> |
| | | /// 插入数据库 |
| | | /// </summary> |
| | | private static void InsertToDB(SysMeta meta) |
| | | private static void InsertToDB(SysMeta meta, XYZArgs args) |
| | | { |
| | | if (PubDBHelper.IsPublish(meta.id)) return; |
| | | |
| | | SysPublish sys = NewPublish(meta); |
| | | SysPublish sys = NewPublish(meta, args); |
| | | sys.path = meta.id + "\\" + meta.name; |
| | | |
| | | int pubid = PubDBHelper.InsertPublish(sys); |
| | |
| | | /// <summary> |
| | | /// 创建数据发布类 |
| | | /// </summary> |
| | | private static SysPublish NewPublish(SysMeta meta) |
| | | private static SysPublish NewPublish(SysMeta meta, XYZArgs args) |
| | | { |
| | | SysPublish sp = new SysPublish(); |
| | | sp.name = meta.name; |
| | |
| | | sp.type = meta.type; |
| | | sp.status = 3; |
| | | sp.dirid = meta.dircode; |
| | | sp.depid = meta.depcode; |
| | | sp.depid = args.depcode; |
| | | sp.min = 0; |
| | | sp.max = 0; |
| | | sp.json = null; |
| | | sp.create_user = meta.create_user; |
| | | sp.create_user = args.userId; |
| | | sp.geom = null; |
| | | sp.bak = null; |
| | | |
| | |
| | | /// <summary> |
| | | /// 获取发布地址 |
| | | /// </summary> |
| | | public static string GetReleaseUrl(XYZArgs args) |
| | | public static string GetReleaseUrl(string dircode) |
| | | { |
| | | return "http://{host}/LFData/2d/tiles/" + args.dircode + "/{z}/{x}/{y}.png"; |
| | | return "http://{host}/LFData/2d/tiles/" + dircode + "/{z}/{x}/{y}.png"; |
| | | } |
| | | |
| | | /// <summary> |
| | |
| | | err = ExecCmd(cmd); |
| | | |
| | | if (File.Exists(tifFile)) File.Delete(tifFile); |
| | | |
| | | string viewFile = Path.Combine(xyzPath, "view.html"); |
| | | if (File.Exists(viewFile)) |
| | | { |
| | | string path = ""; |
| | | InsertToDB(list, args, path); |
| | | return 1; |
| | | } |
| | | |
| | | return File.Exists(viewFile) ? 1 : 0; |
| | | return 0; |
| | | } |
| | | |
| | | /// <summary> |
| | |
| | | |
| | | return str; |
| | | } |
| | | |
| | | /// <summary> |
| | | /// 插入数据库 |
| | | /// </summary> |
| | | private static void InsertToDB(List<SysMeta> metas, XYZArgs args, string path) |
| | | { |
| | | if (PubDBHelper.IsPublish(args.dircode)) return; |
| | | |
| | | SysPublish sys = NewPublish(metas[0], args); |
| | | sys.path = path; |
| | | |
| | | int pubid = PubDBHelper.InsertPublish(sys); |
| | | if (pubid > 0) |
| | | { |
| | | //PubDBHelper.InsertMetaPub(meta.id, pubid); |
| | | } |
| | | } |
| | | |
| | | /// <summary> |
| | | /// 创建数据发布类 |
| | | /// </summary> |
| | | private static SysPublish NewPublish(SysMeta meta, XYZArgs args) |
| | | { |
| | | SysPublish sp = new SysPublish(); |
| | | sp.name = args.name; |
| | | sp.url = GetReleaseUrl(args.dircode); |
| | | sp.type = "DOM"; |
| | | sp.status = 3; |
| | | sp.dirid = args.dircode; |
| | | sp.depid = args.depcode; |
| | | sp.min = args.min; |
| | | sp.max = args.max; |
| | | sp.json = null; |
| | | sp.create_user = args.userId; |
| | | sp.geom = null; |
| | | sp.bak = null; |
| | | |
| | | return sp; |
| | | } |
| | | } |
| | | } |