ORKa.MV als Kartendienst nutzen
Wenn Sie ORKa.MV für Ihr Projekt als ungekachelten Kartendienst nutzen möchten, so können Sie dies mit Hilfe des Web Map Service (WMS) realisieren, dessen Fähigkeiten Sie sich zunächst ansehen sollten. Hierfür rufen Sie das sogenannte GetCapabilities-Dokument auf, ein XML-Dokument mit Metainformationen über den WMS (verfügbare Ausgabeformate, bereitgestellte Koordinatenreferenzsysteme, verfügbare Maßstabsbereiche, maximale Ausdehnungen etc.): Ebenfalls aus dem GetCapabilities-Dokument geht hervor, über welche Layer (Darstellungsebenen) der WMS verfügt:
  • vollständiges ORKa.MV-Kartenbild in Farbe:
    Layer orkamv
  • vollständiges ORKa.MV-Kartenbild in Graustufen:
    Layer orkamv-graustufen
  • ORKa.MV-Kartenbild in Farbe ohne Beschriftung:
    Layer orkamv-ohnetext
Nachfolgend können Sie beispielhafte WMS-Kartenaufrufe zu den verfügbaren Layers einsehen: Zur Einbindung eines WMS in ein Projekt oder ein Desktop-GIS wie beispielsweise MapInfo oder QGIS genügt es zumeist, die Basis-URL des WMS anzugeben; im Falle der ORKa.MV lautet diese:

https://www.orka-mv.de/geodienste/orkamv/wms
Für die Verwendung in Printprodukten stehen Ihnen spezielle Web Map Service (WMS) zur Verfügung, deren gerenderte Kartengraphik jeweils für eine Reihe vorgegebener Zielmaßstäbe optimiert ist:
  • 1 : 2.500
  • 1 : 5.000
  • 1 : 10.000
  • 1 : 15.000
  • 1 : 25.000
Wenn Sie also zum Beispiel eine eigene thematische Karte für ein Printprodukt erstellen möchten, haben Sie somit die Möglichkeit, einen dieser speziellen WMS im für Sie passenden Zielmaßstab zu nutzen, um ihn Ihrer thematischen Karte zu hinterlegen. Die Aufrufe des GetCapabilities-Dokuments der für den Druck optimierten WMS lauten: Nachfolgend können Sie einige beispielhafte WMS-Kartenaufrufe einsehen: Zur Einbindung der speziellen WMS in ein Projekt oder ein Desktop-GIS wie beispielsweise QGIS genügt es zumeist, die Basis-URL des WMS anzugeben:

