Version 24 (modified by 9 years ago) ( diff ) | ,
---|
Configuring MS4W and MapCache for use in OpenLayers 3
This was spawned by an MS4W user asking how to setup OpenLayers3 for an MS4W MapCache's WMS service (thread), with the following incorrect Javascript code, which did not write tiles to MS4W's cache directory:
new ol.layer.Tile({ title: 'Chabahar', source: new ol.source.TileWMS({ url: 'http://localhost:100/cgi-bin/mapserv.exe?map=D:/WEB_GIS/code_test/wms/HTML5Application/public_html/chabahar.map&', params: { 'LAYERS': 'chabahar', 'FORMAT': 'image/png', 'TILED': true }, serverType: 'mapserver' }) }) ,
Step 1: Initialize MapCache Module
- follow all of the steps in MS4W's README to initialize the MapCache module
- confirm that tiles are being generated inside the folder: /ms4w/tmp/ms_tmp/cache/
Step 2: Install MS4W's OpenLayers3 Package
- if you haven't installed MS4W's OpenLayers 3 package (we'll use its sample WMS mapfile), please install it:
- save the OpenLayers zip locally from: http://ms4w.com/download.html#applications-packaged-for-ms4w
- extract its contents to the root of your MS4W installation
- restart Apache: as Administrator, execute: /ms4w/apache-restart.bat
- on your MS4W homepage, click on the "MapServer WMS Example" link, in the OpenLayers section
- this example uses a local WMS service, it should display the world countries as below:
Step 3: Configure mapcache.xml to use this WMS as a Source
- add the following to your mapcache.xml file (and if necessary change the <url> and <map> paths):
<source name="ms4wserver" type="wms"> <http> <url>http://127.0.0.1/cgi-bin/mapserv.exe</url> </http> <getmap> <params> <map>C:/ms4w/apps/openlayers-3.15.1/examples/map/wms-server.map</map> <layers>countries</layers> </params> </getmap> </source>
- edit the existing <tileset> section of mapcache.xml, so that it includes:
<tileset name="test"> <source>ms4wserver</source> <cache>disk</cache> <grid>GoogleMapsCompatible</grid> <format>PNG</format> <metatile>5 5</metatile> <metabuffer>10</metabuffer> <expires>3600</expires> </tileset>
- we use the "GoogleMapsCompatible" grid here, because OpenLayers assumes EPSG:3875. Read more about the various "Preconfigured Grids" for MapCache at: http://www.mapserver.org/mapcache/config.html#grid
Attachments (5)
-
OL-WMS.PNG
(211.1 KB
) - added by 9 years ago.
Default OpenLayers demo using sample WMS service from MS4W
-
MAPCACHE-WMTS-3857.PNG
(66.9 KB
) - added by 9 years ago.
Sample WMTS service through MapCache, using 3857 projection
-
OL-MAPCACHE1.PNG
(252.4 KB
) - added by 9 years ago.
Working page for the MapCache test (before adding our WMTS service)
-
OL-MAPCACHE2.PNG
(82.9 KB
) - added by 9 years ago.
OpenLayers using the MapCache WMTS service through MS4W
-
OL-MAPCACHE3.PNG
(50.1 KB
) - added by 9 years ago.
MapCache generated tiles through OpenLayers 3
Download all attachments as: .zip
Note:
See TracWiki
for help on using the wiki.