Only clamp to source projection extent
This commit is contained in:
BIN
rendering/cases/reproj-azimuthal-equal-area/expected.png
Normal file
BIN
rendering/cases/reproj-azimuthal-equal-area/expected.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 4.0 KiB |
57
rendering/cases/reproj-azimuthal-equal-area/main.js
Normal file
57
rendering/cases/reproj-azimuthal-equal-area/main.js
Normal file
@@ -0,0 +1,57 @@
|
||||
import ImageCanvas from '../../../src/ol/source/ImageCanvas.js';
|
||||
import ImageLayer from '../../../src/ol/layer/Image.js';
|
||||
import Map from '../../../src/ol/Map.js';
|
||||
import View from '../../../src/ol/View.js';
|
||||
import proj4 from 'proj4';
|
||||
import {get as getProjection, transform} from '../../../src/ol/proj.js';
|
||||
import {register} from '../../../src/ol/proj/proj4.js';
|
||||
|
||||
const llpos = [-72, 40];
|
||||
|
||||
proj4.defs(
|
||||
'az',
|
||||
'+proj=aeqd +lat_0=' +
|
||||
llpos[1] +
|
||||
' +lon_0=' +
|
||||
llpos[0] +
|
||||
' +x_0=0 +y_0=0 +a=6371000 +b=6371000 +units=m'
|
||||
);
|
||||
register(proj4);
|
||||
const aeqd = getProjection('az');
|
||||
|
||||
function canvasFunction(extent, resolution, pixelRatio, size) {
|
||||
size = [Math.round(size[0]), Math.round(size[1])];
|
||||
const canvas = document.createElement('canvas');
|
||||
canvas.width = size[0];
|
||||
canvas.height = size[1];
|
||||
|
||||
// fill the canvas with blue
|
||||
const ctx = canvas.getContext('2d');
|
||||
ctx.fillStyle = 'blue';
|
||||
ctx.fillRect(0, 0, canvas.width, canvas.height);
|
||||
return canvas;
|
||||
}
|
||||
|
||||
const canvasLayer = new ImageLayer({
|
||||
source: new ImageCanvas({
|
||||
projection: 'EPSG:4326',
|
||||
canvasFunction: canvasFunction,
|
||||
}),
|
||||
});
|
||||
|
||||
const center = transform(llpos, 'EPSG:4326', aeqd);
|
||||
|
||||
new Map({
|
||||
pixelRatio: 1,
|
||||
target: 'map',
|
||||
layers: [canvasLayer],
|
||||
view: new View({
|
||||
center: center,
|
||||
projection: aeqd,
|
||||
zoom: 0,
|
||||
}),
|
||||
});
|
||||
|
||||
render({
|
||||
tolerance: 0.001,
|
||||
});
|
||||
Reference in New Issue
Block a user