Die Daten die auf der Karte angezeigt werden, werden als sogenannte Layers organisiert. Sie sind für das Abrufen und Anzeigen der Daten zuständig. Die Daten können entweder Rasterdaten oder Vektordaten sein. Rasterdaten sind Daten, die auf dem Server als Bilddatei gerendert werden. Vektordaten sind sturkturierte Informationen vom Server, die auf dem Client (Browser) zur Anzeige gerendert werden.
Es gibt zahlreiche verschiedene Typen von Services, die Karten- Rasterdaten zur verfügung stellen (raster data provider). Dieser Beitrag befasst sich mit Providern, welche den OGC Web Map Service (WMS) Spezifikationen entsprechen und dynamisch vom Server gerenderte Daten anzeigt. (Wikipedia WMS)
Layer erstellen
Damit ein funktionierender Layer erzeugt werden kann, sind einige Konfigurationen über zwei Objekte nötig. Im Folgenden werden diese Objekte beschrieben. Zuerst wird ein Layertyp festgelegt und daraufhin eine Quelle angebunden.
layers: [ new ol.layer.Tile({ title: "Global Imagery", source: new ol.source.TileWMS({ url: 'http://maps.opengeo.org/geowebcache/service/wms', params: {LAYERS: 'bluemarble', VERSION: '1.1.1'} }) }) ]
ol.layer.Tile
Der Layertyp ol.layer.Tile repräsentiert ein Raster von Bildern (Kacheln), während ol.layer.Image ein einzelnes Bild repräsentiert. Abhängig von diesem gewählten Typ muss die WMS Quelle dazu passen (ol.source.TileWMS gegenüber ol.source.ImageWMS).
Dem Konstruktor wird ein Objekt-Literal vom Typ olx.layer.TileOptions übergeben. Im Beispiel oben ist die Source ist vom Typ ol.source.TileWMS, der Titel kann willkürlich gewählt sein und dient zur Identifierung des Layers. (Wo wird dieser und wie verwendet?)
ol.source.TileWMS
Bei dieser Quelle für den Layer handelt es sich wie oben beschrieben um ein Kachel-Typ. Dem Konstruktor wird ein Argument übergeben, welches als Objekt-Literal die url und parameter definiert. Die url entspricht dem WMS online Service, der parameter ist wiederum ein Objek-Literal mit Key-Values.
Die aktuelle WMS Version ist 1.3.0 und es kann sein, dass die WMS Quelle diese Version noch nicht unterstützt. Dann wird im parameter VERSION eine tiefere Version angegeben.
openstreetmap WMS
Als Variante zum obigen Beispiel, bietet derselbe WMS auch einen openstreetmap Layer. Um diesen zu verwenden muss also nut der TileWMS entsprechend konfiguriert werden.
layers: [ new ol.layer.Tile({ title: "Global Imagery", source: new ol.source.TileWMS({ url: 'http://maps.opengeo.org/geowebcache/service/wms', params: {LAYERS: 'openstreetmap', VERSION: '1.1.1'} }) }) ]
Schreibe einen Kommentar