https://www.orka-mv.de/geodienste/orkamv-mapserver_druck/wms
https://www.orka-mv.de/geodienste/orkamv-mapserver-graustufen_druck/wms
https://www.orka-mv.de/geodienste/orkamv-mapserver-ohnetext_druck/wms
Wenn Sie ORKa.MV für Ihr Projekt als gekachelten Kartendienst nutzen möchten, so können und sollten Sie dies mit Hilfe des Web Map Tile Service (WMTS) realisieren. Der WMTS ist die schnellste Variante der Nutzung der ORKa.MV, da sowohl der zentrale Kachelspeicher der ORKa.MV als auch die Kachelauslieferung für diesen optimiert sind.
Sie sollten sich auch hierfür zunächst das GetCapabilities-Dokument ansehen: Die bereits im Abschnitt zum WMS erwähnten Layer orkamv, orkamv-graustufen und orkamv-ohnetext liegen jeweils in Form von Kacheln für die Koordinatenreferenzsysteme EPSG:25833 (ETRS89/UTM-33N) und EPSG:3857 (WGS84/Pseudo-Mercator) vor. Im Falle von EPSG:25833 stehen zwei Kachel-Matrix-Sets zur Verfügung, nämlich epsg_25833_adv (INSPIRE-konformes Kachel-Matrix-Set gemäß AdV-Profil) und epsg_25833 (ein um Zwischenstufen sowie größere Maßstäbe erweitertes Kachel-Matrix-Set epsg_25833_adv); im Falle von EPSG:3857 steht das Kachel-Matrix-Set GLOBAL_WEBMERCATOR zur Verfügung:
  • Kachel-Matrix-Set epsg_25833_adv:
    Auflösung (Meter je Pixel)ZoomstufeMaßstabszahl (bei 90,7 dpi)
    4891.9698102513017,471,320.75089744
    2445.984905125618,735,660.37544872
    1222.992452562824,367,830.18772436
    611.496226281432,183,915.09386218
    305.748113140741,091,957.54693109
    152.87405657045545,978.77346554
    76.43702828526272,989.38673277
    38.21851414267136,494.69336639
    19.1092570713868,247.34668319
    9.5546285356934,123.67334160
    4.77731426781017,061.83667080
    2.3886571339118,530.91833540
    1.1943285670124,265.45916770
    0.5971642835132,132.72958385
    0.2985821417141,066.36479192
  • Kachel-Matrix-Set epsg_25833:
    Auflösung (Meter je Pixel)ZoomstufeMaßstabszahl (bei 90,7 dpi)
    4891.96981025128017,471,320.75089744
    3459.1450261886484112,354,089.37930274
    2445.984905125639728,735,660.37544872
    1729.572513094273736,177,044.68965137
    1222.992452562819844,367,830.18772436
    864.786256547136853,088,522.34482568
    611.496226281409862,183,915.09386218
    432.393128273568371,544,261.17241284
    305.748113140704981,091,957.54693109
    216.196564136784169772,130.58620641
    152.874056570352410545,978.77346554
    108.0982820683920711386,065.29310320
    76.4370282851761812272,989.38673277
    54.04914103419602613193,032.64655161
    38.2185141425880914136,494.69336639
    27.0245705170980061596,516.32327579
    19.1092570712940421668,247.34668319
    13.5122852585490011748,258.16163790
    9.554628535647021834,123.67334160
    6.75614262927451924,129.08081895
    4.777314267823512017,061.83667080
    3.37807131463724942112,064.54040947
    2.3886571339117544228,530.91833540
    1.6890356573186245236,032.27020473
    1.1943285669558772244,265.45916770
    0.8445178286593122253,016.13510236
    0.5971642834779384262,132.72958385
    0.422258914329656271,508.06755117
    0.29858214173896913281,066.36479192
    0.2111294571648279829754.03377558
    0.1492910708694845730533.18239596
    0.1055647285824139831377.01688779
    0.0746455354347422732266.59119797
    0.0527823642912069733188.50844388
    0.0373227677173711334133.29559897
  • Kachel-Matrix-Set GLOBAL_WEBMERCATOR
Im Folgenden finden Sie Verweise auf Seiten, die an drei beispielhaften WMTS-Varianten der ORKa.MV jeweils die verfügbaren Kachel-Zoomstufen auflisten sowie ein JavaScript-Code-Beispiel anführen für die Einbindung in OpenLayers 2.x, und zwar in der RESTful-Syntax:
Ein beispielhafter JavaScript-Code für die Einbindung des Layers orkamv in EPSG:25833 (Kachel-Matrix-Set epsg_25833_adv) in OpenLayers >= Version 3.x könnte dann so aussehen, und zwar ebenfalls in der RESTful-Syntax:
proj4.defs('EPSG:25833', '+proj=utm +zone=33 +ellps=GRS80 +units=m +no_defs');
ol.proj.proj4.register(proj4);
var projection = ol.proj.get('EPSG:25833');
        
var map = new ol.Map({
    target: 'map',
    layers: [
        new ol.layer.Tile({
            source: new ol.source.WMTS({
                projection: projection,
                url: 'https://www.orka-mv.de/geodienste/orkamv/wmts/'
                   + 'orkamv/{TileMatrixSet}/{TileMatrix}/{TileCol}/{TileRow}.png',
                layer: 'Offene Regionalkarte Mecklenburg-Vorpommern (ORKa.MV)',
                matrixSet: 'epsg_25833_adv',
                format: 'image/png',
                requestEncoding: 'REST',
                tileGrid: new ol.tilegrid.WMTS({
                    origin: [-464849.38, 6310160.14],
                    resolutions: [4891.96981025, 2445.98490513, 1222.99245256, 611.496226281,
                    305.748113141, 152.87405657, 76.4370282852, 38.2185141426, 19.1092570713,
                    9.5546285356, 4.7773142678, 2.3886571339, 1.194328567, 0.5971642835,
                    0.2985821417],
                    matrixIds: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14]
                })
            })
        })
    ],
    view: new ol.View({
        projection: projection,
        center: ol.proj.transform([12.07409, 54.06996], 'EPSG:4326', projection),
        zoom: 13
    })
});
                        
