From 83cfcab6774fef02fb9a19745cab044c0b7a2d1a Mon Sep 17 00:00:00 2001
From: 13693261870 <252740454@qq.com>
Date: 星期日, 19 二月 2023 09:29:12 +0800
Subject: [PATCH] 1

---
 src/main/resources/wmts/web.xml                                 |  438 ++++++++++++++++++++++++++++++++++++++++++++++++
 src/main/java/com/lf/server/controller/data/DirController.java  |    1 
 src/main/java/com/lf/server/entity/all/StaticData.java          |   12 +
 src/main/resources/wmts/empty.png                               |    0 
 src/main/resources/wmts/Layer.xml                               |   15 +
 src/main/java/com/lf/server/controller/data/WmtsController.java |   67 +++++++
 src/main/resources/wmts/nofound.png                             |    0 
 7 files changed, 531 insertions(+), 2 deletions(-)

diff --git a/src/main/java/com/lf/server/controller/data/DirController.java b/src/main/java/com/lf/server/controller/data/DirController.java
index 6b6cfae..7c30d02 100644
--- a/src/main/java/com/lf/server/controller/data/DirController.java
+++ b/src/main/java/com/lf/server/controller/data/DirController.java
@@ -5,7 +5,6 @@
 import com.lf.server.entity.all.ResponseMsg;
 import com.lf.server.entity.data.DirEntity;
 import com.lf.server.entity.sys.UserEntity;
-import com.lf.server.helper.StringHelper;
 import com.lf.server.service.data.DirService;
 import com.lf.server.service.sys.TokenService;
 import io.swagger.annotations.Api;
diff --git a/src/main/java/com/lf/server/controller/data/WmtsController.java b/src/main/java/com/lf/server/controller/data/WmtsController.java
new file mode 100644
index 0000000..5a82156
--- /dev/null
+++ b/src/main/java/com/lf/server/controller/data/WmtsController.java
@@ -0,0 +1,67 @@
+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 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.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 javax.servlet.ServletOutputStream;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+import java.io.InputStream;
+import java.nio.charset.StandardCharsets;
+
+/**
+ * WMTS鏈嶅姟
+ * @author WWW
+ */
+@Api(tags = "鏁版嵁绠$悊\\WMTS鏈嶅姟")
+@RestController
+@RequestMapping("/wmts")
+public class WmtsController {
+    private final static Log log = LogFactory.getLog(WmtsController.class);
+
+    @SysLog()
+    @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) {
+        try {
+            if (!StaticData.WMTS.equals(service) || !StaticData.CAPABILITY.equals(request)) {
+                return;
+            }
+
+            ClassPathResource resource = new ClassPathResource("wmts/web.xml");
+            if (!resource.exists()) {
+                return;
+            }
+
+            InputStream stream = resource.getInputStream();
+            byte[] data = new byte[stream.available()];
+            stream.read(data);
+            stream.close();
+
+            String result = new String(data, StandardCharsets.UTF_8);
+            byte[] bytes = result.getBytes(StandardCharsets.UTF_8);
+
+            res.setHeader("Content-Type", "application/xml;charset=UTF-8");
+            ServletOutputStream os = res.getOutputStream();
+            os.write(bytes);
+            os.flush();
+        } catch (Exception ex) {
+            log.error(ex.getMessage(), ex);
+        }
+    }
+}
diff --git a/src/main/java/com/lf/server/entity/all/StaticData.java b/src/main/java/com/lf/server/entity/all/StaticData.java
index 98557ea..7fd3a8d 100644
--- a/src/main/java/com/lf/server/entity/all/StaticData.java
+++ b/src/main/java/com/lf/server/entity/all/StaticData.java
@@ -12,7 +12,7 @@
     /**
      * 鏉冮檺鎺掗櫎璺緞锛�/proxy锛岃姹傚叏閮ㄥ皬鍐�
      */
