x

Benutzerdefinierte TMS Hintergründe und UMAP


  1. Benutzerdefinierte TMS Hintergründe und UMAP · sts_ko (Gast) · 08.01.2021 12:25 · [flux]

    Hallo zusammen,

    ich möchte in UMap einen benutzerdefinierten Hintergrund einbinden. Die Datenquelle bietet jedoch nur einen WMS-Dienst an. Daher hatte ich mir überlegt mittels MapProxy den Dienst in einen TMS umzuwandeln:

    https://wiki.openstreetmap.org/wiki/MapProxy

    Folgende Einstellung nutze ich im MapProxy

    services:
    demo:
    tms:
    
    sources:
    top_wms:
    type:␣wms
    wms_opts:
    version:␣1.3.0
    featureinfo:␣True
    supported_srs:␣['EPSG:4326']
    req:
    url:␣https://server.com/service?
    layers:␣web
    
    layers:
    -␣name:␣top
    title:␣Cascaded
    sources:␣[top_wms_cache]
    
    caches:
    top_wms_cache:
    sources:␣[top_wms]
    grids:␣[osm_grid]
    
    grids:
    osm_grid:
    srs:␣EPSG:900913
    origin:␣nw
    num_levels:␣14
    

    Der MapProxy arbeitet und kann den WMS-Dienst abfragen:


    Wenn ich jedoch die URL in UMap als benutzerdefinierten Hintergrund einbinde, wird die Karte nicht richtig dargestellt:


    Definitiv muss TMS-Format aktiviert sein, da ansonsten die Kachelreihenfolge nicht stimmt. Ich hatte bereits andere Koordinatensysteme wie EPSG:3857 oder EPSG:4326 versucht, aber diese funktionierten nicht.

    Kann mir jemand einen Hinweis geben wie ich einen eigenen TMS in UMAP einbinden kann?

    Vielen Dank und viele Grüße
    Stephan


    • Re: Benutzerdefinierte TMS Hintergründe und UMAP · sts_ko (Gast) · 09.01.2021 20:35 · [flux]

      Ich habe eine Möglichkeit gefunden die benutzerdefinierten Hintergründe von Umap mit MapProxy TMS zu nutzen:
      Laut MapProxy Handbuch:

      When you create a map in OpenLayers with an explicit mapExtent, it will request only a single tile for the first (z=0) level. TMS begins with two or four tiles by default, depending on the SRS. MapProxy supports a different TMS mode to support this use-case. MapProxy will start with a single-tile level if you request /tiles instead of /tms.

      Nach der Umstellung der URL auf /tiles funktioniert der Zugriff wie gewünscht.

      Viele Grüße