| | |
| | | /// <summary> |
| | | /// 获取地形路径 |
| | | /// </summary> |
| | | public static string GetTerrainPath(XYZArgs args) |
| | | public static string GetTerrainPath(string dircode) |
| | | { |
| | | return Path.Combine(SGUtils.LFData, "3d\\terrain", args.dircode); |
| | | return Path.Combine(SGUtils.LFData, "3d\\terrain", dircode); |
| | | } |
| | | |
| | | /// <summary> |
| | |
| | | tifFile = Merge(args, ref err); |
| | | if (!File.Exists(tifFile)) return null; |
| | | |
| | | Generate(args, tifFile); |
| | | |
| | | Generate(args, tifFile, ref err); |
| | | Save(args); |
| | | |
| | | return null; |
| | | } |
| | |
| | | if (null == list || list.Count == 0) return null; |
| | | |
| | | txtFile = Path.Combine(Tools.TempDir, ExportUtil.DateStr + ".txt"); |
| | | string dirPath = GetTerrainPath(args); |
| | | string dirPath = GetTerrainPath(args.dircode); |
| | | if (!Directory.Exists(dirPath)) Directory.CreateDirectory(dirPath); |
| | | |
| | | string tifFile = Path.Combine(dirPath, args.dircode + ".tif"); |
| | |
| | | /// <summary> |
| | | /// 生成高程切片 |
| | | /// </summary> |
| | | private static void Generate(XYZArgs args, string tifFile) |
| | | private static void Generate(XYZArgs args, string tifFile, ref string err) |
| | | { |
| | | string dirPath = GetTerrainPath(args); |
| | | string dirPath = GetTerrainPath(args.dircode).Replace("\\", "/"); |
| | | string name = "ctb_" + ExportUtil.DateStr; |
| | | |
| | | string runDocker = string.Format("docker run -it --name {0} -v \"{1}\":\"/data\" tumgis/ctb-quantized-mesh", name, dirPath); |
| | | string createMesh = string.Format("ctb-tile -f Mesh -C -N -s {0} -e {1} -o /data /data/{2}.tif", args.max, args.min, args.dircode); |
| | | string createLayer = string.Format("ctb-tile -f Mesh -C -N -s {0} -e {1} -l -o /data /data/{0}.tif", args.max, args.min, args.dircode); |
| | | string exit = "exit"; |
| | | string rm = string.Format("docker rm {0}", name); |
| | | |
| | | List<string> list = new List<string> { runDocker, createMesh, createLayer, exit, rm }; |
| | | err = Tools.ExecCmd(list); |
| | | } |
| | | |
| | | /// <summary> |
| | | /// 保存 |
| | | /// </summary> |
| | | private static void Save(XYZArgs args) |
| | | { |
| | | |
| | | } |
| | | } |
| | | } |