-    public static String[] EXCLUDE_PATH = new String[]{"/swagger", "/sign/", "/fmeit/", "/perms/", "/floatserver/", "/error"};
+    public static String[] EXCLUDE_PATH = new String[]{"/swagger", "/sign/", "/fmeit/", "/perms/", "/floatserver/", "/error", "/wmts/select"};
 
     /**
      * 鏁板�硷細4
@@ -135,6 +135,16 @@
     public final static String TIFF = ".tiff";
 
     /**
+     * WMTS
+     */
+    public final static String WMTS = "WMTS";
+
+    /**
+     * GetCapabilities
+     */
+    public final static String CAPABILITY = "GetCapabilities";
+
+    /**
      * 鐗堟湰鍙�
      */
     public final static String VERSION = "1.0.0";
diff --git a/src/main/resources/wmts/Layer.xml b/src/main/resources/wmts/Layer.xml
new file mode 100644
index 0000000..601b888
--- /dev/null
+++ b/src/main/resources/wmts/Layer.xml
@@ -0,0 +1,15 @@
+<?xml version="1.0"?>
+<TileLayer xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
+  <Levels>
+    <Level lmin="0" lmax="18">
+      <Base>
+        <HttpTile ImageExtension="png" HttpModle="NoSave" Url="" CathePath="" LayerName="TDTCIA" Number="2" />
+      </Base>
+      <Ext>
+      </Ext>
+    </Level>
+  </Levels>
+  <TileName>TDTCIA</TileName>
+  <EmptyPath></EmptyPath>
+  <isCheckToken>false</isCheckToken>
+</TileLayer>
\ No newline at end of file
diff --git a/src/main/resources/wmts/empty.png b/src/main/resources/wmts/empty.png
new file mode 100644
index 0000000..1da67ce
--- /dev/null
+++ b/src/main/resources/wmts/empty.png
Binary files differ
diff --git a/src/main/resources/wmts/nofound.png b/src/main/resources/wmts/nofound.png
new file mode 100644
index 0000000..e49fa68
--- /dev/null
+++ b/src/main/resources/wmts/nofound.png
Binary files differ
diff --git a/src/main/resources/wmts/web.xml b/src/main/resources/wmts/web.xml
new file mode 100644
index 0000000..3e24633
--- /dev/null
+++ b/src/main/resources/wmts/web.xml
@@ -0,0 +1,438 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<Capabilities
+    xsi:schemaLocation="http://www.opengis.net/wmts/1.0 http://schemas.opengis.net/wmts/1.0.0/wmtsGetCapabilities_response.xsd"
+    version="1.0.0" xmlns="http://www.opengis.net/wmts/1.0"
+    xmlns:ows="http://www.opengis.net/ows/1.1"
+    xmlns:gml="http://www.opengis.net/gml"
+    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xlink="http://www.w3.org/1999/xlink">
+  <ows:ServiceIdentification>
+    <ows:Title>Online Map  Service</ows:Title>
+    <ows:Abstract>Base on OGC 1.0.0</ows:Abstract>
+    <ows:Keywords>
+      <ows:Keyword>OGC</ows:Keyword>
+    </ows:Keywords>
+    <ows:ServiceType codeSpace="wmts">OGC WMTS</ows:ServiceType>
+    <ows:ServiceTypeVersion>1.0.0</ows:ServiceTypeVersion>
+    <ows:Fees>none</ows:Fees>
+    <ows:AccessConstraints>none</ows:AccessConstraints>
+  </ows:ServiceIdentification>
+  <ows:ServiceProvider>
+    <ows:ProviderName>A4@PetroChina</ows:ProviderName>
+    <ows:ProviderSite>http://a4.petrochina</ows:ProviderSite>
+    <ows:ServiceContact>
+      <ows:IndividualName>Mr SHU</ows:IndividualName>
+      <ows:PositionName>Software Engineer</ows:PositionName>
+      <ows:ContactInfo>
+        <ows:Phone>
+          <ows:Voice>010-63881107</ows:Voice>
+          <ows:Facsimile>010-63881107</ows:Facsimile>
+        </ows:Phone>
+        <ows:Address>
+          <ows:DeliveryPoint>BEIJING DONG SI SHI TIAO Nan Xin Chang Shang Wu Da Sha</ows:DeliveryPoint>
+          <ows:City>BEIJING</ows:City>
+          <ows:AdministrativeArea>BEIJING</ows:AdministrativeArea>
+          <ows:Country>CHINA</ows:Country>
+          <ows:PostalCode>100830</ows:PostalCode>
+          <ows:ElectronicMailAddress>a4@petrochina.com.cn</ows:ElectronicMailAddress>
+        </ows:Address>
+        <ows:OnlineResource xlink:type="simple" xlink:href="http://a4.petrochina"/>
+      </ows:ContactInfo>
+    </ows:ServiceContact>
+  </ows:ServiceProvider>
+  <ows:OperationsMetadata>
+    <ows:Operation name="GetCapabilities">
+      <ows:DCP>
+        <ows:HTTP>
+          <ows:Get xlink:href="<a4url>">
+            <ows:Constraint name="GetEncoding">
+              <ows:AllowedValues>
+                <ows:Value>KVP</ows:Value>
+              </ows:AllowedValues>
+            </ows:Constraint>
+          </ows:Get>
+        </ows:HTTP>
+      </ows:DCP>
+    </ows:Operation>
+    <ows:Operation name="GetTile">
+      <ows:DCP>
+        <ows:HTTP>
+          <ows:Get xlink:href="<a4url>">
+            <ows:Constraint name="GetEncoding">
+              <ows:AllowedValues>
+                <ows:Value>KVP</ows:Value>
+              </ows:AllowedValues>
+            </ows:Constraint>
+          </ows:Get>
+        </ows:HTTP>
+      </ows:DCP>
+    </ows:Operation>
+  </ows:OperationsMetadata>
+  <Contents>
+    <Layer>
+      <ows:Title>鏁板瓧绾垮垝鍥�(DLG)</ows:Title>
+      <ows:Abstract>TDTVEC</ows:Abstract>
+      <ows:Identifier>TDTVEC</ows:Identifier>
+      <ows:WGS84BoundingBox crs="urn:ogc:def:crs:OGC:2:84">
+        <ows:LowerCorner>-180.0 -85.0</ows:LowerCorner>
+        <ows:UpperCorner>180.0 85.0</ows:UpperCorner>
+      </ows:WGS84BoundingBox>
+      <Style>
+        <ows:Identifier>default</ows:Identifier>
+      </Style>
+      <Format>image/png</Format>
+      <TileMatrixSetLink>
+        <TileMatrixSet>w</TileMatrixSet>
+      </TileMatrixSetLink>
+    </Layer>
+    <Layer>
+      <ows:Title>鏁板瓧绾垮垝鍥炬敞璁�(DLG)</ows:Title>
+      <ows:Abstract>TDTCVA</ows:Abstract>
+      <ows:Identifier>TDTCVA</ows:Identifier>
+      <ows:WGS84BoundingBox crs="urn:ogc:def:crs:OGC:2:84">
+        <ows:LowerCorner>-180.0 -85.0</ows:LowerCorner>
+        <ows:UpperCorner>180.0 85.0</ows:UpperCorner>
+      </ows:WGS84BoundingBox>
+      <Style>
+        <ows:Identifier>default</ows:Identifier>
+      </Style>
+      <Format>image/png</Format>
+      <TileMatrixSetLink>
+        <TileMatrixSet>w</TileMatrixSet>
+      </TileMatrixSetLink>
+    </Layer>
+    <Layer>
+      <ows:Title>鏁板瓧绾垮垝娣峰悎鍥惧眰(DLG)</ows:Title>
+      <ows:Abstract>VECMIX</ows:Abstract>
+      <ows:Identifier>VECMIX</ows:Identifier>
+      <ows:WGS84BoundingBox crs="urn:ogc:def:crs:OGC:2:84">
+        <ows:LowerCorner>-180.0 -85.0</ows:LowerCorner>
+        <ows:UpperCorner>180.0 85.0</ows:UpperCorner>
+      </ows:WGS84BoundingBox>
+      <Style>
+        <ows:Identifier>default</ows:Identifier>
+      </Style>
+      <Format>image/png</Format>
+      <TileMatrixSetLink>
+        <TileMatrixSet>w</TileMatrixSet>
+      </TileMatrixSetLink>
+    </Layer>
+    <Layer>
+      <ows:Title>鏁板瓧姝e皠褰卞儚鍥�(DOM)</ows:Title>
+      <ows:Abstract>TDTIMG</ows:Abstract>
+      <ows:Identifier>TDTIMG</ows:Identifier>
+      <ows:WGS84BoundingBox crs="urn:ogc:def:crs:OGC:2:84">
+        <ows:LowerCorner>-180.0 -85.0</ows:LowerCorner>
+        <ows:UpperCorner>180.0 85.0</ows:UpperCorner>
+      </ows:WGS84BoundingBox>
+      <Style>
+        <ows:Identifier>default</ows:Identifier>
+      </Style>
+      <Format>image/jpeg</Format>
+      <TileMatrixSetLink>
+        <TileMatrixSet>w</TileMatrixSet>
+      </TileMatrixSetLink>
+    </Layer>
+    <Layer>
+      <ows:Title>鏁板瓧姝e皠褰卞儚鍥炬敞璁�(DOM)</ows:Title>
+      <ows:Abstract>TDTCIA</ows:Abstract>
+      <ows:Identifier>TDTCIA</ows:Identifier>
+      <ows:WGS84BoundingBox crs="urn:ogc:def:crs:OGC:2:84">
+        <ows:LowerCorner>-180.0 -85.0</ows:LowerCorner>
+        <ows:UpperCorner>180.0 85.0</ows:UpperCorner>
+      </ows:WGS84BoundingBox>
+      <Style>
+        <ows:Identifier>default</ows:Identifier>
+      </Style>
+      <Format>image/png</Format>
+      <TileMatrixSetLink>
+        <TileMatrixSet>w</TileMatrixSet>
+      </TileMatrixSetLink>
+    </Layer>
+    <Layer>
+      <ows:Title>鏁板瓧姝e皠褰卞儚鍥炬贩鍚堝浘灞�(DOM)</ows:Title>
+      <ows:Abstract>IMGMIX</ows:Abstract>
+      <ows:Identifier>IMGMIX</ows:Identifier>
+      <ows:WGS84BoundingBox crs="urn:ogc:def:crs:OGC:2:84">
+        <ows:LowerCorner>-180.0 -85.0</ows:LowerCorner>
+        <ows:UpperCorner>180.0 85.0</ows:UpperCorner>
+      </ows:WGS84BoundingBox>
+      <Style>
+        <ows:Identifier>default</ows:Identifier>
+      </Style>
+      <Format>image/png</Format>
+      <TileMatrixSetLink>
+        <TileMatrixSet>w</TileMatrixSet>
+      </TileMatrixSetLink>
+    </Layer>
+    <Layer>
+      <ows:Title>鏁板瓧楂樼▼妯″瀷(DEM)</ows:Title>
+      <ows:Abstract>TDTTER</ows:Abstract>
+      <ows:Identifier>TDTTER</ows:Identifier>
+      <ows:WGS84BoundingBox crs="urn:ogc:def:crs:OGC:2:84">
+        <ows:LowerCorner>-180.0 -85.0</ows:LowerCorner>
+        <ows:UpperCorner>180.0 85.0</ows:UpperCorner>
+      </ows:WGS84BoundingBox>
+      <Style>
+        <ows:Identifier>default</ows:Identifier>
+      </Style>
+      <Format>image/jpeg</Format>
+      <TileMatrixSetLink>
+        <TileMatrixSet>w</TileMatrixSet>
+      </TileMatrixSetLink>
+    </Layer>
+    <Layer>
+      <ows:Title>鏁板瓧楂樼▼妯″瀷娉ㄨ(DEM)</ows:Title>
+      <ows:Abstract>TDTCTA</ows:Abstract>
+      <ows:Identifier>TDTCTA</ows:Identifier>
+      <ows:WGS84BoundingBox crs="urn:ogc:def:crs:OGC:2:84">
+        <ows:LowerCorner>-180.0 -85.0</ows:LowerCorner>
+        <ows:UpperCorner>180.0 85.0</ows:UpperCorner>
+      </ows:WGS84BoundingBox>
+      <Style>
+        <ows:Identifier>default</ows:Identifier>
+      </Style>
+      <Format>image/png</Format>
+      <TileMatrixSetLink>
+        <TileMatrixSet>w</TileMatrixSet>
+      </TileMatrixSetLink>
+    </Layer>
+    <Layer>
+      <ows:Title>鏁板瓧楂樼▼妯″瀷娣峰悎鍥惧眰(DEM)</ows:Title>
+      <ows:Abstract>TERMIX</ows:Abstract>
+      <ows:Identifier>TERMIX</ows:Identifier>
+      <ows:WGS84BoundingBox crs="urn:ogc:def:crs:OGC:2:84">
+        <ows:LowerCorner>-180.0 -85.0</ows:LowerCorner>
+        <ows:UpperCorner>180.0 85.0</ows:UpperCorner>
+      </ows:WGS84BoundingBox>
+      <Style>
+        <ows:Identifier>default</ows:Identifier>
+      </Style>
+      <Format>image/png</Format>
+      <TileMatrixSetLink>
+        <TileMatrixSet>w</TileMatrixSet>
+      </TileMatrixSetLink>
+    </Layer>
+    <Layer>
+      <ows:Title>鏁板瓧娴峰浘(VCA)</ows:Title>
+      <ows:Abstract>TDTVCA</ows:Abstract>
+      <ows:Identifier>TDTVCA</ows:Identifier>
+      <ows:WGS84BoundingBox crs="urn:ogc:def:crs:OGC:2:84">
+        <ows:LowerCorner>-180.0 -85.0</ows:LowerCorner>
+        <ows:UpperCorner>180.0 85.0</ows:UpperCorner>
+      </ows:WGS84BoundingBox>
+      <Style>
+        <ows:Identifier>default</ows:Identifier>
+      </Style>
+      <Format>image/png</Format>
+      <TileMatrixSetLink>
+        <TileMatrixSet>w</TileMatrixSet>
+      </TileMatrixSetLink>
+    </Layer>
+    <Layer>
+      <ows:Title>涓氬姟褰卞儚鍥�(DOM)</ows:Title>
+      <ows:Abstract>YWIMG</ows:Abstract>
+      <ows:Identifier>YWIMG</ows:Identifier>
+      <ows:WGS84BoundingBox crs="urn:ogc:def:crs:OGC:2:84">
+        <ows:LowerCorner>-180.0 -85.0</ows:LowerCorner>
+        <ows:UpperCorner>180.0 85.0</ows:UpperCorner>
+      </ows:WGS84BoundingBox>
+      <Style>
+        <ows:Identifier>default</ows:Identifier>
+      </Style>
+      <Format>image/png</Format>
+      <TileMatrixSetLink>
+        <TileMatrixSet>w</TileMatrixSet>
+      </TileMatrixSetLink>
+    </Layer>
+    <TileMatrixSet>
+      <!-- -180 85.05112878 -->
+      <ows:Identifier>w</ows:Identifier>
+      <ows:BoundingBox crs="urn:ogc:def:crs:EPSG:6.18:3:3857">
+        <ows:LowerCorner>-20037508.3428 -20037508.3428</ows:LowerCorner>
+        <ows:UpperCorner>20037508.3428 20037508.3428</ows:UpperCorner>
+      </ows:BoundingBox>
+      <ows:SupportedCRS>urn:ogc:def:crs:EPSG:6.18:3:3857</ows:SupportedCRS>
+      <WellKnownScaleSet>urn:ogc:def:wkss:OGC:1.0:GoogleMapsCompatible</WellKnownScaleSet>
+      <TileMatrix>
+        <ows:Identifier>0</ows:Identifier>
+        <ScaleDenominator>559082264.029</ScaleDenominator>
+        <TopLeftCorner>-20037508.3428 20037508.3428</TopLeftCorner>
+        <TileWidth>256</TileWidth>
+        <TileHeight>256</TileHeight>
+        <MatrixWidth>1</MatrixWidth>
+        <MatrixHeight>1</MatrixHeight>
+      </TileMatrix>
+      <TileMatrix>
+        <ows:Identifier>1</ows:Identifier>
+        <ScaleDenominator>279541132.015</ScaleDenominator>
+        <TopLeftCorner>-20037508.3428 20037508.3428</TopLeftCorner>
+        <TileWidth>256</TileWidth>
+        <TileHeight>256</TileHeight>
+        <MatrixWidth>2</MatrixWidth>
+        <MatrixHeight>1</MatrixHeight>
+      </TileMatrix>
+      <TileMatrix>
+        <ows:Identifier>2</ows:Identifier>
+        <ScaleDenominator>139770566.007</ScaleDenominator>
+        <TopLeftCorner>-20037508.3428 20037508.3428</TopLeftCorner>
+        <TileWidth>256</TileWidth>
+        <TileHeight>256</TileHeight>
+        <MatrixWidth>4</MatrixWidth>
+        <MatrixHeight>2</MatrixHeight>
+      </TileMatrix>
+      <TileMatrix>
+        <ows:Identifier>3</ows:Identifier>
+        <ScaleDenominator>69885283.0036</ScaleDenominator>
+        <TopLeftCorner>-20037508.3428 20037508.3428</TopLeftCorner>
+        <TileWidth>256</TileWidth>
+        <TileHeight>256</TileHeight>
+        <MatrixWidth>8</MatrixWidth>
+        <MatrixHeight>4</MatrixHeight>
+      </TileMatrix>
+      <TileMatrix>
+        <ows:Identifier>4</ows:Identifier>
+        <ScaleDenominator>34942641.5018</ScaleDenominator>
+        <TopLeftCorner>-20037508.3428 20037508.3428</TopLeftCorner>
+        <TileWidth>256</TileWidth>
+        <TileHeight>256</TileHeight>
+        <MatrixWidth>16</MatrixWidth>
+        <MatrixHeight>8</MatrixHeight>
+      </TileMatrix>
+      <TileMatrix>
+        <ows:Identifier>5</ows:Identifier>
+        <ScaleDenominator>17471320.7509</ScaleDenominator>
+        <TopLeftCorner>-20037508.3428 20037508.3428</TopLeftCorner>
+        <TileWidth>256</TileWidth>
+        <TileHeight>256</TileHeight>
+        <MatrixWidth>32</MatrixWidth>
+        <MatrixHeight>16</MatrixHeight>
+      </TileMatrix>
+      <TileMatrix>
+        <ows:Identifier>6</ows:Identifier>
+        <ScaleDenominator>8735660.37545</ScaleDenominator>
+        <TopLeftCorner>-20037508.3428 20037508.3428</TopLeftCorner>
+        <TileWidth>256</TileWidth>
+        <TileHeight>256</TileHeight>
+        <MatrixWidth>64</MatrixWidth>
+        <MatrixHeight>32</MatrixHeight>
+      </TileMatrix>
+      <TileMatrix>
+        <ows:Identifier>7</ows:Identifier>
+        <ScaleDenominator>4367830.18773</ScaleDenominator>
+        <TopLeftCorner>-20037508.3428 20037508.3428</TopLeftCorner>
+        <TileWidth>256</TileWidth>
+        <TileHeight>256</TileHeight>
+        <MatrixWidth>128</MatrixWidth>
+        <MatrixHeight>64</MatrixHeight>
+      </TileMatrix>
+      <TileMatrix>
+        <ows:Identifier>8</ows:Identifier>
+        <ScaleDenominator>2183915.09386</ScaleDenominator>
+        <TopLeftCorner>-20037508.3428 20037508.3428</TopLeftCorner>
+        <TileWidth>256</TileWidth>
+        <TileHeight>256</TileHeight>
+        <MatrixWidth>256</MatrixWidth>
+        <MatrixHeight>128</MatrixHeight>
+      </TileMatrix>
+      <TileMatrix>
+        <ows:Identifier>9</ows:Identifier>
+        <ScaleDenominator>1091957.54693</ScaleDenominator>
+        <TopLeftCorner>-20037508.3428 20037508.3428</TopLeftCorner>
+        <TileWidth>256</TileWidth>
+        <TileHeight>256</TileHeight>
+        <MatrixWidth>512</MatrixWidth>
+        <MatrixHeight>256</MatrixHeight>
+      </TileMatrix>
+      <TileMatrix>
+        <ows:Identifier>10</ows:Identifier>
+        <ScaleDenominator>545978.773466</ScaleDenominator>
+        <TopLeftCorner>-20037508.3428 20037508.3428</TopLeftCorner>
+        <TileWidth>256</TileWidth>
+        <TileHeight>256</TileHeight>
+        <MatrixWidth>1024</MatrixWidth>
+        <MatrixHeight>512</MatrixHeight>
+      </TileMatrix>
+      <TileMatrix>
+        <ows:Identifier>11</ows:Identifier>
+        <ScaleDenominator>272989.386733</ScaleDenominator>
+        <TopLeftCorner>-20037508.3428 20037508.3428</TopLeftCorner>
+        <TileWidth>256</TileWidth>
+        <TileHeight>256</TileHeight>
+        <MatrixWidth>2048</MatrixWidth>
+        <MatrixHeight>1024</MatrixHeight>
+      </TileMatrix>
+      <TileMatrix>
+        <ows:Identifier>12</ows:Identifier>
+        <ScaleDenominator>136494.693366</ScaleDenominator>
+        <TopLeftCorner>-20037508.3428 20037508.3428</TopLeftCorner>
+        <TileWidth>256</TileWidth>
+        <TileHeight>256</TileHeight>
+        <MatrixWidth>4096</MatrixWidth>
+        <MatrixHeight>2048</MatrixHeight>
+      </TileMatrix>
+      <TileMatrix>
+        <ows:Identifier>13</ows:Identifier>
+        <ScaleDenominator>68247.3466832</ScaleDenominator>
+        <TopLeftCorner>-20037508.3428 20037508.3428</TopLeftCorner>
+        <TileWidth>256</TileWidth>
+        <TileHeight>256</TileHeight>
+        <MatrixWidth>8192</MatrixWidth>
+        <MatrixHeight>4096</MatrixHeight>
+      </TileMatrix>
+      <TileMatrix>
+        <ows:Identifier>14</ows:Identifier>
+        <ScaleDenominator>34123.6733416</ScaleDenominator>
+        <TopLeftCorner>-20037508.3428 20037508.3428</TopLeftCorner>
+        <TileWidth>256</TileWidth>
+        <TileHeight>256</TileHeight>
+        <MatrixWidth>16384</MatrixWidth>
+        <MatrixHeight>8192</MatrixHeight>
+      </TileMatrix>
+      <TileMatrix>
+        <ows:Identifier>15</ows:Identifier>
+        <ScaleDenominator>17061.8366708</ScaleDenominator>
+        <TopLeftCorner>-20037508.3428 20037508.3428</TopLeftCorner>
+        <TileWidth>256</TileWidth>
+        <TileHeight>256</TileHeight>
+        <MatrixWidth>32768</MatrixWidth>
+        <MatrixHeight>16384</MatrixHeight>
+      </TileMatrix>
+      <TileMatrix>
+        <ows:Identifier>16</ows:Identifier>
+        <ScaleDenominator>8530.91833540</ScaleDenominator>
+        <TopLeftCorner>-20037508.3428 20037508.3428</TopLeftCorner>
+        <TileWidth>256</TileWidth>
+        <TileHeight>256</TileHeight>
+        <MatrixWidth>65536</MatrixWidth>
+        <MatrixHeight>32768</MatrixHeight>
+      </TileMatrix>
+      <TileMatrix>
+        <ows:Identifier>17</ows:Identifier>
+        <ScaleDenominator>4265.45916770</ScaleDenominator>
+        <TopLeftCorner>-20037508.3428 20037508.3428</TopLeftCorner>
+        <TileWidth>256</TileWidth>
+        <TileHeight>256</TileHeight>
+        <MatrixWidth>131072</MatrixWidth>
+        <MatrixHeight>65536</MatrixHeight>
+      </TileMatrix>
+      <TileMatrix>
+        <ows:Identifier>18</ows:Identifier>
+        <ScaleDenominator>2132.72958385</ScaleDenominator>
+        <TopLeftCorner>-20037508.3428 20037508.3428</TopLeftCorner>
+        <TileWidth>256</TileWidth>
+        <TileHeight>256</TileHeight>
+        <MatrixWidth>262144</MatrixWidth>
+        <MatrixHeight>131072</MatrixHeight>
+      </TileMatrix>
+      <TileMatrix>
+        <ows:Identifier>19</ows:Identifier>
+        <ScaleDenominator>1066.36479193</ScaleDenominator>
+        <TopLeftCorner>-20037508.3428 20037508.3428</TopLeftCorner>
+        <TileWidth>256</TileWidth>
+        <TileHeight>256</TileHeight>
+        <MatrixWidth>524288</MatrixWidth>
+        <MatrixHeight>262144</MatrixHeight>
+      </TileMatrix>
+    </TileMatrixSet>
+  </Contents>
+</Capabilities>

--
Gitblit v1.9.3