From 30fcf79d96ae5e8923f5b78bcc1ec4ac56aa6ae6 Mon Sep 17 00:00:00 2001 From: 13693261870 <252740454@qq.com> Date: 星期三, 19 四月 2023 10:34:11 +0800 Subject: [PATCH] 1 --- ExportMap/cs/XYZUtils.cs | 2 +- ExportMap/Controllers/ConvertController.cs | 18 ++++++++++++++++-- ExportMap/Models/XYZArgs.cs | 5 +++++ ExportMap/Sources/xyz.py | 7 ++++--- 4 files changed, 26 insertions(+), 6 deletions(-) diff --git a/ExportMap/Controllers/ConvertController.cs b/ExportMap/Controllers/ConvertController.cs index 9f2d007..25aedd8 100644 --- a/ExportMap/Controllers/ConvertController.cs +++ b/ExportMap/Controllers/ConvertController.cs @@ -67,11 +67,25 @@ { return ResponseMsg<string>.fail("浠ょ墝鏃犳晥"); } - if (args.min < 0 || args.max > 20 || args.min > args.max || string.IsNullOrWhiteSpace(args.dircode)) + if (string.IsNullOrWhiteSpace(args.dircode)) { - return ResponseMsg<string>.fail("杈撳叆鐨勫弬鏁版湁璇�"); + return ResponseMsg<string>.fail("鍗曚綅浠g爜涓嶈兘涓虹┖"); } + 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; + } + + if (args.noData < 0) args.noData = 0; + if (args.noData > 255) args.noData = 255; + string err = null; List<int> rs = XYZUtils.Generate(args, ref err); if (null == rs || rs.Count == 0) diff --git a/ExportMap/Models/XYZArgs.cs b/ExportMap/Models/XYZArgs.cs index 87553f9..a77f071 100644 --- a/ExportMap/Models/XYZArgs.cs +++ b/ExportMap/Models/XYZArgs.cs @@ -41,6 +41,11 @@ public int max { set; get; } /// <summary> + /// 鏃犳暟鎹� + /// </summary> + public int noData { set; get; } + + /// <summary> /// 鏁版嵁鐩綍缂栫爜 /// </summary> public string dircode { set; get; } diff --git a/ExportMap/Sources/xyz.py b/ExportMap/Sources/xyz.py index 1bb5aae..30a053c 100644 --- a/ExportMap/Sources/xyz.py +++ b/ExportMap/Sources/xyz.py @@ -28,10 +28,11 @@ parser = argparse.ArgumentParser(description='ArgUtils') parser.add_argument("-src", type=str, default=get_full_path(), required=False) parser.add_argument("-qgz", type=str, default=r"xyz.qgz", required=False) - 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("-file", type=str, default=r"D:\xyz\4.5g\tif.txt", required=False) + parser.add_argument("-out", type=str, default=r"D:\xyz\4.5g\png", required=False) parser.add_argument("-min", type=int, default=12, required=False) parser.add_argument("-max", type=int, default=18, required=False) + parser.add_argument("-noData", type=int, default=0, required=False) return parser.parse_args() @@ -68,7 +69,7 @@ prj.setCrs(layer.crs()) for j in range(1, layer.bandCount() + 1): - layer.dataProvider().setNoDataValue(j, 0) + layer.dataProvider().setNoDataValue(j, args.noData) prj.addMapLayer(layer) diff --git a/ExportMap/cs/XYZUtils.cs b/ExportMap/cs/XYZUtils.cs index dc814b4..b9fddfd 100644 --- a/ExportMap/cs/XYZUtils.cs +++ b/ExportMap/cs/XYZUtils.cs @@ -92,7 +92,7 @@ WriteText(tifFile, list); - string cmd = string.Format("python \"{0}\" -qgz {1} -file \"{2}\" -out \"{3}\" -min {4} -max {5}", PyFile, Qgz, tifFile, xyzPath, args.min, args.max); + string cmd = string.Format("python \"{0}\" -qgz {1} -file \"{2}\" -out \"{3}\" -min {4} -max {5} -noData {6}", PyFile, Qgz, tifFile, xyzPath, args.min, args.max, args.noData); //err = Tools.ExecCmd(GetCmds(batFile, cmd)); err = Tools.ExecCmd(cmd, true); -- Gitblit v1.9.3