annotate client/src/store/map.js @ 2491:7247eb03e7c0 critical-bottlenecks

merged default into critical-bottlenecks branch
author Markus Kottlaender <markus@intevation.de>
date Mon, 04 Mar 2019 08:32:05 +0100
parents ae1987c5beb3 194b42f28ea3
children 89c439721db2
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
1362
ca33ad696594 remove the first empyty lines
Fadi Abbud <fadi.abbud@intevation.de>
parents: 1361
diff changeset
1 /* This is Free Software under GNU Affero General Public License v >= 3.0
1019
ca628dce90dd Licensing information added
Thomas Junk <thomas.junk@intevation.de>
parents: 975
diff changeset
2 * without warranty, see README.md and license for details.
1361
ea3a89a1813a remove trailing whitespace, add headers for Makefile, add the missed authors
Fadi Abbud <fadi.abbud@intevation.de>
parents: 1313
diff changeset
3 *
1019
ca628dce90dd Licensing information added
Thomas Junk <thomas.junk@intevation.de>
parents: 975
diff changeset
4 * SPDX-License-Identifier: AGPL-3.0-or-later
ca628dce90dd Licensing information added
Thomas Junk <thomas.junk@intevation.de>
parents: 975
diff changeset
5 * License-Filename: LICENSES/AGPL-3.0.txt
1361
ea3a89a1813a remove trailing whitespace, add headers for Makefile, add the missed authors
Fadi Abbud <fadi.abbud@intevation.de>
parents: 1313
diff changeset
6 *
1927
5a37ee321651 client: make isolines legend graphic internally availableo
Bernhard Reiter <bernhard@intevation.de>
parents: 1879
diff changeset
7 * Copyright (C) 2018, 2019 by via donau
1019
ca628dce90dd Licensing information added
Thomas Junk <thomas.junk@intevation.de>
parents: 975
diff changeset
8 * – Österreichische Wasserstraßen-Gesellschaft mbH
ca628dce90dd Licensing information added
Thomas Junk <thomas.junk@intevation.de>
parents: 975
diff changeset
9 * Software engineering by Intevation GmbH
1361
ea3a89a1813a remove trailing whitespace, add headers for Makefile, add the missed authors
Fadi Abbud <fadi.abbud@intevation.de>
parents: 1313
diff changeset
10 *
1019
ca628dce90dd Licensing information added
Thomas Junk <thomas.junk@intevation.de>
parents: 975
diff changeset
11 * Author(s):
1927
5a37ee321651 client: make isolines legend graphic internally availableo
Bernhard Reiter <bernhard@intevation.de>
parents: 1879
diff changeset
12 * * Bernhard Reiter <bernhard.reiter@intevation.de>
5a37ee321651 client: make isolines legend graphic internally availableo
Bernhard Reiter <bernhard@intevation.de>
parents: 1879
diff changeset
13 * * Markus Kottländer <markus@intevation.de>
5a37ee321651 client: make isolines legend graphic internally availableo
Bernhard Reiter <bernhard@intevation.de>
parents: 1879
diff changeset
14 * * Thomas Junk <thomas.junk@intevation.de>
1019
ca628dce90dd Licensing information added
Thomas Junk <thomas.junk@intevation.de>
parents: 975
diff changeset
15 */
ca628dce90dd Licensing information added
Thomas Junk <thomas.junk@intevation.de>
parents: 975
diff changeset
16
585
ef307bd6b5d8 refac: restructured client application
Thomas Junk <thomas.junk@intevation.de>
parents:
diff changeset
17 //import { HTTP } from "../lib/http";
ef307bd6b5d8 refac: restructured client application
Thomas Junk <thomas.junk@intevation.de>
parents:
diff changeset
18
1099
1f4799bab8a6 deleted layers/layers.js and moved content to map store
Markus Kottlaender <markus@intevation.de>
parents: 1096
diff changeset
19 import TileWMS from "ol/source/TileWMS.js";
1f4799bab8a6 deleted layers/layers.js and moved content to map store
Markus Kottlaender <markus@intevation.de>
parents: 1096
diff changeset
20 import { Tile as TileLayer, Vector as VectorLayer } from "ol/layer.js";
1f4799bab8a6 deleted layers/layers.js and moved content to map store
Markus Kottlaender <markus@intevation.de>
parents: 1096
diff changeset
21 import OSM from "ol/source/OSM";
1296
99c039e86624 replaced manual store cleanup on logout with central store reset
Markus Kottlaender <markus@intevation.de>
parents: 1272
diff changeset
22 import Draw from "ol/interaction/Draw.js";
2451
960550ccca55 Added gauges layer.
Sascha Wilde <wilde@intevation.de>
parents: 2446
diff changeset
23 import {
960550ccca55 Added gauges layer.
Sascha Wilde <wilde@intevation.de>
parents: 2446
diff changeset
24 Icon,
960550ccca55 Added gauges layer.
Sascha Wilde <wilde@intevation.de>
parents: 2446
diff changeset
25 Stroke,
960550ccca55 Added gauges layer.
Sascha Wilde <wilde@intevation.de>
parents: 2446
diff changeset
26 Style,
960550ccca55 Added gauges layer.
Sascha Wilde <wilde@intevation.de>
parents: 2446
diff changeset
27 Fill,
960550ccca55 Added gauges layer.
Sascha Wilde <wilde@intevation.de>
parents: 2446
diff changeset
28 Text,
960550ccca55 Added gauges layer.
Sascha Wilde <wilde@intevation.de>
parents: 2446
diff changeset
29 Circle,
960550ccca55 Added gauges layer.
Sascha Wilde <wilde@intevation.de>
parents: 2446
diff changeset
30 RegularShape
960550ccca55 Added gauges layer.
Sascha Wilde <wilde@intevation.de>
parents: 2446
diff changeset
31 } from "ol/style.js";
1099
1f4799bab8a6 deleted layers/layers.js and moved content to map store
Markus Kottlaender <markus@intevation.de>
parents: 1096
diff changeset
32 import VectorSource from "ol/source/Vector.js";
1121
035dc35e1dfc moved draw layer in map store's layers property
Markus Kottlaender <markus@intevation.de>
parents: 1115
diff changeset
33 import Point from "ol/geom/Point.js";
1099
1f4799bab8a6 deleted layers/layers.js and moved content to map store
Markus Kottlaender <markus@intevation.de>
parents: 1096
diff changeset
34 import { bbox as bboxStrategy } from "ol/loadingstrategy";
1272
bc55ffaeb639 cleaned up client/src directory
Markus Kottlaender <markus@intevation.de>
parents: 1247
diff changeset
35 import { HTTP } from "../lib/http";
1158
da75faa8043f added central moveMap method to pan and zoom the map on certain events
Markus Kottlaender <markus@intevation.de>
parents: 1144
diff changeset
36 import { fromLonLat } from "ol/proj";
1296
99c039e86624 replaced manual store cleanup on logout with central store reset
Markus Kottlaender <markus@intevation.de>
parents: 1272
diff changeset
37 import { getLength, getArea } from "ol/sphere.js";
1435
7fa030127b05 fixed panning problem
Markus Kottlaender <markus@intevation.de>
parents: 1395
diff changeset
38 import { unByKey } from "ol/Observable";
7fa030127b05 fixed panning problem
Markus Kottlaender <markus@intevation.de>
parents: 1395
diff changeset
39 import { getCenter } from "ol/extent";
2132
7a2eedc182f7 staging: zoomable stretches. zoomToExtent etd
Thomas Junk <thomas.junk@intevation.de>
parents: 2125
diff changeset
40 import { transformExtent } from "ol/proj.js";
7a2eedc182f7 staging: zoomable stretches. zoomToExtent etd
Thomas Junk <thomas.junk@intevation.de>
parents: 2125
diff changeset
41 import bbox from "@turf/bbox";
1524
a0a16577261a Translation: mark some strings for translation
Fadi Abbud <fadi.abbud@intevation.de>
parents: 1438
diff changeset
42 import app from "../main";
585
ef307bd6b5d8 refac: restructured client application
Thomas Junk <thomas.junk@intevation.de>
parents:
diff changeset
43
2140
55bedb39295a feat: clicking on stretches activates according layer
Thomas Junk <thomas.junk@intevation.de>
parents: 2133
diff changeset
44 const LAYERS = {
55bedb39295a feat: clicking on stretches activates according layer
Thomas Junk <thomas.junk@intevation.de>
parents: 2133
diff changeset
45 OPENSTREETMAP: "Open Streetmap",
55bedb39295a feat: clicking on stretches activates according layer
Thomas Junk <thomas.junk@intevation.de>
parents: 2133
diff changeset
46 INLANDECDIS: "Inland ECDIS chart Danube",
55bedb39295a feat: clicking on stretches activates according layer
Thomas Junk <thomas.junk@intevation.de>
parents: 2133
diff changeset
47 WATERWAYAREA: "Waterway Area",
55bedb39295a feat: clicking on stretches activates according layer
Thomas Junk <thomas.junk@intevation.de>
parents: 2133
diff changeset
48 STRETCHES: "Stretches",
2273
4eeaba4ef573 client: rename the Fairway Dimensions layers
Fadi Abbud <fadi.abbud@intevation.de>
parents: 2263
diff changeset
49 FAIRWAYDIMENSIONSLOS1: "LOS 1 Fairway Dimensions",
4eeaba4ef573 client: rename the Fairway Dimensions layers
Fadi Abbud <fadi.abbud@intevation.de>
parents: 2263
diff changeset
50 FAIRWAYDIMENSIONSLOS2: "LOS 2 Fairway Dimensions",
4eeaba4ef573 client: rename the Fairway Dimensions layers
Fadi Abbud <fadi.abbud@intevation.de>
parents: 2263
diff changeset
51 FAIRWAYDIMENSIONSLOS3: "LOS 3 Fairway Dimensions",
2140
55bedb39295a feat: clicking on stretches activates according layer
Thomas Junk <thomas.junk@intevation.de>
parents: 2133
diff changeset
52 WATERWAYAXIS: "Waterway Axis",
2157
8be0fbac2297 Added layer for waterway profiles.
Sascha Wilde <wilde@intevation.de>
parents: 2140
diff changeset
53 WATERWAYPROFILES: "Waterway Profiles",
2140
55bedb39295a feat: clicking on stretches activates according layer
Thomas Junk <thomas.junk@intevation.de>
parents: 2133
diff changeset
54 BOTTLENECKS: "Bottlenecks",
2482
ae1987c5beb3 client: display bottleneck status in separate layer
Markus Kottlaender <markus@intevation.de>
parents: 2446
diff changeset
55 BOTTLENECKSTATUS: "Bottleneck Status",
2140
55bedb39295a feat: clicking on stretches activates according layer
Thomas Junk <thomas.junk@intevation.de>
parents: 2133
diff changeset
56 BOTTLENECKISOLINE: "Bottleneck isolines",
55bedb39295a feat: clicking on stretches activates according layer
Thomas Junk <thomas.junk@intevation.de>
parents: 2133
diff changeset
57 DISTANCEMARKS: "Distance marks",
55bedb39295a feat: clicking on stretches activates according layer
Thomas Junk <thomas.junk@intevation.de>
parents: 2133
diff changeset
58 DISTANCEMARKSAXIS: "Distance marks, Axis",
2451
960550ccca55 Added gauges layer.
Sascha Wilde <wilde@intevation.de>
parents: 2446
diff changeset
59 GAUGES: "Gauges",
2140
55bedb39295a feat: clicking on stretches activates according layer
Thomas Junk <thomas.junk@intevation.de>
parents: 2133
diff changeset
60 DRAWTOOL: "Draw Tool",
55bedb39295a feat: clicking on stretches activates according layer
Thomas Junk <thomas.junk@intevation.de>
parents: 2133
diff changeset
61 CUTTOOL: "Cut Tool"
55bedb39295a feat: clicking on stretches activates according layer
Thomas Junk <thomas.junk@intevation.de>
parents: 2133
diff changeset
62 };
55bedb39295a feat: clicking on stretches activates according layer
Thomas Junk <thomas.junk@intevation.de>
parents: 2133
diff changeset
63
2186
d0498088894f map_store: extracted moveMap, etd moveToBoundingBox, refactored moveToExtent
Thomas Junk <thomas.junk@intevation.de>
parents: 2166
diff changeset
64 const moveMap = ({ view, extent, zoom, preventZoomOut }) => {
d0498088894f map_store: extracted moveMap, etd moveToBoundingBox, refactored moveToExtent
Thomas Junk <thomas.junk@intevation.de>
parents: 2166
diff changeset
65 const currentZoom = view.getZoom();
d0498088894f map_store: extracted moveMap, etd moveToBoundingBox, refactored moveToExtent
Thomas Junk <thomas.junk@intevation.de>
parents: 2166
diff changeset
66 view.fit(extent, {
d0498088894f map_store: extracted moveMap, etd moveToBoundingBox, refactored moveToExtent
Thomas Junk <thomas.junk@intevation.de>
parents: 2166
diff changeset
67 maxZoom: preventZoomOut ? Math.max(zoom, currentZoom) : zoom,
d0498088894f map_store: extracted moveMap, etd moveToBoundingBox, refactored moveToExtent
Thomas Junk <thomas.junk@intevation.de>
parents: 2166
diff changeset
68 duration: 700
d0498088894f map_store: extracted moveMap, etd moveToBoundingBox, refactored moveToExtent
Thomas Junk <thomas.junk@intevation.de>
parents: 2166
diff changeset
69 });
d0498088894f map_store: extracted moveMap, etd moveToBoundingBox, refactored moveToExtent
Thomas Junk <thomas.junk@intevation.de>
parents: 2166
diff changeset
70 };
d0498088894f map_store: extracted moveMap, etd moveToBoundingBox, refactored moveToExtent
Thomas Junk <thomas.junk@intevation.de>
parents: 2166
diff changeset
71
1296
99c039e86624 replaced manual store cleanup on logout with central store reset
Markus Kottlaender <markus@intevation.de>
parents: 1272
diff changeset
72 // initial state
99c039e86624 replaced manual store cleanup on logout with central store reset
Markus Kottlaender <markus@intevation.de>
parents: 1272
diff changeset
73 const init = () => {
99c039e86624 replaced manual store cleanup on logout with central store reset
Markus Kottlaender <markus@intevation.de>
parents: 1272
diff changeset
74 return {
783
ab9604a46075 client: add move after clicking search result
Bernhard Reiter <bernhard@intevation.de>
parents: 782
diff changeset
75 openLayersMap: null,
2310
92b21df288e2 client: use user specific extent only on initial load
Markus Kottlaender <markus@intevation.de>
parents: 2309
diff changeset
76 initialLoad: true,
1313
e4e35fb2d995 save map extent (center/zoom) in store, to not lose it when switching between map and admin area
Markus Kottlaender <markus@intevation.de>
parents: 1296
diff changeset
77 extent: {
e4e35fb2d995 save map extent (center/zoom) in store, to not lose it when switching between map and admin area
Markus Kottlaender <markus@intevation.de>
parents: 1296
diff changeset
78 lat: 6155376,
e4e35fb2d995 save map extent (center/zoom) in store, to not lose it when switching between map and admin area
Markus Kottlaender <markus@intevation.de>
parents: 1296
diff changeset
79 lon: 1819178,
e4e35fb2d995 save map extent (center/zoom) in store, to not lose it when switching between map and admin area
Markus Kottlaender <markus@intevation.de>
parents: 1296
diff changeset
80 zoom: 11
e4e35fb2d995 save map extent (center/zoom) in store, to not lose it when switching between map and admin area
Markus Kottlaender <markus@intevation.de>
parents: 1296
diff changeset
81 },
1435
7fa030127b05 fixed panning problem
Markus Kottlaender <markus@intevation.de>
parents: 1395
diff changeset
82 identifyTool: null, // event binding (singleclick, dblclick)
1140
2e06bc53b002 separating line/polygon/cut tools in UI
Markus Kottlaender <markus@intevation.de>
parents: 1122
diff changeset
83 identifiedFeatures: [], // map features identified by clicking on the map
1247
c14353e2cdb9 repositioning of buttons (issue225)
Markus Kottlaender <markus@intevation.de>
parents: 1237
diff changeset
84 currentMeasurement: null, // distance or area from line-/polygon-/cutTool
1237
74562dc29e10 refactored drawtool
Markus Kottlaender <markus@intevation.de>
parents: 1197
diff changeset
85 lineTool: null, // open layers interaction object (Draw)
74562dc29e10 refactored drawtool
Markus Kottlaender <markus@intevation.de>
parents: 1197
diff changeset
86 polygonTool: null, // open layers interaction object (Draw)
1140
2e06bc53b002 separating line/polygon/cut tools in UI
Markus Kottlaender <markus@intevation.de>
parents: 1122
diff changeset
87 cutTool: null, // open layers interaction object (Draw)
1927
5a37ee321651 client: make isolines legend graphic internally availableo
Bernhard Reiter <bernhard@intevation.de>
parents: 1879
diff changeset
88 isolinesLegendImgDataURL: "",
1099
1f4799bab8a6 deleted layers/layers.js and moved content to map store
Markus Kottlaender <markus@intevation.de>
parents: 1096
diff changeset
89 layers: [
1f4799bab8a6 deleted layers/layers.js and moved content to map store
Markus Kottlaender <markus@intevation.de>
parents: 1096
diff changeset
90 {
2140
55bedb39295a feat: clicking on stretches activates according layer
Thomas Junk <thomas.junk@intevation.de>
parents: 2133
diff changeset
91 name: LAYERS.OPENSTREETMAP,
1099
1f4799bab8a6 deleted layers/layers.js and moved content to map store
Markus Kottlaender <markus@intevation.de>
parents: 1096
diff changeset
92 data: new TileLayer({
1f4799bab8a6 deleted layers/layers.js and moved content to map store
Markus Kottlaender <markus@intevation.de>
parents: 1096
diff changeset
93 source: new OSM()
1f4799bab8a6 deleted layers/layers.js and moved content to map store
Markus Kottlaender <markus@intevation.de>
parents: 1096
diff changeset
94 }),
1121
035dc35e1dfc moved draw layer in map store's layers property
Markus Kottlaender <markus@intevation.de>
parents: 1115
diff changeset
95 isVisible: true,
035dc35e1dfc moved draw layer in map store's layers property
Markus Kottlaender <markus@intevation.de>
parents: 1115
diff changeset
96 showInLegend: true
1099
1f4799bab8a6 deleted layers/layers.js and moved content to map store
Markus Kottlaender <markus@intevation.de>
parents: 1096
diff changeset
97 },
1f4799bab8a6 deleted layers/layers.js and moved content to map store
Markus Kottlaender <markus@intevation.de>
parents: 1096
diff changeset
98 {
2140
55bedb39295a feat: clicking on stretches activates according layer
Thomas Junk <thomas.junk@intevation.de>
parents: 2133
diff changeset
99 name: LAYERS.INLANDECDIS,
1099
1f4799bab8a6 deleted layers/layers.js and moved content to map store
Markus Kottlaender <markus@intevation.de>
parents: 1096
diff changeset
100 data: new TileLayer({
1f4799bab8a6 deleted layers/layers.js and moved content to map store
Markus Kottlaender <markus@intevation.de>
parents: 1096
diff changeset
101 source: new TileWMS({
1f4799bab8a6 deleted layers/layers.js and moved content to map store
Markus Kottlaender <markus@intevation.de>
parents: 1096
diff changeset
102 preload: 1,
1648
53f49b109f0c client: improve ECDIS WMS map loading
Bernhard Reiter <bernhard@intevation.de>
parents: 1645
diff changeset
103 url: "https://service.d4d-portal.info/wms/",
1874
bad32adafef2 client: add real pdf generation with jspdf
Bernhard Reiter <bernhard@intevation.de>
parents: 1643
diff changeset
104 crossOrigin: "anonymous",
1099
1f4799bab8a6 deleted layers/layers.js and moved content to map store
Markus Kottlaender <markus@intevation.de>
parents: 1096
diff changeset
105 params: { LAYERS: "d4d", VERSION: "1.1.1", TILED: true }
1f4799bab8a6 deleted layers/layers.js and moved content to map store
Markus Kottlaender <markus@intevation.de>
parents: 1096
diff changeset
106 })
1f4799bab8a6 deleted layers/layers.js and moved content to map store
Markus Kottlaender <markus@intevation.de>
parents: 1096
diff changeset
107 }),
1121
035dc35e1dfc moved draw layer in map store's layers property
Markus Kottlaender <markus@intevation.de>
parents: 1115
diff changeset
108 isVisible: true,
035dc35e1dfc moved draw layer in map store's layers property
Markus Kottlaender <markus@intevation.de>
parents: 1115
diff changeset
109 showInLegend: true
1099
1f4799bab8a6 deleted layers/layers.js and moved content to map store
Markus Kottlaender <markus@intevation.de>
parents: 1096
diff changeset
110 },
1f4799bab8a6 deleted layers/layers.js and moved content to map store
Markus Kottlaender <markus@intevation.de>
parents: 1096
diff changeset
111 {
2140
55bedb39295a feat: clicking on stretches activates according layer
Thomas Junk <thomas.junk@intevation.de>
parents: 2133
diff changeset
112 name: LAYERS.WATERWAYAREA,
1099
1f4799bab8a6 deleted layers/layers.js and moved content to map store
Markus Kottlaender <markus@intevation.de>
parents: 1096
diff changeset
113 data: new VectorLayer({
1f4799bab8a6 deleted layers/layers.js and moved content to map store
Markus Kottlaender <markus@intevation.de>
parents: 1096
diff changeset
114 source: new VectorSource({
1f4799bab8a6 deleted layers/layers.js and moved content to map store
Markus Kottlaender <markus@intevation.de>
parents: 1096
diff changeset
115 strategy: bboxStrategy
1f4799bab8a6 deleted layers/layers.js and moved content to map store
Markus Kottlaender <markus@intevation.de>
parents: 1096
diff changeset
116 }),
1f4799bab8a6 deleted layers/layers.js and moved content to map store
Markus Kottlaender <markus@intevation.de>
parents: 1096
diff changeset
117 style: new Style({
1f4799bab8a6 deleted layers/layers.js and moved content to map store
Markus Kottlaender <markus@intevation.de>
parents: 1096
diff changeset
118 stroke: new Stroke({
1f4799bab8a6 deleted layers/layers.js and moved content to map store
Markus Kottlaender <markus@intevation.de>
parents: 1096
diff changeset
119 color: "rgba(0, 102, 0, 1)",
1f4799bab8a6 deleted layers/layers.js and moved content to map store
Markus Kottlaender <markus@intevation.de>
parents: 1096
diff changeset
120 width: 2
1f4799bab8a6 deleted layers/layers.js and moved content to map store
Markus Kottlaender <markus@intevation.de>
parents: 1096
diff changeset
121 })
1f4799bab8a6 deleted layers/layers.js and moved content to map store
Markus Kottlaender <markus@intevation.de>
parents: 1096
diff changeset
122 })
1f4799bab8a6 deleted layers/layers.js and moved content to map store
Markus Kottlaender <markus@intevation.de>
parents: 1096
diff changeset
123 }),
1121
035dc35e1dfc moved draw layer in map store's layers property
Markus Kottlaender <markus@intevation.de>
parents: 1115
diff changeset
124 isVisible: true,
035dc35e1dfc moved draw layer in map store's layers property
Markus Kottlaender <markus@intevation.de>
parents: 1115
diff changeset
125 showInLegend: true
1099
1f4799bab8a6 deleted layers/layers.js and moved content to map store
Markus Kottlaender <markus@intevation.de>
parents: 1096
diff changeset
126 },
1f4799bab8a6 deleted layers/layers.js and moved content to map store
Markus Kottlaender <markus@intevation.de>
parents: 1096
diff changeset
127 {
2140
55bedb39295a feat: clicking on stretches activates according layer
Thomas Junk <thomas.junk@intevation.de>
parents: 2133
diff changeset
128 name: LAYERS.STRETCHES,
1943
52a6e63d5dcc Added stretches layer, removed WW-Area named.
Sascha Wilde <wilde@intevation.de>
parents: 1927
diff changeset
129 data: new VectorLayer({
52a6e63d5dcc Added stretches layer, removed WW-Area named.
Sascha Wilde <wilde@intevation.de>
parents: 1927
diff changeset
130 source: new VectorSource({
52a6e63d5dcc Added stretches layer, removed WW-Area named.
Sascha Wilde <wilde@intevation.de>
parents: 1927
diff changeset
131 strategy: bboxStrategy
52a6e63d5dcc Added stretches layer, removed WW-Area named.
Sascha Wilde <wilde@intevation.de>
parents: 1927
diff changeset
132 }),
52a6e63d5dcc Added stretches layer, removed WW-Area named.
Sascha Wilde <wilde@intevation.de>
parents: 1927
diff changeset
133 style: new Style({
52a6e63d5dcc Added stretches layer, removed WW-Area named.
Sascha Wilde <wilde@intevation.de>
parents: 1927
diff changeset
134 stroke: new Stroke({
52a6e63d5dcc Added stretches layer, removed WW-Area named.
Sascha Wilde <wilde@intevation.de>
parents: 1927
diff changeset
135 color: "rgba(250, 200, 0, .8)",
52a6e63d5dcc Added stretches layer, removed WW-Area named.
Sascha Wilde <wilde@intevation.de>
parents: 1927
diff changeset
136 width: 2
52a6e63d5dcc Added stretches layer, removed WW-Area named.
Sascha Wilde <wilde@intevation.de>
parents: 1927
diff changeset
137 }),
52a6e63d5dcc Added stretches layer, removed WW-Area named.
Sascha Wilde <wilde@intevation.de>
parents: 1927
diff changeset
138 fill: new Fill({
52a6e63d5dcc Added stretches layer, removed WW-Area named.
Sascha Wilde <wilde@intevation.de>
parents: 1927
diff changeset
139 color: "rgba(250, 200, 10, .3)"
52a6e63d5dcc Added stretches layer, removed WW-Area named.
Sascha Wilde <wilde@intevation.de>
parents: 1927
diff changeset
140 })
52a6e63d5dcc Added stretches layer, removed WW-Area named.
Sascha Wilde <wilde@intevation.de>
parents: 1927
diff changeset
141 })
52a6e63d5dcc Added stretches layer, removed WW-Area named.
Sascha Wilde <wilde@intevation.de>
parents: 1927
diff changeset
142 }),
52a6e63d5dcc Added stretches layer, removed WW-Area named.
Sascha Wilde <wilde@intevation.de>
parents: 1927
diff changeset
143 isVisible: false,
52a6e63d5dcc Added stretches layer, removed WW-Area named.
Sascha Wilde <wilde@intevation.de>
parents: 1927
diff changeset
144 showInLegend: true
52a6e63d5dcc Added stretches layer, removed WW-Area named.
Sascha Wilde <wilde@intevation.de>
parents: 1927
diff changeset
145 },
52a6e63d5dcc Added stretches layer, removed WW-Area named.
Sascha Wilde <wilde@intevation.de>
parents: 1927
diff changeset
146 {
2250
23c03e2eaf4f client: make different LOS visually distinct
Bernhard Reiter <bernhard@intevation.de>
parents: 2237
diff changeset
147 name: LAYERS.FAIRWAYDIMENSIONSLOS3,
1944
ef1184654839 Order layers a bit less arbitrary.
Sascha Wilde <wilde@intevation.de>
parents: 1943
diff changeset
148 data: new VectorLayer({
ef1184654839 Order layers a bit less arbitrary.
Sascha Wilde <wilde@intevation.de>
parents: 1943
diff changeset
149 source: new VectorSource(),
2125
ea5a0e771b71 Distinct fairway layers per LOS
Markus Kottlaender <markus@intevation.de>
parents: 2108
diff changeset
150 style: function() {
1944
ef1184654839 Order layers a bit less arbitrary.
Sascha Wilde <wilde@intevation.de>
parents: 1943
diff changeset
151 return [
ef1184654839 Order layers a bit less arbitrary.
Sascha Wilde <wilde@intevation.de>
parents: 1943
diff changeset
152 new Style({
ef1184654839 Order layers a bit less arbitrary.
Sascha Wilde <wilde@intevation.de>
parents: 1943
diff changeset
153 stroke: new Stroke({
2250
23c03e2eaf4f client: make different LOS visually distinct
Bernhard Reiter <bernhard@intevation.de>
parents: 2237
diff changeset
154 color: "rgba(0, 0, 255, 1.0)",
2263
7efa29d16e77 client: make different LOS layer visually more distinct
Bernhard Reiter <bernhard@intevation.de>
parents: 2250
diff changeset
155 width: 2
2313
ba4dfff74d3f client: improve styles for LOS layers
Bernhard Reiter <bernhard@intevation.de>
parents: 2309
diff changeset
156 }),
ba4dfff74d3f client: improve styles for LOS layers
Bernhard Reiter <bernhard@intevation.de>
parents: 2309
diff changeset
157 fill: new Fill({
ba4dfff74d3f client: improve styles for LOS layers
Bernhard Reiter <bernhard@intevation.de>
parents: 2309
diff changeset
158 color: "rgba(255, 255, 255, 0.4)"
1944
ef1184654839 Order layers a bit less arbitrary.
Sascha Wilde <wilde@intevation.de>
parents: 1943
diff changeset
159 })
ef1184654839 Order layers a bit less arbitrary.
Sascha Wilde <wilde@intevation.de>
parents: 1943
diff changeset
160 }),
ef1184654839 Order layers a bit less arbitrary.
Sascha Wilde <wilde@intevation.de>
parents: 1943
diff changeset
161 new Style({
ef1184654839 Order layers a bit less arbitrary.
Sascha Wilde <wilde@intevation.de>
parents: 1943
diff changeset
162 text: new Text({
ef1184654839 Order layers a bit less arbitrary.
Sascha Wilde <wilde@intevation.de>
parents: 1943
diff changeset
163 font: 'bold 12px "Open Sans", "sans-serif"',
ef1184654839 Order layers a bit less arbitrary.
Sascha Wilde <wilde@intevation.de>
parents: 1943
diff changeset
164 placement: "line",
ef1184654839 Order layers a bit less arbitrary.
Sascha Wilde <wilde@intevation.de>
parents: 1943
diff changeset
165 fill: new Fill({
ef1184654839 Order layers a bit less arbitrary.
Sascha Wilde <wilde@intevation.de>
parents: 1943
diff changeset
166 color: "black"
ef1184654839 Order layers a bit less arbitrary.
Sascha Wilde <wilde@intevation.de>
parents: 1943
diff changeset
167 }),
2250
23c03e2eaf4f client: make different LOS visually distinct
Bernhard Reiter <bernhard@intevation.de>
parents: 2237
diff changeset
168 text: "LOS: 3"
2125
ea5a0e771b71 Distinct fairway layers per LOS
Markus Kottlaender <markus@intevation.de>
parents: 2108
diff changeset
169 //, zIndex: 10
ea5a0e771b71 Distinct fairway layers per LOS
Markus Kottlaender <markus@intevation.de>
parents: 2108
diff changeset
170 })
ea5a0e771b71 Distinct fairway layers per LOS
Markus Kottlaender <markus@intevation.de>
parents: 2108
diff changeset
171 })
ea5a0e771b71 Distinct fairway layers per LOS
Markus Kottlaender <markus@intevation.de>
parents: 2108
diff changeset
172 ];
ea5a0e771b71 Distinct fairway layers per LOS
Markus Kottlaender <markus@intevation.de>
parents: 2108
diff changeset
173 }
ea5a0e771b71 Distinct fairway layers per LOS
Markus Kottlaender <markus@intevation.de>
parents: 2108
diff changeset
174 }),
ea5a0e771b71 Distinct fairway layers per LOS
Markus Kottlaender <markus@intevation.de>
parents: 2108
diff changeset
175 isVisible: true,
ea5a0e771b71 Distinct fairway layers per LOS
Markus Kottlaender <markus@intevation.de>
parents: 2108
diff changeset
176 showInLegend: true
ea5a0e771b71 Distinct fairway layers per LOS
Markus Kottlaender <markus@intevation.de>
parents: 2108
diff changeset
177 },
ea5a0e771b71 Distinct fairway layers per LOS
Markus Kottlaender <markus@intevation.de>
parents: 2108
diff changeset
178 {
2140
55bedb39295a feat: clicking on stretches activates according layer
Thomas Junk <thomas.junk@intevation.de>
parents: 2133
diff changeset
179 name: LAYERS.FAIRWAYDIMENSIONSLOS2,
2125
ea5a0e771b71 Distinct fairway layers per LOS
Markus Kottlaender <markus@intevation.de>
parents: 2108
diff changeset
180 data: new VectorLayer({
ea5a0e771b71 Distinct fairway layers per LOS
Markus Kottlaender <markus@intevation.de>
parents: 2108
diff changeset
181 source: new VectorSource(),
ea5a0e771b71 Distinct fairway layers per LOS
Markus Kottlaender <markus@intevation.de>
parents: 2108
diff changeset
182 style: function() {
ea5a0e771b71 Distinct fairway layers per LOS
Markus Kottlaender <markus@intevation.de>
parents: 2108
diff changeset
183 return [
ea5a0e771b71 Distinct fairway layers per LOS
Markus Kottlaender <markus@intevation.de>
parents: 2108
diff changeset
184 new Style({
ea5a0e771b71 Distinct fairway layers per LOS
Markus Kottlaender <markus@intevation.de>
parents: 2108
diff changeset
185 stroke: new Stroke({
2263
7efa29d16e77 client: make different LOS layer visually more distinct
Bernhard Reiter <bernhard@intevation.de>
parents: 2250
diff changeset
186 color: "rgba(0, 0, 255, 0.9)",
2309
77adbdd24d52 client: fix drawing perormance
Bernhard Reiter <bernhard@intevation.de>
parents: 2273
diff changeset
187 lineDash: [3, 6],
2263
7efa29d16e77 client: make different LOS layer visually more distinct
Bernhard Reiter <bernhard@intevation.de>
parents: 2250
diff changeset
188 lineCap: "round",
2125
ea5a0e771b71 Distinct fairway layers per LOS
Markus Kottlaender <markus@intevation.de>
parents: 2108
diff changeset
189 width: 2
2313
ba4dfff74d3f client: improve styles for LOS layers
Bernhard Reiter <bernhard@intevation.de>
parents: 2309
diff changeset
190 }),
ba4dfff74d3f client: improve styles for LOS layers
Bernhard Reiter <bernhard@intevation.de>
parents: 2309
diff changeset
191 fill: new Fill({
ba4dfff74d3f client: improve styles for LOS layers
Bernhard Reiter <bernhard@intevation.de>
parents: 2309
diff changeset
192 color: "rgba(240, 230, 0, 0.1)"
2125
ea5a0e771b71 Distinct fairway layers per LOS
Markus Kottlaender <markus@intevation.de>
parents: 2108
diff changeset
193 })
ea5a0e771b71 Distinct fairway layers per LOS
Markus Kottlaender <markus@intevation.de>
parents: 2108
diff changeset
194 }),
ea5a0e771b71 Distinct fairway layers per LOS
Markus Kottlaender <markus@intevation.de>
parents: 2108
diff changeset
195 new Style({
ea5a0e771b71 Distinct fairway layers per LOS
Markus Kottlaender <markus@intevation.de>
parents: 2108
diff changeset
196 text: new Text({
ea5a0e771b71 Distinct fairway layers per LOS
Markus Kottlaender <markus@intevation.de>
parents: 2108
diff changeset
197 font: 'bold 12px "Open Sans", "sans-serif"',
ea5a0e771b71 Distinct fairway layers per LOS
Markus Kottlaender <markus@intevation.de>
parents: 2108
diff changeset
198 placement: "line",
ea5a0e771b71 Distinct fairway layers per LOS
Markus Kottlaender <markus@intevation.de>
parents: 2108
diff changeset
199 fill: new Fill({
ea5a0e771b71 Distinct fairway layers per LOS
Markus Kottlaender <markus@intevation.de>
parents: 2108
diff changeset
200 color: "black"
ea5a0e771b71 Distinct fairway layers per LOS
Markus Kottlaender <markus@intevation.de>
parents: 2108
diff changeset
201 }),
ea5a0e771b71 Distinct fairway layers per LOS
Markus Kottlaender <markus@intevation.de>
parents: 2108
diff changeset
202 text: "LOS: 2"
ea5a0e771b71 Distinct fairway layers per LOS
Markus Kottlaender <markus@intevation.de>
parents: 2108
diff changeset
203 //, zIndex: 10
ea5a0e771b71 Distinct fairway layers per LOS
Markus Kottlaender <markus@intevation.de>
parents: 2108
diff changeset
204 })
ea5a0e771b71 Distinct fairway layers per LOS
Markus Kottlaender <markus@intevation.de>
parents: 2108
diff changeset
205 })
ea5a0e771b71 Distinct fairway layers per LOS
Markus Kottlaender <markus@intevation.de>
parents: 2108
diff changeset
206 ];
ea5a0e771b71 Distinct fairway layers per LOS
Markus Kottlaender <markus@intevation.de>
parents: 2108
diff changeset
207 }
ea5a0e771b71 Distinct fairway layers per LOS
Markus Kottlaender <markus@intevation.de>
parents: 2108
diff changeset
208 }),
2263
7efa29d16e77 client: make different LOS layer visually more distinct
Bernhard Reiter <bernhard@intevation.de>
parents: 2250
diff changeset
209 isVisible: false,
2125
ea5a0e771b71 Distinct fairway layers per LOS
Markus Kottlaender <markus@intevation.de>
parents: 2108
diff changeset
210 showInLegend: true
ea5a0e771b71 Distinct fairway layers per LOS
Markus Kottlaender <markus@intevation.de>
parents: 2108
diff changeset
211 },
ea5a0e771b71 Distinct fairway layers per LOS
Markus Kottlaender <markus@intevation.de>
parents: 2108
diff changeset
212 {
2250
23c03e2eaf4f client: make different LOS visually distinct
Bernhard Reiter <bernhard@intevation.de>
parents: 2237
diff changeset
213 name: LAYERS.FAIRWAYDIMENSIONSLOS1,
2125
ea5a0e771b71 Distinct fairway layers per LOS
Markus Kottlaender <markus@intevation.de>
parents: 2108
diff changeset
214 data: new VectorLayer({
ea5a0e771b71 Distinct fairway layers per LOS
Markus Kottlaender <markus@intevation.de>
parents: 2108
diff changeset
215 source: new VectorSource(),
ea5a0e771b71 Distinct fairway layers per LOS
Markus Kottlaender <markus@intevation.de>
parents: 2108
diff changeset
216 style: function() {
ea5a0e771b71 Distinct fairway layers per LOS
Markus Kottlaender <markus@intevation.de>
parents: 2108
diff changeset
217 return [
ea5a0e771b71 Distinct fairway layers per LOS
Markus Kottlaender <markus@intevation.de>
parents: 2108
diff changeset
218 new Style({
ea5a0e771b71 Distinct fairway layers per LOS
Markus Kottlaender <markus@intevation.de>
parents: 2108
diff changeset
219 stroke: new Stroke({
2263
7efa29d16e77 client: make different LOS layer visually more distinct
Bernhard Reiter <bernhard@intevation.de>
parents: 2250
diff changeset
220 color: "rgba(0, 0, 255, 0.8)",
2309
77adbdd24d52 client: fix drawing perormance
Bernhard Reiter <bernhard@intevation.de>
parents: 2273
diff changeset
221 lineDash: [2, 4],
2263
7efa29d16e77 client: make different LOS layer visually more distinct
Bernhard Reiter <bernhard@intevation.de>
parents: 2250
diff changeset
222 lineCap: "round",
7efa29d16e77 client: make different LOS layer visually more distinct
Bernhard Reiter <bernhard@intevation.de>
parents: 2250
diff changeset
223 width: 2
2313
ba4dfff74d3f client: improve styles for LOS layers
Bernhard Reiter <bernhard@intevation.de>
parents: 2309
diff changeset
224 }),
ba4dfff74d3f client: improve styles for LOS layers
Bernhard Reiter <bernhard@intevation.de>
parents: 2309
diff changeset
225 fill: new Fill({
ba4dfff74d3f client: improve styles for LOS layers
Bernhard Reiter <bernhard@intevation.de>
parents: 2309
diff changeset
226 color: "rgba(240, 230, 0, 0.2)"
2125
ea5a0e771b71 Distinct fairway layers per LOS
Markus Kottlaender <markus@intevation.de>
parents: 2108
diff changeset
227 })
ea5a0e771b71 Distinct fairway layers per LOS
Markus Kottlaender <markus@intevation.de>
parents: 2108
diff changeset
228 }),
ea5a0e771b71 Distinct fairway layers per LOS
Markus Kottlaender <markus@intevation.de>
parents: 2108
diff changeset
229 new Style({
ea5a0e771b71 Distinct fairway layers per LOS
Markus Kottlaender <markus@intevation.de>
parents: 2108
diff changeset
230 text: new Text({
ea5a0e771b71 Distinct fairway layers per LOS
Markus Kottlaender <markus@intevation.de>
parents: 2108
diff changeset
231 font: 'bold 12px "Open Sans", "sans-serif"',
ea5a0e771b71 Distinct fairway layers per LOS
Markus Kottlaender <markus@intevation.de>
parents: 2108
diff changeset
232 placement: "line",
ea5a0e771b71 Distinct fairway layers per LOS
Markus Kottlaender <markus@intevation.de>
parents: 2108
diff changeset
233 fill: new Fill({
ea5a0e771b71 Distinct fairway layers per LOS
Markus Kottlaender <markus@intevation.de>
parents: 2108
diff changeset
234 color: "black"
ea5a0e771b71 Distinct fairway layers per LOS
Markus Kottlaender <markus@intevation.de>
parents: 2108
diff changeset
235 }),
2250
23c03e2eaf4f client: make different LOS visually distinct
Bernhard Reiter <bernhard@intevation.de>
parents: 2237
diff changeset
236 text: "LOS: 1"
1944
ef1184654839 Order layers a bit less arbitrary.
Sascha Wilde <wilde@intevation.de>
parents: 1943
diff changeset
237 //, zIndex: 10
ef1184654839 Order layers a bit less arbitrary.
Sascha Wilde <wilde@intevation.de>
parents: 1943
diff changeset
238 })
ef1184654839 Order layers a bit less arbitrary.
Sascha Wilde <wilde@intevation.de>
parents: 1943
diff changeset
239 })
ef1184654839 Order layers a bit less arbitrary.
Sascha Wilde <wilde@intevation.de>
parents: 1943
diff changeset
240 ];
ef1184654839 Order layers a bit less arbitrary.
Sascha Wilde <wilde@intevation.de>
parents: 1943
diff changeset
241 }
ef1184654839 Order layers a bit less arbitrary.
Sascha Wilde <wilde@intevation.de>
parents: 1943
diff changeset
242 }),
2263
7efa29d16e77 client: make different LOS layer visually more distinct
Bernhard Reiter <bernhard@intevation.de>
parents: 2250
diff changeset
243 isVisible: false,
1944
ef1184654839 Order layers a bit less arbitrary.
Sascha Wilde <wilde@intevation.de>
parents: 1943
diff changeset
244 showInLegend: true
ef1184654839 Order layers a bit less arbitrary.
Sascha Wilde <wilde@intevation.de>
parents: 1943
diff changeset
245 },
ef1184654839 Order layers a bit less arbitrary.
Sascha Wilde <wilde@intevation.de>
parents: 1943
diff changeset
246 {
2140
55bedb39295a feat: clicking on stretches activates according layer
Thomas Junk <thomas.junk@intevation.de>
parents: 2133
diff changeset
247 name: LAYERS.WATERWAYAXIS,
1099
1f4799bab8a6 deleted layers/layers.js and moved content to map store
Markus Kottlaender <markus@intevation.de>
parents: 1096
diff changeset
248 data: new VectorLayer({
1f4799bab8a6 deleted layers/layers.js and moved content to map store
Markus Kottlaender <markus@intevation.de>
parents: 1096
diff changeset
249 source: new VectorSource({
1f4799bab8a6 deleted layers/layers.js and moved content to map store
Markus Kottlaender <markus@intevation.de>
parents: 1096
diff changeset
250 strategy: bboxStrategy
1f4799bab8a6 deleted layers/layers.js and moved content to map store
Markus Kottlaender <markus@intevation.de>
parents: 1096
diff changeset
251 }),
1f4799bab8a6 deleted layers/layers.js and moved content to map store
Markus Kottlaender <markus@intevation.de>
parents: 1096
diff changeset
252 style: new Style({
1f4799bab8a6 deleted layers/layers.js and moved content to map store
Markus Kottlaender <markus@intevation.de>
parents: 1096
diff changeset
253 stroke: new Stroke({
1f4799bab8a6 deleted layers/layers.js and moved content to map store
Markus Kottlaender <markus@intevation.de>
parents: 1096
diff changeset
254 color: "rgba(0, 0, 255, .5)",
1f4799bab8a6 deleted layers/layers.js and moved content to map store
Markus Kottlaender <markus@intevation.de>
parents: 1096
diff changeset
255 lineDash: [5, 5],
1f4799bab8a6 deleted layers/layers.js and moved content to map store
Markus Kottlaender <markus@intevation.de>
parents: 1096
diff changeset
256 width: 2
1f4799bab8a6 deleted layers/layers.js and moved content to map store
Markus Kottlaender <markus@intevation.de>
parents: 1096
diff changeset
257 })
2237
a78f19ff7cde LAYERS.WATERWAYAXIS: Set max- and minResolution. Modelled after d4d.
Bjoern Schilberg <bjoern@intevation.de>
parents: 2235
diff changeset
258 }),
a78f19ff7cde LAYERS.WATERWAYAXIS: Set max- and minResolution. Modelled after d4d.
Bjoern Schilberg <bjoern@intevation.de>
parents: 2235
diff changeset
259 // TODO: Set layer in layertree active/inactive depending on
a78f19ff7cde LAYERS.WATERWAYAXIS: Set max- and minResolution. Modelled after d4d.
Bjoern Schilberg <bjoern@intevation.de>
parents: 2235
diff changeset
260 // resolution.
a78f19ff7cde LAYERS.WATERWAYAXIS: Set max- and minResolution. Modelled after d4d.
Bjoern Schilberg <bjoern@intevation.de>
parents: 2235
diff changeset
261 maxResolution: 5,
a78f19ff7cde LAYERS.WATERWAYAXIS: Set max- and minResolution. Modelled after d4d.
Bjoern Schilberg <bjoern@intevation.de>
parents: 2235
diff changeset
262 minResolution: 0
1099
1f4799bab8a6 deleted layers/layers.js and moved content to map store
Markus Kottlaender <markus@intevation.de>
parents: 1096
diff changeset
263 }),
1121
035dc35e1dfc moved draw layer in map store's layers property
Markus Kottlaender <markus@intevation.de>
parents: 1115
diff changeset
264 isVisible: true,
035dc35e1dfc moved draw layer in map store's layers property
Markus Kottlaender <markus@intevation.de>
parents: 1115
diff changeset
265 showInLegend: true
1099
1f4799bab8a6 deleted layers/layers.js and moved content to map store
Markus Kottlaender <markus@intevation.de>
parents: 1096
diff changeset
266 },
1f4799bab8a6 deleted layers/layers.js and moved content to map store
Markus Kottlaender <markus@intevation.de>
parents: 1096
diff changeset
267 {
2157
8be0fbac2297 Added layer for waterway profiles.
Sascha Wilde <wilde@intevation.de>
parents: 2140
diff changeset
268 name: LAYERS.WATERWAYPROFILES,
8be0fbac2297 Added layer for waterway profiles.
Sascha Wilde <wilde@intevation.de>
parents: 2140
diff changeset
269 data: new VectorLayer({
8be0fbac2297 Added layer for waterway profiles.
Sascha Wilde <wilde@intevation.de>
parents: 2140
diff changeset
270 source: new VectorSource({
8be0fbac2297 Added layer for waterway profiles.
Sascha Wilde <wilde@intevation.de>
parents: 2140
diff changeset
271 strategy: bboxStrategy
8be0fbac2297 Added layer for waterway profiles.
Sascha Wilde <wilde@intevation.de>
parents: 2140
diff changeset
272 }),
8be0fbac2297 Added layer for waterway profiles.
Sascha Wilde <wilde@intevation.de>
parents: 2140
diff changeset
273 style: new Style({
8be0fbac2297 Added layer for waterway profiles.
Sascha Wilde <wilde@intevation.de>
parents: 2140
diff changeset
274 stroke: new Stroke({
8be0fbac2297 Added layer for waterway profiles.
Sascha Wilde <wilde@intevation.de>
parents: 2140
diff changeset
275 color: "rgba(0, 0, 255, .5)",
8be0fbac2297 Added layer for waterway profiles.
Sascha Wilde <wilde@intevation.de>
parents: 2140
diff changeset
276 lineDash: [5, 5],
8be0fbac2297 Added layer for waterway profiles.
Sascha Wilde <wilde@intevation.de>
parents: 2140
diff changeset
277 width: 2
8be0fbac2297 Added layer for waterway profiles.
Sascha Wilde <wilde@intevation.de>
parents: 2140
diff changeset
278 })
2235
39586a34979c LAYERS.WATERWAYPROFILES: Set max- and minResolution. Modelled after d4d.
Bjoern Schilberg <bjoern@intevation.de>
parents: 2224
diff changeset
279 }),
39586a34979c LAYERS.WATERWAYPROFILES: Set max- and minResolution. Modelled after d4d.
Bjoern Schilberg <bjoern@intevation.de>
parents: 2224
diff changeset
280 maxResolution: 2.5,
39586a34979c LAYERS.WATERWAYPROFILES: Set max- and minResolution. Modelled after d4d.
Bjoern Schilberg <bjoern@intevation.de>
parents: 2224
diff changeset
281 minResolution: 0
2157
8be0fbac2297 Added layer for waterway profiles.
Sascha Wilde <wilde@intevation.de>
parents: 2140
diff changeset
282 }),
8be0fbac2297 Added layer for waterway profiles.
Sascha Wilde <wilde@intevation.de>
parents: 2140
diff changeset
283 isVisible: true,
8be0fbac2297 Added layer for waterway profiles.
Sascha Wilde <wilde@intevation.de>
parents: 2140
diff changeset
284 showInLegend: true
8be0fbac2297 Added layer for waterway profiles.
Sascha Wilde <wilde@intevation.de>
parents: 2140
diff changeset
285 },
8be0fbac2297 Added layer for waterway profiles.
Sascha Wilde <wilde@intevation.de>
parents: 2140
diff changeset
286 {
2140
55bedb39295a feat: clicking on stretches activates according layer
Thomas Junk <thomas.junk@intevation.de>
parents: 2133
diff changeset
287 name: LAYERS.BOTTLENECKS,
1099
1f4799bab8a6 deleted layers/layers.js and moved content to map store
Markus Kottlaender <markus@intevation.de>
parents: 1096
diff changeset
288 data: new VectorLayer({
1f4799bab8a6 deleted layers/layers.js and moved content to map store
Markus Kottlaender <markus@intevation.de>
parents: 1096
diff changeset
289 source: new VectorSource({
1f4799bab8a6 deleted layers/layers.js and moved content to map store
Markus Kottlaender <markus@intevation.de>
parents: 1096
diff changeset
290 strategy: bboxStrategy
1f4799bab8a6 deleted layers/layers.js and moved content to map store
Markus Kottlaender <markus@intevation.de>
parents: 1096
diff changeset
291 }),
2482
ae1987c5beb3 client: display bottleneck status in separate layer
Markus Kottlaender <markus@intevation.de>
parents: 2446
diff changeset
292 style: function() {
ae1987c5beb3 client: display bottleneck status in separate layer
Markus Kottlaender <markus@intevation.de>
parents: 2446
diff changeset
293 return new Style({
ae1987c5beb3 client: display bottleneck status in separate layer
Markus Kottlaender <markus@intevation.de>
parents: 2446
diff changeset
294 stroke: new Stroke({
ae1987c5beb3 client: display bottleneck status in separate layer
Markus Kottlaender <markus@intevation.de>
parents: 2446
diff changeset
295 color: "rgba(230, 230, 10, .8)",
ae1987c5beb3 client: display bottleneck status in separate layer
Markus Kottlaender <markus@intevation.de>
parents: 2446
diff changeset
296 width: 4
ae1987c5beb3 client: display bottleneck status in separate layer
Markus Kottlaender <markus@intevation.de>
parents: 2446
diff changeset
297 }),
ae1987c5beb3 client: display bottleneck status in separate layer
Markus Kottlaender <markus@intevation.de>
parents: 2446
diff changeset
298 fill: new Fill({
ae1987c5beb3 client: display bottleneck status in separate layer
Markus Kottlaender <markus@intevation.de>
parents: 2446
diff changeset
299 color: "rgba(230, 230, 10, .3)"
ae1987c5beb3 client: display bottleneck status in separate layer
Markus Kottlaender <markus@intevation.de>
parents: 2446
diff changeset
300 })
ae1987c5beb3 client: display bottleneck status in separate layer
Markus Kottlaender <markus@intevation.de>
parents: 2446
diff changeset
301 });
ae1987c5beb3 client: display bottleneck status in separate layer
Markus Kottlaender <markus@intevation.de>
parents: 2446
diff changeset
302 }
1099
1f4799bab8a6 deleted layers/layers.js and moved content to map store
Markus Kottlaender <markus@intevation.de>
parents: 1096
diff changeset
303 }),
1121
035dc35e1dfc moved draw layer in map store's layers property
Markus Kottlaender <markus@intevation.de>
parents: 1115
diff changeset
304 isVisible: true,
035dc35e1dfc moved draw layer in map store's layers property
Markus Kottlaender <markus@intevation.de>
parents: 1115
diff changeset
305 showInLegend: true
1099
1f4799bab8a6 deleted layers/layers.js and moved content to map store
Markus Kottlaender <markus@intevation.de>
parents: 1096
diff changeset
306 },
1f4799bab8a6 deleted layers/layers.js and moved content to map store
Markus Kottlaender <markus@intevation.de>
parents: 1096
diff changeset
307 {
2140
55bedb39295a feat: clicking on stretches activates according layer
Thomas Junk <thomas.junk@intevation.de>
parents: 2133
diff changeset
308 name: LAYERS.BOTTLENECKISOLINE,
1099
1f4799bab8a6 deleted layers/layers.js and moved content to map store
Markus Kottlaender <markus@intevation.de>
parents: 1096
diff changeset
309 data: new TileLayer({
1f4799bab8a6 deleted layers/layers.js and moved content to map store
Markus Kottlaender <markus@intevation.de>
parents: 1096
diff changeset
310 source: new TileWMS({
1f4799bab8a6 deleted layers/layers.js and moved content to map store
Markus Kottlaender <markus@intevation.de>
parents: 1096
diff changeset
311 preload: 0,
1f4799bab8a6 deleted layers/layers.js and moved content to map store
Markus Kottlaender <markus@intevation.de>
parents: 1096
diff changeset
312 projection: "EPSG:3857",
1f4799bab8a6 deleted layers/layers.js and moved content to map store
Markus Kottlaender <markus@intevation.de>
parents: 1096
diff changeset
313 url: window.location.origin + "/api/internal/wms",
1f4799bab8a6 deleted layers/layers.js and moved content to map store
Markus Kottlaender <markus@intevation.de>
parents: 1096
diff changeset
314 params: {
1f4799bab8a6 deleted layers/layers.js and moved content to map store
Markus Kottlaender <markus@intevation.de>
parents: 1096
diff changeset
315 LAYERS: "sounding_results_contour_lines_geoserver",
1f4799bab8a6 deleted layers/layers.js and moved content to map store
Markus Kottlaender <markus@intevation.de>
parents: 1096
diff changeset
316 VERSION: "1.1.1",
1f4799bab8a6 deleted layers/layers.js and moved content to map store
Markus Kottlaender <markus@intevation.de>
parents: 1096
diff changeset
317 TILED: true
1f4799bab8a6 deleted layers/layers.js and moved content to map store
Markus Kottlaender <markus@intevation.de>
parents: 1096
diff changeset
318 },
1f4799bab8a6 deleted layers/layers.js and moved content to map store
Markus Kottlaender <markus@intevation.de>
parents: 1096
diff changeset
319 tileLoadFunction: function(tile, src) {
1f4799bab8a6 deleted layers/layers.js and moved content to map store
Markus Kottlaender <markus@intevation.de>
parents: 1096
diff changeset
320 // console.log("calling for", tile, src);
1f4799bab8a6 deleted layers/layers.js and moved content to map store
Markus Kottlaender <markus@intevation.de>
parents: 1096
diff changeset
321 HTTP.get(src, {
1f4799bab8a6 deleted layers/layers.js and moved content to map store
Markus Kottlaender <markus@intevation.de>
parents: 1096
diff changeset
322 headers: {
1f4799bab8a6 deleted layers/layers.js and moved content to map store
Markus Kottlaender <markus@intevation.de>
parents: 1096
diff changeset
323 "X-Gemma-Auth": localStorage.getItem("token")
1f4799bab8a6 deleted layers/layers.js and moved content to map store
Markus Kottlaender <markus@intevation.de>
parents: 1096
diff changeset
324 },
1f4799bab8a6 deleted layers/layers.js and moved content to map store
Markus Kottlaender <markus@intevation.de>
parents: 1096
diff changeset
325 responseType: "blob"
1f4799bab8a6 deleted layers/layers.js and moved content to map store
Markus Kottlaender <markus@intevation.de>
parents: 1096
diff changeset
326 }).then(response => {
1f4799bab8a6 deleted layers/layers.js and moved content to map store
Markus Kottlaender <markus@intevation.de>
parents: 1096
diff changeset
327 tile.getImage().src = URL.createObjectURL(response.data);
1f4799bab8a6 deleted layers/layers.js and moved content to map store
Markus Kottlaender <markus@intevation.de>
parents: 1096
diff changeset
328 });
1f4799bab8a6 deleted layers/layers.js and moved content to map store
Markus Kottlaender <markus@intevation.de>
parents: 1096
diff changeset
329 } // TODO tile.setState(TileState.ERROR);
1f4799bab8a6 deleted layers/layers.js and moved content to map store
Markus Kottlaender <markus@intevation.de>
parents: 1096
diff changeset
330 })
1f4799bab8a6 deleted layers/layers.js and moved content to map store
Markus Kottlaender <markus@intevation.de>
parents: 1096
diff changeset
331 }),
1121
035dc35e1dfc moved draw layer in map store's layers property
Markus Kottlaender <markus@intevation.de>
parents: 1115
diff changeset
332 isVisible: false,
035dc35e1dfc moved draw layer in map store's layers property
Markus Kottlaender <markus@intevation.de>
parents: 1115
diff changeset
333 showInLegend: true
1099
1f4799bab8a6 deleted layers/layers.js and moved content to map store
Markus Kottlaender <markus@intevation.de>
parents: 1096
diff changeset
334 },
1f4799bab8a6 deleted layers/layers.js and moved content to map store
Markus Kottlaender <markus@intevation.de>
parents: 1096
diff changeset
335 {
2482
ae1987c5beb3 client: display bottleneck status in separate layer
Markus Kottlaender <markus@intevation.de>
parents: 2446
diff changeset
336 name: LAYERS.BOTTLENECKSTATUS,
ae1987c5beb3 client: display bottleneck status in separate layer
Markus Kottlaender <markus@intevation.de>
parents: 2446
diff changeset
337 forLegendStyle: { point: true, resolution: 51 },
ae1987c5beb3 client: display bottleneck status in separate layer
Markus Kottlaender <markus@intevation.de>
parents: 2446
diff changeset
338 data: new VectorLayer({
ae1987c5beb3 client: display bottleneck status in separate layer
Markus Kottlaender <markus@intevation.de>
parents: 2446
diff changeset
339 source: new VectorSource({
ae1987c5beb3 client: display bottleneck status in separate layer
Markus Kottlaender <markus@intevation.de>
parents: 2446
diff changeset
340 strategy: bboxStrategy
ae1987c5beb3 client: display bottleneck status in separate layer
Markus Kottlaender <markus@intevation.de>
parents: 2446
diff changeset
341 }),
ae1987c5beb3 client: display bottleneck status in separate layer
Markus Kottlaender <markus@intevation.de>
parents: 2446
diff changeset
342 style: function(feature, resolution) {
ae1987c5beb3 client: display bottleneck status in separate layer
Markus Kottlaender <markus@intevation.de>
parents: 2446
diff changeset
343 if (resolution > 50) {
ae1987c5beb3 client: display bottleneck status in separate layer
Markus Kottlaender <markus@intevation.de>
parents: 2446
diff changeset
344 let bnCenter = getCenter(feature.getGeometry().getExtent());
ae1987c5beb3 client: display bottleneck status in separate layer
Markus Kottlaender <markus@intevation.de>
parents: 2446
diff changeset
345 let fillColor = feature.get("fa_critical")
ae1987c5beb3 client: display bottleneck status in separate layer
Markus Kottlaender <markus@intevation.de>
parents: 2446
diff changeset
346 ? "rgba(255, 0, 0, 0.5)"
ae1987c5beb3 client: display bottleneck status in separate layer
Markus Kottlaender <markus@intevation.de>
parents: 2446
diff changeset
347 : "rgba(0, 255, 0, 0.5)";
ae1987c5beb3 client: display bottleneck status in separate layer
Markus Kottlaender <markus@intevation.de>
parents: 2446
diff changeset
348 let strokeColor = feature.get("fa_critical") ? "red" : "green";
ae1987c5beb3 client: display bottleneck status in separate layer
Markus Kottlaender <markus@intevation.de>
parents: 2446
diff changeset
349 return new Style({
ae1987c5beb3 client: display bottleneck status in separate layer
Markus Kottlaender <markus@intevation.de>
parents: 2446
diff changeset
350 geometry: new Point(bnCenter),
ae1987c5beb3 client: display bottleneck status in separate layer
Markus Kottlaender <markus@intevation.de>
parents: 2446
diff changeset
351 image: new Circle({
ae1987c5beb3 client: display bottleneck status in separate layer
Markus Kottlaender <markus@intevation.de>
parents: 2446
diff changeset
352 radius: 10,
ae1987c5beb3 client: display bottleneck status in separate layer
Markus Kottlaender <markus@intevation.de>
parents: 2446
diff changeset
353 fill: new Fill({ color: fillColor }),
ae1987c5beb3 client: display bottleneck status in separate layer
Markus Kottlaender <markus@intevation.de>
parents: 2446
diff changeset
354 stroke: new Stroke({ color: strokeColor, width: 2 })
ae1987c5beb3 client: display bottleneck status in separate layer
Markus Kottlaender <markus@intevation.de>
parents: 2446
diff changeset
355 })
ae1987c5beb3 client: display bottleneck status in separate layer
Markus Kottlaender <markus@intevation.de>
parents: 2446
diff changeset
356 });
ae1987c5beb3 client: display bottleneck status in separate layer
Markus Kottlaender <markus@intevation.de>
parents: 2446
diff changeset
357 }
ae1987c5beb3 client: display bottleneck status in separate layer
Markus Kottlaender <markus@intevation.de>
parents: 2446
diff changeset
358 return [];
ae1987c5beb3 client: display bottleneck status in separate layer
Markus Kottlaender <markus@intevation.de>
parents: 2446
diff changeset
359 }
ae1987c5beb3 client: display bottleneck status in separate layer
Markus Kottlaender <markus@intevation.de>
parents: 2446
diff changeset
360 }),
ae1987c5beb3 client: display bottleneck status in separate layer
Markus Kottlaender <markus@intevation.de>
parents: 2446
diff changeset
361 isVisible: true,
ae1987c5beb3 client: display bottleneck status in separate layer
Markus Kottlaender <markus@intevation.de>
parents: 2446
diff changeset
362 showInLegend: true
ae1987c5beb3 client: display bottleneck status in separate layer
Markus Kottlaender <markus@intevation.de>
parents: 2446
diff changeset
363 },
ae1987c5beb3 client: display bottleneck status in separate layer
Markus Kottlaender <markus@intevation.de>
parents: 2446
diff changeset
364 {
2140
55bedb39295a feat: clicking on stretches activates according layer
Thomas Junk <thomas.junk@intevation.de>
parents: 2133
diff changeset
365 name: LAYERS.DISTANCEMARKS,
1944
ef1184654839 Order layers a bit less arbitrary.
Sascha Wilde <wilde@intevation.de>
parents: 1943
diff changeset
366 forLegendStyle: { point: true, resolution: 8 },
ef1184654839 Order layers a bit less arbitrary.
Sascha Wilde <wilde@intevation.de>
parents: 1943
diff changeset
367 data: new VectorLayer({
ef1184654839 Order layers a bit less arbitrary.
Sascha Wilde <wilde@intevation.de>
parents: 1943
diff changeset
368 source: new VectorSource({
ef1184654839 Order layers a bit less arbitrary.
Sascha Wilde <wilde@intevation.de>
parents: 1943
diff changeset
369 strategy: bboxStrategy
ef1184654839 Order layers a bit less arbitrary.
Sascha Wilde <wilde@intevation.de>
parents: 1943
diff changeset
370 })
ef1184654839 Order layers a bit less arbitrary.
Sascha Wilde <wilde@intevation.de>
parents: 1943
diff changeset
371 }),
ef1184654839 Order layers a bit less arbitrary.
Sascha Wilde <wilde@intevation.de>
parents: 1943
diff changeset
372 isVisible: false,
ef1184654839 Order layers a bit less arbitrary.
Sascha Wilde <wilde@intevation.de>
parents: 1943
diff changeset
373 showInLegend: true
ef1184654839 Order layers a bit less arbitrary.
Sascha Wilde <wilde@intevation.de>
parents: 1943
diff changeset
374 },
ef1184654839 Order layers a bit less arbitrary.
Sascha Wilde <wilde@intevation.de>
parents: 1943
diff changeset
375 {
2140
55bedb39295a feat: clicking on stretches activates according layer
Thomas Junk <thomas.junk@intevation.de>
parents: 2133
diff changeset
376 name: LAYERS.DISTANCEMARKSAXIS,
1099
1f4799bab8a6 deleted layers/layers.js and moved content to map store
Markus Kottlaender <markus@intevation.de>
parents: 1096
diff changeset
377 forLegendStyle: { point: true, resolution: 8 },
1f4799bab8a6 deleted layers/layers.js and moved content to map store
Markus Kottlaender <markus@intevation.de>
parents: 1096
diff changeset
378 data: new VectorLayer({
1f4799bab8a6 deleted layers/layers.js and moved content to map store
Markus Kottlaender <markus@intevation.de>
parents: 1096
diff changeset
379 source: new VectorSource({
1f4799bab8a6 deleted layers/layers.js and moved content to map store
Markus Kottlaender <markus@intevation.de>
parents: 1096
diff changeset
380 strategy: bboxStrategy
1f4799bab8a6 deleted layers/layers.js and moved content to map store
Markus Kottlaender <markus@intevation.de>
parents: 1096
diff changeset
381 }),
1f4799bab8a6 deleted layers/layers.js and moved content to map store
Markus Kottlaender <markus@intevation.de>
parents: 1096
diff changeset
382 style: function(feature, resolution) {
1f4799bab8a6 deleted layers/layers.js and moved content to map store
Markus Kottlaender <markus@intevation.de>
parents: 1096
diff changeset
383 if (resolution < 10) {
1f4799bab8a6 deleted layers/layers.js and moved content to map store
Markus Kottlaender <markus@intevation.de>
parents: 1096
diff changeset
384 var s = new Style({
1296
99c039e86624 replaced manual store cleanup on logout with central store reset
Markus Kottlaender <markus@intevation.de>
parents: 1272
diff changeset
385 image: new Circle({
1099
1f4799bab8a6 deleted layers/layers.js and moved content to map store
Markus Kottlaender <markus@intevation.de>
parents: 1096
diff changeset
386 radius: 5,
1f4799bab8a6 deleted layers/layers.js and moved content to map store
Markus Kottlaender <markus@intevation.de>
parents: 1096
diff changeset
387 fill: new Fill({ color: "rgba(255, 0, 0, 0.1)" }),
1f4799bab8a6 deleted layers/layers.js and moved content to map store
Markus Kottlaender <markus@intevation.de>
parents: 1096
diff changeset
388 stroke: new Stroke({ color: "blue", width: 1 })
1f4799bab8a6 deleted layers/layers.js and moved content to map store
Markus Kottlaender <markus@intevation.de>
parents: 1096
diff changeset
389 })
1f4799bab8a6 deleted layers/layers.js and moved content to map store
Markus Kottlaender <markus@intevation.de>
parents: 1096
diff changeset
390 });
1f4799bab8a6 deleted layers/layers.js and moved content to map store
Markus Kottlaender <markus@intevation.de>
parents: 1096
diff changeset
391 if (resolution < 6) {
1f4799bab8a6 deleted layers/layers.js and moved content to map store
Markus Kottlaender <markus@intevation.de>
parents: 1096
diff changeset
392 s.setText(
1f4799bab8a6 deleted layers/layers.js and moved content to map store
Markus Kottlaender <markus@intevation.de>
parents: 1096
diff changeset
393 new Text({
1f4799bab8a6 deleted layers/layers.js and moved content to map store
Markus Kottlaender <markus@intevation.de>
parents: 1096
diff changeset
394 offsetY: 12,
1f4799bab8a6 deleted layers/layers.js and moved content to map store
Markus Kottlaender <markus@intevation.de>
parents: 1096
diff changeset
395 font: '10px "Open Sans", "sans-serif"',
1f4799bab8a6 deleted layers/layers.js and moved content to map store
Markus Kottlaender <markus@intevation.de>
parents: 1096
diff changeset
396 fill: new Fill({
1f4799bab8a6 deleted layers/layers.js and moved content to map store
Markus Kottlaender <markus@intevation.de>
parents: 1096
diff changeset
397 color: "black"
1f4799bab8a6 deleted layers/layers.js and moved content to map store
Markus Kottlaender <markus@intevation.de>
parents: 1096
diff changeset
398 }),
1f4799bab8a6 deleted layers/layers.js and moved content to map store
Markus Kottlaender <markus@intevation.de>
parents: 1096
diff changeset
399 text: (feature.get("hectometre") / 10).toString()
1f4799bab8a6 deleted layers/layers.js and moved content to map store
Markus Kottlaender <markus@intevation.de>
parents: 1096
diff changeset
400 })
1f4799bab8a6 deleted layers/layers.js and moved content to map store
Markus Kottlaender <markus@intevation.de>
parents: 1096
diff changeset
401 );
1f4799bab8a6 deleted layers/layers.js and moved content to map store
Markus Kottlaender <markus@intevation.de>
parents: 1096
diff changeset
402 }
1f4799bab8a6 deleted layers/layers.js and moved content to map store
Markus Kottlaender <markus@intevation.de>
parents: 1096
diff changeset
403 return s;
1f4799bab8a6 deleted layers/layers.js and moved content to map store
Markus Kottlaender <markus@intevation.de>
parents: 1096
diff changeset
404 } else {
1f4799bab8a6 deleted layers/layers.js and moved content to map store
Markus Kottlaender <markus@intevation.de>
parents: 1096
diff changeset
405 return [];
1f4799bab8a6 deleted layers/layers.js and moved content to map store
Markus Kottlaender <markus@intevation.de>
parents: 1096
diff changeset
406 }
1f4799bab8a6 deleted layers/layers.js and moved content to map store
Markus Kottlaender <markus@intevation.de>
parents: 1096
diff changeset
407 }
1f4799bab8a6 deleted layers/layers.js and moved content to map store
Markus Kottlaender <markus@intevation.de>
parents: 1096
diff changeset
408 }),
1121
035dc35e1dfc moved draw layer in map store's layers property
Markus Kottlaender <markus@intevation.de>
parents: 1115
diff changeset
409 isVisible: true,
035dc35e1dfc moved draw layer in map store's layers property
Markus Kottlaender <markus@intevation.de>
parents: 1115
diff changeset
410 showInLegend: true
035dc35e1dfc moved draw layer in map store's layers property
Markus Kottlaender <markus@intevation.de>
parents: 1115
diff changeset
411 },
035dc35e1dfc moved draw layer in map store's layers property
Markus Kottlaender <markus@intevation.de>
parents: 1115
diff changeset
412 {
2451
960550ccca55 Added gauges layer.
Sascha Wilde <wilde@intevation.de>
parents: 2446
diff changeset
413 name: LAYERS.GAUGES,
960550ccca55 Added gauges layer.
Sascha Wilde <wilde@intevation.de>
parents: 2446
diff changeset
414 forLegendStyle: { point: true, resolution: 8 },
960550ccca55 Added gauges layer.
Sascha Wilde <wilde@intevation.de>
parents: 2446
diff changeset
415 data: new VectorLayer({
960550ccca55 Added gauges layer.
Sascha Wilde <wilde@intevation.de>
parents: 2446
diff changeset
416 source: new VectorSource({
960550ccca55 Added gauges layer.
Sascha Wilde <wilde@intevation.de>
parents: 2446
diff changeset
417 strategy: bboxStrategy
960550ccca55 Added gauges layer.
Sascha Wilde <wilde@intevation.de>
parents: 2446
diff changeset
418 }),
960550ccca55 Added gauges layer.
Sascha Wilde <wilde@intevation.de>
parents: 2446
diff changeset
419 style: function(feature) {
960550ccca55 Added gauges layer.
Sascha Wilde <wilde@intevation.de>
parents: 2446
diff changeset
420 return new Style({
2456
194b42f28ea3 linting
Markus Kottlaender <markus@intevation.de>
parents: 2451
diff changeset
421 image: new RegularShape({
194b42f28ea3 linting
Markus Kottlaender <markus@intevation.de>
parents: 2451
diff changeset
422 radius: 6,
194b42f28ea3 linting
Markus Kottlaender <markus@intevation.de>
parents: 2451
diff changeset
423 fill: new Fill({ color: "rgba(255, 255, 0, 0.1)" }),
194b42f28ea3 linting
Markus Kottlaender <markus@intevation.de>
parents: 2451
diff changeset
424 stroke: new Stroke({ color: "red", width: 1 }),
194b42f28ea3 linting
Markus Kottlaender <markus@intevation.de>
parents: 2451
diff changeset
425 points: 3,
194b42f28ea3 linting
Markus Kottlaender <markus@intevation.de>
parents: 2451
diff changeset
426 rotation: 0,
194b42f28ea3 linting
Markus Kottlaender <markus@intevation.de>
parents: 2451
diff changeset
427 angle: 0
194b42f28ea3 linting
Markus Kottlaender <markus@intevation.de>
parents: 2451
diff changeset
428 }),
194b42f28ea3 linting
Markus Kottlaender <markus@intevation.de>
parents: 2451
diff changeset
429 text: new Text({
194b42f28ea3 linting
Markus Kottlaender <markus@intevation.de>
parents: 2451
diff changeset
430 font: '10px "Open Sans", "sans-serif"',
194b42f28ea3 linting
Markus Kottlaender <markus@intevation.de>
parents: 2451
diff changeset
431 offsetY: 10,
194b42f28ea3 linting
Markus Kottlaender <markus@intevation.de>
parents: 2451
diff changeset
432 fill: new Fill({
194b42f28ea3 linting
Markus Kottlaender <markus@intevation.de>
parents: 2451
diff changeset
433 color: "black"
2451
960550ccca55 Added gauges layer.
Sascha Wilde <wilde@intevation.de>
parents: 2446
diff changeset
434 }),
2456
194b42f28ea3 linting
Markus Kottlaender <markus@intevation.de>
parents: 2451
diff changeset
435 text: feature.get("objname")
2451
960550ccca55 Added gauges layer.
Sascha Wilde <wilde@intevation.de>
parents: 2446
diff changeset
436 })
960550ccca55 Added gauges layer.
Sascha Wilde <wilde@intevation.de>
parents: 2446
diff changeset
437 });
960550ccca55 Added gauges layer.
Sascha Wilde <wilde@intevation.de>
parents: 2446
diff changeset
438 },
960550ccca55 Added gauges layer.
Sascha Wilde <wilde@intevation.de>
parents: 2446
diff changeset
439 maxResolution: 100,
960550ccca55 Added gauges layer.
Sascha Wilde <wilde@intevation.de>
parents: 2446
diff changeset
440 minResolution: 0
960550ccca55 Added gauges layer.
Sascha Wilde <wilde@intevation.de>
parents: 2446
diff changeset
441 }),
960550ccca55 Added gauges layer.
Sascha Wilde <wilde@intevation.de>
parents: 2446
diff changeset
442 isVisible: true,
2456
194b42f28ea3 linting
Markus Kottlaender <markus@intevation.de>
parents: 2451
diff changeset
443 showInLegend: true
2451
960550ccca55 Added gauges layer.
Sascha Wilde <wilde@intevation.de>
parents: 2446
diff changeset
444 },
960550ccca55 Added gauges layer.
Sascha Wilde <wilde@intevation.de>
parents: 2446
diff changeset
445 {
2140
55bedb39295a feat: clicking on stretches activates according layer
Thomas Junk <thomas.junk@intevation.de>
parents: 2133
diff changeset
446 name: LAYERS.DRAWTOOL,
1121
035dc35e1dfc moved draw layer in map store's layers property
Markus Kottlaender <markus@intevation.de>
parents: 1115
diff changeset
447 data: new VectorLayer({
035dc35e1dfc moved draw layer in map store's layers property
Markus Kottlaender <markus@intevation.de>
parents: 1115
diff changeset
448 source: new VectorSource({ wrapX: false }),
035dc35e1dfc moved draw layer in map store's layers property
Markus Kottlaender <markus@intevation.de>
parents: 1115
diff changeset
449 style: function(feature) {
035dc35e1dfc moved draw layer in map store's layers property
Markus Kottlaender <markus@intevation.de>
parents: 1115
diff changeset
450 // adapted from OpenLayer's LineString Arrow Example
035dc35e1dfc moved draw layer in map store's layers property
Markus Kottlaender <markus@intevation.de>
parents: 1115
diff changeset
451 var geometry = feature.getGeometry();
035dc35e1dfc moved draw layer in map store's layers property
Markus Kottlaender <markus@intevation.de>
parents: 1115
diff changeset
452 var styles = [
035dc35e1dfc moved draw layer in map store's layers property
Markus Kottlaender <markus@intevation.de>
parents: 1115
diff changeset
453 // linestring
035dc35e1dfc moved draw layer in map store's layers property
Markus Kottlaender <markus@intevation.de>
parents: 1115
diff changeset
454 new Style({
035dc35e1dfc moved draw layer in map store's layers property
Markus Kottlaender <markus@intevation.de>
parents: 1115
diff changeset
455 stroke: new Stroke({
035dc35e1dfc moved draw layer in map store's layers property
Markus Kottlaender <markus@intevation.de>
parents: 1115
diff changeset
456 color: "#369aca",
035dc35e1dfc moved draw layer in map store's layers property
Markus Kottlaender <markus@intevation.de>
parents: 1115
diff changeset
457 width: 2
035dc35e1dfc moved draw layer in map store's layers property
Markus Kottlaender <markus@intevation.de>
parents: 1115
diff changeset
458 })
035dc35e1dfc moved draw layer in map store's layers property
Markus Kottlaender <markus@intevation.de>
parents: 1115
diff changeset
459 })
035dc35e1dfc moved draw layer in map store's layers property
Markus Kottlaender <markus@intevation.de>
parents: 1115
diff changeset
460 ];
035dc35e1dfc moved draw layer in map store's layers property
Markus Kottlaender <markus@intevation.de>
parents: 1115
diff changeset
461
035dc35e1dfc moved draw layer in map store's layers property
Markus Kottlaender <markus@intevation.de>
parents: 1115
diff changeset
462 if (geometry.getType() === "LineString") {
035dc35e1dfc moved draw layer in map store's layers property
Markus Kottlaender <markus@intevation.de>
parents: 1115
diff changeset
463 geometry.forEachSegment(function(start, end) {
035dc35e1dfc moved draw layer in map store's layers property
Markus Kottlaender <markus@intevation.de>
parents: 1115
diff changeset
464 var dx = end[0] - start[0];
035dc35e1dfc moved draw layer in map store's layers property
Markus Kottlaender <markus@intevation.de>
parents: 1115
diff changeset
465 var dy = end[1] - start[1];
035dc35e1dfc moved draw layer in map store's layers property
Markus Kottlaender <markus@intevation.de>
parents: 1115
diff changeset
466 var rotation = Math.atan2(dy, dx);
035dc35e1dfc moved draw layer in map store's layers property
Markus Kottlaender <markus@intevation.de>
parents: 1115
diff changeset
467 // arrows
035dc35e1dfc moved draw layer in map store's layers property
Markus Kottlaender <markus@intevation.de>
parents: 1115
diff changeset
468 styles.push(
035dc35e1dfc moved draw layer in map store's layers property
Markus Kottlaender <markus@intevation.de>
parents: 1115
diff changeset
469 new Style({
035dc35e1dfc moved draw layer in map store's layers property
Markus Kottlaender <markus@intevation.de>
parents: 1115
diff changeset
470 geometry: new Point(end),
035dc35e1dfc moved draw layer in map store's layers property
Markus Kottlaender <markus@intevation.de>
parents: 1115
diff changeset
471 image: new Icon({
035dc35e1dfc moved draw layer in map store's layers property
Markus Kottlaender <markus@intevation.de>
parents: 1115
diff changeset
472 // we need to make sure the image is loaded by Vue Loader
1272
bc55ffaeb639 cleaned up client/src directory
Markus Kottlaender <markus@intevation.de>
parents: 1247
diff changeset
473 src: require("../assets/linestring_arrow.png"),
1121
035dc35e1dfc moved draw layer in map store's layers property
Markus Kottlaender <markus@intevation.de>
parents: 1115
diff changeset
474 // fiddling with the anchor's y value does not help to
035dc35e1dfc moved draw layer in map store's layers property
Markus Kottlaender <markus@intevation.de>
parents: 1115
diff changeset
475 // position the image more centered on the line ending, as the
035dc35e1dfc moved draw layer in map store's layers property
Markus Kottlaender <markus@intevation.de>
parents: 1115
diff changeset
476 // default line style seems to be slightly uncentered in the
035dc35e1dfc moved draw layer in map store's layers property
Markus Kottlaender <markus@intevation.de>
parents: 1115
diff changeset
477 // anti-aliasing, but the image is not placed with subpixel
035dc35e1dfc moved draw layer in map store's layers property
Markus Kottlaender <markus@intevation.de>
parents: 1115
diff changeset
478 // precision
035dc35e1dfc moved draw layer in map store's layers property
Markus Kottlaender <markus@intevation.de>
parents: 1115
diff changeset
479 anchor: [0.75, 0.5],
035dc35e1dfc moved draw layer in map store's layers property
Markus Kottlaender <markus@intevation.de>
parents: 1115
diff changeset
480 rotateWithView: true,
035dc35e1dfc moved draw layer in map store's layers property
Markus Kottlaender <markus@intevation.de>
parents: 1115
diff changeset
481 rotation: -rotation
035dc35e1dfc moved draw layer in map store's layers property
Markus Kottlaender <markus@intevation.de>
parents: 1115
diff changeset
482 })
035dc35e1dfc moved draw layer in map store's layers property
Markus Kottlaender <markus@intevation.de>
parents: 1115
diff changeset
483 })
035dc35e1dfc moved draw layer in map store's layers property
Markus Kottlaender <markus@intevation.de>
parents: 1115
diff changeset
484 );
035dc35e1dfc moved draw layer in map store's layers property
Markus Kottlaender <markus@intevation.de>
parents: 1115
diff changeset
485 });
035dc35e1dfc moved draw layer in map store's layers property
Markus Kottlaender <markus@intevation.de>
parents: 1115
diff changeset
486 }
035dc35e1dfc moved draw layer in map store's layers property
Markus Kottlaender <markus@intevation.de>
parents: 1115
diff changeset
487 return styles;
035dc35e1dfc moved draw layer in map store's layers property
Markus Kottlaender <markus@intevation.de>
parents: 1115
diff changeset
488 }
035dc35e1dfc moved draw layer in map store's layers property
Markus Kottlaender <markus@intevation.de>
parents: 1115
diff changeset
489 }),
035dc35e1dfc moved draw layer in map store's layers property
Markus Kottlaender <markus@intevation.de>
parents: 1115
diff changeset
490 isVisible: true,
035dc35e1dfc moved draw layer in map store's layers property
Markus Kottlaender <markus@intevation.de>
parents: 1115
diff changeset
491 showInLegend: false
1140
2e06bc53b002 separating line/polygon/cut tools in UI
Markus Kottlaender <markus@intevation.de>
parents: 1122
diff changeset
492 },
2e06bc53b002 separating line/polygon/cut tools in UI
Markus Kottlaender <markus@intevation.de>
parents: 1122
diff changeset
493 {
2140
55bedb39295a feat: clicking on stretches activates according layer
Thomas Junk <thomas.junk@intevation.de>
parents: 2133
diff changeset
494 name: LAYERS.CUTTOOL,
1140
2e06bc53b002 separating line/polygon/cut tools in UI
Markus Kottlaender <markus@intevation.de>
parents: 1122
diff changeset
495 data: new VectorLayer({
2e06bc53b002 separating line/polygon/cut tools in UI
Markus Kottlaender <markus@intevation.de>
parents: 1122
diff changeset
496 source: new VectorSource({ wrapX: false }),
2e06bc53b002 separating line/polygon/cut tools in UI
Markus Kottlaender <markus@intevation.de>
parents: 1122
diff changeset
497 style: function(feature) {
2e06bc53b002 separating line/polygon/cut tools in UI
Markus Kottlaender <markus@intevation.de>
parents: 1122
diff changeset
498 // adapted from OpenLayer's LineString Arrow Example
2e06bc53b002 separating line/polygon/cut tools in UI
Markus Kottlaender <markus@intevation.de>
parents: 1122
diff changeset
499 var geometry = feature.getGeometry();
2e06bc53b002 separating line/polygon/cut tools in UI
Markus Kottlaender <markus@intevation.de>
parents: 1122
diff changeset
500 var styles = [
2e06bc53b002 separating line/polygon/cut tools in UI
Markus Kottlaender <markus@intevation.de>
parents: 1122
diff changeset
501 // linestring
2e06bc53b002 separating line/polygon/cut tools in UI
Markus Kottlaender <markus@intevation.de>
parents: 1122
diff changeset
502 new Style({
2e06bc53b002 separating line/polygon/cut tools in UI
Markus Kottlaender <markus@intevation.de>
parents: 1122
diff changeset
503 stroke: new Stroke({
1197
49740dcba52c changed cut tool style
Markus Kottlaender <markus@intevation.de>
parents: 1158
diff changeset
504 color: "#333333",
49740dcba52c changed cut tool style
Markus Kottlaender <markus@intevation.de>
parents: 1158
diff changeset
505 width: 2,
49740dcba52c changed cut tool style
Markus Kottlaender <markus@intevation.de>
parents: 1158
diff changeset
506 lineDash: [7, 7]
1140
2e06bc53b002 separating line/polygon/cut tools in UI
Markus Kottlaender <markus@intevation.de>
parents: 1122
diff changeset
507 })
2e06bc53b002 separating line/polygon/cut tools in UI
Markus Kottlaender <markus@intevation.de>
parents: 1122
diff changeset
508 })
2e06bc53b002 separating line/polygon/cut tools in UI
Markus Kottlaender <markus@intevation.de>
parents: 1122
diff changeset
509 ];
2e06bc53b002 separating line/polygon/cut tools in UI
Markus Kottlaender <markus@intevation.de>
parents: 1122
diff changeset
510
2e06bc53b002 separating line/polygon/cut tools in UI
Markus Kottlaender <markus@intevation.de>
parents: 1122
diff changeset
511 if (geometry.getType() === "LineString") {
2e06bc53b002 separating line/polygon/cut tools in UI
Markus Kottlaender <markus@intevation.de>
parents: 1122
diff changeset
512 geometry.forEachSegment(function(start, end) {
2e06bc53b002 separating line/polygon/cut tools in UI
Markus Kottlaender <markus@intevation.de>
parents: 1122
diff changeset
513 var dx = end[0] - start[0];
2e06bc53b002 separating line/polygon/cut tools in UI
Markus Kottlaender <markus@intevation.de>
parents: 1122
diff changeset
514 var dy = end[1] - start[1];
2e06bc53b002 separating line/polygon/cut tools in UI
Markus Kottlaender <markus@intevation.de>
parents: 1122
diff changeset
515 var rotation = Math.atan2(dy, dx);
2e06bc53b002 separating line/polygon/cut tools in UI
Markus Kottlaender <markus@intevation.de>
parents: 1122
diff changeset
516 // arrows
2e06bc53b002 separating line/polygon/cut tools in UI
Markus Kottlaender <markus@intevation.de>
parents: 1122
diff changeset
517 styles.push(
2e06bc53b002 separating line/polygon/cut tools in UI
Markus Kottlaender <markus@intevation.de>
parents: 1122
diff changeset
518 new Style({
2e06bc53b002 separating line/polygon/cut tools in UI
Markus Kottlaender <markus@intevation.de>
parents: 1122
diff changeset
519 geometry: new Point(end),
2e06bc53b002 separating line/polygon/cut tools in UI
Markus Kottlaender <markus@intevation.de>
parents: 1122
diff changeset
520 image: new Icon({
2e06bc53b002 separating line/polygon/cut tools in UI
Markus Kottlaender <markus@intevation.de>
parents: 1122
diff changeset
521 // we need to make sure the image is loaded by Vue Loader
1272
bc55ffaeb639 cleaned up client/src directory
Markus Kottlaender <markus@intevation.de>
parents: 1247
diff changeset
522 src: require("../assets/linestring_arrow_grey.png"),
1140
2e06bc53b002 separating line/polygon/cut tools in UI
Markus Kottlaender <markus@intevation.de>
parents: 1122
diff changeset
523 // fiddling with the anchor's y value does not help to
2e06bc53b002 separating line/polygon/cut tools in UI
Markus Kottlaender <markus@intevation.de>
parents: 1122
diff changeset
524 // position the image more centered on the line ending, as the
2e06bc53b002 separating line/polygon/cut tools in UI
Markus Kottlaender <markus@intevation.de>
parents: 1122
diff changeset
525 // default line style seems to be slightly uncentered in the
2e06bc53b002 separating line/polygon/cut tools in UI
Markus Kottlaender <markus@intevation.de>
parents: 1122
diff changeset
526 // anti-aliasing, but the image is not placed with subpixel
2e06bc53b002 separating line/polygon/cut tools in UI
Markus Kottlaender <markus@intevation.de>
parents: 1122
diff changeset
527 // precision
2e06bc53b002 separating line/polygon/cut tools in UI
Markus Kottlaender <markus@intevation.de>
parents: 1122
diff changeset
528 anchor: [0.75, 0.5],
2e06bc53b002 separating line/polygon/cut tools in UI
Markus Kottlaender <markus@intevation.de>
parents: 1122
diff changeset
529 rotateWithView: true,
2e06bc53b002 separating line/polygon/cut tools in UI
Markus Kottlaender <markus@intevation.de>
parents: 1122
diff changeset
530 rotation: -rotation
2e06bc53b002 separating line/polygon/cut tools in UI
Markus Kottlaender <markus@intevation.de>
parents: 1122
diff changeset
531 })
2e06bc53b002 separating line/polygon/cut tools in UI
Markus Kottlaender <markus@intevation.de>
parents: 1122
diff changeset
532 })
2e06bc53b002 separating line/polygon/cut tools in UI
Markus Kottlaender <markus@intevation.de>
parents: 1122
diff changeset
533 );
2e06bc53b002 separating line/polygon/cut tools in UI
Markus Kottlaender <markus@intevation.de>
parents: 1122
diff changeset
534 });
2e06bc53b002 separating line/polygon/cut tools in UI
Markus Kottlaender <markus@intevation.de>
parents: 1122
diff changeset
535 }
2e06bc53b002 separating line/polygon/cut tools in UI
Markus Kottlaender <markus@intevation.de>
parents: 1122
diff changeset
536 return styles;
2e06bc53b002 separating line/polygon/cut tools in UI
Markus Kottlaender <markus@intevation.de>
parents: 1122
diff changeset
537 }
2e06bc53b002 separating line/polygon/cut tools in UI
Markus Kottlaender <markus@intevation.de>
parents: 1122
diff changeset
538 }),
2e06bc53b002 separating line/polygon/cut tools in UI
Markus Kottlaender <markus@intevation.de>
parents: 1122
diff changeset
539 isVisible: true,
2e06bc53b002 separating line/polygon/cut tools in UI
Markus Kottlaender <markus@intevation.de>
parents: 1122
diff changeset
540 showInLegend: false
1099
1f4799bab8a6 deleted layers/layers.js and moved content to map store
Markus Kottlaender <markus@intevation.de>
parents: 1096
diff changeset
541 }
1f4799bab8a6 deleted layers/layers.js and moved content to map store
Markus Kottlaender <markus@intevation.de>
parents: 1096
diff changeset
542 ]
1296
99c039e86624 replaced manual store cleanup on logout with central store reset
Markus Kottlaender <markus@intevation.de>
parents: 1272
diff changeset
543 };
99c039e86624 replaced manual store cleanup on logout with central store reset
Markus Kottlaender <markus@intevation.de>
parents: 1272
diff changeset
544 };
99c039e86624 replaced manual store cleanup on logout with central store reset
Markus Kottlaender <markus@intevation.de>
parents: 1272
diff changeset
545
99c039e86624 replaced manual store cleanup on logout with central store reset
Markus Kottlaender <markus@intevation.de>
parents: 1272
diff changeset
546 export default {
99c039e86624 replaced manual store cleanup on logout with central store reset
Markus Kottlaender <markus@intevation.de>
parents: 1272
diff changeset
547 init,
99c039e86624 replaced manual store cleanup on logout with central store reset
Markus Kottlaender <markus@intevation.de>
parents: 1272
diff changeset
548 namespaced: true,
99c039e86624 replaced manual store cleanup on logout with central store reset
Markus Kottlaender <markus@intevation.de>
parents: 1272
diff changeset
549 state: init(),
585
ef307bd6b5d8 refac: restructured client application
Thomas Junk <thomas.junk@intevation.de>
parents:
diff changeset
550 getters: {
1121
035dc35e1dfc moved draw layer in map store's layers property
Markus Kottlaender <markus@intevation.de>
parents: 1115
diff changeset
551 layersForLegend: state => {
035dc35e1dfc moved draw layer in map store's layers property
Markus Kottlaender <markus@intevation.de>
parents: 1115
diff changeset
552 return state.layers.filter(layer => layer.showInLegend);
035dc35e1dfc moved draw layer in map store's layers property
Markus Kottlaender <markus@intevation.de>
parents: 1115
diff changeset
553 },
754
105c421f99b1 refac: small improvements to code structure
Thomas Junk <thomas.junk@intevation.de>
parents: 747
diff changeset
554 getLayerByName: state => name => {
105c421f99b1 refac: small improvements to code structure
Thomas Junk <thomas.junk@intevation.de>
parents: 747
diff changeset
555 return state.layers.find(layer => layer.name === name);
1296
99c039e86624 replaced manual store cleanup on logout with central store reset
Markus Kottlaender <markus@intevation.de>
parents: 1272
diff changeset
556 },
99c039e86624 replaced manual store cleanup on logout with central store reset
Markus Kottlaender <markus@intevation.de>
parents: 1272
diff changeset
557 getVSourceByName: (state, getters) => name => {
99c039e86624 replaced manual store cleanup on logout with central store reset
Markus Kottlaender <markus@intevation.de>
parents: 1272
diff changeset
558 return getters.getLayerByName(name).data.getSource();
2370
7fe2f5d334dc client: improved identify tool readability
Markus Kottlaender <markus@intevation.de>
parents: 2314
diff changeset
559 },
7fe2f5d334dc client: improved identify tool readability
Markus Kottlaender <markus@intevation.de>
parents: 2314
diff changeset
560 filteredIdentifiedFeatures: state => {
7fe2f5d334dc client: improved identify tool readability
Markus Kottlaender <markus@intevation.de>
parents: 2314
diff changeset
561 return state.identifiedFeatures.filter(f => f.getId());
585
ef307bd6b5d8 refac: restructured client application
Thomas Junk <thomas.junk@intevation.de>
parents:
diff changeset
562 }
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 mutations: {
2310
92b21df288e2 client: use user specific extent only on initial load
Markus Kottlaender <markus@intevation.de>
parents: 2309
diff changeset
565 initialLoad: (state, initialLoad) => {
92b21df288e2 client: use user specific extent only on initial load
Markus Kottlaender <markus@intevation.de>
parents: 2309
diff changeset
566 state.initialLoad = initialLoad;
92b21df288e2 client: use user specific extent only on initial load
Markus Kottlaender <markus@intevation.de>
parents: 2309
diff changeset
567 },
1313
e4e35fb2d995 save map extent (center/zoom) in store, to not lose it when switching between map and admin area
Markus Kottlaender <markus@intevation.de>
parents: 1296
diff changeset
568 extent: (state, extent) => {
e4e35fb2d995 save map extent (center/zoom) in store, to not lose it when switching between map and admin area
Markus Kottlaender <markus@intevation.de>
parents: 1296
diff changeset
569 state.extent = extent;
e4e35fb2d995 save map extent (center/zoom) in store, to not lose it when switching between map and admin area
Markus Kottlaender <markus@intevation.de>
parents: 1296
diff changeset
570 },
2140
55bedb39295a feat: clicking on stretches activates according layer
Thomas Junk <thomas.junk@intevation.de>
parents: 2133
diff changeset
571 setLayerVisible: (state, name) => {
55bedb39295a feat: clicking on stretches activates according layer
Thomas Junk <thomas.junk@intevation.de>
parents: 2133
diff changeset
572 const layer = state.layers.findIndex(l => l.name === name);
55bedb39295a feat: clicking on stretches activates according layer
Thomas Junk <thomas.junk@intevation.de>
parents: 2133
diff changeset
573 state.layers[layer].isVisible = true;
55bedb39295a feat: clicking on stretches activates according layer
Thomas Junk <thomas.junk@intevation.de>
parents: 2133
diff changeset
574 state.layers[layer].data.setVisible(true);
55bedb39295a feat: clicking on stretches activates according layer
Thomas Junk <thomas.junk@intevation.de>
parents: 2133
diff changeset
575 },
55bedb39295a feat: clicking on stretches activates according layer
Thomas Junk <thomas.junk@intevation.de>
parents: 2133
diff changeset
576 setLayerInvisible: (state, name) => {
55bedb39295a feat: clicking on stretches activates according layer
Thomas Junk <thomas.junk@intevation.de>
parents: 2133
diff changeset
577 const layer = state.layers.findIndex(l => l.name === name);
55bedb39295a feat: clicking on stretches activates according layer
Thomas Junk <thomas.junk@intevation.de>
parents: 2133
diff changeset
578 state.layers[layer].isVisible = false;
55bedb39295a feat: clicking on stretches activates according layer
Thomas Junk <thomas.junk@intevation.de>
parents: 2133
diff changeset
579 state.layers[layer].data.setVisible(false);
55bedb39295a feat: clicking on stretches activates according layer
Thomas Junk <thomas.junk@intevation.de>
parents: 2133
diff changeset
580 },
55bedb39295a feat: clicking on stretches activates according layer
Thomas Junk <thomas.junk@intevation.de>
parents: 2133
diff changeset
581 toggleVisibilityByName: (state, name) => {
55bedb39295a feat: clicking on stretches activates according layer
Thomas Junk <thomas.junk@intevation.de>
parents: 2133
diff changeset
582 const layer = state.layers.findIndex(l => l.name === name);
55bedb39295a feat: clicking on stretches activates according layer
Thomas Junk <thomas.junk@intevation.de>
parents: 2133
diff changeset
583 state.layers[layer].isVisible = !state.layers[layer].isVisible;
55bedb39295a feat: clicking on stretches activates according layer
Thomas Junk <thomas.junk@intevation.de>
parents: 2133
diff changeset
584 state.layers[layer].data.setVisible(state.layers[layer].isVisible);
55bedb39295a feat: clicking on stretches activates according layer
Thomas Junk <thomas.junk@intevation.de>
parents: 2133
diff changeset
585 },
585
ef307bd6b5d8 refac: restructured client application
Thomas Junk <thomas.junk@intevation.de>
parents:
diff changeset
586 toggleVisibility: (state, layer) => {
ef307bd6b5d8 refac: restructured client application
Thomas Junk <thomas.junk@intevation.de>
parents:
diff changeset
587 state.layers[layer].isVisible = !state.layers[layer].isVisible;
ef307bd6b5d8 refac: restructured client application
Thomas Junk <thomas.junk@intevation.de>
parents:
diff changeset
588 state.layers[layer].data.setVisible(state.layers[layer].isVisible);
770
c12ec7fde3f2 client: add simple identify top area box
Bernhard Reiter <bernhard@intevation.de>
parents: 754
diff changeset
589 },
1296
99c039e86624 replaced manual store cleanup on logout with central store reset
Markus Kottlaender <markus@intevation.de>
parents: 1272
diff changeset
590 openLayersMap: (state, map) => {
783
ab9604a46075 client: add move after clicking search result
Bernhard Reiter <bernhard@intevation.de>
parents: 782
diff changeset
591 state.openLayersMap = map;
1112
2c3d32322126 moved identifystore properties to mapstore
Markus Kottlaender <markus@intevation.de>
parents: 1099
diff changeset
592 },
1435
7fa030127b05 fixed panning problem
Markus Kottlaender <markus@intevation.de>
parents: 1395
diff changeset
593 identifyTool: (state, events) => {
7fa030127b05 fixed panning problem
Markus Kottlaender <markus@intevation.de>
parents: 1395
diff changeset
594 state.identifyTool = events;
7fa030127b05 fixed panning problem
Markus Kottlaender <markus@intevation.de>
parents: 1395
diff changeset
595 },
1112
2c3d32322126 moved identifystore properties to mapstore
Markus Kottlaender <markus@intevation.de>
parents: 1099
diff changeset
596 setIdentifiedFeatures: (state, identifiedFeatures) => {
2c3d32322126 moved identifystore properties to mapstore
Markus Kottlaender <markus@intevation.de>
parents: 1099
diff changeset
597 state.identifiedFeatures = identifiedFeatures;
2c3d32322126 moved identifystore properties to mapstore
Markus Kottlaender <markus@intevation.de>
parents: 1099
diff changeset
598 },
2c3d32322126 moved identifystore properties to mapstore
Markus Kottlaender <markus@intevation.de>
parents: 1099
diff changeset
599 setCurrentMeasurement: (state, measurement) => {
2c3d32322126 moved identifystore properties to mapstore
Markus Kottlaender <markus@intevation.de>
parents: 1099
diff changeset
600 state.currentMeasurement = measurement;
1115
1b160eda22cf moved drawMode to map store
Markus Kottlaender <markus@intevation.de>
parents: 1114
diff changeset
601 },
1237
74562dc29e10 refactored drawtool
Markus Kottlaender <markus@intevation.de>
parents: 1197
diff changeset
602 lineTool: (state, lineTool) => {
74562dc29e10 refactored drawtool
Markus Kottlaender <markus@intevation.de>
parents: 1197
diff changeset
603 state.lineTool = lineTool;
1140
2e06bc53b002 separating line/polygon/cut tools in UI
Markus Kottlaender <markus@intevation.de>
parents: 1122
diff changeset
604 },
1237
74562dc29e10 refactored drawtool
Markus Kottlaender <markus@intevation.de>
parents: 1197
diff changeset
605 polygonTool: (state, polygonTool) => {
74562dc29e10 refactored drawtool
Markus Kottlaender <markus@intevation.de>
parents: 1197
diff changeset
606 state.polygonTool = polygonTool;
1140
2e06bc53b002 separating line/polygon/cut tools in UI
Markus Kottlaender <markus@intevation.de>
parents: 1122
diff changeset
607 },
2e06bc53b002 separating line/polygon/cut tools in UI
Markus Kottlaender <markus@intevation.de>
parents: 1122
diff changeset
608 cutTool: (state, cutTool) => {
2e06bc53b002 separating line/polygon/cut tools in UI
Markus Kottlaender <markus@intevation.de>
parents: 1122
diff changeset
609 state.cutTool = cutTool;
1158
da75faa8043f added central moveMap method to pan and zoom the map on certain events
Markus Kottlaender <markus@intevation.de>
parents: 1144
diff changeset
610 },
2186
d0498088894f map_store: extracted moveMap, etd moveToBoundingBox, refactored moveToExtent
Thomas Junk <thomas.junk@intevation.de>
parents: 2166
diff changeset
611 moveToBoundingBox: (state, { boundingBox, zoom, preventZoomOut }) => {
d0498088894f map_store: extracted moveMap, etd moveToBoundingBox, refactored moveToExtent
Thomas Junk <thomas.junk@intevation.de>
parents: 2166
diff changeset
612 const extent = transformExtent(boundingBox, "EPSG:4326", "EPSG:3857");
d0498088894f map_store: extracted moveMap, etd moveToBoundingBox, refactored moveToExtent
Thomas Junk <thomas.junk@intevation.de>
parents: 2166
diff changeset
613 let view = state.openLayersMap.getView();
d0498088894f map_store: extracted moveMap, etd moveToBoundingBox, refactored moveToExtent
Thomas Junk <thomas.junk@intevation.de>
parents: 2166
diff changeset
614 moveMap({ view, extent, zoom, preventZoomOut });
d0498088894f map_store: extracted moveMap, etd moveToBoundingBox, refactored moveToExtent
Thomas Junk <thomas.junk@intevation.de>
parents: 2166
diff changeset
615 },
2132
7a2eedc182f7 staging: zoomable stretches. zoomToExtent etd
Thomas Junk <thomas.junk@intevation.de>
parents: 2125
diff changeset
616 moveToExtent: (state, { feature, zoom, preventZoomOut }) => {
7a2eedc182f7 staging: zoomable stretches. zoomToExtent etd
Thomas Junk <thomas.junk@intevation.de>
parents: 2125
diff changeset
617 const boundingBox = bbox(feature.geometry);
7a2eedc182f7 staging: zoomable stretches. zoomToExtent etd
Thomas Junk <thomas.junk@intevation.de>
parents: 2125
diff changeset
618 const extent = transformExtent(boundingBox, "EPSG:4326", "EPSG:3857");
2108
cac5d2fba591 bbox tool from turfjs added. zoomToExtent function added to map.js
Thomas Junk <thomas.junk@intevation.de>
parents: 2101
diff changeset
619 let view = state.openLayersMap.getView();
2186
d0498088894f map_store: extracted moveMap, etd moveToBoundingBox, refactored moveToExtent
Thomas Junk <thomas.junk@intevation.de>
parents: 2166
diff changeset
620 moveMap({ view, extent, zoom, preventZoomOut });
2108
cac5d2fba591 bbox tool from turfjs added. zoomToExtent function added to map.js
Thomas Junk <thomas.junk@intevation.de>
parents: 2101
diff changeset
621 },
1158
da75faa8043f added central moveMap method to pan and zoom the map on certain events
Markus Kottlaender <markus@intevation.de>
parents: 1144
diff changeset
622 moveMap: (state, { coordinates, zoom, preventZoomOut }) => {
da75faa8043f added central moveMap method to pan and zoom the map on certain events
Markus Kottlaender <markus@intevation.de>
parents: 1144
diff changeset
623 let view = state.openLayersMap.getView();
da75faa8043f added central moveMap method to pan and zoom the map on certain events
Markus Kottlaender <markus@intevation.de>
parents: 1144
diff changeset
624 const currentZoom = view.getZoom();
da75faa8043f added central moveMap method to pan and zoom the map on certain events
Markus Kottlaender <markus@intevation.de>
parents: 1144
diff changeset
625 view.animate({
da75faa8043f added central moveMap method to pan and zoom the map on certain events
Markus Kottlaender <markus@intevation.de>
parents: 1144
diff changeset
626 zoom: preventZoomOut ? Math.max(zoom, currentZoom) : zoom,
da75faa8043f added central moveMap method to pan and zoom the map on certain events
Markus Kottlaender <markus@intevation.de>
parents: 1144
diff changeset
627 center: fromLonLat(coordinates, view.getProjection()),
da75faa8043f added central moveMap method to pan and zoom the map on certain events
Markus Kottlaender <markus@intevation.de>
parents: 1144
diff changeset
628 duration: 700
da75faa8043f added central moveMap method to pan and zoom the map on certain events
Markus Kottlaender <markus@intevation.de>
parents: 1144
diff changeset
629 });
1927
5a37ee321651 client: make isolines legend graphic internally availableo
Bernhard Reiter <bernhard@intevation.de>
parents: 1879
diff changeset
630 },
5a37ee321651 client: make isolines legend graphic internally availableo
Bernhard Reiter <bernhard@intevation.de>
parents: 1879
diff changeset
631 isolinesLegendImgDataURL: (state, isolinesLegendImgDataURL) => {
5a37ee321651 client: make isolines legend graphic internally availableo
Bernhard Reiter <bernhard@intevation.de>
parents: 1879
diff changeset
632 state.isolinesLegendImgDataURL = isolinesLegendImgDataURL;
1144
5f98d0c9d738 linted code
Markus Kottlaender <markus@intevation.de>
parents: 1140
diff changeset
633 }
1296
99c039e86624 replaced manual store cleanup on logout with central store reset
Markus Kottlaender <markus@intevation.de>
parents: 1272
diff changeset
634 },
99c039e86624 replaced manual store cleanup on logout with central store reset
Markus Kottlaender <markus@intevation.de>
parents: 1272
diff changeset
635 actions: {
99c039e86624 replaced manual store cleanup on logout with central store reset
Markus Kottlaender <markus@intevation.de>
parents: 1272
diff changeset
636 openLayersMap({ commit, dispatch, getters }, map) {
99c039e86624 replaced manual store cleanup on logout with central store reset
Markus Kottlaender <markus@intevation.de>
parents: 1272
diff changeset
637 const drawVectorSrc = getters.getVSourceByName("Draw Tool");
99c039e86624 replaced manual store cleanup on logout with central store reset
Markus Kottlaender <markus@intevation.de>
parents: 1272
diff changeset
638 const cutVectorSrc = getters.getVSourceByName("Cut Tool");
99c039e86624 replaced manual store cleanup on logout with central store reset
Markus Kottlaender <markus@intevation.de>
parents: 1272
diff changeset
639
99c039e86624 replaced manual store cleanup on logout with central store reset
Markus Kottlaender <markus@intevation.de>
parents: 1272
diff changeset
640 // init line tool
99c039e86624 replaced manual store cleanup on logout with central store reset
Markus Kottlaender <markus@intevation.de>
parents: 1272
diff changeset
641 const lineTool = new Draw({
99c039e86624 replaced manual store cleanup on logout with central store reset
Markus Kottlaender <markus@intevation.de>
parents: 1272
diff changeset
642 source: drawVectorSrc,
99c039e86624 replaced manual store cleanup on logout with central store reset
Markus Kottlaender <markus@intevation.de>
parents: 1272
diff changeset
643 type: "LineString",
99c039e86624 replaced manual store cleanup on logout with central store reset
Markus Kottlaender <markus@intevation.de>
parents: 1272
diff changeset
644 maxPoints: 2
99c039e86624 replaced manual store cleanup on logout with central store reset
Markus Kottlaender <markus@intevation.de>
parents: 1272
diff changeset
645 });
99c039e86624 replaced manual store cleanup on logout with central store reset
Markus Kottlaender <markus@intevation.de>
parents: 1272
diff changeset
646 lineTool.setActive(false);
99c039e86624 replaced manual store cleanup on logout with central store reset
Markus Kottlaender <markus@intevation.de>
parents: 1272
diff changeset
647 lineTool.on("drawstart", () => {
99c039e86624 replaced manual store cleanup on logout with central store reset
Markus Kottlaender <markus@intevation.de>
parents: 1272
diff changeset
648 drawVectorSrc.clear();
99c039e86624 replaced manual store cleanup on logout with central store reset
Markus Kottlaender <markus@intevation.de>
parents: 1272
diff changeset
649 commit("setCurrentMeasurement", null);
99c039e86624 replaced manual store cleanup on logout with central store reset
Markus Kottlaender <markus@intevation.de>
parents: 1272
diff changeset
650 });
99c039e86624 replaced manual store cleanup on logout with central store reset
Markus Kottlaender <markus@intevation.de>
parents: 1272
diff changeset
651 lineTool.on("drawend", event => {
99c039e86624 replaced manual store cleanup on logout with central store reset
Markus Kottlaender <markus@intevation.de>
parents: 1272
diff changeset
652 commit("setCurrentMeasurement", {
1524
a0a16577261a Translation: mark some strings for translation
Fadi Abbud <fadi.abbud@intevation.de>
parents: 1438
diff changeset
653 quantity: app.$gettext("Length"),
1296
99c039e86624 replaced manual store cleanup on logout with central store reset
Markus Kottlaender <markus@intevation.de>
parents: 1272
diff changeset
654 unitSymbol: "m",
99c039e86624 replaced manual store cleanup on logout with central store reset
Markus Kottlaender <markus@intevation.de>
parents: 1272
diff changeset
655 value: Math.round(getLength(event.feature.getGeometry()) * 10) / 10
99c039e86624 replaced manual store cleanup on logout with central store reset
Markus Kottlaender <markus@intevation.de>
parents: 1272
diff changeset
656 });
99c039e86624 replaced manual store cleanup on logout with central store reset
Markus Kottlaender <markus@intevation.de>
parents: 1272
diff changeset
657 commit("application/showIdentify", true, { root: true });
99c039e86624 replaced manual store cleanup on logout with central store reset
Markus Kottlaender <markus@intevation.de>
parents: 1272
diff changeset
658 });
99c039e86624 replaced manual store cleanup on logout with central store reset
Markus Kottlaender <markus@intevation.de>
parents: 1272
diff changeset
659
99c039e86624 replaced manual store cleanup on logout with central store reset
Markus Kottlaender <markus@intevation.de>
parents: 1272
diff changeset
660 // init polygon tool
99c039e86624 replaced manual store cleanup on logout with central store reset
Markus Kottlaender <markus@intevation.de>
parents: 1272
diff changeset
661 const polygonTool = new Draw({
99c039e86624 replaced manual store cleanup on logout with central store reset
Markus Kottlaender <markus@intevation.de>
parents: 1272
diff changeset
662 source: drawVectorSrc,
99c039e86624 replaced manual store cleanup on logout with central store reset
Markus Kottlaender <markus@intevation.de>
parents: 1272
diff changeset
663 type: "Polygon",
99c039e86624 replaced manual store cleanup on logout with central store reset
Markus Kottlaender <markus@intevation.de>
parents: 1272
diff changeset
664 maxPoints: 50
99c039e86624 replaced manual store cleanup on logout with central store reset
Markus Kottlaender <markus@intevation.de>
parents: 1272
diff changeset
665 });
99c039e86624 replaced manual store cleanup on logout with central store reset
Markus Kottlaender <markus@intevation.de>
parents: 1272
diff changeset
666 polygonTool.setActive(false);
99c039e86624 replaced manual store cleanup on logout with central store reset
Markus Kottlaender <markus@intevation.de>
parents: 1272
diff changeset
667 polygonTool.on("drawstart", () => {
99c039e86624 replaced manual store cleanup on logout with central store reset
Markus Kottlaender <markus@intevation.de>
parents: 1272
diff changeset
668 drawVectorSrc.clear();
99c039e86624 replaced manual store cleanup on logout with central store reset
Markus Kottlaender <markus@intevation.de>
parents: 1272
diff changeset
669 commit("setCurrentMeasurement", null);
99c039e86624 replaced manual store cleanup on logout with central store reset
Markus Kottlaender <markus@intevation.de>
parents: 1272
diff changeset
670 });
99c039e86624 replaced manual store cleanup on logout with central store reset
Markus Kottlaender <markus@intevation.de>
parents: 1272
diff changeset
671 polygonTool.on("drawend", event => {
99c039e86624 replaced manual store cleanup on logout with central store reset
Markus Kottlaender <markus@intevation.de>
parents: 1272
diff changeset
672 const areaSize = getArea(event.feature.getGeometry());
99c039e86624 replaced manual store cleanup on logout with central store reset
Markus Kottlaender <markus@intevation.de>
parents: 1272
diff changeset
673 commit("setCurrentMeasurement", {
1524
a0a16577261a Translation: mark some strings for translation
Fadi Abbud <fadi.abbud@intevation.de>
parents: 1438
diff changeset
674 quantity: app.$gettext("Area"),
1296
99c039e86624 replaced manual store cleanup on logout with central store reset
Markus Kottlaender <markus@intevation.de>
parents: 1272
diff changeset
675 unitSymbol: areaSize > 100000 ? "km²" : "m²",
99c039e86624 replaced manual store cleanup on logout with central store reset
Markus Kottlaender <markus@intevation.de>
parents: 1272
diff changeset
676 value:
99c039e86624 replaced manual store cleanup on logout with central store reset
Markus Kottlaender <markus@intevation.de>
parents: 1272
diff changeset
677 areaSize > 100000
99c039e86624 replaced manual store cleanup on logout with central store reset
Markus Kottlaender <markus@intevation.de>
parents: 1272
diff changeset
678 ? Math.round(areaSize / 1000) / 1000 // convert into 1 km² == 1000*1000 m² and round to 1000 m²
99c039e86624 replaced manual store cleanup on logout with central store reset
Markus Kottlaender <markus@intevation.de>
parents: 1272
diff changeset
679 : Math.round(areaSize)
99c039e86624 replaced manual store cleanup on logout with central store reset
Markus Kottlaender <markus@intevation.de>
parents: 1272
diff changeset
680 });
99c039e86624 replaced manual store cleanup on logout with central store reset
Markus Kottlaender <markus@intevation.de>
parents: 1272
diff changeset
681 commit("application/showIdentify", true, { root: true });
99c039e86624 replaced manual store cleanup on logout with central store reset
Markus Kottlaender <markus@intevation.de>
parents: 1272
diff changeset
682 });
99c039e86624 replaced manual store cleanup on logout with central store reset
Markus Kottlaender <markus@intevation.de>
parents: 1272
diff changeset
683
99c039e86624 replaced manual store cleanup on logout with central store reset
Markus Kottlaender <markus@intevation.de>
parents: 1272
diff changeset
684 // init cut tool
99c039e86624 replaced manual store cleanup on logout with central store reset
Markus Kottlaender <markus@intevation.de>
parents: 1272
diff changeset
685 const cutTool = new Draw({
99c039e86624 replaced manual store cleanup on logout with central store reset
Markus Kottlaender <markus@intevation.de>
parents: 1272
diff changeset
686 source: cutVectorSrc,
99c039e86624 replaced manual store cleanup on logout with central store reset
Markus Kottlaender <markus@intevation.de>
parents: 1272
diff changeset
687 type: "LineString",
99c039e86624 replaced manual store cleanup on logout with central store reset
Markus Kottlaender <markus@intevation.de>
parents: 1272
diff changeset
688 maxPoints: 2,
99c039e86624 replaced manual store cleanup on logout with central store reset
Markus Kottlaender <markus@intevation.de>
parents: 1272
diff changeset
689 style: new Style({
99c039e86624 replaced manual store cleanup on logout with central store reset
Markus Kottlaender <markus@intevation.de>
parents: 1272
diff changeset
690 stroke: new Stroke({
99c039e86624 replaced manual store cleanup on logout with central store reset
Markus Kottlaender <markus@intevation.de>
parents: 1272
diff changeset
691 color: "#444",
99c039e86624 replaced manual store cleanup on logout with central store reset
Markus Kottlaender <markus@intevation.de>
parents: 1272
diff changeset
692 width: 2,
99c039e86624 replaced manual store cleanup on logout with central store reset
Markus Kottlaender <markus@intevation.de>
parents: 1272
diff changeset
693 lineDash: [7, 7]
99c039e86624 replaced manual store cleanup on logout with central store reset
Markus Kottlaender <markus@intevation.de>
parents: 1272
diff changeset
694 }),
99c039e86624 replaced manual store cleanup on logout with central store reset
Markus Kottlaender <markus@intevation.de>
parents: 1272
diff changeset
695 image: new Circle({
99c039e86624 replaced manual store cleanup on logout with central store reset
Markus Kottlaender <markus@intevation.de>
parents: 1272
diff changeset
696 fill: new Fill({ color: "#333" }),
99c039e86624 replaced manual store cleanup on logout with central store reset
Markus Kottlaender <markus@intevation.de>
parents: 1272
diff changeset
697 stroke: new Stroke({ color: "#fff", width: 1.5 }),
99c039e86624 replaced manual store cleanup on logout with central store reset
Markus Kottlaender <markus@intevation.de>
parents: 1272
diff changeset
698 radius: 6
99c039e86624 replaced manual store cleanup on logout with central store reset
Markus Kottlaender <markus@intevation.de>
parents: 1272
diff changeset
699 })
99c039e86624 replaced manual store cleanup on logout with central store reset
Markus Kottlaender <markus@intevation.de>
parents: 1272
diff changeset
700 })
99c039e86624 replaced manual store cleanup on logout with central store reset
Markus Kottlaender <markus@intevation.de>
parents: 1272
diff changeset
701 });
99c039e86624 replaced manual store cleanup on logout with central store reset
Markus Kottlaender <markus@intevation.de>
parents: 1272
diff changeset
702 cutTool.setActive(false);
99c039e86624 replaced manual store cleanup on logout with central store reset
Markus Kottlaender <markus@intevation.de>
parents: 1272
diff changeset
703 cutTool.on("drawstart", () => {
1437
1cd1549aab47 fixed panning problem when drawing cross cuts
Markus Kottlaender <markus@intevation.de>
parents: 1435
diff changeset
704 dispatch("disableIdentifyTool");
1296
99c039e86624 replaced manual store cleanup on logout with central store reset
Markus Kottlaender <markus@intevation.de>
parents: 1272
diff changeset
705 cutVectorSrc.clear();
99c039e86624 replaced manual store cleanup on logout with central store reset
Markus Kottlaender <markus@intevation.de>
parents: 1272
diff changeset
706 });
99c039e86624 replaced manual store cleanup on logout with central store reset
Markus Kottlaender <markus@intevation.de>
parents: 1272
diff changeset
707 cutTool.on("drawend", event => {
1395
210e9f16f8a0 delete cross profiles from localstorage
Markus Kottlaender <markus@intevation.de>
parents: 1363
diff changeset
708 commit("fairwayprofile/selectedCut", null, { root: true });
1437
1cd1549aab47 fixed panning problem when drawing cross cuts
Markus Kottlaender <markus@intevation.de>
parents: 1435
diff changeset
709 dispatch("fairwayprofile/cut", event.feature, { root: true }).then(() =>
1cd1549aab47 fixed panning problem when drawing cross cuts
Markus Kottlaender <markus@intevation.de>
parents: 1435
diff changeset
710 // This setTimeout is an ugly workaround. If we would enable the
1cd1549aab47 fixed panning problem when drawing cross cuts
Markus Kottlaender <markus@intevation.de>
parents: 1435
diff changeset
711 // identifyTool here immediately then the click event from ending the
1cd1549aab47 fixed panning problem when drawing cross cuts
Markus Kottlaender <markus@intevation.de>
parents: 1435
diff changeset
712 // cut will trigger it. We don't want that.
1cd1549aab47 fixed panning problem when drawing cross cuts
Markus Kottlaender <markus@intevation.de>
parents: 1435
diff changeset
713 setTimeout(() => dispatch("enableIdentifyTool"), 1000)
1cd1549aab47 fixed panning problem when drawing cross cuts
Markus Kottlaender <markus@intevation.de>
parents: 1435
diff changeset
714 );
1296
99c039e86624 replaced manual store cleanup on logout with central store reset
Markus Kottlaender <markus@intevation.de>
parents: 1272
diff changeset
715 });
99c039e86624 replaced manual store cleanup on logout with central store reset
Markus Kottlaender <markus@intevation.de>
parents: 1272
diff changeset
716
99c039e86624 replaced manual store cleanup on logout with central store reset
Markus Kottlaender <markus@intevation.de>
parents: 1272
diff changeset
717 map.addInteraction(lineTool);
99c039e86624 replaced manual store cleanup on logout with central store reset
Markus Kottlaender <markus@intevation.de>
parents: 1272
diff changeset
718 map.addInteraction(cutTool);
99c039e86624 replaced manual store cleanup on logout with central store reset
Markus Kottlaender <markus@intevation.de>
parents: 1272
diff changeset
719 map.addInteraction(polygonTool);
99c039e86624 replaced manual store cleanup on logout with central store reset
Markus Kottlaender <markus@intevation.de>
parents: 1272
diff changeset
720
99c039e86624 replaced manual store cleanup on logout with central store reset
Markus Kottlaender <markus@intevation.de>
parents: 1272
diff changeset
721 commit("lineTool", lineTool);
99c039e86624 replaced manual store cleanup on logout with central store reset
Markus Kottlaender <markus@intevation.de>
parents: 1272
diff changeset
722 commit("polygonTool", polygonTool);
99c039e86624 replaced manual store cleanup on logout with central store reset
Markus Kottlaender <markus@intevation.de>
parents: 1272
diff changeset
723 commit("cutTool", cutTool);
99c039e86624 replaced manual store cleanup on logout with central store reset
Markus Kottlaender <markus@intevation.de>
parents: 1272
diff changeset
724 commit("openLayersMap", map);
1435
7fa030127b05 fixed panning problem
Markus Kottlaender <markus@intevation.de>
parents: 1395
diff changeset
725 },
7fa030127b05 fixed panning problem
Markus Kottlaender <markus@intevation.de>
parents: 1395
diff changeset
726 disableIdentifyTool({ state }) {
7fa030127b05 fixed panning problem
Markus Kottlaender <markus@intevation.de>
parents: 1395
diff changeset
727 unByKey(state.identifyTool);
1437
1cd1549aab47 fixed panning problem when drawing cross cuts
Markus Kottlaender <markus@intevation.de>
parents: 1435
diff changeset
728 state.identifyTool = null;
1435
7fa030127b05 fixed panning problem
Markus Kottlaender <markus@intevation.de>
parents: 1395
diff changeset
729 },
1438
71eb96690f91 avoid unnecessary setSelectedBottleneck call
Markus Kottlaender <markus@intevation.de>
parents: 1437
diff changeset
730 enableIdentifyTool({ state, rootState, commit, dispatch, getters }) {
1437
1cd1549aab47 fixed panning problem when drawing cross cuts
Markus Kottlaender <markus@intevation.de>
parents: 1435
diff changeset
731 if (!state.identifyTool) {
1cd1549aab47 fixed panning problem when drawing cross cuts
Markus Kottlaender <markus@intevation.de>
parents: 1435
diff changeset
732 state.identifyTool = state.openLayersMap.on(
1cd1549aab47 fixed panning problem when drawing cross cuts
Markus Kottlaender <markus@intevation.de>
parents: 1435
diff changeset
733 ["singleclick", "dblclick"],
1cd1549aab47 fixed panning problem when drawing cross cuts
Markus Kottlaender <markus@intevation.de>
parents: 1435
diff changeset
734 event => {
1cd1549aab47 fixed panning problem when drawing cross cuts
Markus Kottlaender <markus@intevation.de>
parents: 1435
diff changeset
735 commit("setIdentifiedFeatures", []);
1cd1549aab47 fixed panning problem when drawing cross cuts
Markus Kottlaender <markus@intevation.de>
parents: 1435
diff changeset
736 // checking our WFS layers
2166
69c49301d689 map.js: GetFeaturesAtPixel added hitTolerance:7.
Bjoern Schilberg <bjoern@intevation.de>
parents: 2157
diff changeset
737 var features = state.openLayersMap.getFeaturesAtPixel(event.pixel, {
69c49301d689 map.js: GetFeaturesAtPixel added hitTolerance:7.
Bjoern Schilberg <bjoern@intevation.de>
parents: 2157
diff changeset
738 hitTolerance: 7
69c49301d689 map.js: GetFeaturesAtPixel added hitTolerance:7.
Bjoern Schilberg <bjoern@intevation.de>
parents: 2157
diff changeset
739 });
1437
1cd1549aab47 fixed panning problem when drawing cross cuts
Markus Kottlaender <markus@intevation.de>
parents: 1435
diff changeset
740 if (features) {
1cd1549aab47 fixed panning problem when drawing cross cuts
Markus Kottlaender <markus@intevation.de>
parents: 1435
diff changeset
741 commit("setIdentifiedFeatures", features);
1435
7fa030127b05 fixed panning problem
Markus Kottlaender <markus@intevation.de>
parents: 1395
diff changeset
742
1437
1cd1549aab47 fixed panning problem when drawing cross cuts
Markus Kottlaender <markus@intevation.de>
parents: 1435
diff changeset
743 // get selected bottleneck from identified features
1cd1549aab47 fixed panning problem when drawing cross cuts
Markus Kottlaender <markus@intevation.de>
parents: 1435
diff changeset
744 for (let feature of features) {
1cd1549aab47 fixed panning problem when drawing cross cuts
Markus Kottlaender <markus@intevation.de>
parents: 1435
diff changeset
745 let id = feature.getId();
1cd1549aab47 fixed panning problem when drawing cross cuts
Markus Kottlaender <markus@intevation.de>
parents: 1435
diff changeset
746 // RegExp.prototype.test() works with number, str and undefined
2133
602c2096c078 fix: bottleneckselection via identifytool
Thomas Junk <thomas.junk@intevation.de>
parents: 2132
diff changeset
747 if (/^bottlenecks/.test(id)) {
1438
71eb96690f91 avoid unnecessary setSelectedBottleneck call
Markus Kottlaender <markus@intevation.de>
parents: 1437
diff changeset
748 if (
71eb96690f91 avoid unnecessary setSelectedBottleneck call
Markus Kottlaender <markus@intevation.de>
parents: 1437
diff changeset
749 rootState.bottlenecks.selectedBottleneck !=
71eb96690f91 avoid unnecessary setSelectedBottleneck call
Markus Kottlaender <markus@intevation.de>
parents: 1437
diff changeset
750 feature.get("objnam")
71eb96690f91 avoid unnecessary setSelectedBottleneck call
Markus Kottlaender <markus@intevation.de>
parents: 1437
diff changeset
751 ) {
71eb96690f91 avoid unnecessary setSelectedBottleneck call
Markus Kottlaender <markus@intevation.de>
parents: 1437
diff changeset
752 dispatch(
71eb96690f91 avoid unnecessary setSelectedBottleneck call
Markus Kottlaender <markus@intevation.de>
parents: 1437
diff changeset
753 "bottlenecks/setSelectedBottleneck",
71eb96690f91 avoid unnecessary setSelectedBottleneck call
Markus Kottlaender <markus@intevation.de>
parents: 1437
diff changeset
754 feature.get("objnam"),
71eb96690f91 avoid unnecessary setSelectedBottleneck call
Markus Kottlaender <markus@intevation.de>
parents: 1437
diff changeset
755 { root: true }
1565
faa045ebdf0c select first surveydate after identification of bottleneck
Thomas Junk <thomas.junk@intevation.de>
parents: 1524
diff changeset
756 ).then(() => {
faa045ebdf0c select first surveydate after identification of bottleneck
Thomas Junk <thomas.junk@intevation.de>
parents: 1524
diff changeset
757 this.commit("bottlenecks/setFirstSurveySelected");
faa045ebdf0c select first surveydate after identification of bottleneck
Thomas Junk <thomas.junk@intevation.de>
parents: 1524
diff changeset
758 });
1438
71eb96690f91 avoid unnecessary setSelectedBottleneck call
Markus Kottlaender <markus@intevation.de>
parents: 1437
diff changeset
759 commit("moveMap", {
71eb96690f91 avoid unnecessary setSelectedBottleneck call
Markus Kottlaender <markus@intevation.de>
parents: 1437
diff changeset
760 coordinates: getCenter(
71eb96690f91 avoid unnecessary setSelectedBottleneck call
Markus Kottlaender <markus@intevation.de>
parents: 1437
diff changeset
761 feature
71eb96690f91 avoid unnecessary setSelectedBottleneck call
Markus Kottlaender <markus@intevation.de>
parents: 1437
diff changeset
762 .getGeometry()
71eb96690f91 avoid unnecessary setSelectedBottleneck call
Markus Kottlaender <markus@intevation.de>
parents: 1437
diff changeset
763 .clone()
71eb96690f91 avoid unnecessary setSelectedBottleneck call
Markus Kottlaender <markus@intevation.de>
parents: 1437
diff changeset
764 .transform("EPSG:3857", "EPSG:4326")
71eb96690f91 avoid unnecessary setSelectedBottleneck call
Markus Kottlaender <markus@intevation.de>
parents: 1437
diff changeset
765 .getExtent()
71eb96690f91 avoid unnecessary setSelectedBottleneck call
Markus Kottlaender <markus@intevation.de>
parents: 1437
diff changeset
766 ),
71eb96690f91 avoid unnecessary setSelectedBottleneck call
Markus Kottlaender <markus@intevation.de>
parents: 1437
diff changeset
767 zoom: 17,
71eb96690f91 avoid unnecessary setSelectedBottleneck call
Markus Kottlaender <markus@intevation.de>
parents: 1437
diff changeset
768 preventZoomOut: true
71eb96690f91 avoid unnecessary setSelectedBottleneck call
Markus Kottlaender <markus@intevation.de>
parents: 1437
diff changeset
769 });
71eb96690f91 avoid unnecessary setSelectedBottleneck call
Markus Kottlaender <markus@intevation.de>
parents: 1437
diff changeset
770 }
1437
1cd1549aab47 fixed panning problem when drawing cross cuts
Markus Kottlaender <markus@intevation.de>
parents: 1435
diff changeset
771 }
1435
7fa030127b05 fixed panning problem
Markus Kottlaender <markus@intevation.de>
parents: 1395
diff changeset
772 }
7fa030127b05 fixed panning problem
Markus Kottlaender <markus@intevation.de>
parents: 1395
diff changeset
773 }
1437
1cd1549aab47 fixed panning problem when drawing cross cuts
Markus Kottlaender <markus@intevation.de>
parents: 1435
diff changeset
774
1cd1549aab47 fixed panning problem when drawing cross cuts
Markus Kottlaender <markus@intevation.de>
parents: 1435
diff changeset
775 // DEBUG output and example how to remove the GeometryName
1cd1549aab47 fixed panning problem when drawing cross cuts
Markus Kottlaender <markus@intevation.de>
parents: 1435
diff changeset
776 /*
1cd1549aab47 fixed panning problem when drawing cross cuts
Markus Kottlaender <markus@intevation.de>
parents: 1435
diff changeset
777 for (let feature of features) {
1cd1549aab47 fixed panning problem when drawing cross cuts
Markus Kottlaender <markus@intevation.de>
parents: 1435
diff changeset
778 console.log("Identified:", feature.getId());
1cd1549aab47 fixed panning problem when drawing cross cuts
Markus Kottlaender <markus@intevation.de>
parents: 1435
diff changeset
779 for (let key of feature.getKeys()) {
1cd1549aab47 fixed panning problem when drawing cross cuts
Markus Kottlaender <markus@intevation.de>
parents: 1435
diff changeset
780 if (key != feature.getGeometryName()) {
1cd1549aab47 fixed panning problem when drawing cross cuts
Markus Kottlaender <markus@intevation.de>
parents: 1435
diff changeset
781 console.log(key, feature.get(key));
1cd1549aab47 fixed panning problem when drawing cross cuts
Markus Kottlaender <markus@intevation.de>
parents: 1435
diff changeset
782 }
1cd1549aab47 fixed panning problem when drawing cross cuts
Markus Kottlaender <markus@intevation.de>
parents: 1435
diff changeset
783 }
1cd1549aab47 fixed panning problem when drawing cross cuts
Markus Kottlaender <markus@intevation.de>
parents: 1435
diff changeset
784 }
1cd1549aab47 fixed panning problem when drawing cross cuts
Markus Kottlaender <markus@intevation.de>
parents: 1435
diff changeset
785 */
1435
7fa030127b05 fixed panning problem
Markus Kottlaender <markus@intevation.de>
parents: 1395
diff changeset
786
1437
1cd1549aab47 fixed panning problem when drawing cross cuts
Markus Kottlaender <markus@intevation.de>
parents: 1435
diff changeset
787 // trying the GetFeatureInfo way for WMS
1cd1549aab47 fixed panning problem when drawing cross cuts
Markus Kottlaender <markus@intevation.de>
parents: 1435
diff changeset
788 var wmsSource = getters.getVSourceByName(
1cd1549aab47 fixed panning problem when drawing cross cuts
Markus Kottlaender <markus@intevation.de>
parents: 1435
diff changeset
789 "Inland ECDIS chart Danube"
1cd1549aab47 fixed panning problem when drawing cross cuts
Markus Kottlaender <markus@intevation.de>
parents: 1435
diff changeset
790 );
1cd1549aab47 fixed panning problem when drawing cross cuts
Markus Kottlaender <markus@intevation.de>
parents: 1435
diff changeset
791 var url = wmsSource.getGetFeatureInfoUrl(
1cd1549aab47 fixed panning problem when drawing cross cuts
Markus Kottlaender <markus@intevation.de>
parents: 1435
diff changeset
792 event.coordinate,
1cd1549aab47 fixed panning problem when drawing cross cuts
Markus Kottlaender <markus@intevation.de>
parents: 1435
diff changeset
793 100 /* resolution */,
1cd1549aab47 fixed panning problem when drawing cross cuts
Markus Kottlaender <markus@intevation.de>
parents: 1435
diff changeset
794 "EPSG:3857",
1cd1549aab47 fixed panning problem when drawing cross cuts
Markus Kottlaender <markus@intevation.de>
parents: 1435
diff changeset
795 // { INFO_FORMAT: "application/vnd.ogc.gml" } // not allowed by d4d
1cd1549aab47 fixed panning problem when drawing cross cuts
Markus Kottlaender <markus@intevation.de>
parents: 1435
diff changeset
796 { INFO_FORMAT: "text/plain" }
1cd1549aab47 fixed panning problem when drawing cross cuts
Markus Kottlaender <markus@intevation.de>
parents: 1435
diff changeset
797 );
1cd1549aab47 fixed panning problem when drawing cross cuts
Markus Kottlaender <markus@intevation.de>
parents: 1435
diff changeset
798
1cd1549aab47 fixed panning problem when drawing cross cuts
Markus Kottlaender <markus@intevation.de>
parents: 1435
diff changeset
799 if (url) {
1cd1549aab47 fixed panning problem when drawing cross cuts
Markus Kottlaender <markus@intevation.de>
parents: 1435
diff changeset
800 // cannot directly query here because of SOP
1cd1549aab47 fixed panning problem when drawing cross cuts
Markus Kottlaender <markus@intevation.de>
parents: 1435
diff changeset
801 console.log("GetFeatureInfo url:", url);
1435
7fa030127b05 fixed panning problem
Markus Kottlaender <markus@intevation.de>
parents: 1395
diff changeset
802 }
7fa030127b05 fixed panning problem
Markus Kottlaender <markus@intevation.de>
parents: 1395
diff changeset
803 }
1437
1cd1549aab47 fixed panning problem when drawing cross cuts
Markus Kottlaender <markus@intevation.de>
parents: 1435
diff changeset
804 );
1cd1549aab47 fixed panning problem when drawing cross cuts
Markus Kottlaender <markus@intevation.de>
parents: 1435
diff changeset
805 }
1296
99c039e86624 replaced manual store cleanup on logout with central store reset
Markus Kottlaender <markus@intevation.de>
parents: 1272
diff changeset
806 }
585
ef307bd6b5d8 refac: restructured client application
Thomas Junk <thomas.junk@intevation.de>
parents:
diff changeset
807 }
ef307bd6b5d8 refac: restructured client application
Thomas Junk <thomas.junk@intevation.de>
parents:
diff changeset
808 };
2140
55bedb39295a feat: clicking on stretches activates according layer
Thomas Junk <thomas.junk@intevation.de>
parents: 2133
diff changeset
809
55bedb39295a feat: clicking on stretches activates according layer
Thomas Junk <thomas.junk@intevation.de>
parents: 2133
diff changeset
810 export { LAYERS };