Das Beispiel kann übrigens auch folgendermaßen aussehen, und zwar dann, wenn man sich die Konfiguration des WMTS einfach mittels des GetCapabilities-Dokuments parsen lässt:
proj4.defs('EPSG:25833', '+proj=utm +zone=33 +ellps=GRS80 +units=m +no_defs');
var projection = ol.proj.get('EPSG:25833');
        
var parser = new ol.format.WMTSCapabilities();
var url = 'https://www.orka-mv.de/geodienste/orkamv/wmts/1.0.0/WMTSCapabilities.xml';
var map;

fetch(url).then(function(response) {
    return response.text();
}).then(function(text) {
    var result = parser.read(text);
    var options = ol.source.WMTS.optionsFromCapabilities(result, {
        layer: 'orkamv',
        matrixSet: 'epsg_25833'
    });
    options.projection = projection;
    map = new ol.Map({
        layers: [
            new ol.layer.Tile({
                source: new ol.source.WMTS(options)
            })
        ],
        target: 'map',
        view: new ol.View({
            projection: projection,
            center: ol.proj.transform([12.07409, 54.06996], 'EPSG:4326', projection),
            zoom: 12
        })
    });
});
                        
Wenn Sie ORKa.MV für Ihr Projekt als gekachelten Kartendienst in der Form sogenannter XYZ-Kacheln nutzen möchten, wie sie beispielsweise von OpenStreetMap verwendet werden, gilt folgende Basis-URL:

https://www.orka-mv.de/geodienste/orkamv/tiles/1.0.0/orkamv/GLOBAL_WEBMERCATOR/{z}/{x}/{y}.png

Diese können Sie beispielsweise verwenden, um ORKa.MV als Kartendienst in den OpenStreetMap-Online-Editor iD einzubinden oder in den Offline-Editor JOSM.

Ein beispielhafter JavaScript-Code für die Einbindung in OpenLayers 3.x könnte dann so aussehen:
var map = new ol.Map({
    target: 'map',
    layers: [
        new ol.layer.Tile({
            source: new ol.source.XYZ({
                projection: 'EPSG:3857',
                url: 'https://www.orka-mv.de/geodienste/orkamv/tiles/1.0.0/'
                   + 'orkamv/GLOBAL_WEBMERCATOR/{z}/{x}/{y}.png'
            })
        })
    ],
    view: new ol.View({
        center: ol.proj.transform([12.07409, 54.06996], 'EPSG:4326', 'EPSG:3857'),
        zoom: 12
    })
});
                        
Eine leicht abweichende Basis-URL gilt, wenn Sie die ORKa.MV-XYZ-Kacheln in Ihr OpenLayers-Kartenprojekt mit OpenLayers 2.x einbinden möchten – nämlich:

https://www.orka-mv.de/geodienste/orkamv/tiles/1.0.0/orkamv/GLOBAL_WEBMERCATOR/${z}/${x}/${y}.png

Ein beispielhafter JavaScript-Code für die Einbindung in OpenLayers 2.x könnte dann so aussehen:
var map;
function init() {
    var mapOptions = {
        projection: new OpenLayers.Projection('EPSG:3857'),
        maxResolution: 78271.516964,
        units: 'm',
        numZoomLevels: 19,
        maxExtent: new OpenLayers.Bounds(-20037508.3428, -20037508.3428, 20037508.3428, 20037508.3428)
    };
    
    map = new OpenLayers.Map('map', mapOptions);

    var layer = new OpenLayers.Layer.XYZ(
        'ORKa.MV',
        'https://www.orka-mv.de/geodienste/orkamv/tiles/1.0.0/'
      + 'orkamv/GLOBAL_WEBMERCATOR/${z}/${x}/${y}.png, {
            sphericalMercator: true,
            wrapDateLine: true
        }
    );
    
    map.addLayer(layer);
    map.zoomToExtent(new OpenLayers.Bounds(1150978.94, 6980299.78, 1636564.19, 7327346.85));
}
                        
