From 84580a66aa12a0d7832eec116dbbb8bfd1e2364e Mon Sep 17 00:00:00 2001 From: 13693261870 <252740454@qq.com> Date: 星期日, 19 二月 2023 10:59:59 +0800 Subject: [PATCH] 1 --- src/main/java/com/lf/server/controller/data/WmtsController.java | 50 +++++++++++++++++++++++++++++++++++--------------- 1 files changed, 35 insertions(+), 15 deletions(-) diff --git a/src/main/java/com/lf/server/controller/data/WmtsController.java b/src/main/java/com/lf/server/controller/data/WmtsController.java index 5a82156..d72e3d4 100644 --- a/src/main/java/com/lf/server/controller/data/WmtsController.java +++ b/src/main/java/com/lf/server/controller/data/WmtsController.java @@ -1,20 +1,16 @@ package com.lf.server.controller.data; import com.lf.server.annotation.SysLog; -import com.lf.server.entity.all.StaticData; -import com.lf.server.helper.GdalHelper; -import com.lf.server.helper.StringHelper; +import com.lf.server.config.PropertiesConfig; import io.swagger.annotations.Api; import io.swagger.annotations.ApiImplicitParam; import io.swagger.annotations.ApiImplicitParams; import io.swagger.annotations.ApiOperation; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.core.io.ClassPathResource; -import org.springframework.web.bind.annotation.GetMapping; -import org.springframework.web.bind.annotation.PathVariable; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; +import org.springframework.web.bind.annotation.*; import javax.servlet.ServletOutputStream; import javax.servlet.http.HttpServletRequest; @@ -30,19 +26,19 @@ @RestController @RequestMapping("/wmts") public class WmtsController { + @Autowired + PropertiesConfig config; + private final static Log log = LogFactory.getLog(WmtsController.class); @SysLog() - @ApiOperation(value = "鏌ヨWMTS鍏冩暟鎹�") + @ApiOperation(value = "鑾峰彇WMTS鍏冩暟鎹�") @ApiImplicitParams({ - @ApiImplicitParam(name = "token", value = "浠ょ墝", dataType = "String", required = true, defaultValue = "token", paramType = "path")}) - @GetMapping("select/metas/{token}") - public void selectMetas(String service, String version, String request, @PathVariable(name = "token") String token, HttpServletRequest req, HttpServletResponse res) { + @ApiImplicitParam(name = "token", value = "浠ょ墝", required = true, dataType = "String", defaultValue = "token", paramType = "path") + }) + @GetMapping("select/{token}/WMTSCapabilities.xml") + public void selectWmtsCapabilities(@PathVariable(name = "token") String token, HttpServletRequest req, HttpServletResponse res) { try { - if (!StaticData.WMTS.equals(service) || !StaticData.CAPABILITY.equals(request)) { - return; - } - ClassPathResource resource = new ClassPathResource("wmts/web.xml"); if (!resource.exists()) { return; @@ -53,7 +49,10 @@ stream.read(data); stream.close(); + String url = req.getRequestURL().toString().replace("WMTSCapabilities.xml", "tile"); + String result = new String(data, StandardCharsets.UTF_8); + result = result.replace("{url}", url); byte[] bytes = result.getBytes(StandardCharsets.UTF_8); res.setHeader("Content-Type", "application/xml;charset=UTF-8"); @@ -64,4 +63,25 @@ log.error(ex.getMessage(), ex); } } + + @ApiOperation(value = "鑾峰彇WMTS鐡︾墖") + @ApiImplicitParams({ + @ApiImplicitParam(name = "token", value = "浠ょ墝", required = true, dataType = "String", defaultValue = "token", paramType = "path"), + @ApiImplicitParam(name = "layer", value = "鍥惧眰绫诲瀷", required = true, dataType = "String", defaultValue = "TDTIMG"), + @ApiImplicitParam(name = "tilematrix", value = "灞傜骇", required = true, dataType = "Integer"), + @ApiImplicitParam(name = "tilerow", value = "琛屽彿", required = true, dataType = "Integer"), + @ApiImplicitParam(name = "tilecol", value = "鍒楀彿", required = true, dataType = "Integer") + }) + @GetMapping("select/{token}/tile") + public void selectWmtsTile(@RequestParam("layer") String layer, @RequestParam("tilematrix") Integer l, @RequestParam("tilerow") Integer r, + @RequestParam("tilecol") Integer c, @RequestParam("format") String format, @PathVariable(name = "token") String token, + HttpServletRequest req, HttpServletResponse res) { + try { + // ServletServerHttpRequest ssRequest = new ServletServerHttpRequest(request) + String base = config.getTilePath(); + + } catch (Exception ex) { + log.error(ex.getMessage(), ex); + } + } } -- Gitblit v1.9.3