对于OL5,我正在尝试使用具有以下定义的Gall-Peters投影的地图:
var projname = 'EPSG:22';
var projdef = '+proj=cea +lon_0=0 +lat_ts=45 +x_0=0 +y_0=0 +ellps=WGS84 +units=m +no_defs';
var petersProjection = new Projection({
code: projname,
units: 'm',
extent: [-14192432.0000000000000000,-8984819.0000000000000000, 14192432.0000000000000000,8928365.0000000000000000]
});
proj4.defs(projname, projdef);
register(proj4);
GeoServer用于在Gall-Peters投影中作为WMS和WMTS提供地图。
在OL客户端中,地图未缠绕在180°子午线上。它只显示“一个世界”。 当我将投影切换到EPSG:4326或EPSG:3857时,会得到一个连续的包裹图。
我被困在这里。 我的投影定义有问题吗? OL只能包装标准投影吗? 如何获得盖尔·彼得斯投影中的包裹地图?
以下是我对图层,视图和地图的定义:
var basiskarte_source = new TileWMS({
url: geoserver_url,
serverType: 'geoserver',
params: {'FORMAT': 'image/png',
'VERSION': '1.1.1',
TILED: true,
LAYERS: 'eg:basiskarte',
tilesOrigin: -180 + "," + -90,
srs: 'EPSG:22'
},
projection : petersProjection
});
var wms_geoserver_tiled_layer =
new TileLayer({
title : 'gall-peters-map',
type : 'base',
visible : true,
source: basiskarte_source
});
var myview = new View({
center: fromLonLat([36.8394, -1.2743], petersProjection),
projection: projectionInUse,
zoom: 1,
rotation: deg2rad(180)
});
var map = new Map({
target: 'map',
layers: [
new LayerGroup({
title : 'Basiskarte',
layers: [wms_geoserver_tiled_layer]
})
],
view: myview
});