Mercurial > gemma
annotate client/src/map/Maplayer.vue @ 1041:7e3c620a5639
rounding cut coordinates
author | Markus Kottlaender <markus@intevation.de> |
---|---|
date | Thu, 25 Oct 2018 07:01:18 +0200 |
parents | 1fdeb9404afb |
children | 740679d6682f |
rev | line source |
---|---|
585
ef307bd6b5d8
refac: restructured client application
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
1 <template> |
621
b17a4482d07d
feat: UI adaptation of 4 slots
Thomas Junk <thomas.junk@intevation.de>
parents:
620
diff
changeset
|
2 <div id="map" :class="mapStyle"></div> |
585
ef307bd6b5d8
refac: restructured client application
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
3 </template> |
ef307bd6b5d8
refac: restructured client application
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
4 |
ef307bd6b5d8
refac: restructured client application
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
5 <style lang="scss"> |
593
c4a4dc612191
feat: Toggleable fairway profile
Thomas Junk <thomas.junk@intevation.de>
parents:
585
diff
changeset
|
6 .mapsplit { |
c4a4dc612191
feat: Toggleable fairway profile
Thomas Junk <thomas.junk@intevation.de>
parents:
585
diff
changeset
|
7 height: 50vh; |
585
ef307bd6b5d8
refac: restructured client application
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
8 } |
ef307bd6b5d8
refac: restructured client application
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
9 |
593
c4a4dc612191
feat: Toggleable fairway profile
Thomas Junk <thomas.junk@intevation.de>
parents:
585
diff
changeset
|
10 .mapfull { |
585
ef307bd6b5d8
refac: restructured client application
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
11 height: 100vh; |
ef307bd6b5d8
refac: restructured client application
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
12 } |
879
52fe3e20f750
client: improve print styling
Bernhard Reiter <bernhard@intevation.de>
parents:
865
diff
changeset
|
13 |
52fe3e20f750
client: improve print styling
Bernhard Reiter <bernhard@intevation.de>
parents:
865
diff
changeset
|
14 @media print { |
52fe3e20f750
client: improve print styling
Bernhard Reiter <bernhard@intevation.de>
parents:
865
diff
changeset
|
15 .mapfull { |
52fe3e20f750
client: improve print styling
Bernhard Reiter <bernhard@intevation.de>
parents:
865
diff
changeset
|
16 width: 2000px; |
902 | 17 height: 2828px; |
879
52fe3e20f750
client: improve print styling
Bernhard Reiter <bernhard@intevation.de>
parents:
865
diff
changeset
|
18 } |
52fe3e20f750
client: improve print styling
Bernhard Reiter <bernhard@intevation.de>
parents:
865
diff
changeset
|
19 .mapsplit { |
52fe3e20f750
client: improve print styling
Bernhard Reiter <bernhard@intevation.de>
parents:
865
diff
changeset
|
20 width: 2000px; |
902 | 21 height: 2828px; |
879
52fe3e20f750
client: improve print styling
Bernhard Reiter <bernhard@intevation.de>
parents:
865
diff
changeset
|
22 } |
52fe3e20f750
client: improve print styling
Bernhard Reiter <bernhard@intevation.de>
parents:
865
diff
changeset
|
23 } |
585
ef307bd6b5d8
refac: restructured client application
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
24 </style> |
ef307bd6b5d8
refac: restructured client application
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
25 |
ef307bd6b5d8
refac: restructured client application
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
26 <script> |
1019
ca628dce90dd
Licensing information added
Thomas Junk <thomas.junk@intevation.de>
parents:
975
diff
changeset
|
27 /* |
ca628dce90dd
Licensing information added
Thomas Junk <thomas.junk@intevation.de>
parents:
975
diff
changeset
|
28 * This is Free Software under GNU Affero General Public License v >= 3.0 |
ca628dce90dd
Licensing information added
Thomas Junk <thomas.junk@intevation.de>
parents:
975
diff
changeset
|
29 * without warranty, see README.md and license for details. |
ca628dce90dd
Licensing information added
Thomas Junk <thomas.junk@intevation.de>
parents:
975
diff
changeset
|
30 * |
ca628dce90dd
Licensing information added
Thomas Junk <thomas.junk@intevation.de>
parents:
975
diff
changeset
|
31 * SPDX-License-Identifier: AGPL-3.0-or-later |
ca628dce90dd
Licensing information added
Thomas Junk <thomas.junk@intevation.de>
parents:
975
diff
changeset
|
32 * License-Filename: LICENSES/AGPL-3.0.txt |
ca628dce90dd
Licensing information added
Thomas Junk <thomas.junk@intevation.de>
parents:
975
diff
changeset
|
33 * |
ca628dce90dd
Licensing information added
Thomas Junk <thomas.junk@intevation.de>
parents:
975
diff
changeset
|
34 * Copyright (C) 2018 by via donau |
ca628dce90dd
Licensing information added
Thomas Junk <thomas.junk@intevation.de>
parents:
975
diff
changeset
|
35 * – Österreichische Wasserstraßen-Gesellschaft mbH |
ca628dce90dd
Licensing information added
Thomas Junk <thomas.junk@intevation.de>
parents:
975
diff
changeset
|
36 * Software engineering by Intevation GmbH |
ca628dce90dd
Licensing information added
Thomas Junk <thomas.junk@intevation.de>
parents:
975
diff
changeset
|
37 * |
ca628dce90dd
Licensing information added
Thomas Junk <thomas.junk@intevation.de>
parents:
975
diff
changeset
|
38 * Author(s): |
ca628dce90dd
Licensing information added
Thomas Junk <thomas.junk@intevation.de>
parents:
975
diff
changeset
|
39 * Thomas Junk <thomas.junk@intevation.de> |
ca628dce90dd
Licensing information added
Thomas Junk <thomas.junk@intevation.de>
parents:
975
diff
changeset
|
40 */ |
585
ef307bd6b5d8
refac: restructured client application
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
41 import { HTTP } from "../application/lib/http"; |
957
93364f153da4
Backed out changeset c2b03f4755b6
Thomas Junk <thomas.junk@intevation.de>
parents:
956
diff
changeset
|
42 import { mapGetters, mapState } from "vuex"; |
585
ef307bd6b5d8
refac: restructured client application
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
43 import "ol/ol.css"; |
ef307bd6b5d8
refac: restructured client application
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
44 import { Map, View } from "ol"; |
ef307bd6b5d8
refac: restructured client application
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
45 import { WFS, GeoJSON } from "ol/format.js"; |
709
35fd15711e9e
client: prepare to send profile cut to backend
Bernhard Reiter <bernhard@intevation.de>
parents:
706
diff
changeset
|
46 import LineString from "ol/geom/LineString.js"; |
942
912d016275ee
client: add arrow to drawn linesegment
Bernhard Reiter <bernhard@intevation.de>
parents:
938
diff
changeset
|
47 import Point from "ol/geom/Point.js"; |
649
83081ba6c9c1
feat: Linetool added
Thomas Junk <thomas.junk@intevation.de>
parents:
630
diff
changeset
|
48 import Draw from "ol/interaction/Draw.js"; |
709
35fd15711e9e
client: prepare to send profile cut to backend
Bernhard Reiter <bernhard@intevation.de>
parents:
706
diff
changeset
|
49 import { Vector as VectorLayer } from "ol/layer.js"; |
649
83081ba6c9c1
feat: Linetool added
Thomas Junk <thomas.junk@intevation.de>
parents:
630
diff
changeset
|
50 import { Vector as VectorSource } from "ol/source.js"; |
793
073394629ec6
client: add measurement and improve identify
Bernhard Reiter <bernhard@intevation.de>
parents:
790
diff
changeset
|
51 import { getLength } from "ol/sphere.js"; |
942
912d016275ee
client: add arrow to drawn linesegment
Bernhard Reiter <bernhard@intevation.de>
parents:
938
diff
changeset
|
52 import { Icon, Stroke, Style, Fill } from "ol/style.js"; |
843
d2aa972df342
client: add example for setting style
Bernhard Reiter <bernhard@intevation.de>
parents:
842
diff
changeset
|
53 |
738
d7530644dde3
client: add calculation of fairway rectangles
Bernhard Reiter <bernhard@intevation.de>
parents:
734
diff
changeset
|
54 import distance from "@turf/distance"; |
d7530644dde3
client: add calculation of fairway rectangles
Bernhard Reiter <bernhard@intevation.de>
parents:
734
diff
changeset
|
55 import { |
d7530644dde3
client: add calculation of fairway rectangles
Bernhard Reiter <bernhard@intevation.de>
parents:
734
diff
changeset
|
56 lineString as turfLineString, |
d7530644dde3
client: add calculation of fairway rectangles
Bernhard Reiter <bernhard@intevation.de>
parents:
734
diff
changeset
|
57 polygon as turfPolygon |
d7530644dde3
client: add calculation of fairway rectangles
Bernhard Reiter <bernhard@intevation.de>
parents:
734
diff
changeset
|
58 } from "@turf/helpers"; |
d7530644dde3
client: add calculation of fairway rectangles
Bernhard Reiter <bernhard@intevation.de>
parents:
734
diff
changeset
|
59 import lineIntersect from "@turf/line-intersect"; |
767
dedf252b3e01
feat: fairwayprofile partially with retrieved data from the server
Thomas Junk <thomas.junk@intevation.de>
parents:
765
diff
changeset
|
60 import { displayError } from "../application/lib/errors.js"; |
1029
1fdeb9404afb
refac: extract calculation of fairway coordinates
Thomas Junk <thomas.junk@intevation.de>
parents:
1028
diff
changeset
|
61 import { calculateFairwayCoordinates } from "../application/lib/geo.js"; |
738
d7530644dde3
client: add calculation of fairway rectangles
Bernhard Reiter <bernhard@intevation.de>
parents:
734
diff
changeset
|
62 |
802
327aa4a18a1c
Fairway profile WIP
Thomas Junk <thomas.junk@intevation.de>
parents:
797
diff
changeset
|
63 const DEMODATA = 2.5; |
327aa4a18a1c
Fairway profile WIP
Thomas Junk <thomas.junk@intevation.de>
parents:
797
diff
changeset
|
64 |
848
22f7d33eee65
Make eslint happy again.
Sascha Wilde <wilde@intevation.de>
parents:
843
diff
changeset
|
65 /* for the sake of debugging */ |
22f7d33eee65
Make eslint happy again.
Sascha Wilde <wilde@intevation.de>
parents:
843
diff
changeset
|
66 /* eslint-disable no-console */ |
585
ef307bd6b5d8
refac: restructured client application
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
67 export default { |
ef307bd6b5d8
refac: restructured client application
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
68 name: "maplayer", |
649
83081ba6c9c1
feat: Linetool added
Thomas Junk <thomas.junk@intevation.de>
parents:
630
diff
changeset
|
69 props: ["drawMode", "lat", "long", "zoom", "split"], |
585
ef307bd6b5d8
refac: restructured client application
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
70 data() { |
ef307bd6b5d8
refac: restructured client application
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
71 return { |
ef307bd6b5d8
refac: restructured client application
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
72 projection: "EPSG:3857", |
649
83081ba6c9c1
feat: Linetool added
Thomas Junk <thomas.junk@intevation.de>
parents:
630
diff
changeset
|
73 interaction: null, |
83081ba6c9c1
feat: Linetool added
Thomas Junk <thomas.junk@intevation.de>
parents:
630
diff
changeset
|
74 vectorLayer: null, |
83081ba6c9c1
feat: Linetool added
Thomas Junk <thomas.junk@intevation.de>
parents:
630
diff
changeset
|
75 vectorSource: null |
585
ef307bd6b5d8
refac: restructured client application
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
76 }; |
ef307bd6b5d8
refac: restructured client application
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
77 }, |
ef307bd6b5d8
refac: restructured client application
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
78 computed: { |
957
93364f153da4
Backed out changeset c2b03f4755b6
Thomas Junk <thomas.junk@intevation.de>
parents:
956
diff
changeset
|
79 ...mapGetters("mapstore", ["layers", "getLayerByName"]), |
975
3da707172772
refac: removed technical debt
Thomas Junk <thomas.junk@intevation.de>
parents:
957
diff
changeset
|
80 ...mapState("mapstore", ["openLayersMap"]), |
1027
04a9e78dcc5f
refac: remove morphstore. not necessary
Thomas Junk <thomas.junk@intevation.de>
parents:
1025
diff
changeset
|
81 ...mapState("fairwayprofile", ["selectedMorph"]), |
593
c4a4dc612191
feat: Toggleable fairway profile
Thomas Junk <thomas.junk@intevation.de>
parents:
585
diff
changeset
|
82 mapStyle() { |
c4a4dc612191
feat: Toggleable fairway profile
Thomas Junk <thomas.junk@intevation.de>
parents:
585
diff
changeset
|
83 return { |
c4a4dc612191
feat: Toggleable fairway profile
Thomas Junk <thomas.junk@intevation.de>
parents:
585
diff
changeset
|
84 mapfull: !this.split, |
c4a4dc612191
feat: Toggleable fairway profile
Thomas Junk <thomas.junk@intevation.de>
parents:
585
diff
changeset
|
85 mapsplit: this.split |
c4a4dc612191
feat: Toggleable fairway profile
Thomas Junk <thomas.junk@intevation.de>
parents:
585
diff
changeset
|
86 }; |
c4a4dc612191
feat: Toggleable fairway profile
Thomas Junk <thomas.junk@intevation.de>
parents:
585
diff
changeset
|
87 }, |
585
ef307bd6b5d8
refac: restructured client application
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
88 layerData() { |
957
93364f153da4
Backed out changeset c2b03f4755b6
Thomas Junk <thomas.junk@intevation.de>
parents:
956
diff
changeset
|
89 const l = this.layers.map(x => { |
585
ef307bd6b5d8
refac: restructured client application
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
90 return x.data; |
ef307bd6b5d8
refac: restructured client application
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
91 }); |
649
83081ba6c9c1
feat: Linetool added
Thomas Junk <thomas.junk@intevation.de>
parents:
630
diff
changeset
|
92 return [...l, this.vectorLayer]; |
585
ef307bd6b5d8
refac: restructured client application
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
93 } |
ef307bd6b5d8
refac: restructured client application
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
94 }, |
649
83081ba6c9c1
feat: Linetool added
Thomas Junk <thomas.junk@intevation.de>
parents:
630
diff
changeset
|
95 methods: { |
83081ba6c9c1
feat: Linetool added
Thomas Junk <thomas.junk@intevation.de>
parents:
630
diff
changeset
|
96 createVectorSource() { |
83081ba6c9c1
feat: Linetool added
Thomas Junk <thomas.junk@intevation.de>
parents:
630
diff
changeset
|
97 this.vectorSource = new VectorSource({ wrapX: false }); |
83081ba6c9c1
feat: Linetool added
Thomas Junk <thomas.junk@intevation.de>
parents:
630
diff
changeset
|
98 }, |
942
912d016275ee
client: add arrow to drawn linesegment
Bernhard Reiter <bernhard@intevation.de>
parents:
938
diff
changeset
|
99 drawStyleFunction(feature) { |
912d016275ee
client: add arrow to drawn linesegment
Bernhard Reiter <bernhard@intevation.de>
parents:
938
diff
changeset
|
100 // adapted from OpenLayer's LineString Arrow Example |
912d016275ee
client: add arrow to drawn linesegment
Bernhard Reiter <bernhard@intevation.de>
parents:
938
diff
changeset
|
101 var geometry = feature.getGeometry(); |
912d016275ee
client: add arrow to drawn linesegment
Bernhard Reiter <bernhard@intevation.de>
parents:
938
diff
changeset
|
102 var styles = [ |
912d016275ee
client: add arrow to drawn linesegment
Bernhard Reiter <bernhard@intevation.de>
parents:
938
diff
changeset
|
103 // linestring |
912d016275ee
client: add arrow to drawn linesegment
Bernhard Reiter <bernhard@intevation.de>
parents:
938
diff
changeset
|
104 new Style({ |
912d016275ee
client: add arrow to drawn linesegment
Bernhard Reiter <bernhard@intevation.de>
parents:
938
diff
changeset
|
105 stroke: new Stroke({ |
912d016275ee
client: add arrow to drawn linesegment
Bernhard Reiter <bernhard@intevation.de>
parents:
938
diff
changeset
|
106 color: "#369aca", |
912d016275ee
client: add arrow to drawn linesegment
Bernhard Reiter <bernhard@intevation.de>
parents:
938
diff
changeset
|
107 width: 2 |
912d016275ee
client: add arrow to drawn linesegment
Bernhard Reiter <bernhard@intevation.de>
parents:
938
diff
changeset
|
108 }) |
912d016275ee
client: add arrow to drawn linesegment
Bernhard Reiter <bernhard@intevation.de>
parents:
938
diff
changeset
|
109 }) |
912d016275ee
client: add arrow to drawn linesegment
Bernhard Reiter <bernhard@intevation.de>
parents:
938
diff
changeset
|
110 ]; |
912d016275ee
client: add arrow to drawn linesegment
Bernhard Reiter <bernhard@intevation.de>
parents:
938
diff
changeset
|
111 |
912d016275ee
client: add arrow to drawn linesegment
Bernhard Reiter <bernhard@intevation.de>
parents:
938
diff
changeset
|
112 geometry.forEachSegment(function(start, end) { |
912d016275ee
client: add arrow to drawn linesegment
Bernhard Reiter <bernhard@intevation.de>
parents:
938
diff
changeset
|
113 var dx = end[0] - start[0]; |
912d016275ee
client: add arrow to drawn linesegment
Bernhard Reiter <bernhard@intevation.de>
parents:
938
diff
changeset
|
114 var dy = end[1] - start[1]; |
912d016275ee
client: add arrow to drawn linesegment
Bernhard Reiter <bernhard@intevation.de>
parents:
938
diff
changeset
|
115 var rotation = Math.atan2(dy, dx); |
912d016275ee
client: add arrow to drawn linesegment
Bernhard Reiter <bernhard@intevation.de>
parents:
938
diff
changeset
|
116 // arrows |
912d016275ee
client: add arrow to drawn linesegment
Bernhard Reiter <bernhard@intevation.de>
parents:
938
diff
changeset
|
117 styles.push( |
912d016275ee
client: add arrow to drawn linesegment
Bernhard Reiter <bernhard@intevation.de>
parents:
938
diff
changeset
|
118 new Style({ |
912d016275ee
client: add arrow to drawn linesegment
Bernhard Reiter <bernhard@intevation.de>
parents:
938
diff
changeset
|
119 geometry: new Point(end), |
912d016275ee
client: add arrow to drawn linesegment
Bernhard Reiter <bernhard@intevation.de>
parents:
938
diff
changeset
|
120 image: new Icon({ |
912d016275ee
client: add arrow to drawn linesegment
Bernhard Reiter <bernhard@intevation.de>
parents:
938
diff
changeset
|
121 // we need to make sure the image is loaded by Vue Loader |
912d016275ee
client: add arrow to drawn linesegment
Bernhard Reiter <bernhard@intevation.de>
parents:
938
diff
changeset
|
122 src: require("../application/assets/linestring_arrow.png"), |
912d016275ee
client: add arrow to drawn linesegment
Bernhard Reiter <bernhard@intevation.de>
parents:
938
diff
changeset
|
123 // fiddling with the anchor's y value does not help to |
912d016275ee
client: add arrow to drawn linesegment
Bernhard Reiter <bernhard@intevation.de>
parents:
938
diff
changeset
|
124 // position the image more centered on the line ending, as the |
912d016275ee
client: add arrow to drawn linesegment
Bernhard Reiter <bernhard@intevation.de>
parents:
938
diff
changeset
|
125 // default line style seems to be slightly uncentered in the |
912d016275ee
client: add arrow to drawn linesegment
Bernhard Reiter <bernhard@intevation.de>
parents:
938
diff
changeset
|
126 // anti-aliasing, but the image is not placed with subpixel |
912d016275ee
client: add arrow to drawn linesegment
Bernhard Reiter <bernhard@intevation.de>
parents:
938
diff
changeset
|
127 // precision |
912d016275ee
client: add arrow to drawn linesegment
Bernhard Reiter <bernhard@intevation.de>
parents:
938
diff
changeset
|
128 anchor: [0.75, 0.5], |
912d016275ee
client: add arrow to drawn linesegment
Bernhard Reiter <bernhard@intevation.de>
parents:
938
diff
changeset
|
129 rotateWithView: true, |
912d016275ee
client: add arrow to drawn linesegment
Bernhard Reiter <bernhard@intevation.de>
parents:
938
diff
changeset
|
130 rotation: -rotation |
912d016275ee
client: add arrow to drawn linesegment
Bernhard Reiter <bernhard@intevation.de>
parents:
938
diff
changeset
|
131 }) |
912d016275ee
client: add arrow to drawn linesegment
Bernhard Reiter <bernhard@intevation.de>
parents:
938
diff
changeset
|
132 }) |
912d016275ee
client: add arrow to drawn linesegment
Bernhard Reiter <bernhard@intevation.de>
parents:
938
diff
changeset
|
133 ); |
912d016275ee
client: add arrow to drawn linesegment
Bernhard Reiter <bernhard@intevation.de>
parents:
938
diff
changeset
|
134 }); |
912d016275ee
client: add arrow to drawn linesegment
Bernhard Reiter <bernhard@intevation.de>
parents:
938
diff
changeset
|
135 |
912d016275ee
client: add arrow to drawn linesegment
Bernhard Reiter <bernhard@intevation.de>
parents:
938
diff
changeset
|
136 return styles; |
912d016275ee
client: add arrow to drawn linesegment
Bernhard Reiter <bernhard@intevation.de>
parents:
938
diff
changeset
|
137 }, |
649
83081ba6c9c1
feat: Linetool added
Thomas Junk <thomas.junk@intevation.de>
parents:
630
diff
changeset
|
138 createVectorLayer() { |
83081ba6c9c1
feat: Linetool added
Thomas Junk <thomas.junk@intevation.de>
parents:
630
diff
changeset
|
139 this.vectorLayer = new VectorLayer({ |
942
912d016275ee
client: add arrow to drawn linesegment
Bernhard Reiter <bernhard@intevation.de>
parents:
938
diff
changeset
|
140 source: this.vectorSource, |
912d016275ee
client: add arrow to drawn linesegment
Bernhard Reiter <bernhard@intevation.de>
parents:
938
diff
changeset
|
141 style: this.drawStyleFunction |
649
83081ba6c9c1
feat: Linetool added
Thomas Junk <thomas.junk@intevation.de>
parents:
630
diff
changeset
|
142 }); |
83081ba6c9c1
feat: Linetool added
Thomas Junk <thomas.junk@intevation.de>
parents:
630
diff
changeset
|
143 }, |
83081ba6c9c1
feat: Linetool added
Thomas Junk <thomas.junk@intevation.de>
parents:
630
diff
changeset
|
144 removeCurrentInteraction() { |
957
93364f153da4
Backed out changeset c2b03f4755b6
Thomas Junk <thomas.junk@intevation.de>
parents:
956
diff
changeset
|
145 this.openLayersMap.removeInteraction(this.interaction); |
649
83081ba6c9c1
feat: Linetool added
Thomas Junk <thomas.junk@intevation.de>
parents:
630
diff
changeset
|
146 this.interaction = null; |
83081ba6c9c1
feat: Linetool added
Thomas Junk <thomas.junk@intevation.de>
parents:
630
diff
changeset
|
147 }, |
83081ba6c9c1
feat: Linetool added
Thomas Junk <thomas.junk@intevation.de>
parents:
630
diff
changeset
|
148 createInteraction() { |
752
f09cbe80a864
refac: small improvements
Thomas Junk <thomas.junk@intevation.de>
parents:
745
diff
changeset
|
149 this.vectorSource.clear(); |
705
6aa09d12157f
client: add detection of drawend
Bernhard Reiter <bernhard@intevation.de>
parents:
703
diff
changeset
|
150 var draw = new Draw({ |
649
83081ba6c9c1
feat: Linetool added
Thomas Junk <thomas.junk@intevation.de>
parents:
630
diff
changeset
|
151 source: this.vectorSource, |
752
f09cbe80a864
refac: small improvements
Thomas Junk <thomas.junk@intevation.de>
parents:
745
diff
changeset
|
152 type: this.drawMode, |
f09cbe80a864
refac: small improvements
Thomas Junk <thomas.junk@intevation.de>
parents:
745
diff
changeset
|
153 maxPoints: 2 |
649
83081ba6c9c1
feat: Linetool added
Thomas Junk <thomas.junk@intevation.de>
parents:
630
diff
changeset
|
154 }); |
793
073394629ec6
client: add measurement and improve identify
Bernhard Reiter <bernhard@intevation.de>
parents:
790
diff
changeset
|
155 draw.on("drawstart", event => { |
752
f09cbe80a864
refac: small improvements
Thomas Junk <thomas.junk@intevation.de>
parents:
745
diff
changeset
|
156 this.vectorSource.clear(); |
975
3da707172772
refac: removed technical debt
Thomas Junk <thomas.junk@intevation.de>
parents:
957
diff
changeset
|
157 this.$store.commit("identifystore/setCurrentMeasurement", null); |
793
073394629ec6
client: add measurement and improve identify
Bernhard Reiter <bernhard@intevation.de>
parents:
790
diff
changeset
|
158 event.feature.setId("drawn.1"); // unique id for new feature |
706
d47fa556a3e8
client: improve draw behaviour
Bernhard Reiter <bernhard@intevation.de>
parents:
705
diff
changeset
|
159 }); |
705
6aa09d12157f
client: add detection of drawend
Bernhard Reiter <bernhard@intevation.de>
parents:
703
diff
changeset
|
160 draw.on("drawend", this.drawEnd); |
6aa09d12157f
client: add detection of drawend
Bernhard Reiter <bernhard@intevation.de>
parents:
703
diff
changeset
|
161 return draw; |
649
83081ba6c9c1
feat: Linetool added
Thomas Junk <thomas.junk@intevation.de>
parents:
630
diff
changeset
|
162 }, |
706
d47fa556a3e8
client: improve draw behaviour
Bernhard Reiter <bernhard@intevation.de>
parents:
705
diff
changeset
|
163 drawEnd(event) { |
793
073394629ec6
client: add measurement and improve identify
Bernhard Reiter <bernhard@intevation.de>
parents:
790
diff
changeset
|
164 const length = getLength(event.feature.getGeometry()); |
975
3da707172772
refac: removed technical debt
Thomas Junk <thomas.junk@intevation.de>
parents:
957
diff
changeset
|
165 this.$store.commit("identifystore/setCurrentMeasurement", length); |
793
073394629ec6
client: add measurement and improve identify
Bernhard Reiter <bernhard@intevation.de>
parents:
790
diff
changeset
|
166 // also place the a rounded length in a property, so identify can show it |
073394629ec6
client: add measurement and improve identify
Bernhard Reiter <bernhard@intevation.de>
parents:
790
diff
changeset
|
167 event.feature.set("length", Math.round(length * 10) / 10); |
073394629ec6
client: add measurement and improve identify
Bernhard Reiter <bernhard@intevation.de>
parents:
790
diff
changeset
|
168 |
829
797063af6dc8
client: complete simple survey selection
Bernhard Reiter <bernhard@intevation.de>
parents:
810
diff
changeset
|
169 // if a survey has been selected, request a profile |
797063af6dc8
client: complete simple survey selection
Bernhard Reiter <bernhard@intevation.de>
parents:
810
diff
changeset
|
170 // TODO an improvement could be to check if the line intersects |
797063af6dc8
client: complete simple survey selection
Bernhard Reiter <bernhard@intevation.de>
parents:
810
diff
changeset
|
171 // with the bottleneck area's polygon before trying the server request |
957
93364f153da4
Backed out changeset c2b03f4755b6
Thomas Junk <thomas.junk@intevation.de>
parents:
956
diff
changeset
|
172 if (this.selectedMorph) { |
93364f153da4
Backed out changeset c2b03f4755b6
Thomas Junk <thomas.junk@intevation.de>
parents:
956
diff
changeset
|
173 console.log("requesting profile for", this.selectedMorph); |
1020
e89be4af3a9f
restructure surveyrequest
Thomas Junk <thomas.junk@intevation.de>
parents:
1019
diff
changeset
|
174 const inputLineString = event.feature.getGeometry().clone(); |
e89be4af3a9f
restructure surveyrequest
Thomas Junk <thomas.junk@intevation.de>
parents:
1019
diff
changeset
|
175 inputLineString.transform("EPSG:3857", "EPSG:4326"); |
1041
7e3c620a5639
rounding cut coordinates
Markus Kottlaender <markus@intevation.de>
parents:
1029
diff
changeset
|
176 const [start, end] = inputLineString |
7e3c620a5639
rounding cut coordinates
Markus Kottlaender <markus@intevation.de>
parents:
1029
diff
changeset
|
177 .getCoordinates() |
7e3c620a5639
rounding cut coordinates
Markus Kottlaender <markus@intevation.de>
parents:
1029
diff
changeset
|
178 .map(coords => coords.map(coord => parseFloat(coord.toFixed(8)))); |
1020
e89be4af3a9f
restructure surveyrequest
Thomas Junk <thomas.junk@intevation.de>
parents:
1019
diff
changeset
|
179 this.$store.commit("fairwayprofile/setStartPoint", start); |
e89be4af3a9f
restructure surveyrequest
Thomas Junk <thomas.junk@intevation.de>
parents:
1019
diff
changeset
|
180 this.$store.commit("fairwayprofile/setEndPoint", end); |
1028
dd67e46366ef
refac: loading of profile data via fairwayprofile store
Thomas Junk <thomas.junk@intevation.de>
parents:
1027
diff
changeset
|
181 const profileLine = new LineString([start, end]); |
dd67e46366ef
refac: loading of profile data via fairwayprofile store
Thomas Junk <thomas.junk@intevation.de>
parents:
1027
diff
changeset
|
182 this.$store |
dd67e46366ef
refac: loading of profile data via fairwayprofile store
Thomas Junk <thomas.junk@intevation.de>
parents:
1027
diff
changeset
|
183 .dispatch("fairwayprofile/loadProfile", this.selectedMorph.date_info) |
dd67e46366ef
refac: loading of profile data via fairwayprofile store
Thomas Junk <thomas.junk@intevation.de>
parents:
1027
diff
changeset
|
184 .then(() => { |
dd67e46366ef
refac: loading of profile data via fairwayprofile store
Thomas Junk <thomas.junk@intevation.de>
parents:
1027
diff
changeset
|
185 var vectorSource = this.getLayerByName( |
dd67e46366ef
refac: loading of profile data via fairwayprofile store
Thomas Junk <thomas.junk@intevation.de>
parents:
1027
diff
changeset
|
186 "Fairway Dimensions" |
dd67e46366ef
refac: loading of profile data via fairwayprofile store
Thomas Junk <thomas.junk@intevation.de>
parents:
1027
diff
changeset
|
187 ).data.getSource(); |
dd67e46366ef
refac: loading of profile data via fairwayprofile store
Thomas Junk <thomas.junk@intevation.de>
parents:
1027
diff
changeset
|
188 this.calculateIntersection(vectorSource, profileLine); |
dd67e46366ef
refac: loading of profile data via fairwayprofile store
Thomas Junk <thomas.junk@intevation.de>
parents:
1027
diff
changeset
|
189 }) |
dd67e46366ef
refac: loading of profile data via fairwayprofile store
Thomas Junk <thomas.junk@intevation.de>
parents:
1027
diff
changeset
|
190 .then(() => { |
dd67e46366ef
refac: loading of profile data via fairwayprofile store
Thomas Junk <thomas.junk@intevation.de>
parents:
1027
diff
changeset
|
191 this.$store.commit("application/openSplitScreen"); |
dd67e46366ef
refac: loading of profile data via fairwayprofile store
Thomas Junk <thomas.junk@intevation.de>
parents:
1027
diff
changeset
|
192 }) |
dd67e46366ef
refac: loading of profile data via fairwayprofile store
Thomas Junk <thomas.junk@intevation.de>
parents:
1027
diff
changeset
|
193 .catch(error => { |
dd67e46366ef
refac: loading of profile data via fairwayprofile store
Thomas Junk <thomas.junk@intevation.de>
parents:
1027
diff
changeset
|
194 const { status, data } = error.response; |
dd67e46366ef
refac: loading of profile data via fairwayprofile store
Thomas Junk <thomas.junk@intevation.de>
parents:
1027
diff
changeset
|
195 displayError({ |
dd67e46366ef
refac: loading of profile data via fairwayprofile store
Thomas Junk <thomas.junk@intevation.de>
parents:
1027
diff
changeset
|
196 title: "Backend Error", |
dd67e46366ef
refac: loading of profile data via fairwayprofile store
Thomas Junk <thomas.junk@intevation.de>
parents:
1027
diff
changeset
|
197 message: `${status}: ${data.message || data}` |
dd67e46366ef
refac: loading of profile data via fairwayprofile store
Thomas Junk <thomas.junk@intevation.de>
parents:
1027
diff
changeset
|
198 }); |
1025
a55f20dc8d8d
refac: store profiles by date
Thomas Junk <thomas.junk@intevation.de>
parents:
1022
diff
changeset
|
199 }); |
1028
dd67e46366ef
refac: loading of profile data via fairwayprofile store
Thomas Junk <thomas.junk@intevation.de>
parents:
1027
diff
changeset
|
200 } |
706
d47fa556a3e8
client: improve draw behaviour
Bernhard Reiter <bernhard@intevation.de>
parents:
705
diff
changeset
|
201 }, |
1022
74229d9f7028
refac: restructure maptool for understandability
Thomas Junk <thomas.junk@intevation.de>
parents:
1020
diff
changeset
|
202 calculateIntersection(vectorSource, profileLine) { |
74229d9f7028
refac: restructure maptool for understandability
Thomas Junk <thomas.junk@intevation.de>
parents:
1020
diff
changeset
|
203 const transformedLine = profileLine |
74229d9f7028
refac: restructure maptool for understandability
Thomas Junk <thomas.junk@intevation.de>
parents:
1020
diff
changeset
|
204 .clone() |
74229d9f7028
refac: restructure maptool for understandability
Thomas Junk <thomas.junk@intevation.de>
parents:
1020
diff
changeset
|
205 .transform("EPSG:4326", "EPSG:3857") |
74229d9f7028
refac: restructure maptool for understandability
Thomas Junk <thomas.junk@intevation.de>
parents:
1020
diff
changeset
|
206 .getExtent(); |
74229d9f7028
refac: restructure maptool for understandability
Thomas Junk <thomas.junk@intevation.de>
parents:
1020
diff
changeset
|
207 const featureCallback = feature => { |
74229d9f7028
refac: restructure maptool for understandability
Thomas Junk <thomas.junk@intevation.de>
parents:
1020
diff
changeset
|
208 // transform back to prepare for usage |
74229d9f7028
refac: restructure maptool for understandability
Thomas Junk <thomas.junk@intevation.de>
parents:
1020
diff
changeset
|
209 var intersectingPolygon = feature |
74229d9f7028
refac: restructure maptool for understandability
Thomas Junk <thomas.junk@intevation.de>
parents:
1020
diff
changeset
|
210 .getGeometry() |
74229d9f7028
refac: restructure maptool for understandability
Thomas Junk <thomas.junk@intevation.de>
parents:
1020
diff
changeset
|
211 .clone() |
74229d9f7028
refac: restructure maptool for understandability
Thomas Junk <thomas.junk@intevation.de>
parents:
1020
diff
changeset
|
212 .transform("EPSG:3857", "EPSG:4326"); |
1029
1fdeb9404afb
refac: extract calculation of fairway coordinates
Thomas Junk <thomas.junk@intevation.de>
parents:
1028
diff
changeset
|
213 const fairwayCoordinates = calculateFairwayCoordinates( |
1022
74229d9f7028
refac: restructure maptool for understandability
Thomas Junk <thomas.junk@intevation.de>
parents:
1020
diff
changeset
|
214 profileLine, |
74229d9f7028
refac: restructure maptool for understandability
Thomas Junk <thomas.junk@intevation.de>
parents:
1020
diff
changeset
|
215 intersectingPolygon, |
74229d9f7028
refac: restructure maptool for understandability
Thomas Junk <thomas.junk@intevation.de>
parents:
1020
diff
changeset
|
216 DEMODATA |
74229d9f7028
refac: restructure maptool for understandability
Thomas Junk <thomas.junk@intevation.de>
parents:
1020
diff
changeset
|
217 ); |
74229d9f7028
refac: restructure maptool for understandability
Thomas Junk <thomas.junk@intevation.de>
parents:
1020
diff
changeset
|
218 this.$store.commit( |
74229d9f7028
refac: restructure maptool for understandability
Thomas Junk <thomas.junk@intevation.de>
parents:
1020
diff
changeset
|
219 "fairwayprofile/setFairwayCoordinates", |
74229d9f7028
refac: restructure maptool for understandability
Thomas Junk <thomas.junk@intevation.de>
parents:
1020
diff
changeset
|
220 fairwayCoordinates |
74229d9f7028
refac: restructure maptool for understandability
Thomas Junk <thomas.junk@intevation.de>
parents:
1020
diff
changeset
|
221 ); |
74229d9f7028
refac: restructure maptool for understandability
Thomas Junk <thomas.junk@intevation.de>
parents:
1020
diff
changeset
|
222 }; |
74229d9f7028
refac: restructure maptool for understandability
Thomas Junk <thomas.junk@intevation.de>
parents:
1020
diff
changeset
|
223 vectorSource.forEachFeatureIntersectingExtent( |
74229d9f7028
refac: restructure maptool for understandability
Thomas Junk <thomas.junk@intevation.de>
parents:
1020
diff
changeset
|
224 // need to use EPSG:3857 which is the proj of vectorSource |
74229d9f7028
refac: restructure maptool for understandability
Thomas Junk <thomas.junk@intevation.de>
parents:
1020
diff
changeset
|
225 transformedLine, |
74229d9f7028
refac: restructure maptool for understandability
Thomas Junk <thomas.junk@intevation.de>
parents:
1020
diff
changeset
|
226 featureCallback |
74229d9f7028
refac: restructure maptool for understandability
Thomas Junk <thomas.junk@intevation.de>
parents:
1020
diff
changeset
|
227 ); |
74229d9f7028
refac: restructure maptool for understandability
Thomas Junk <thomas.junk@intevation.de>
parents:
1020
diff
changeset
|
228 }, |
649
83081ba6c9c1
feat: Linetool added
Thomas Junk <thomas.junk@intevation.de>
parents:
630
diff
changeset
|
229 activateInteraction() { |
83081ba6c9c1
feat: Linetool added
Thomas Junk <thomas.junk@intevation.de>
parents:
630
diff
changeset
|
230 const interaction = this.createInteraction(this.drawMode); |
83081ba6c9c1
feat: Linetool added
Thomas Junk <thomas.junk@intevation.de>
parents:
630
diff
changeset
|
231 this.interaction = interaction; |
957
93364f153da4
Backed out changeset c2b03f4755b6
Thomas Junk <thomas.junk@intevation.de>
parents:
956
diff
changeset
|
232 this.openLayersMap.addInteraction(interaction); |
701
8149772c62d6
client: add bbox loading strategy to riverkilometre
Bernhard Reiter <bernhard@intevation.de>
parents:
690
diff
changeset
|
233 }, |
764
a6a8fe89eb84
client: add hooks for identify mode
Bernhard Reiter <bernhard@intevation.de>
parents:
754
diff
changeset
|
234 activateIdentifyMode() { |
957
93364f153da4
Backed out changeset c2b03f4755b6
Thomas Junk <thomas.junk@intevation.de>
parents:
956
diff
changeset
|
235 this.openLayersMap.on("singleclick", event => { |
764
a6a8fe89eb84
client: add hooks for identify mode
Bernhard Reiter <bernhard@intevation.de>
parents:
754
diff
changeset
|
236 // console.log("single click on map:", event); |
765
c1baaff348b0
client: add code to identify WFS features
Bernhard Reiter <bernhard@intevation.de>
parents:
764
diff
changeset
|
237 this.identify(event.coordinate, event.pixel); |
764
a6a8fe89eb84
client: add hooks for identify mode
Bernhard Reiter <bernhard@intevation.de>
parents:
754
diff
changeset
|
238 }); |
a6a8fe89eb84
client: add hooks for identify mode
Bernhard Reiter <bernhard@intevation.de>
parents:
754
diff
changeset
|
239 }, |
765
c1baaff348b0
client: add code to identify WFS features
Bernhard Reiter <bernhard@intevation.de>
parents:
764
diff
changeset
|
240 identify(coordinate, pixel) { |
975
3da707172772
refac: removed technical debt
Thomas Junk <thomas.junk@intevation.de>
parents:
957
diff
changeset
|
241 this.$store.commit("identifystore/setIdentifiedFeatures", []); |
765
c1baaff348b0
client: add code to identify WFS features
Bernhard Reiter <bernhard@intevation.de>
parents:
764
diff
changeset
|
242 // checking our WFS layers |
957
93364f153da4
Backed out changeset c2b03f4755b6
Thomas Junk <thomas.junk@intevation.de>
parents:
956
diff
changeset
|
243 var features = this.openLayersMap.getFeaturesAtPixel(pixel); |
975
3da707172772
refac: removed technical debt
Thomas Junk <thomas.junk@intevation.de>
parents:
957
diff
changeset
|
244 this.$store.commit("identifystore/setIdentifiedFeatures", features); |
770
c12ec7fde3f2
client: add simple identify top area box
Bernhard Reiter <bernhard@intevation.de>
parents:
767
diff
changeset
|
245 |
c12ec7fde3f2
client: add simple identify top area box
Bernhard Reiter <bernhard@intevation.de>
parents:
767
diff
changeset
|
246 // DEBUG output and example how to remove the GeometryName |
c12ec7fde3f2
client: add simple identify top area box
Bernhard Reiter <bernhard@intevation.de>
parents:
767
diff
changeset
|
247 /* |
765
c1baaff348b0
client: add code to identify WFS features
Bernhard Reiter <bernhard@intevation.de>
parents:
764
diff
changeset
|
248 for (let feature of features) { |
c1baaff348b0
client: add code to identify WFS features
Bernhard Reiter <bernhard@intevation.de>
parents:
764
diff
changeset
|
249 console.log("Identified:", feature.getId()); |
c1baaff348b0
client: add code to identify WFS features
Bernhard Reiter <bernhard@intevation.de>
parents:
764
diff
changeset
|
250 for (let key of feature.getKeys()) { |
c1baaff348b0
client: add code to identify WFS features
Bernhard Reiter <bernhard@intevation.de>
parents:
764
diff
changeset
|
251 if (key != feature.getGeometryName()) { |
c1baaff348b0
client: add code to identify WFS features
Bernhard Reiter <bernhard@intevation.de>
parents:
764
diff
changeset
|
252 console.log(key, feature.get(key)); |
c1baaff348b0
client: add code to identify WFS features
Bernhard Reiter <bernhard@intevation.de>
parents:
764
diff
changeset
|
253 } |
c1baaff348b0
client: add code to identify WFS features
Bernhard Reiter <bernhard@intevation.de>
parents:
764
diff
changeset
|
254 } |
c1baaff348b0
client: add code to identify WFS features
Bernhard Reiter <bernhard@intevation.de>
parents:
764
diff
changeset
|
255 } |
770
c12ec7fde3f2
client: add simple identify top area box
Bernhard Reiter <bernhard@intevation.de>
parents:
767
diff
changeset
|
256 */ |
765
c1baaff348b0
client: add code to identify WFS features
Bernhard Reiter <bernhard@intevation.de>
parents:
764
diff
changeset
|
257 |
c1baaff348b0
client: add code to identify WFS features
Bernhard Reiter <bernhard@intevation.de>
parents:
764
diff
changeset
|
258 // trying the GetFeatureInfo way for WMS |
957
93364f153da4
Backed out changeset c2b03f4755b6
Thomas Junk <thomas.junk@intevation.de>
parents:
956
diff
changeset
|
259 var wmsSource = this.getLayerByName( |
765
c1baaff348b0
client: add code to identify WFS features
Bernhard Reiter <bernhard@intevation.de>
parents:
764
diff
changeset
|
260 "Inland ECDIS chart Danube" |
c1baaff348b0
client: add code to identify WFS features
Bernhard Reiter <bernhard@intevation.de>
parents:
764
diff
changeset
|
261 ).data.getSource(); |
764
a6a8fe89eb84
client: add hooks for identify mode
Bernhard Reiter <bernhard@intevation.de>
parents:
754
diff
changeset
|
262 var url = wmsSource.getGetFeatureInfoUrl( |
a6a8fe89eb84
client: add hooks for identify mode
Bernhard Reiter <bernhard@intevation.de>
parents:
754
diff
changeset
|
263 coordinate, |
765
c1baaff348b0
client: add code to identify WFS features
Bernhard Reiter <bernhard@intevation.de>
parents:
764
diff
changeset
|
264 100 /* resolution */, |
764
a6a8fe89eb84
client: add hooks for identify mode
Bernhard Reiter <bernhard@intevation.de>
parents:
754
diff
changeset
|
265 "EPSG:3857", |
a6a8fe89eb84
client: add hooks for identify mode
Bernhard Reiter <bernhard@intevation.de>
parents:
754
diff
changeset
|
266 // { INFO_FORMAT: "application/vnd.ogc.gml" } // not allowed by d4d |
a6a8fe89eb84
client: add hooks for identify mode
Bernhard Reiter <bernhard@intevation.de>
parents:
754
diff
changeset
|
267 { INFO_FORMAT: "text/plain" } |
a6a8fe89eb84
client: add hooks for identify mode
Bernhard Reiter <bernhard@intevation.de>
parents:
754
diff
changeset
|
268 ); |
a6a8fe89eb84
client: add hooks for identify mode
Bernhard Reiter <bernhard@intevation.de>
parents:
754
diff
changeset
|
269 |
a6a8fe89eb84
client: add hooks for identify mode
Bernhard Reiter <bernhard@intevation.de>
parents:
754
diff
changeset
|
270 if (url) { |
a6a8fe89eb84
client: add hooks for identify mode
Bernhard Reiter <bernhard@intevation.de>
parents:
754
diff
changeset
|
271 // cannot directly query here because of SOP |
765
c1baaff348b0
client: add code to identify WFS features
Bernhard Reiter <bernhard@intevation.de>
parents:
764
diff
changeset
|
272 console.log("GetFeatureInfo url:", url); |
764
a6a8fe89eb84
client: add hooks for identify mode
Bernhard Reiter <bernhard@intevation.de>
parents:
754
diff
changeset
|
273 } |
a6a8fe89eb84
client: add hooks for identify mode
Bernhard Reiter <bernhard@intevation.de>
parents:
754
diff
changeset
|
274 }, |
701
8149772c62d6
client: add bbox loading strategy to riverkilometre
Bernhard Reiter <bernhard@intevation.de>
parents:
690
diff
changeset
|
275 buildVectorLoader(featureRequestOptions, endpoint, vectorSource) { |
8149772c62d6
client: add bbox loading strategy to riverkilometre
Bernhard Reiter <bernhard@intevation.de>
parents:
690
diff
changeset
|
276 // build a function to be used for VectorSource.setLoader() |
8149772c62d6
client: add bbox loading strategy to riverkilometre
Bernhard Reiter <bernhard@intevation.de>
parents:
690
diff
changeset
|
277 // make use of WFS().writeGetFeature to build the request |
8149772c62d6
client: add bbox loading strategy to riverkilometre
Bernhard Reiter <bernhard@intevation.de>
parents:
690
diff
changeset
|
278 // and use our HTTP library to actually do it |
703
e9c28c42c927
client: improve WFS loader
Bernhard Reiter <bernhard@intevation.de>
parents:
702
diff
changeset
|
279 // NOTE: a) the geometryName has to be given in featureRequestOptions, |
e9c28c42c927
client: improve WFS loader
Bernhard Reiter <bernhard@intevation.de>
parents:
702
diff
changeset
|
280 // because we want to load depending on the bbox |
e9c28c42c927
client: improve WFS loader
Bernhard Reiter <bernhard@intevation.de>
parents:
702
diff
changeset
|
281 // b) the VectorSource has to have the option strategy: bbox |
701
8149772c62d6
client: add bbox loading strategy to riverkilometre
Bernhard Reiter <bernhard@intevation.de>
parents:
690
diff
changeset
|
282 featureRequestOptions["outputFormat"] = "application/json"; |
702
aaf5dbfb9512
client: improve loading of WFS features
Bernhard Reiter <bernhard@intevation.de>
parents:
701
diff
changeset
|
283 var loader = function(extent, resolution, projection) { |
701
8149772c62d6
client: add bbox loading strategy to riverkilometre
Bernhard Reiter <bernhard@intevation.de>
parents:
690
diff
changeset
|
284 featureRequestOptions["bbox"] = extent; |
702
aaf5dbfb9512
client: improve loading of WFS features
Bernhard Reiter <bernhard@intevation.de>
parents:
701
diff
changeset
|
285 featureRequestOptions["srsName"] = projection.getCode(); |
701
8149772c62d6
client: add bbox loading strategy to riverkilometre
Bernhard Reiter <bernhard@intevation.de>
parents:
690
diff
changeset
|
286 var featureRequest = new WFS().writeGetFeature(featureRequestOptions); |
8149772c62d6
client: add bbox loading strategy to riverkilometre
Bernhard Reiter <bernhard@intevation.de>
parents:
690
diff
changeset
|
287 // DEBUG console.log(featureRequest); |
8149772c62d6
client: add bbox loading strategy to riverkilometre
Bernhard Reiter <bernhard@intevation.de>
parents:
690
diff
changeset
|
288 HTTP.post( |
8149772c62d6
client: add bbox loading strategy to riverkilometre
Bernhard Reiter <bernhard@intevation.de>
parents:
690
diff
changeset
|
289 endpoint, |
8149772c62d6
client: add bbox loading strategy to riverkilometre
Bernhard Reiter <bernhard@intevation.de>
parents:
690
diff
changeset
|
290 new XMLSerializer().serializeToString(featureRequest), |
8149772c62d6
client: add bbox loading strategy to riverkilometre
Bernhard Reiter <bernhard@intevation.de>
parents:
690
diff
changeset
|
291 { |
8149772c62d6
client: add bbox loading strategy to riverkilometre
Bernhard Reiter <bernhard@intevation.de>
parents:
690
diff
changeset
|
292 headers: { |
8149772c62d6
client: add bbox loading strategy to riverkilometre
Bernhard Reiter <bernhard@intevation.de>
parents:
690
diff
changeset
|
293 "X-Gemma-Auth": localStorage.getItem("token"), |
8149772c62d6
client: add bbox loading strategy to riverkilometre
Bernhard Reiter <bernhard@intevation.de>
parents:
690
diff
changeset
|
294 "Content-type": "text/xml; charset=UTF-8" |
8149772c62d6
client: add bbox loading strategy to riverkilometre
Bernhard Reiter <bernhard@intevation.de>
parents:
690
diff
changeset
|
295 } |
8149772c62d6
client: add bbox loading strategy to riverkilometre
Bernhard Reiter <bernhard@intevation.de>
parents:
690
diff
changeset
|
296 } |
8149772c62d6
client: add bbox loading strategy to riverkilometre
Bernhard Reiter <bernhard@intevation.de>
parents:
690
diff
changeset
|
297 ) |
8149772c62d6
client: add bbox loading strategy to riverkilometre
Bernhard Reiter <bernhard@intevation.de>
parents:
690
diff
changeset
|
298 .then(response => { |
8149772c62d6
client: add bbox loading strategy to riverkilometre
Bernhard Reiter <bernhard@intevation.de>
parents:
690
diff
changeset
|
299 var features = new GeoJSON().readFeatures( |
8149772c62d6
client: add bbox loading strategy to riverkilometre
Bernhard Reiter <bernhard@intevation.de>
parents:
690
diff
changeset
|
300 JSON.stringify(response.data) |
8149772c62d6
client: add bbox loading strategy to riverkilometre
Bernhard Reiter <bernhard@intevation.de>
parents:
690
diff
changeset
|
301 ); |
8149772c62d6
client: add bbox loading strategy to riverkilometre
Bernhard Reiter <bernhard@intevation.de>
parents:
690
diff
changeset
|
302 vectorSource.addFeatures(features); |
754
105c421f99b1
refac: small improvements to code structure
Thomas Junk <thomas.junk@intevation.de>
parents:
752
diff
changeset
|
303 // console.log( |
105c421f99b1
refac: small improvements to code structure
Thomas Junk <thomas.junk@intevation.de>
parents:
752
diff
changeset
|
304 // "loaded", |
105c421f99b1
refac: small improvements to code structure
Thomas Junk <thomas.junk@intevation.de>
parents:
752
diff
changeset
|
305 // features.length, |
105c421f99b1
refac: small improvements to code structure
Thomas Junk <thomas.junk@intevation.de>
parents:
752
diff
changeset
|
306 // featureRequestOptions.featureTypes, |
105c421f99b1
refac: small improvements to code structure
Thomas Junk <thomas.junk@intevation.de>
parents:
752
diff
changeset
|
307 // "features" |
105c421f99b1
refac: small improvements to code structure
Thomas Junk <thomas.junk@intevation.de>
parents:
752
diff
changeset
|
308 // ); |
701
8149772c62d6
client: add bbox loading strategy to riverkilometre
Bernhard Reiter <bernhard@intevation.de>
parents:
690
diff
changeset
|
309 // DEBUG console.log("loaded ", features, "for", vectorSource); |
8149772c62d6
client: add bbox loading strategy to riverkilometre
Bernhard Reiter <bernhard@intevation.de>
parents:
690
diff
changeset
|
310 // eslint-disable-next-line |
713
badbc0207418
feat: systeminformation feature added
Thomas Junk <thomas.junk@intevation.de>
parents:
709
diff
changeset
|
311 }) |
badbc0207418
feat: systeminformation feature added
Thomas Junk <thomas.junk@intevation.de>
parents:
709
diff
changeset
|
312 .catch(() => { |
701
8149772c62d6
client: add bbox loading strategy to riverkilometre
Bernhard Reiter <bernhard@intevation.de>
parents:
690
diff
changeset
|
313 vectorSource.removeLoadedExtent(extent); |
8149772c62d6
client: add bbox loading strategy to riverkilometre
Bernhard Reiter <bernhard@intevation.de>
parents:
690
diff
changeset
|
314 }); |
8149772c62d6
client: add bbox loading strategy to riverkilometre
Bernhard Reiter <bernhard@intevation.de>
parents:
690
diff
changeset
|
315 }; |
8149772c62d6
client: add bbox loading strategy to riverkilometre
Bernhard Reiter <bernhard@intevation.de>
parents:
690
diff
changeset
|
316 return loader; |
842
ee6f127f573c
client: add first prototype for bottleneck iso layer
Bernhard Reiter <bernhard@intevation.de>
parents:
832
diff
changeset
|
317 }, |
860
38b682eaa7b1
client: add updateing of bottleneck filter
Bernhard Reiter <bernhard@intevation.de>
parents:
859
diff
changeset
|
318 updateBottleneckFilter(bottleneck_id, datestr) { |
38b682eaa7b1
client: add updateing of bottleneck filter
Bernhard Reiter <bernhard@intevation.de>
parents:
859
diff
changeset
|
319 console.log("updating filter with", bottleneck_id, datestr); |
957
93364f153da4
Backed out changeset c2b03f4755b6
Thomas Junk <thomas.junk@intevation.de>
parents:
956
diff
changeset
|
320 var layer = this.getLayerByName("Bottleneck isolines"); |
918
054561be4d68
Switch bottleneck isolines layer off, when selection is empty.
Sascha Wilde <wilde@intevation.de>
parents:
902
diff
changeset
|
321 var wmsSrc = layer.data.getSource(); |
054561be4d68
Switch bottleneck isolines layer off, when selection is empty.
Sascha Wilde <wilde@intevation.de>
parents:
902
diff
changeset
|
322 |
054561be4d68
Switch bottleneck isolines layer off, when selection is empty.
Sascha Wilde <wilde@intevation.de>
parents:
902
diff
changeset
|
323 if (bottleneck_id != "does_not_exist") { |
054561be4d68
Switch bottleneck isolines layer off, when selection is empty.
Sascha Wilde <wilde@intevation.de>
parents:
902
diff
changeset
|
324 wmsSrc.updateParams({ |
054561be4d68
Switch bottleneck isolines layer off, when selection is empty.
Sascha Wilde <wilde@intevation.de>
parents:
902
diff
changeset
|
325 cql_filter: |
054561be4d68
Switch bottleneck isolines layer off, when selection is empty.
Sascha Wilde <wilde@intevation.de>
parents:
902
diff
changeset
|
326 "date_info='" + |
054561be4d68
Switch bottleneck isolines layer off, when selection is empty.
Sascha Wilde <wilde@intevation.de>
parents:
902
diff
changeset
|
327 datestr + |
054561be4d68
Switch bottleneck isolines layer off, when selection is empty.
Sascha Wilde <wilde@intevation.de>
parents:
902
diff
changeset
|
328 "' AND bottleneck_id='" + |
054561be4d68
Switch bottleneck isolines layer off, when selection is empty.
Sascha Wilde <wilde@intevation.de>
parents:
902
diff
changeset
|
329 bottleneck_id + |
054561be4d68
Switch bottleneck isolines layer off, when selection is empty.
Sascha Wilde <wilde@intevation.de>
parents:
902
diff
changeset
|
330 "'" |
054561be4d68
Switch bottleneck isolines layer off, when selection is empty.
Sascha Wilde <wilde@intevation.de>
parents:
902
diff
changeset
|
331 }); |
054561be4d68
Switch bottleneck isolines layer off, when selection is empty.
Sascha Wilde <wilde@intevation.de>
parents:
902
diff
changeset
|
332 layer.isVisible = true; |
054561be4d68
Switch bottleneck isolines layer off, when selection is empty.
Sascha Wilde <wilde@intevation.de>
parents:
902
diff
changeset
|
333 layer.data.setVisible(true); |
054561be4d68
Switch bottleneck isolines layer off, when selection is empty.
Sascha Wilde <wilde@intevation.de>
parents:
902
diff
changeset
|
334 } else { |
054561be4d68
Switch bottleneck isolines layer off, when selection is empty.
Sascha Wilde <wilde@intevation.de>
parents:
902
diff
changeset
|
335 layer.isVisible = false; |
054561be4d68
Switch bottleneck isolines layer off, when selection is empty.
Sascha Wilde <wilde@intevation.de>
parents:
902
diff
changeset
|
336 layer.data.setVisible(false); |
054561be4d68
Switch bottleneck isolines layer off, when selection is empty.
Sascha Wilde <wilde@intevation.de>
parents:
902
diff
changeset
|
337 } |
879
52fe3e20f750
client: improve print styling
Bernhard Reiter <bernhard@intevation.de>
parents:
865
diff
changeset
|
338 }, |
52fe3e20f750
client: improve print styling
Bernhard Reiter <bernhard@intevation.de>
parents:
865
diff
changeset
|
339 onBeforePrint(/* evt */) { |
52fe3e20f750
client: improve print styling
Bernhard Reiter <bernhard@intevation.de>
parents:
865
diff
changeset
|
340 // console.log("onBeforePrint(", evt ,")"); |
52fe3e20f750
client: improve print styling
Bernhard Reiter <bernhard@intevation.de>
parents:
865
diff
changeset
|
341 // |
52fe3e20f750
client: improve print styling
Bernhard Reiter <bernhard@intevation.de>
parents:
865
diff
changeset
|
342 // the following code shows how to get the current map canvas |
52fe3e20f750
client: improve print styling
Bernhard Reiter <bernhard@intevation.de>
parents:
865
diff
changeset
|
343 // and change it, however this does not work well enough, as |
52fe3e20f750
client: improve print styling
Bernhard Reiter <bernhard@intevation.de>
parents:
865
diff
changeset
|
344 // another mechanism seems to update the size again before the rendering |
52fe3e20f750
client: improve print styling
Bernhard Reiter <bernhard@intevation.de>
parents:
865
diff
changeset
|
345 // for printing is done: |
957
93364f153da4
Backed out changeset c2b03f4755b6
Thomas Junk <thomas.junk@intevation.de>
parents:
956
diff
changeset
|
346 // console.log(this.openLayersMap.getViewport()); |
93364f153da4
Backed out changeset c2b03f4755b6
Thomas Junk <thomas.junk@intevation.de>
parents:
956
diff
changeset
|
347 // var canvas = this.openLayersMap.getViewport().getElementsByTagName("canvas")[0]; |
879
52fe3e20f750
client: improve print styling
Bernhard Reiter <bernhard@intevation.de>
parents:
865
diff
changeset
|
348 // console.log(canvas); |
52fe3e20f750
client: improve print styling
Bernhard Reiter <bernhard@intevation.de>
parents:
865
diff
changeset
|
349 // canvas.width=1000; |
52fe3e20f750
client: improve print styling
Bernhard Reiter <bernhard@intevation.de>
parents:
865
diff
changeset
|
350 // canvas.height=1414; |
52fe3e20f750
client: improve print styling
Bernhard Reiter <bernhard@intevation.de>
parents:
865
diff
changeset
|
351 // |
52fe3e20f750
client: improve print styling
Bernhard Reiter <bernhard@intevation.de>
parents:
865
diff
changeset
|
352 // An experiment which also did not work: |
957
93364f153da4
Backed out changeset c2b03f4755b6
Thomas Junk <thomas.junk@intevation.de>
parents:
956
diff
changeset
|
353 // this.openLayersMap.setSize([1000, 1414]); // estimate portait DIN A4 |
879
52fe3e20f750
client: improve print styling
Bernhard Reiter <bernhard@intevation.de>
parents:
865
diff
changeset
|
354 // |
52fe3e20f750
client: improve print styling
Bernhard Reiter <bernhard@intevation.de>
parents:
865
diff
changeset
|
355 // according to documentation |
52fe3e20f750
client: improve print styling
Bernhard Reiter <bernhard@intevation.de>
parents:
865
diff
changeset
|
356 // http://openlayers.org/en/latest/apidoc/module-ol_PluggableMap-PluggableMap.html#updateSize |
52fe3e20f750
client: improve print styling
Bernhard Reiter <bernhard@intevation.de>
parents:
865
diff
changeset
|
357 // "Force a recalculation of the map viewport size. This should be called when third-party code changes the size of the map viewport." |
52fe3e20f750
client: improve print styling
Bernhard Reiter <bernhard@intevation.de>
parents:
865
diff
changeset
|
358 // but did not help |
957
93364f153da4
Backed out changeset c2b03f4755b6
Thomas Junk <thomas.junk@intevation.de>
parents:
956
diff
changeset
|
359 // this.openLayersMap.updateSize(); |
879
52fe3e20f750
client: improve print styling
Bernhard Reiter <bernhard@intevation.de>
parents:
865
diff
changeset
|
360 }, |
52fe3e20f750
client: improve print styling
Bernhard Reiter <bernhard@intevation.de>
parents:
865
diff
changeset
|
361 onAfterPrint(/* evt */) { |
52fe3e20f750
client: improve print styling
Bernhard Reiter <bernhard@intevation.de>
parents:
865
diff
changeset
|
362 // could be used to undo changes that have been done for printing |
52fe3e20f750
client: improve print styling
Bernhard Reiter <bernhard@intevation.de>
parents:
865
diff
changeset
|
363 // though https://www.tjvantoll.com/2012/06/15/detecting-print-requests-with-javascript/ |
52fe3e20f750
client: improve print styling
Bernhard Reiter <bernhard@intevation.de>
parents:
865
diff
changeset
|
364 // reported that this was not feasable (back then). |
52fe3e20f750
client: improve print styling
Bernhard Reiter <bernhard@intevation.de>
parents:
865
diff
changeset
|
365 // console.log("onAfterPrint(", evt, ")"); |
649
83081ba6c9c1
feat: Linetool added
Thomas Junk <thomas.junk@intevation.de>
parents:
630
diff
changeset
|
366 } |
83081ba6c9c1
feat: Linetool added
Thomas Junk <thomas.junk@intevation.de>
parents:
630
diff
changeset
|
367 }, |
593
c4a4dc612191
feat: Toggleable fairway profile
Thomas Junk <thomas.junk@intevation.de>
parents:
585
diff
changeset
|
368 watch: { |
649
83081ba6c9c1
feat: Linetool added
Thomas Junk <thomas.junk@intevation.de>
parents:
630
diff
changeset
|
369 drawMode() { |
83081ba6c9c1
feat: Linetool added
Thomas Junk <thomas.junk@intevation.de>
parents:
630
diff
changeset
|
370 if (this.interaction) { |
83081ba6c9c1
feat: Linetool added
Thomas Junk <thomas.junk@intevation.de>
parents:
630
diff
changeset
|
371 this.removeCurrentInteraction(); |
83081ba6c9c1
feat: Linetool added
Thomas Junk <thomas.junk@intevation.de>
parents:
630
diff
changeset
|
372 } else { |
83081ba6c9c1
feat: Linetool added
Thomas Junk <thomas.junk@intevation.de>
parents:
630
diff
changeset
|
373 this.activateInteraction(); |
83081ba6c9c1
feat: Linetool added
Thomas Junk <thomas.junk@intevation.de>
parents:
630
diff
changeset
|
374 } |
83081ba6c9c1
feat: Linetool added
Thomas Junk <thomas.junk@intevation.de>
parents:
630
diff
changeset
|
375 }, |
593
c4a4dc612191
feat: Toggleable fairway profile
Thomas Junk <thomas.junk@intevation.de>
parents:
585
diff
changeset
|
376 split() { |
957
93364f153da4
Backed out changeset c2b03f4755b6
Thomas Junk <thomas.junk@intevation.de>
parents:
956
diff
changeset
|
377 const map = this.openLayersMap; |
594
6987b5c926b8
fix: leveraging vue.nexttick instead of timeout
Thomas Junk <thomas.junk@intevation.de>
parents:
593
diff
changeset
|
378 this.$nextTick(() => { |
593
c4a4dc612191
feat: Toggleable fairway profile
Thomas Junk <thomas.junk@intevation.de>
parents:
585
diff
changeset
|
379 map.updateSize(); |
594
6987b5c926b8
fix: leveraging vue.nexttick instead of timeout
Thomas Junk <thomas.junk@intevation.de>
parents:
593
diff
changeset
|
380 }); |
860
38b682eaa7b1
client: add updateing of bottleneck filter
Bernhard Reiter <bernhard@intevation.de>
parents:
859
diff
changeset
|
381 }, |
38b682eaa7b1
client: add updateing of bottleneck filter
Bernhard Reiter <bernhard@intevation.de>
parents:
859
diff
changeset
|
382 selectedMorph(newSelectedMorph) { |
861
aa4aaf04d41e
client: improve update of bottleneck filters
Bernhard Reiter <bernhard@intevation.de>
parents:
860
diff
changeset
|
383 if (newSelectedMorph) { |
aa4aaf04d41e
client: improve update of bottleneck filters
Bernhard Reiter <bernhard@intevation.de>
parents:
860
diff
changeset
|
384 this.updateBottleneckFilter( |
aa4aaf04d41e
client: improve update of bottleneck filters
Bernhard Reiter <bernhard@intevation.de>
parents:
860
diff
changeset
|
385 newSelectedMorph.bottleneck_id, |
aa4aaf04d41e
client: improve update of bottleneck filters
Bernhard Reiter <bernhard@intevation.de>
parents:
860
diff
changeset
|
386 newSelectedMorph.date_info |
aa4aaf04d41e
client: improve update of bottleneck filters
Bernhard Reiter <bernhard@intevation.de>
parents:
860
diff
changeset
|
387 ); |
aa4aaf04d41e
client: improve update of bottleneck filters
Bernhard Reiter <bernhard@intevation.de>
parents:
860
diff
changeset
|
388 } else { |
aa4aaf04d41e
client: improve update of bottleneck filters
Bernhard Reiter <bernhard@intevation.de>
parents:
860
diff
changeset
|
389 this.updateBottleneckFilter("does_not_exist", "1999-10-01"); |
aa4aaf04d41e
client: improve update of bottleneck filters
Bernhard Reiter <bernhard@intevation.de>
parents:
860
diff
changeset
|
390 } |
593
c4a4dc612191
feat: Toggleable fairway profile
Thomas Junk <thomas.junk@intevation.de>
parents:
585
diff
changeset
|
391 } |
c4a4dc612191
feat: Toggleable fairway profile
Thomas Junk <thomas.junk@intevation.de>
parents:
585
diff
changeset
|
392 }, |
585
ef307bd6b5d8
refac: restructured client application
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
393 mounted() { |
649
83081ba6c9c1
feat: Linetool added
Thomas Junk <thomas.junk@intevation.de>
parents:
630
diff
changeset
|
394 this.createVectorSource(); |
83081ba6c9c1
feat: Linetool added
Thomas Junk <thomas.junk@intevation.de>
parents:
630
diff
changeset
|
395 this.createVectorLayer(); |
783
ab9604a46075
client: add move after clicking search result
Bernhard Reiter <bernhard@intevation.de>
parents:
782
diff
changeset
|
396 let map = new Map({ |
585
ef307bd6b5d8
refac: restructured client application
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
397 layers: this.layerData, |
ef307bd6b5d8
refac: restructured client application
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
398 target: "map", |
649
83081ba6c9c1
feat: Linetool added
Thomas Junk <thomas.junk@intevation.de>
parents:
630
diff
changeset
|
399 controls: [], |
585
ef307bd6b5d8
refac: restructured client application
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
400 view: new View({ |
ef307bd6b5d8
refac: restructured client application
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
401 center: [this.long, this.lat], |
ef307bd6b5d8
refac: restructured client application
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
402 zoom: this.zoom, |
ef307bd6b5d8
refac: restructured client application
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
403 projection: this.projection |
ef307bd6b5d8
refac: restructured client application
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
404 }) |
ef307bd6b5d8
refac: restructured client application
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
405 }); |
957
93364f153da4
Backed out changeset c2b03f4755b6
Thomas Junk <thomas.junk@intevation.de>
parents:
956
diff
changeset
|
406 this.$store.commit("mapstore/setOpenLayersMap", map); |
585
ef307bd6b5d8
refac: restructured client application
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
407 |
733
e57955c1996f
client: improve code structure
Bernhard Reiter <bernhard@intevation.de>
parents:
716
diff
changeset
|
408 // TODO make display of layers more dynamic, e.g. from a list |
e57955c1996f
client: improve code structure
Bernhard Reiter <bernhard@intevation.de>
parents:
716
diff
changeset
|
409 |
e57955c1996f
client: improve code structure
Bernhard Reiter <bernhard@intevation.de>
parents:
716
diff
changeset
|
410 // loading the full WFS layer, by not setting the loader function |
e57955c1996f
client: improve code structure
Bernhard Reiter <bernhard@intevation.de>
parents:
716
diff
changeset
|
411 // and without bboxStrategy |
628
ef9c733cc6aa
client: show more wfs layers
Bernhard Reiter <bernhard@intevation.de>
parents:
626
diff
changeset
|
412 var featureRequest2 = new WFS().writeGetFeature({ |
585
ef307bd6b5d8
refac: restructured client application
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
413 srsName: "EPSG:3857", |
ef307bd6b5d8
refac: restructured client application
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
414 featureNS: "gemma", |
ef307bd6b5d8
refac: restructured client application
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
415 featurePrefix: "gemma", |
ef307bd6b5d8
refac: restructured client application
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
416 featureTypes: ["fairway_dimensions"], |
ef307bd6b5d8
refac: restructured client application
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
417 outputFormat: "application/json" |
ef307bd6b5d8
refac: restructured client application
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
418 }); |
ef307bd6b5d8
refac: restructured client application
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
419 |
733
e57955c1996f
client: improve code structure
Bernhard Reiter <bernhard@intevation.de>
parents:
716
diff
changeset
|
420 // NOTE: loading the full fairway_dimensions makes sure |
e57955c1996f
client: improve code structure
Bernhard Reiter <bernhard@intevation.de>
parents:
716
diff
changeset
|
421 // that all are available for the intersection with the profile |
585
ef307bd6b5d8
refac: restructured client application
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
422 HTTP.post( |
ef307bd6b5d8
refac: restructured client application
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
423 "/internal/wfs", |
628
ef9c733cc6aa
client: show more wfs layers
Bernhard Reiter <bernhard@intevation.de>
parents:
626
diff
changeset
|
424 new XMLSerializer().serializeToString(featureRequest2), |
585
ef307bd6b5d8
refac: restructured client application
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
425 { |
ef307bd6b5d8
refac: restructured client application
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
426 headers: { |
ef307bd6b5d8
refac: restructured client application
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
427 "X-Gemma-Auth": localStorage.getItem("token"), |
ef307bd6b5d8
refac: restructured client application
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
428 "Content-type": "text/xml; charset=UTF-8" |
ef307bd6b5d8
refac: restructured client application
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
429 } |
ef307bd6b5d8
refac: restructured client application
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
430 } |
649
83081ba6c9c1
feat: Linetool added
Thomas Junk <thomas.junk@intevation.de>
parents:
630
diff
changeset
|
431 ).then(response => { |
585
ef307bd6b5d8
refac: restructured client application
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
432 var features = new GeoJSON().readFeatures(JSON.stringify(response.data)); |
957
93364f153da4
Backed out changeset c2b03f4755b6
Thomas Junk <thomas.junk@intevation.de>
parents:
956
diff
changeset
|
433 var vectorSrc = this.getLayerByName( |
733
e57955c1996f
client: improve code structure
Bernhard Reiter <bernhard@intevation.de>
parents:
716
diff
changeset
|
434 "Fairway Dimensions" |
e57955c1996f
client: improve code structure
Bernhard Reiter <bernhard@intevation.de>
parents:
716
diff
changeset
|
435 ).data.getSource(); |
585
ef307bd6b5d8
refac: restructured client application
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
436 vectorSrc.addFeatures(features); |
ef307bd6b5d8
refac: restructured client application
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
437 // would scale to the extend of all resulting features |
957
93364f153da4
Backed out changeset c2b03f4755b6
Thomas Junk <thomas.junk@intevation.de>
parents:
956
diff
changeset
|
438 // this.openLayersMap.getView().fit(vectorSrc.getExtent()); |
585
ef307bd6b5d8
refac: restructured client application
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
439 }); |
620
ef00684e021f
client: add showing special buoys
Bernhard Reiter <bernhard@intevation.de>
parents:
594
diff
changeset
|
440 |
733
e57955c1996f
client: improve code structure
Bernhard Reiter <bernhard@intevation.de>
parents:
716
diff
changeset
|
441 // load following layers with bboxStrategy (using our request builder) |
e57955c1996f
client: improve code structure
Bernhard Reiter <bernhard@intevation.de>
parents:
716
diff
changeset
|
442 var layer = null; |
620
ef00684e021f
client: add showing special buoys
Bernhard Reiter <bernhard@intevation.de>
parents:
594
diff
changeset
|
443 |
957
93364f153da4
Backed out changeset c2b03f4755b6
Thomas Junk <thomas.junk@intevation.de>
parents:
956
diff
changeset
|
444 layer = this.getLayerByName("Waterway Area"); |
733
e57955c1996f
client: improve code structure
Bernhard Reiter <bernhard@intevation.de>
parents:
716
diff
changeset
|
445 layer.data.getSource().setLoader( |
e57955c1996f
client: improve code structure
Bernhard Reiter <bernhard@intevation.de>
parents:
716
diff
changeset
|
446 this.buildVectorLoader( |
e57955c1996f
client: improve code structure
Bernhard Reiter <bernhard@intevation.de>
parents:
716
diff
changeset
|
447 { |
e57955c1996f
client: improve code structure
Bernhard Reiter <bernhard@intevation.de>
parents:
716
diff
changeset
|
448 featurePrefix: "ws-wamos", |
e57955c1996f
client: improve code structure
Bernhard Reiter <bernhard@intevation.de>
parents:
716
diff
changeset
|
449 featureTypes: ["ienc_wtware"], |
e57955c1996f
client: improve code structure
Bernhard Reiter <bernhard@intevation.de>
parents:
716
diff
changeset
|
450 geometryName: "geom" |
e57955c1996f
client: improve code structure
Bernhard Reiter <bernhard@intevation.de>
parents:
716
diff
changeset
|
451 }, |
e57955c1996f
client: improve code structure
Bernhard Reiter <bernhard@intevation.de>
parents:
716
diff
changeset
|
452 "/external/d4d", |
e57955c1996f
client: improve code structure
Bernhard Reiter <bernhard@intevation.de>
parents:
716
diff
changeset
|
453 layer.data.getSource() |
e57955c1996f
client: improve code structure
Bernhard Reiter <bernhard@intevation.de>
parents:
716
diff
changeset
|
454 ) |
e57955c1996f
client: improve code structure
Bernhard Reiter <bernhard@intevation.de>
parents:
716
diff
changeset
|
455 ); |
628
ef9c733cc6aa
client: show more wfs layers
Bernhard Reiter <bernhard@intevation.de>
parents:
626
diff
changeset
|
456 |
957
93364f153da4
Backed out changeset c2b03f4755b6
Thomas Junk <thomas.junk@intevation.de>
parents:
956
diff
changeset
|
457 layer = this.getLayerByName("Waterway Axis"); |
733
e57955c1996f
client: improve code structure
Bernhard Reiter <bernhard@intevation.de>
parents:
716
diff
changeset
|
458 layer.data.getSource().setLoader( |
e57955c1996f
client: improve code structure
Bernhard Reiter <bernhard@intevation.de>
parents:
716
diff
changeset
|
459 this.buildVectorLoader( |
e57955c1996f
client: improve code structure
Bernhard Reiter <bernhard@intevation.de>
parents:
716
diff
changeset
|
460 { |
e57955c1996f
client: improve code structure
Bernhard Reiter <bernhard@intevation.de>
parents:
716
diff
changeset
|
461 featurePrefix: "ws-wamos", |
e57955c1996f
client: improve code structure
Bernhard Reiter <bernhard@intevation.de>
parents:
716
diff
changeset
|
462 featureTypes: ["ienc_wtwaxs"], |
e57955c1996f
client: improve code structure
Bernhard Reiter <bernhard@intevation.de>
parents:
716
diff
changeset
|
463 geometryName: "geom" |
e57955c1996f
client: improve code structure
Bernhard Reiter <bernhard@intevation.de>
parents:
716
diff
changeset
|
464 }, |
e57955c1996f
client: improve code structure
Bernhard Reiter <bernhard@intevation.de>
parents:
716
diff
changeset
|
465 "/external/d4d", |
e57955c1996f
client: improve code structure
Bernhard Reiter <bernhard@intevation.de>
parents:
716
diff
changeset
|
466 layer.data.getSource() |
e57955c1996f
client: improve code structure
Bernhard Reiter <bernhard@intevation.de>
parents:
716
diff
changeset
|
467 ) |
e57955c1996f
client: improve code structure
Bernhard Reiter <bernhard@intevation.de>
parents:
716
diff
changeset
|
468 ); |
628
ef9c733cc6aa
client: show more wfs layers
Bernhard Reiter <bernhard@intevation.de>
parents:
626
diff
changeset
|
469 |
957
93364f153da4
Backed out changeset c2b03f4755b6
Thomas Junk <thomas.junk@intevation.de>
parents:
956
diff
changeset
|
470 layer = this.getLayerByName("Distance marks"); |
733
e57955c1996f
client: improve code structure
Bernhard Reiter <bernhard@intevation.de>
parents:
716
diff
changeset
|
471 layer.data.getSource().setLoader( |
e57955c1996f
client: improve code structure
Bernhard Reiter <bernhard@intevation.de>
parents:
716
diff
changeset
|
472 this.buildVectorLoader( |
e57955c1996f
client: improve code structure
Bernhard Reiter <bernhard@intevation.de>
parents:
716
diff
changeset
|
473 { |
e57955c1996f
client: improve code structure
Bernhard Reiter <bernhard@intevation.de>
parents:
716
diff
changeset
|
474 featurePrefix: "ws-wamos", |
e57955c1996f
client: improve code structure
Bernhard Reiter <bernhard@intevation.de>
parents:
716
diff
changeset
|
475 featureTypes: ["ienc_dismar"], |
e57955c1996f
client: improve code structure
Bernhard Reiter <bernhard@intevation.de>
parents:
716
diff
changeset
|
476 geometryName: "geom" //, |
e57955c1996f
client: improve code structure
Bernhard Reiter <bernhard@intevation.de>
parents:
716
diff
changeset
|
477 /* restrict loading approximately to extend of danube in Austria */ |
e57955c1996f
client: improve code structure
Bernhard Reiter <bernhard@intevation.de>
parents:
716
diff
changeset
|
478 // filter: bboxFilter("geom", [13.3, 48.0, 17.1, 48.6], "EPSG:4326") |
e57955c1996f
client: improve code structure
Bernhard Reiter <bernhard@intevation.de>
parents:
716
diff
changeset
|
479 }, |
e57955c1996f
client: improve code structure
Bernhard Reiter <bernhard@intevation.de>
parents:
716
diff
changeset
|
480 "/external/d4d", |
e57955c1996f
client: improve code structure
Bernhard Reiter <bernhard@intevation.de>
parents:
716
diff
changeset
|
481 layer.data.getSource() |
e57955c1996f
client: improve code structure
Bernhard Reiter <bernhard@intevation.de>
parents:
716
diff
changeset
|
482 ) |
e57955c1996f
client: improve code structure
Bernhard Reiter <bernhard@intevation.de>
parents:
716
diff
changeset
|
483 ); |
e57955c1996f
client: improve code structure
Bernhard Reiter <bernhard@intevation.de>
parents:
716
diff
changeset
|
484 layer.data.setVisible(layer.isVisible); |
628
ef9c733cc6aa
client: show more wfs layers
Bernhard Reiter <bernhard@intevation.de>
parents:
626
diff
changeset
|
485 |
957
93364f153da4
Backed out changeset c2b03f4755b6
Thomas Junk <thomas.junk@intevation.de>
parents:
956
diff
changeset
|
486 layer = this.getLayerByName("Distance marks, Axis"); |
733
e57955c1996f
client: improve code structure
Bernhard Reiter <bernhard@intevation.de>
parents:
716
diff
changeset
|
487 layer.data.getSource().setLoader( |
e57955c1996f
client: improve code structure
Bernhard Reiter <bernhard@intevation.de>
parents:
716
diff
changeset
|
488 this.buildVectorLoader( |
e57955c1996f
client: improve code structure
Bernhard Reiter <bernhard@intevation.de>
parents:
716
diff
changeset
|
489 { |
e57955c1996f
client: improve code structure
Bernhard Reiter <bernhard@intevation.de>
parents:
716
diff
changeset
|
490 featureNS: "gemma", |
e57955c1996f
client: improve code structure
Bernhard Reiter <bernhard@intevation.de>
parents:
716
diff
changeset
|
491 featurePrefix: "gemma", |
e57955c1996f
client: improve code structure
Bernhard Reiter <bernhard@intevation.de>
parents:
716
diff
changeset
|
492 featureTypes: ["distance_marks_geoserver"], |
e57955c1996f
client: improve code structure
Bernhard Reiter <bernhard@intevation.de>
parents:
716
diff
changeset
|
493 geometryName: "geom" |
e57955c1996f
client: improve code structure
Bernhard Reiter <bernhard@intevation.de>
parents:
716
diff
changeset
|
494 }, |
e57955c1996f
client: improve code structure
Bernhard Reiter <bernhard@intevation.de>
parents:
716
diff
changeset
|
495 "/internal/wfs", |
e57955c1996f
client: improve code structure
Bernhard Reiter <bernhard@intevation.de>
parents:
716
diff
changeset
|
496 layer.data.getSource() |
e57955c1996f
client: improve code structure
Bernhard Reiter <bernhard@intevation.de>
parents:
716
diff
changeset
|
497 ) |
e57955c1996f
client: improve code structure
Bernhard Reiter <bernhard@intevation.de>
parents:
716
diff
changeset
|
498 ); |
745
f2691e0d4970
client: add wfs layer for named waterway areas.
Bernhard Reiter <bernhard@intevation.de>
parents:
738
diff
changeset
|
499 |
957
93364f153da4
Backed out changeset c2b03f4755b6
Thomas Junk <thomas.junk@intevation.de>
parents:
956
diff
changeset
|
500 layer = this.getLayerByName("Waterway Area, named"); |
745
f2691e0d4970
client: add wfs layer for named waterway areas.
Bernhard Reiter <bernhard@intevation.de>
parents:
738
diff
changeset
|
501 layer.data.getSource().setLoader( |
f2691e0d4970
client: add wfs layer for named waterway areas.
Bernhard Reiter <bernhard@intevation.de>
parents:
738
diff
changeset
|
502 this.buildVectorLoader( |
f2691e0d4970
client: add wfs layer for named waterway areas.
Bernhard Reiter <bernhard@intevation.de>
parents:
738
diff
changeset
|
503 { |
f2691e0d4970
client: add wfs layer for named waterway areas.
Bernhard Reiter <bernhard@intevation.de>
parents:
738
diff
changeset
|
504 featureNS: "gemma", |
f2691e0d4970
client: add wfs layer for named waterway areas.
Bernhard Reiter <bernhard@intevation.de>
parents:
738
diff
changeset
|
505 featurePrefix: "gemma", |
f2691e0d4970
client: add wfs layer for named waterway areas.
Bernhard Reiter <bernhard@intevation.de>
parents:
738
diff
changeset
|
506 featureTypes: ["hydro_seaare"], |
f2691e0d4970
client: add wfs layer for named waterway areas.
Bernhard Reiter <bernhard@intevation.de>
parents:
738
diff
changeset
|
507 geometryName: "geom" |
f2691e0d4970
client: add wfs layer for named waterway areas.
Bernhard Reiter <bernhard@intevation.de>
parents:
738
diff
changeset
|
508 }, |
f2691e0d4970
client: add wfs layer for named waterway areas.
Bernhard Reiter <bernhard@intevation.de>
parents:
738
diff
changeset
|
509 "/external/d4d", |
f2691e0d4970
client: add wfs layer for named waterway areas.
Bernhard Reiter <bernhard@intevation.de>
parents:
738
diff
changeset
|
510 layer.data.getSource() |
f2691e0d4970
client: add wfs layer for named waterway areas.
Bernhard Reiter <bernhard@intevation.de>
parents:
738
diff
changeset
|
511 ) |
f2691e0d4970
client: add wfs layer for named waterway areas.
Bernhard Reiter <bernhard@intevation.de>
parents:
738
diff
changeset
|
512 ); |
f2691e0d4970
client: add wfs layer for named waterway areas.
Bernhard Reiter <bernhard@intevation.de>
parents:
738
diff
changeset
|
513 layer.data.setVisible(layer.isVisible); |
764
a6a8fe89eb84
client: add hooks for identify mode
Bernhard Reiter <bernhard@intevation.de>
parents:
754
diff
changeset
|
514 |
957
93364f153da4
Backed out changeset c2b03f4755b6
Thomas Junk <thomas.junk@intevation.de>
parents:
956
diff
changeset
|
515 layer = this.getLayerByName("Bottlenecks"); |
790
1b82ae5e637e
client: add bottleneck layer with first styling
Bernhard Reiter <bernhard@intevation.de>
parents:
783
diff
changeset
|
516 layer.data.getSource().setLoader( |
1b82ae5e637e
client: add bottleneck layer with first styling
Bernhard Reiter <bernhard@intevation.de>
parents:
783
diff
changeset
|
517 this.buildVectorLoader( |
1b82ae5e637e
client: add bottleneck layer with first styling
Bernhard Reiter <bernhard@intevation.de>
parents:
783
diff
changeset
|
518 { |
1b82ae5e637e
client: add bottleneck layer with first styling
Bernhard Reiter <bernhard@intevation.de>
parents:
783
diff
changeset
|
519 featureNS: "gemma", |
1b82ae5e637e
client: add bottleneck layer with first styling
Bernhard Reiter <bernhard@intevation.de>
parents:
783
diff
changeset
|
520 featurePrefix: "gemma", |
1b82ae5e637e
client: add bottleneck layer with first styling
Bernhard Reiter <bernhard@intevation.de>
parents:
783
diff
changeset
|
521 featureTypes: ["bottlenecks"], |
1b82ae5e637e
client: add bottleneck layer with first styling
Bernhard Reiter <bernhard@intevation.de>
parents:
783
diff
changeset
|
522 geometryName: "area" |
1b82ae5e637e
client: add bottleneck layer with first styling
Bernhard Reiter <bernhard@intevation.de>
parents:
783
diff
changeset
|
523 }, |
1b82ae5e637e
client: add bottleneck layer with first styling
Bernhard Reiter <bernhard@intevation.de>
parents:
783
diff
changeset
|
524 "/internal/wfs", |
1b82ae5e637e
client: add bottleneck layer with first styling
Bernhard Reiter <bernhard@intevation.de>
parents:
783
diff
changeset
|
525 layer.data.getSource() |
1b82ae5e637e
client: add bottleneck layer with first styling
Bernhard Reiter <bernhard@intevation.de>
parents:
783
diff
changeset
|
526 ) |
1b82ae5e637e
client: add bottleneck layer with first styling
Bernhard Reiter <bernhard@intevation.de>
parents:
783
diff
changeset
|
527 ); |
858
e5ac0fb0c1c5
map styling: Very ugly hack to read bottleneck style from server.
Sascha Wilde <wilde@intevation.de>
parents:
848
diff
changeset
|
528 HTTP.get("/system/style/Bottlenecks/stroke", { |
e5ac0fb0c1c5
map styling: Very ugly hack to read bottleneck style from server.
Sascha Wilde <wilde@intevation.de>
parents:
848
diff
changeset
|
529 headers: { "X-Gemma-Auth": localStorage.getItem("token") } |
e5ac0fb0c1c5
map styling: Very ugly hack to read bottleneck style from server.
Sascha Wilde <wilde@intevation.de>
parents:
848
diff
changeset
|
530 }) |
e5ac0fb0c1c5
map styling: Very ugly hack to read bottleneck style from server.
Sascha Wilde <wilde@intevation.de>
parents:
848
diff
changeset
|
531 .then(response => { |
e5ac0fb0c1c5
map styling: Very ugly hack to read bottleneck style from server.
Sascha Wilde <wilde@intevation.de>
parents:
848
diff
changeset
|
532 this.btlnStrokeC = response.data.code; |
e5ac0fb0c1c5
map styling: Very ugly hack to read bottleneck style from server.
Sascha Wilde <wilde@intevation.de>
parents:
848
diff
changeset
|
533 HTTP.get("/system/style/Bottlenecks/fill", { |
e5ac0fb0c1c5
map styling: Very ugly hack to read bottleneck style from server.
Sascha Wilde <wilde@intevation.de>
parents:
848
diff
changeset
|
534 headers: { "X-Gemma-Auth": localStorage.getItem("token") } |
e5ac0fb0c1c5
map styling: Very ugly hack to read bottleneck style from server.
Sascha Wilde <wilde@intevation.de>
parents:
848
diff
changeset
|
535 }) |
e5ac0fb0c1c5
map styling: Very ugly hack to read bottleneck style from server.
Sascha Wilde <wilde@intevation.de>
parents:
848
diff
changeset
|
536 .then(response => { |
e5ac0fb0c1c5
map styling: Very ugly hack to read bottleneck style from server.
Sascha Wilde <wilde@intevation.de>
parents:
848
diff
changeset
|
537 this.btlnFillC = response.data.code; |
e5ac0fb0c1c5
map styling: Very ugly hack to read bottleneck style from server.
Sascha Wilde <wilde@intevation.de>
parents:
848
diff
changeset
|
538 var newstyle = new Style({ |
e5ac0fb0c1c5
map styling: Very ugly hack to read bottleneck style from server.
Sascha Wilde <wilde@intevation.de>
parents:
848
diff
changeset
|
539 stroke: new Stroke({ |
e5ac0fb0c1c5
map styling: Very ugly hack to read bottleneck style from server.
Sascha Wilde <wilde@intevation.de>
parents:
848
diff
changeset
|
540 color: this.btlnStrokeC, |
e5ac0fb0c1c5
map styling: Very ugly hack to read bottleneck style from server.
Sascha Wilde <wilde@intevation.de>
parents:
848
diff
changeset
|
541 width: 4 |
e5ac0fb0c1c5
map styling: Very ugly hack to read bottleneck style from server.
Sascha Wilde <wilde@intevation.de>
parents:
848
diff
changeset
|
542 }), |
e5ac0fb0c1c5
map styling: Very ugly hack to read bottleneck style from server.
Sascha Wilde <wilde@intevation.de>
parents:
848
diff
changeset
|
543 fill: new Fill({ |
e5ac0fb0c1c5
map styling: Very ugly hack to read bottleneck style from server.
Sascha Wilde <wilde@intevation.de>
parents:
848
diff
changeset
|
544 color: this.btlnFillC |
e5ac0fb0c1c5
map styling: Very ugly hack to read bottleneck style from server.
Sascha Wilde <wilde@intevation.de>
parents:
848
diff
changeset
|
545 }) |
e5ac0fb0c1c5
map styling: Very ugly hack to read bottleneck style from server.
Sascha Wilde <wilde@intevation.de>
parents:
848
diff
changeset
|
546 }); |
e5ac0fb0c1c5
map styling: Very ugly hack to read bottleneck style from server.
Sascha Wilde <wilde@intevation.de>
parents:
848
diff
changeset
|
547 layer.data.setStyle(newstyle); |
e5ac0fb0c1c5
map styling: Very ugly hack to read bottleneck style from server.
Sascha Wilde <wilde@intevation.de>
parents:
848
diff
changeset
|
548 }) |
e5ac0fb0c1c5
map styling: Very ugly hack to read bottleneck style from server.
Sascha Wilde <wilde@intevation.de>
parents:
848
diff
changeset
|
549 .catch(error => { |
e5ac0fb0c1c5
map styling: Very ugly hack to read bottleneck style from server.
Sascha Wilde <wilde@intevation.de>
parents:
848
diff
changeset
|
550 console.log(error); |
e5ac0fb0c1c5
map styling: Very ugly hack to read bottleneck style from server.
Sascha Wilde <wilde@intevation.de>
parents:
848
diff
changeset
|
551 }); |
848
22f7d33eee65
Make eslint happy again.
Sascha Wilde <wilde@intevation.de>
parents:
843
diff
changeset
|
552 }) |
858
e5ac0fb0c1c5
map styling: Very ugly hack to read bottleneck style from server.
Sascha Wilde <wilde@intevation.de>
parents:
848
diff
changeset
|
553 .catch(error => { |
e5ac0fb0c1c5
map styling: Very ugly hack to read bottleneck style from server.
Sascha Wilde <wilde@intevation.de>
parents:
848
diff
changeset
|
554 console.log(error); |
e5ac0fb0c1c5
map styling: Very ugly hack to read bottleneck style from server.
Sascha Wilde <wilde@intevation.de>
parents:
848
diff
changeset
|
555 }); |
790
1b82ae5e637e
client: add bottleneck layer with first styling
Bernhard Reiter <bernhard@intevation.de>
parents:
783
diff
changeset
|
556 |
879
52fe3e20f750
client: improve print styling
Bernhard Reiter <bernhard@intevation.de>
parents:
865
diff
changeset
|
557 window.addEventListener("beforeprint", this.onBeforePrint); |
52fe3e20f750
client: improve print styling
Bernhard Reiter <bernhard@intevation.de>
parents:
865
diff
changeset
|
558 window.addEventListener("afterprint", this.onAfterPrint); |
52fe3e20f750
client: improve print styling
Bernhard Reiter <bernhard@intevation.de>
parents:
865
diff
changeset
|
559 |
842
ee6f127f573c
client: add first prototype for bottleneck iso layer
Bernhard Reiter <bernhard@intevation.de>
parents:
832
diff
changeset
|
560 // so none is shown |
938
fe923c8ef08f
client: add static legend image to contour_lines
Bernhard Reiter <bernhard@intevation.de>
parents:
918
diff
changeset
|
561 this.updateBottleneckFilter("does_not_exist", "1999-10-01"); |
764
a6a8fe89eb84
client: add hooks for identify mode
Bernhard Reiter <bernhard@intevation.de>
parents:
754
diff
changeset
|
562 this.activateIdentifyMode(); |
585
ef307bd6b5d8
refac: restructured client application
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
563 } |
ef307bd6b5d8
refac: restructured client application
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
564 }; |
ef307bd6b5d8
refac: restructured client application
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
565 </script> |