3995 Leaflet support
example to support EPSG3995
by gaubert
HTML
<link rel="stylesheet" href="https://unpkg.com/leaflet@1.0.2/dist/leaflet.css">
<script src="https://cdnjs.cloudflare.com/ajax/libs/leaflet/0.7.7/leaflet-src.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/proj4js/2.3.15/proj4.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/proj4leaflet/0.7.2/proj4leaflet.js"></script>
<div id="map">
</div>
CSS
#map {
height: 600px
}
JavaScript
var customCRS = new L.Proj.CRS('EPSG:3995',
"+proj=stere +lat_0=90 +lat_ts=71 +lon_0=0 +k=1 +x_0=0 +y_0=0 +datum=WGS84 +units=m +no_defs",
{
origin: [-12403632.820000000298023,17760.814940000000206], // correct origin needs to be set
resolutions: [22600, 11300, 5650, 2825, 1412.5, 706.25, 353.125, 176.5625, 88.28125, 44.140625], // 10 example zoom level resolutions
tileSize: 256,
bounds: L.bounds([-12403632.820, 17760.815,12417841.080,-13082466.960]) // max bounds also need to be set
});
var wmsBKLayer = L.tileLayer.wms('http://eumetview.eumetsat.int/geoserv/wms', {
layers: 'bkg-raster:bkg-raster',
format: 'image/png',
transparent: true
});
var wmsCountryBorders = L.tileLayer.wms('http://eumetview.eumetsat.int/geoserv/wms', {
layers: 'overlay:vector-overlay',
format: 'image/png',
transparent: true,
});
var wmsAirmassLayer = L.tileLayer.wms('http://eumetview.eumetsat.int/geoserv/wms', {
layers: 'meteosat:msg_airmass_3995',
format: 'image/png',
transparent: true,
attribution: "Foo Bar"
});
var map = new L.map('map', {
center: L.latLng(70, -10),
zoom: 0,
tileSize: 256,
continuousWorld: true,
worldCopyJump: false,
crs: customCRS,
layers: [wmsBKLayer]
});
/*var wmsAirmassLayer = new L.tileLayer.wms('http://vwids.eumetsat.int/geoserv/wms', {
layers: 'meteosat:msg_airmass',
crs: L.CRS.EPSG4326
}).addTo(map);*/
var baseMaps = {
"background": wmsBKLayer
};
var overlayMaps = {
"MSG airmass": wmsAirmassLayer,
"CountryBorders" : wmsCountryBorders
};
L.control.layers(baseMaps, overlayMaps).addTo(map);