using ExportMap.cs; using ExportMap.Models; using System; using System.Collections.Generic; using System.Linq; using System.Net; using System.Net.Http; using System.Web.Http; namespace ExportMap.Controllers { public class ConvertController : ApiController { /// /// 转换为Tileset /// [HttpPost] public ResponseMsg ToTileset([FromBody]XYZArgs args) { try { if (null == args || null == args.ids || args.ids.Count == 0) { return ResponseMsg.fail("请输入元数据ID"); } if (string.IsNullOrWhiteSpace(args.token)) { return ResponseMsg.fail("没有令牌"); } if (!ExportUtil.VerifyToken(args.token)) { return ResponseMsg.fail("令牌无效"); } List rs = ConvertUtils.Convert(args); if (null == rs || rs.Count == 0) { return ResponseMsg.fail("失败"); } return ResponseMsg.success("成功", string.Join(",", rs), rs.Count); } catch (Exception ex) { LogOut.Error(ex.Message + "\r\n" + ex.StackTrace); return ResponseMsg.fail(ex.Message); } } /// /// 转换为瓦片 /// [HttpPost] public ResponseMsg ToTiles([FromBody]XYZArgs args) { try { if (null == args || null == args.ids || args.ids.Count == 0) { return ResponseMsg.fail("请输入元数据ID"); } if (string.IsNullOrWhiteSpace(args.token)) { return ResponseMsg.fail("没有令牌"); } if (!ExportUtil.VerifyToken(args.token)) { return ResponseMsg.fail("令牌无效"); } if (string.IsNullOrWhiteSpace(args.dircode)) { return ResponseMsg.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; } if (args.noData < 0) args.noData = 0; if (args.noData > 255) args.noData = 255; string err = null; List rs = XYZUtils.Generate(args, ref err); if (null == rs || rs.Count == 0) { return ResponseMsg.fail(null == err ? "失败" : err); } return ResponseMsg.success("成功", string.Join(",", rs), rs.Count); } catch (Exception ex) { LogOut.Error(ex.Message + "\r\n" + ex.StackTrace); return ResponseMsg.fail(ex.Message); } } /// /// 转换为瓦片 /// [HttpPost] public ResponseMsg ToSG([FromBody]XYZArgs args) { try { if (null == args || null == args.ids || args.ids.Count == 0) { return ResponseMsg.fail("请输入元数据ID"); } if (string.IsNullOrWhiteSpace(args.token)) { return ResponseMsg.fail("没有令牌"); } if (!ExportUtil.VerifyToken(args.token)) { return ResponseMsg.fail("令牌无效"); } SGUtils utils = new SGUtils(); string err = null; List rs = utils.Release(args, ref err); if (null == rs || rs.Count == 0) { return ResponseMsg.fail(null == err ? "失败" : err); } return ResponseMsg.success("成功", string.Join(",", rs), rs.Count); } catch (Exception ex) { LogOut.Error(ex.Message + "\r\n" + ex.StackTrace); return ResponseMsg.fail(ex.Message); } } /// /// 转换为地形 /// [HttpPost] public ResponseMsg ToTerra([FromBody]XYZArgs args) { try { if (null == args || null == args.ids || args.ids.Count == 0) { return ResponseMsg.fail("请输入元数据ID"); } if (string.IsNullOrWhiteSpace(args.token)) { return ResponseMsg.fail("没有令牌"); } if (!ExportUtil.VerifyToken(args.token)) { return ResponseMsg.fail("令牌无效"); } string err = null; List rs = TerraUtils.Generate(args, ref err); if (null == rs || rs.Count == 0) { return ResponseMsg.fail(null == err ? "失败" : err); } return ResponseMsg.success("成功", string.Join(",", rs), rs.Count); } catch (Exception ex) { LogOut.Error(ex.Message + "\r\n" + ex.StackTrace); return ResponseMsg.fail(ex.Message); } } } }