From 67d6b61ed68cbc31038aeaaf874be7d11449c223 Mon Sep 17 00:00:00 2001 From: Arno Kaimbacher Date: Tue, 30 Mar 2021 16:37:34 +0200 Subject: [PATCH] - Dem.Layer.js: add open WMS layer as basemap - transformation problem with esri base layer --- .../background_osm_world_topography.png | Bin 0 -> 24215 bytes package-lock.json | 54 ++++----- src/js/core/Map.js | 11 +- src/js/layer/DemLayer.js | 111 ++++++++++++++---- src/js/main.js | 3 +- 5 files changed, 123 insertions(+), 56 deletions(-) create mode 100644 images/basemap/background_osm_world_topography.png diff --git a/images/basemap/background_osm_world_topography.png b/images/basemap/background_osm_world_topography.png new file mode 100644 index 0000000000000000000000000000000000000000..9e5ee4261f3d5e922954da643f6d865e1ce38a13 GIT binary patch literal 24215 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 encodeURIComponent(k) + '=' + encodeURIComponent(params[k])) + .join('&'); + let texturePath = url + '?' + query; + + const textureLoader = new TextureLoader(); + return new Promise((resolve, reject) => { + textureLoader.load( + texturePath, + (texture) => resolve(texture), + undefined, + err => reject(err) + ); + }); + } + async onAdd(map) { //this._zoomAnimated = this._zoomAnimated && map.options.markerZoomAnimation; @@ -291,12 +348,22 @@ export class DemLayer extends Layer { } async requestImage(url, imageParameter) { - let bbox = this.baseExtent.x.min + "," + this.baseExtent.y.min + "," + this.baseExtent.x.max + "," + this.baseExtent.y.max; + let dest = new proj4.Proj("EPSG:3857"); + let source = new proj4.Proj("EPSG:3034"); + let p1 = new proj4.toPoint([this.baseExtent.x.min, this.baseExtent.y.min]); + let p2 = new proj4.toPoint([this.baseExtent.x.max, this.baseExtent.y.max]); + + proj4.transform(source, dest, p1); + proj4.transform(source, dest, p2); + + // let bbox = this.baseExtent.x.min + "," + this.baseExtent.y.min + "," + this.baseExtent.x.max + "," + this.baseExtent.y.max; + let bbox = p1.x + "," + p1.y + "," + p2.x + "," + p2.y; + let params = { // "width": imageParameter.width, // "height": imageParameter.height, "size": imageParameter.width + "," + imageParameter.height, - "bboxSR": imageParameter.bboxSR, + "bboxSR": "3857", // imageParameter.bboxSR, // "bbox": "3955850,2183470.1545778836,4527300,2502829.8454221168", "bbox": bbox, "format": "png", diff --git a/src/js/main.js b/src/js/main.js index 2c7d8db..9ef9da9 100644 --- a/src/js/main.js +++ b/src/js/main.js @@ -1,7 +1,6 @@ import { DirectionalLight } from 'three/src/lights/DirectionalLight'; import { AmbientLight } from 'three/src/lights/AmbientLight'; import { WebGLRenderer } from 'three/src/renderers/WebGLRenderer'; -// import { PerspectiveCamera } from 'three/src/cameras/PerspectiveCamera'; import { Scene } from 'three/src/scenes/Scene'; import { Vector3 } from 'three/src/math/Vector3'; import { GridLayer } from './layer/GridLayer'; @@ -199,7 +198,7 @@ class Application { "materialtypee": 0, "ds": 1, "bottomZ": 3000, - "o": 0.8 + "o": 0.7 }] }); demLayer.addBlock({