Wenn Sie ORKa.MV für Ihr Projekt als gekachelten Kartendienst in der Form Tile Map Service (TMS) nutzen möchten, sollten Sie sich ebenfalls zunächst dessen GetCapabilities-Dokument ansehen:

https://www.orka-mv.de/geodienste/orkamv/tms/1.0.0

Die bereits im ersten Abschnitt erwähnten Layer orkamv, orkamv-graustufen und orkamv-ohnetext liegen jeweils in Form von Kacheln vor, und zwar in derselben Konstellation wie für den im vorherigen Abschnitt beschriebenen WMTS.
Im Folgenden finden Sie Verweise auf Seiten, die an drei beispielhaften TMS-Varianten der ORKa.MV jeweils die verfügbaren Kachel-Zoomstufen auflisten sowie ein JavaScript-Code-Beispiel anführen für die Einbindung in OpenLayers 2.x, und zwar in der RESTful-Syntax:
Ein beispielhafter JavaScript-Code für die Einbindung des Layers orkamv in EPSG:25833 (Kachel-Matrix-Set epsg_25833_adv) in OpenLayers 3.x könnte dann so aussehen:
proj4.defs('EPSG:25833', '+proj=utm +zone=33 +ellps=GRS80 +units=m +no_defs');
var projection = ol.proj.get('EPSG:25833');

var map = new ol.Map({
    target: 'map',
    layers: [
        new ol.layer.Tile({
            source: new ol.source.TileImage({
                projection: projection,
                maxExtent: [200000, 5880000, 480000, 6075000],
                tileGrid: new ol.tilegrid.TileGrid({
                    origin: [-464849.38, 5057815.86858],
                    resolutions: [4891.96981025128, 3459.1450261886484, 2445.9849051256397,
                                  1729.5725130942737,1222.9924525628198, 864.7862565471368,
                                  611.4962262814098, 432.3931282735683, 305.7481131407049,
                                  216.19656413678416, 152.8740565703524, 108.09828206839207,
                                  76.43702828517618, 54.049141034196026, 38.21851414258809,
                                  27.024570517098006, 19.109257071294042, 13.512285258549001,
                                  9.55462853564702, 6.7561426292745, 4.77731426782351,
                                  3.3780713146372494, 2.3886571339117544, 1.6890356573186245,
                                  1.1943285669558772, 0.8445178286593122, 0.5971642834779384,
                                  0.422258914329656, 0.29858214173896913, 0.21112945716482798,
                                  0.14929107086948457, 0.10556472858241398, 0.07464553543474227,
                                  0.05278236429120697, 0.03732276771737113]
                }),
                tileUrlFunction: function(tileCoord) {
                    var z = tileCoord[0];
                    var x = tileCoord[1];
                    var y = tileCoord[2];

                    if (x < 0 || y < 0) { 
                        return '';
                    }

                    var url = 'https://www.orka-mv.de/geodienste/orkamv/tms/1.0.0/orkamv/epsg_25833/'
                               + z + '/' + x + '/' + y + '.png';

                    console.log(url);
                    return url;
                }
            })
        })
    ],
    view: new ol.View({
        projection: projection,
        maxExtent: [200000, 5880000, 480000, 6075000],
        maxResolution: 305.7481131407049,
        minResolution: 0.14929107086948457,
        center: ol.proj.transform([12.07409, 54.06996], 'EPSG:4326', projection),
        zoom: 2
    })
});
                        
Wenn Sie ORKa.MV für Ihr Projekt als gekachelten Kartendienst in der Form Web Map Service-Caching (WMS-C) nutzen möchten, sollten Sie sich ebenfalls zunächst dessen GetCapabilities-Dokument ansehen:

https://www.orka-mv.de/geodienste/orkamv/service?REQUEST=GetCapabilities&tiled=true

Es stehen alle Layer des eingangs beschriebenen WMS zur Verfügung.