Как настроить mapcache для кэширования тайла из сервиса tms - PullRequest
0 голосов
/ 29 октября 2019

У меня есть картограф с mapcache на сервере.

Я знаю, как настроить mapcache для кэширования тайла из службы wms.

Но я нигде не могу найти, как настроить mapcacheкэшировать плитку из службы TMS (openstreetmap https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png)

На странице mapcache https://mapserver.org/mapcache/index.html говорится "запросы служб WMS, WMTS, TMS, VirtualEarth / Bing и Google Maps: поддерживаемые службы плиток"

Я вижу строку ниже на https://mapserver.org/mapcache/services.html#mapcache-services "Чтобы активировать службу TMS, добавьте эти строки в файл конфигурации mapcache.xml:

<service type="tms" enabled="true"/>"

но клиент должен получать плитку tms из mapcache, а не mapcache для получения плитки из службы tms

Я не знаю, возможно ли это вообще, потому что я не нашел примера.

Чтобы получить от WMS у меня было выше

<source name="name1" type="wms">
   <getmap>
      <params>
         <LAYERS>layer1</LAYERS>
      </params>
   </getmap>
   <http>
      <url>http://an_rul.com/ows/name1</url>
  </http>
</source>

<tileset name="name1">
   <source>name1</source>
   <cache>disk</cache>
   <grid>GoogleMapsCompatible</grid>

   <format>PNG</format>

   <metatile>5 5</metatile>
   <metabuffer>10</metabuffer>
   <expires>3600</expires>
</tileset>

<service type="wms" enabled="true">
   <full_wms>assemble</full_wms>
   <resample_mode>bilinear</resample_mode>
   <format>PNG</format>
   <maxsize>4096</maxsize>
   <forwarding_rule name="catch all">
   <http>
      <url>http://an_rul.com/ows/name1</url>
   </http>
   </forwarding_rule>
</service>

<service type="tms" enabled="true"/>

Для TMS я хотел бы иметь такие вещи

<source name="name1" type="tms">  <-- note the tms type i'd like
    <getmap>
       <params>
          <LAYERS>layer1 ?</LAYERS> <-- what layer can I put there  ?
       </params>
    </getmap>
    <http>
       <url>https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png ??</url> <-- which url should I write ??
   </http>
 </source>

 <tileset name="name1">
    <source>name1</source>
    <cache>disk</cache>
    <grid>GoogleMapsCompatible</grid>

    <format>PNG</format>

    <metatile>5 5</metatile>
    <metabuffer>10</metabuffer>
    <expires>3600</expires>
 </tileset>

 <service type="wms" enabled="true">
    <full_wms>assemble</full_wms>
    <resample_mode>bilinear</resample_mode>
    <format>PNG</format>
    <maxsize>4096</maxsize>
    <forwarding_rule name="catch all">
    <http>
       <url>http://an_rul.com/ows/name1</url>
    </http>
    </forwarding_rule>
 </service>

<service type="tms" enabled="true"/>

Спасибо

...