| | |
| | | err = ex.Message; |
| | | return null; |
| | | } |
| | | finally |
| | | /*finally |
| | | { |
| | | if (!string.IsNullOrEmpty(tifFile) && File.Exists(tifFile)) File.Delete(tifFile); |
| | | } |
| | | }*/ |
| | | } |
| | | |
| | | /// <summary> |
| | |
| | | if (!Directory.Exists(dirPath)) Directory.CreateDirectory(dirPath); |
| | | |
| | | string tifFile = Path.Combine(dirPath, args.dircode + ".tif"); |
| | | if (File.Exists(tifFile)) File.Delete(tifFile); |
| | | //if (File.Exists(tifFile)) File.Delete(tifFile); |
| | | |
| | | WriteText(txtFile, metas); |
| | | |
| | |
| | | string str = string.Join("\r\n", files); |
| | | |
| | | File.WriteAllText(txtFile, str); |
| | | } |
| | | |
| | | /// <summary> |
| | | /// 生成高程切片 * |
| | | /// </summary> |
| | | private static void Generate(XYZArgs args, string tifFile, ref string err) |
| | | { |
| | | string dirPath = GetTerrainPath(args.dircode).Replace("\\", "/"); |
| | | string name = "ctb_" + ExportUtil.DateStr; |
| | | |
| | | string runDocker = string.Format("docker run -id --name {0} -v \"{1}\":\"/data\" tumgis/ctb-quantized-mesh", name, dirPath); |
| | | string createMesh = string.Format("docker exec {0} ctb-tile -f Mesh -C -N -s {1} -e {2} -o /data /data/{3}.tif", name, args.max, args.min, args.dircode); // Mesh, Terrain |
| | | string createLayer = string.Format("docker exec {0} ctb-tile -f Mesh -C -N -s {1} -e {2} -l -o /data /data/{3}.tif", name, args.max, args.min, args.dircode); // Mesh, Terrain |
| | | string stop = string.Format("docker stop {0}", name); |
| | | string rm = string.Format("docker rm {0}", name); |
| | | |
| | | List<string> list = new List<string> { runDocker, createMesh, createLayer, stop, rm }; |
| | | err = Tools.ExecCmd(list); |
| | | } |
| | | |
| | | /// <summary> |
| | |
| | | /// </summary> |
| | | private static int InsertToDB(List<SysMeta> metas, XYZArgs args) |
| | | { |
| | | if (PubDBHelper.IsPublish(args.dircode, "DEM")) return 1; |
| | | //if (PubDBHelper.IsPublish(args.dircode, "DEM")) return 1; |
| | | int pubid = PubDBHelper.GetPushlishId(args.dircode, "DEM"); |
| | | if (pubid > 0) // 更新发布 |
| | | { |
| | | List<int> ids = PubDBHelper.GetPublishMetaId(pubid); |
| | | foreach (SysMeta m in metas) |
| | | { |
| | | if (!ids.Contains(m.id)) PubDBHelper.InsertMetaPub(m.id, pubid, args.userId); |
| | | } |
| | | return pubid; |
| | | } |
| | | |
| | | SysMeta meta = metas[0]; |
| | | meta.type = "DEM"; |
| | |
| | | SysPublish sys = Tools.NewPublish(meta, args, GetReleaseUrl(args.dircode), "3d\\terrain\\" + args.dircode); |
| | | sys.geom = GetPointZ(args); |
| | | |
| | | int pubid = PubDBHelper.InsertPublish(sys); |
| | | pubid = PubDBHelper.InsertPublish(sys); |
| | | if (pubid > 0) |
| | | { |
| | | sys.id = pubid; |
| | |
| | | |
| | | return string.Format("ST_GeomFromText('POINT Z ({0} {1} {2})')", str[1], str[0], i); |
| | | } |
| | | |
| | | /*/// <summary> |
| | | /// 生成高程切片 * |
| | | /// </summary> |
| | | private static void Generate(XYZArgs args, string tifFile, ref string err) |
| | | { |
| | | string dirPath = GetTerrainPath(args.dircode).Replace("\\", "/"); |
| | | string name = "ctb_" + ExportUtil.DateStr; |
| | | |
| | | string runDocker = string.Format("docker run -id --name {0} -v \"{1}\":\"/data\" tumgis/ctb-quantized-mesh", name, dirPath); |
| | | string createMesh = string.Format("docker exec {0} ctb-tile -f Mesh -C -N -s {1} -e {2} -o /data /data/{3}.tif", name, args.max, args.min, args.dircode); // Mesh, Terrain |
| | | string createLayer = string.Format("docker exec {0} ctb-tile -f Mesh -C -N -s {1} -e {2} -l -o /data /data/{3}.tif", name, args.max, args.min, args.dircode); // Mesh, Terrain |
| | | string stop = string.Format("docker stop {0}", name); |
| | | string rm = string.Format("docker rm {0}", name); |
| | | |
| | | List<string> list = new List<string> { runDocker, createMesh, createLayer, stop, rm }; |
| | | err = Tools.ExecCmd(list); |
| | | }*/ |
| | | } |
| | | } |