| | |
| | | { |
| | | return ResponseMsg<string>.fail("令牌无效"); |
| | | } |
| | | if (string.IsNullOrWhiteSpace(args.dircode)) |
| | | { |
| | | return ResponseMsg<string>.fail("单位代码不能为空"); |
| | | } |
| | | |
| | | if (args.min < 0) args.min = 0; |
| | | if (args.min > 22) args.min = 22; |
| | | if (args.max < 0) args.max = 0; |
| | | if (args.max > 22) args.max = 22; |
| | | if (args.min > args.max) |
| | | { |
| | | int tmp = args.min; |
| | | args.min = args.max; |
| | | args.max = tmp; |
| | | } |
| | | |
| | | string err = null; |
| | | List<int> rs = TerraUtils.Generate(args, ref err); |
| | |
| | | /// <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) |
| | | { |
| | | |
| | | } |
| | | } |
| | | } |
| | |
| | | <title></title> |
| | | <script src="js/jquery.1.12.4.js"></script> |
| | | <script> |
| | | var token = "af7f814c-9f3d-4123-af04-70abb7d5a21c"; |
| | | var token = "c9530551-ebca-46bc-b8ea-25590153d1a3"; |
| | | |
| | | // Ajax |
| | | function ajax(url, type, data, dataType, contentType, fn) { |
| | |
| | | |
| | | // 测试Terra |
| | | function toTerra() { |
| | | var data = { token: token, ids: [7088, 7089, 7090], depcode: "00", dircode: "0C00000003", userId: 1 }; |
| | | var data = { token: token, ids: [7088, 7089, 7090], min: 4, max: 18, depcode: "00", dircode: "0C00000003", userId: 1, name: "astgtm2" }; |
| | | ajax("Convert/ToTerra", "POST", JSON.stringify(data), null, null, function (rs) { |
| | | alert("code = " + rs.code + ", msg = " + rs.msg + ", result = " + rs.result); |
| | | console.log(rs); |