Mercurial > gemma
annotate client/src/map/store.js @ 852:a3b2626cef49
Client: Load WMS layer with sounding result contour lines.
author | Sascha L. Teichmann <sascha.teichmann@intevation.de> |
---|---|
date | Fri, 28 Sep 2018 13:45:04 +0200 |
parents | ee6f127f573c |
children | 38b682eaa7b1 |
rev | line source |
---|---|
585
ef307bd6b5d8
refac: restructured client application
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
1 //import { HTTP } from "../lib/http"; |
ef307bd6b5d8
refac: restructured client application
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
2 |
ef307bd6b5d8
refac: restructured client application
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
3 import TileWMS from "ol/source/TileWMS.js"; |
ef307bd6b5d8
refac: restructured client application
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
4 import { Tile as TileLayer, Vector as VectorLayer } from "ol/layer.js"; |
ef307bd6b5d8
refac: restructured client application
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
5 import OSM from "ol/source/OSM"; |
691
d643ff60f607
Client: improve style of waterway axis.
Bernhard Reiter <bernhard@intevation.de>
parents:
688
diff
changeset
|
6 import { Stroke, Style, Fill, Text, Circle as CircleStyle } from "ol/style.js"; |
585
ef307bd6b5d8
refac: restructured client application
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
7 import VectorSource from "ol/source/Vector.js"; |
701
8149772c62d6
client: add bbox loading strategy to riverkilometre
Bernhard Reiter <bernhard@intevation.de>
parents:
700
diff
changeset
|
8 import { bbox as bboxStrategy } from "ol/loadingstrategy"; |
852
a3b2626cef49
Client: Load WMS layer with sounding result contour lines.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
842
diff
changeset
|
9 import { HTTP } from "../application/lib/http"; |
585
ef307bd6b5d8
refac: restructured client application
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
10 |
ef307bd6b5d8
refac: restructured client application
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
11 const MapStore = { |
ef307bd6b5d8
refac: restructured client application
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
12 namespaced: true, |
ef307bd6b5d8
refac: restructured client application
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
13 state: { |
783
ab9604a46075
client: add move after clicking search result
Bernhard Reiter <bernhard@intevation.de>
parents:
782
diff
changeset
|
14 openLayersMap: null, |
585
ef307bd6b5d8
refac: restructured client application
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
15 layers: [ |
ef307bd6b5d8
refac: restructured client application
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
16 { |
ef307bd6b5d8
refac: restructured client application
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
17 name: "Open Streetmap", |
ef307bd6b5d8
refac: restructured client application
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
18 data: new TileLayer({ |
ef307bd6b5d8
refac: restructured client application
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
19 source: new OSM() |
ef307bd6b5d8
refac: restructured client application
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
20 }), |
ef307bd6b5d8
refac: restructured client application
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
21 isVisible: true |
ef307bd6b5d8
refac: restructured client application
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
22 }, |
ef307bd6b5d8
refac: restructured client application
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
23 { |
625
4acf60d1bbb4
clients: shorten ECDIS layer name.
Bernhard Reiter <bernhard@intevation.de>
parents:
620
diff
changeset
|
24 name: "Inland ECDIS chart Danube", |
585
ef307bd6b5d8
refac: restructured client application
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
25 data: new TileLayer({ |
ef307bd6b5d8
refac: restructured client application
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
26 source: new TileWMS({ |
700
8c3c43595d39
client: make kilometre style resolution depending
Bernhard Reiter <bernhard@intevation.de>
parents:
691
diff
changeset
|
27 preload: 1, |
585
ef307bd6b5d8
refac: restructured client application
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
28 url: "https://demo.d4d-portal.info/wms", |
ef307bd6b5d8
refac: restructured client application
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
29 params: { LAYERS: "d4d", VERSION: "1.1.1", TILED: true } |
ef307bd6b5d8
refac: restructured client application
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
30 }) |
ef307bd6b5d8
refac: restructured client application
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
31 }), |
ef307bd6b5d8
refac: restructured client application
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
32 isVisible: true |
ef307bd6b5d8
refac: restructured client application
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
33 }, |
ef307bd6b5d8
refac: restructured client application
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
34 { |
842
ee6f127f573c
client: add first prototype for bottleneck iso layer
Bernhard Reiter <bernhard@intevation.de>
parents:
836
diff
changeset
|
35 name: "Bottleneck isolines", |
ee6f127f573c
client: add first prototype for bottleneck iso layer
Bernhard Reiter <bernhard@intevation.de>
parents:
836
diff
changeset
|
36 data: new TileLayer({ |
ee6f127f573c
client: add first prototype for bottleneck iso layer
Bernhard Reiter <bernhard@intevation.de>
parents:
836
diff
changeset
|
37 source: new TileWMS({ |
ee6f127f573c
client: add first prototype for bottleneck iso layer
Bernhard Reiter <bernhard@intevation.de>
parents:
836
diff
changeset
|
38 preload: 0, |
ee6f127f573c
client: add first prototype for bottleneck iso layer
Bernhard Reiter <bernhard@intevation.de>
parents:
836
diff
changeset
|
39 projection: "EPSG:3857", |
852
a3b2626cef49
Client: Load WMS layer with sounding result contour lines.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
842
diff
changeset
|
40 url: window.location.origin + "/api/internal/wms", |
a3b2626cef49
Client: Load WMS layer with sounding result contour lines.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
842
diff
changeset
|
41 params: { |
a3b2626cef49
Client: Load WMS layer with sounding result contour lines.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
842
diff
changeset
|
42 LAYERS: "sounding_results_contour_lines_geoserver", |
a3b2626cef49
Client: Load WMS layer with sounding result contour lines.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
842
diff
changeset
|
43 VERSION: "1.1.1", |
a3b2626cef49
Client: Load WMS layer with sounding result contour lines.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
842
diff
changeset
|
44 TILED: true |
a3b2626cef49
Client: Load WMS layer with sounding result contour lines.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
842
diff
changeset
|
45 }, |
a3b2626cef49
Client: Load WMS layer with sounding result contour lines.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
842
diff
changeset
|
46 tileLoadFunction: function(tile, src) { |
a3b2626cef49
Client: Load WMS layer with sounding result contour lines.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
842
diff
changeset
|
47 HTTP.get(src, { |
a3b2626cef49
Client: Load WMS layer with sounding result contour lines.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
842
diff
changeset
|
48 headers: { |
a3b2626cef49
Client: Load WMS layer with sounding result contour lines.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
842
diff
changeset
|
49 "X-Gemma-Auth": localStorage.getItem("token") |
a3b2626cef49
Client: Load WMS layer with sounding result contour lines.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
842
diff
changeset
|
50 } |
a3b2626cef49
Client: Load WMS layer with sounding result contour lines.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
842
diff
changeset
|
51 }) |
a3b2626cef49
Client: Load WMS layer with sounding result contour lines.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
842
diff
changeset
|
52 .then(response => { |
a3b2626cef49
Client: Load WMS layer with sounding result contour lines.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
842
diff
changeset
|
53 var arrayBufferView = new Uint8Array(response); |
a3b2626cef49
Client: Load WMS layer with sounding result contour lines.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
842
diff
changeset
|
54 var blob = new Blob([arrayBufferView], { |
a3b2626cef49
Client: Load WMS layer with sounding result contour lines.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
842
diff
changeset
|
55 type: "image/png" |
a3b2626cef49
Client: Load WMS layer with sounding result contour lines.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
842
diff
changeset
|
56 }); |
a3b2626cef49
Client: Load WMS layer with sounding result contour lines.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
842
diff
changeset
|
57 var urlCreator = window.URL || window.webkitURL; |
a3b2626cef49
Client: Load WMS layer with sounding result contour lines.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
842
diff
changeset
|
58 var imageUrl = urlCreator.createObjectURL(blob); |
a3b2626cef49
Client: Load WMS layer with sounding result contour lines.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
842
diff
changeset
|
59 tile.getImage().src = imageUrl; |
a3b2626cef49
Client: Load WMS layer with sounding result contour lines.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
842
diff
changeset
|
60 }); |
a3b2626cef49
Client: Load WMS layer with sounding result contour lines.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
842
diff
changeset
|
61 } |
842
ee6f127f573c
client: add first prototype for bottleneck iso layer
Bernhard Reiter <bernhard@intevation.de>
parents:
836
diff
changeset
|
62 }) |
ee6f127f573c
client: add first prototype for bottleneck iso layer
Bernhard Reiter <bernhard@intevation.de>
parents:
836
diff
changeset
|
63 }), |
ee6f127f573c
client: add first prototype for bottleneck iso layer
Bernhard Reiter <bernhard@intevation.de>
parents:
836
diff
changeset
|
64 isVisible: true |
ee6f127f573c
client: add first prototype for bottleneck iso layer
Bernhard Reiter <bernhard@intevation.de>
parents:
836
diff
changeset
|
65 }, |
ee6f127f573c
client: add first prototype for bottleneck iso layer
Bernhard Reiter <bernhard@intevation.de>
parents:
836
diff
changeset
|
66 { |
716
22159077b564
client: add step to intersect with fairways
Bernhard Reiter <bernhard@intevation.de>
parents:
702
diff
changeset
|
67 name: "Fairway Dimensions", |
585
ef307bd6b5d8
refac: restructured client application
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
68 data: new VectorLayer({ |
ef307bd6b5d8
refac: restructured client application
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
69 source: new VectorSource(), |
659
ef658c66cfca
schema: disable sfcgal
Bernhard Reiter <bernhard@intevation.de>
parents:
628
diff
changeset
|
70 style: function(feature) { |
ef658c66cfca
schema: disable sfcgal
Bernhard Reiter <bernhard@intevation.de>
parents:
628
diff
changeset
|
71 return [ |
ef658c66cfca
schema: disable sfcgal
Bernhard Reiter <bernhard@intevation.de>
parents:
628
diff
changeset
|
72 new Style({ |
ef658c66cfca
schema: disable sfcgal
Bernhard Reiter <bernhard@intevation.de>
parents:
628
diff
changeset
|
73 stroke: new Stroke({ |
ef658c66cfca
schema: disable sfcgal
Bernhard Reiter <bernhard@intevation.de>
parents:
628
diff
changeset
|
74 color: "rgba(0, 0, 255, 1.0)", |
ef658c66cfca
schema: disable sfcgal
Bernhard Reiter <bernhard@intevation.de>
parents:
628
diff
changeset
|
75 width: 2 |
ef658c66cfca
schema: disable sfcgal
Bernhard Reiter <bernhard@intevation.de>
parents:
628
diff
changeset
|
76 }) |
ef658c66cfca
schema: disable sfcgal
Bernhard Reiter <bernhard@intevation.de>
parents:
628
diff
changeset
|
77 }), |
ef658c66cfca
schema: disable sfcgal
Bernhard Reiter <bernhard@intevation.de>
parents:
628
diff
changeset
|
78 new Style({ |
ef658c66cfca
schema: disable sfcgal
Bernhard Reiter <bernhard@intevation.de>
parents:
628
diff
changeset
|
79 text: new Text({ |
ef658c66cfca
schema: disable sfcgal
Bernhard Reiter <bernhard@intevation.de>
parents:
628
diff
changeset
|
80 font: 'bold 12px "Open Sans", "sans-serif"', |
ef658c66cfca
schema: disable sfcgal
Bernhard Reiter <bernhard@intevation.de>
parents:
628
diff
changeset
|
81 placement: "line", |
ef658c66cfca
schema: disable sfcgal
Bernhard Reiter <bernhard@intevation.de>
parents:
628
diff
changeset
|
82 fill: new Fill({ |
ef658c66cfca
schema: disable sfcgal
Bernhard Reiter <bernhard@intevation.de>
parents:
628
diff
changeset
|
83 color: "black" |
ef658c66cfca
schema: disable sfcgal
Bernhard Reiter <bernhard@intevation.de>
parents:
628
diff
changeset
|
84 }), |
ef658c66cfca
schema: disable sfcgal
Bernhard Reiter <bernhard@intevation.de>
parents:
628
diff
changeset
|
85 text: "LOS: " + feature.get("level_of_service").toString() |
ef658c66cfca
schema: disable sfcgal
Bernhard Reiter <bernhard@intevation.de>
parents:
628
diff
changeset
|
86 //, zIndex: 10 |
ef658c66cfca
schema: disable sfcgal
Bernhard Reiter <bernhard@intevation.de>
parents:
628
diff
changeset
|
87 }) |
ef658c66cfca
schema: disable sfcgal
Bernhard Reiter <bernhard@intevation.de>
parents:
628
diff
changeset
|
88 }) |
ef658c66cfca
schema: disable sfcgal
Bernhard Reiter <bernhard@intevation.de>
parents:
628
diff
changeset
|
89 ]; |
ef658c66cfca
schema: disable sfcgal
Bernhard Reiter <bernhard@intevation.de>
parents:
628
diff
changeset
|
90 } |
585
ef307bd6b5d8
refac: restructured client application
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
91 }), |
ef307bd6b5d8
refac: restructured client application
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
92 isVisible: true |
620
ef00684e021f
client: add showing special buoys
Bernhard Reiter <bernhard@intevation.de>
parents:
618
diff
changeset
|
93 }, |
ef00684e021f
client: add showing special buoys
Bernhard Reiter <bernhard@intevation.de>
parents:
618
diff
changeset
|
94 { |
747
e33012c0aa7e
client: move named waterway area layer higher
Bernhard Reiter <bernhard@intevation.de>
parents:
745
diff
changeset
|
95 name: "Waterway Area, named", |
e33012c0aa7e
client: move named waterway area layer higher
Bernhard Reiter <bernhard@intevation.de>
parents:
745
diff
changeset
|
96 data: new VectorLayer({ |
e33012c0aa7e
client: move named waterway area layer higher
Bernhard Reiter <bernhard@intevation.de>
parents:
745
diff
changeset
|
97 source: new VectorSource({ |
e33012c0aa7e
client: move named waterway area layer higher
Bernhard Reiter <bernhard@intevation.de>
parents:
745
diff
changeset
|
98 strategy: bboxStrategy |
e33012c0aa7e
client: move named waterway area layer higher
Bernhard Reiter <bernhard@intevation.de>
parents:
745
diff
changeset
|
99 }), |
e33012c0aa7e
client: move named waterway area layer higher
Bernhard Reiter <bernhard@intevation.de>
parents:
745
diff
changeset
|
100 style: new Style({ |
e33012c0aa7e
client: move named waterway area layer higher
Bernhard Reiter <bernhard@intevation.de>
parents:
745
diff
changeset
|
101 stroke: new Stroke({ |
e33012c0aa7e
client: move named waterway area layer higher
Bernhard Reiter <bernhard@intevation.de>
parents:
745
diff
changeset
|
102 color: "rgba(0, 132, 0, 1)", |
e33012c0aa7e
client: move named waterway area layer higher
Bernhard Reiter <bernhard@intevation.de>
parents:
745
diff
changeset
|
103 width: 2 |
e33012c0aa7e
client: move named waterway area layer higher
Bernhard Reiter <bernhard@intevation.de>
parents:
745
diff
changeset
|
104 }) |
e33012c0aa7e
client: move named waterway area layer higher
Bernhard Reiter <bernhard@intevation.de>
parents:
745
diff
changeset
|
105 }) |
e33012c0aa7e
client: move named waterway area layer higher
Bernhard Reiter <bernhard@intevation.de>
parents:
745
diff
changeset
|
106 }), |
e33012c0aa7e
client: move named waterway area layer higher
Bernhard Reiter <bernhard@intevation.de>
parents:
745
diff
changeset
|
107 isVisible: false |
e33012c0aa7e
client: move named waterway area layer higher
Bernhard Reiter <bernhard@intevation.de>
parents:
745
diff
changeset
|
108 }, |
e33012c0aa7e
client: move named waterway area layer higher
Bernhard Reiter <bernhard@intevation.de>
parents:
745
diff
changeset
|
109 { |
628
ef9c733cc6aa
client: show more wfs layers
Bernhard Reiter <bernhard@intevation.de>
parents:
625
diff
changeset
|
110 name: "Waterway Area", |
ef9c733cc6aa
client: show more wfs layers
Bernhard Reiter <bernhard@intevation.de>
parents:
625
diff
changeset
|
111 data: new VectorLayer({ |
702
aaf5dbfb9512
client: improve loading of WFS features
Bernhard Reiter <bernhard@intevation.de>
parents:
701
diff
changeset
|
112 source: new VectorSource({ |
aaf5dbfb9512
client: improve loading of WFS features
Bernhard Reiter <bernhard@intevation.de>
parents:
701
diff
changeset
|
113 strategy: bboxStrategy |
aaf5dbfb9512
client: improve loading of WFS features
Bernhard Reiter <bernhard@intevation.de>
parents:
701
diff
changeset
|
114 }), |
628
ef9c733cc6aa
client: show more wfs layers
Bernhard Reiter <bernhard@intevation.de>
parents:
625
diff
changeset
|
115 style: new Style({ |
ef9c733cc6aa
client: show more wfs layers
Bernhard Reiter <bernhard@intevation.de>
parents:
625
diff
changeset
|
116 stroke: new Stroke({ |
688
89b497d0ee0f
client: change waterway area style to dark green
Bernhard Reiter <bernhard@intevation.de>
parents:
663
diff
changeset
|
117 color: "rgba(0, 102, 0, 1)", |
89b497d0ee0f
client: change waterway area style to dark green
Bernhard Reiter <bernhard@intevation.de>
parents:
663
diff
changeset
|
118 width: 2 |
628
ef9c733cc6aa
client: show more wfs layers
Bernhard Reiter <bernhard@intevation.de>
parents:
625
diff
changeset
|
119 }) |
ef9c733cc6aa
client: show more wfs layers
Bernhard Reiter <bernhard@intevation.de>
parents:
625
diff
changeset
|
120 }) |
ef9c733cc6aa
client: show more wfs layers
Bernhard Reiter <bernhard@intevation.de>
parents:
625
diff
changeset
|
121 }), |
ef9c733cc6aa
client: show more wfs layers
Bernhard Reiter <bernhard@intevation.de>
parents:
625
diff
changeset
|
122 isVisible: true |
ef9c733cc6aa
client: show more wfs layers
Bernhard Reiter <bernhard@intevation.de>
parents:
625
diff
changeset
|
123 }, |
ef9c733cc6aa
client: show more wfs layers
Bernhard Reiter <bernhard@intevation.de>
parents:
625
diff
changeset
|
124 { |
ef9c733cc6aa
client: show more wfs layers
Bernhard Reiter <bernhard@intevation.de>
parents:
625
diff
changeset
|
125 name: "Waterway Axis", |
ef9c733cc6aa
client: show more wfs layers
Bernhard Reiter <bernhard@intevation.de>
parents:
625
diff
changeset
|
126 data: new VectorLayer({ |
733
e57955c1996f
client: improve code structure
Bernhard Reiter <bernhard@intevation.de>
parents:
716
diff
changeset
|
127 source: new VectorSource({ |
e57955c1996f
client: improve code structure
Bernhard Reiter <bernhard@intevation.de>
parents:
716
diff
changeset
|
128 strategy: bboxStrategy |
e57955c1996f
client: improve code structure
Bernhard Reiter <bernhard@intevation.de>
parents:
716
diff
changeset
|
129 }), |
628
ef9c733cc6aa
client: show more wfs layers
Bernhard Reiter <bernhard@intevation.de>
parents:
625
diff
changeset
|
130 style: new Style({ |
ef9c733cc6aa
client: show more wfs layers
Bernhard Reiter <bernhard@intevation.de>
parents:
625
diff
changeset
|
131 stroke: new Stroke({ |
ef9c733cc6aa
client: show more wfs layers
Bernhard Reiter <bernhard@intevation.de>
parents:
625
diff
changeset
|
132 color: "rgba(0, 0, 255, .5)", |
ef9c733cc6aa
client: show more wfs layers
Bernhard Reiter <bernhard@intevation.de>
parents:
625
diff
changeset
|
133 lineDash: [5, 5], |
ef9c733cc6aa
client: show more wfs layers
Bernhard Reiter <bernhard@intevation.de>
parents:
625
diff
changeset
|
134 width: 2 |
ef9c733cc6aa
client: show more wfs layers
Bernhard Reiter <bernhard@intevation.de>
parents:
625
diff
changeset
|
135 }) |
ef9c733cc6aa
client: show more wfs layers
Bernhard Reiter <bernhard@intevation.de>
parents:
625
diff
changeset
|
136 }) |
ef9c733cc6aa
client: show more wfs layers
Bernhard Reiter <bernhard@intevation.de>
parents:
625
diff
changeset
|
137 }), |
ef9c733cc6aa
client: show more wfs layers
Bernhard Reiter <bernhard@intevation.de>
parents:
625
diff
changeset
|
138 isVisible: true |
ef9c733cc6aa
client: show more wfs layers
Bernhard Reiter <bernhard@intevation.de>
parents:
625
diff
changeset
|
139 }, |
ef9c733cc6aa
client: show more wfs layers
Bernhard Reiter <bernhard@intevation.de>
parents:
625
diff
changeset
|
140 { |
ef9c733cc6aa
client: show more wfs layers
Bernhard Reiter <bernhard@intevation.de>
parents:
625
diff
changeset
|
141 name: "Distance marks", |
804
21609ba97357
client: improve legendelements for layerselection
Bernhard Reiter <bernhard@intevation.de>
parents:
793
diff
changeset
|
142 forLegendStyle: { point: true, resolution: 8 }, |
620
ef00684e021f
client: add showing special buoys
Bernhard Reiter <bernhard@intevation.de>
parents:
618
diff
changeset
|
143 data: new VectorLayer({ |
702
aaf5dbfb9512
client: improve loading of WFS features
Bernhard Reiter <bernhard@intevation.de>
parents:
701
diff
changeset
|
144 source: new VectorSource({ |
aaf5dbfb9512
client: improve loading of WFS features
Bernhard Reiter <bernhard@intevation.de>
parents:
701
diff
changeset
|
145 strategy: bboxStrategy |
aaf5dbfb9512
client: improve loading of WFS features
Bernhard Reiter <bernhard@intevation.de>
parents:
701
diff
changeset
|
146 }) |
620
ef00684e021f
client: add showing special buoys
Bernhard Reiter <bernhard@intevation.de>
parents:
618
diff
changeset
|
147 }), |
628
ef9c733cc6aa
client: show more wfs layers
Bernhard Reiter <bernhard@intevation.de>
parents:
625
diff
changeset
|
148 isVisible: false |
659
ef658c66cfca
schema: disable sfcgal
Bernhard Reiter <bernhard@intevation.de>
parents:
628
diff
changeset
|
149 }, |
ef658c66cfca
schema: disable sfcgal
Bernhard Reiter <bernhard@intevation.de>
parents:
628
diff
changeset
|
150 { |
ef658c66cfca
schema: disable sfcgal
Bernhard Reiter <bernhard@intevation.de>
parents:
628
diff
changeset
|
151 name: "Distance marks, Axis", |
804
21609ba97357
client: improve legendelements for layerselection
Bernhard Reiter <bernhard@intevation.de>
parents:
793
diff
changeset
|
152 forLegendStyle: { point: true, resolution: 8 }, |
659
ef658c66cfca
schema: disable sfcgal
Bernhard Reiter <bernhard@intevation.de>
parents:
628
diff
changeset
|
153 data: new VectorLayer({ |
701
8149772c62d6
client: add bbox loading strategy to riverkilometre
Bernhard Reiter <bernhard@intevation.de>
parents:
700
diff
changeset
|
154 source: new VectorSource({ |
8149772c62d6
client: add bbox loading strategy to riverkilometre
Bernhard Reiter <bernhard@intevation.de>
parents:
700
diff
changeset
|
155 strategy: bboxStrategy |
8149772c62d6
client: add bbox loading strategy to riverkilometre
Bernhard Reiter <bernhard@intevation.de>
parents:
700
diff
changeset
|
156 }), |
700
8c3c43595d39
client: make kilometre style resolution depending
Bernhard Reiter <bernhard@intevation.de>
parents:
691
diff
changeset
|
157 style: function(feature, resolution) { |
8c3c43595d39
client: make kilometre style resolution depending
Bernhard Reiter <bernhard@intevation.de>
parents:
691
diff
changeset
|
158 if (resolution < 10) { |
8c3c43595d39
client: make kilometre style resolution depending
Bernhard Reiter <bernhard@intevation.de>
parents:
691
diff
changeset
|
159 var s = new Style({ |
691
d643ff60f607
Client: improve style of waterway axis.
Bernhard Reiter <bernhard@intevation.de>
parents:
688
diff
changeset
|
160 image: new CircleStyle({ |
d643ff60f607
Client: improve style of waterway axis.
Bernhard Reiter <bernhard@intevation.de>
parents:
688
diff
changeset
|
161 radius: 5, |
700
8c3c43595d39
client: make kilometre style resolution depending
Bernhard Reiter <bernhard@intevation.de>
parents:
691
diff
changeset
|
162 fill: new Fill({ color: "rgba(255, 0, 0, 0.1)" }), |
8c3c43595d39
client: make kilometre style resolution depending
Bernhard Reiter <bernhard@intevation.de>
parents:
691
diff
changeset
|
163 stroke: new Stroke({ color: "blue", width: 1 }) |
691
d643ff60f607
Client: improve style of waterway axis.
Bernhard Reiter <bernhard@intevation.de>
parents:
688
diff
changeset
|
164 }) |
700
8c3c43595d39
client: make kilometre style resolution depending
Bernhard Reiter <bernhard@intevation.de>
parents:
691
diff
changeset
|
165 }); |
8c3c43595d39
client: make kilometre style resolution depending
Bernhard Reiter <bernhard@intevation.de>
parents:
691
diff
changeset
|
166 if (resolution < 6) { |
8c3c43595d39
client: make kilometre style resolution depending
Bernhard Reiter <bernhard@intevation.de>
parents:
691
diff
changeset
|
167 s.setText( |
8c3c43595d39
client: make kilometre style resolution depending
Bernhard Reiter <bernhard@intevation.de>
parents:
691
diff
changeset
|
168 new Text({ |
8c3c43595d39
client: make kilometre style resolution depending
Bernhard Reiter <bernhard@intevation.de>
parents:
691
diff
changeset
|
169 offsetY: 12, |
8c3c43595d39
client: make kilometre style resolution depending
Bernhard Reiter <bernhard@intevation.de>
parents:
691
diff
changeset
|
170 font: '10px "Open Sans", "sans-serif"', |
8c3c43595d39
client: make kilometre style resolution depending
Bernhard Reiter <bernhard@intevation.de>
parents:
691
diff
changeset
|
171 fill: new Fill({ |
8c3c43595d39
client: make kilometre style resolution depending
Bernhard Reiter <bernhard@intevation.de>
parents:
691
diff
changeset
|
172 color: "black" |
8c3c43595d39
client: make kilometre style resolution depending
Bernhard Reiter <bernhard@intevation.de>
parents:
691
diff
changeset
|
173 }), |
8c3c43595d39
client: make kilometre style resolution depending
Bernhard Reiter <bernhard@intevation.de>
parents:
691
diff
changeset
|
174 text: (feature.get("hectometre") / 10).toString() |
8c3c43595d39
client: make kilometre style resolution depending
Bernhard Reiter <bernhard@intevation.de>
parents:
691
diff
changeset
|
175 }) |
8c3c43595d39
client: make kilometre style resolution depending
Bernhard Reiter <bernhard@intevation.de>
parents:
691
diff
changeset
|
176 ); |
8c3c43595d39
client: make kilometre style resolution depending
Bernhard Reiter <bernhard@intevation.de>
parents:
691
diff
changeset
|
177 } |
8c3c43595d39
client: make kilometre style resolution depending
Bernhard Reiter <bernhard@intevation.de>
parents:
691
diff
changeset
|
178 return s; |
8c3c43595d39
client: make kilometre style resolution depending
Bernhard Reiter <bernhard@intevation.de>
parents:
691
diff
changeset
|
179 } else { |
8c3c43595d39
client: make kilometre style resolution depending
Bernhard Reiter <bernhard@intevation.de>
parents:
691
diff
changeset
|
180 return []; |
8c3c43595d39
client: make kilometre style resolution depending
Bernhard Reiter <bernhard@intevation.de>
parents:
691
diff
changeset
|
181 } |
691
d643ff60f607
Client: improve style of waterway axis.
Bernhard Reiter <bernhard@intevation.de>
parents:
688
diff
changeset
|
182 } |
659
ef658c66cfca
schema: disable sfcgal
Bernhard Reiter <bernhard@intevation.de>
parents:
628
diff
changeset
|
183 }), |
ef658c66cfca
schema: disable sfcgal
Bernhard Reiter <bernhard@intevation.de>
parents:
628
diff
changeset
|
184 isVisible: true |
790
1b82ae5e637e
client: add bottleneck layer with first styling
Bernhard Reiter <bernhard@intevation.de>
parents:
783
diff
changeset
|
185 }, |
1b82ae5e637e
client: add bottleneck layer with first styling
Bernhard Reiter <bernhard@intevation.de>
parents:
783
diff
changeset
|
186 { |
1b82ae5e637e
client: add bottleneck layer with first styling
Bernhard Reiter <bernhard@intevation.de>
parents:
783
diff
changeset
|
187 name: "Bottlenecks", |
1b82ae5e637e
client: add bottleneck layer with first styling
Bernhard Reiter <bernhard@intevation.de>
parents:
783
diff
changeset
|
188 data: new VectorLayer({ |
1b82ae5e637e
client: add bottleneck layer with first styling
Bernhard Reiter <bernhard@intevation.de>
parents:
783
diff
changeset
|
189 source: new VectorSource({ |
1b82ae5e637e
client: add bottleneck layer with first styling
Bernhard Reiter <bernhard@intevation.de>
parents:
783
diff
changeset
|
190 strategy: bboxStrategy |
1b82ae5e637e
client: add bottleneck layer with first styling
Bernhard Reiter <bernhard@intevation.de>
parents:
783
diff
changeset
|
191 }), |
1b82ae5e637e
client: add bottleneck layer with first styling
Bernhard Reiter <bernhard@intevation.de>
parents:
783
diff
changeset
|
192 style: new Style({ |
1b82ae5e637e
client: add bottleneck layer with first styling
Bernhard Reiter <bernhard@intevation.de>
parents:
783
diff
changeset
|
193 stroke: new Stroke({ |
1b82ae5e637e
client: add bottleneck layer with first styling
Bernhard Reiter <bernhard@intevation.de>
parents:
783
diff
changeset
|
194 color: "rgba(230, 230, 10, .8)", |
1b82ae5e637e
client: add bottleneck layer with first styling
Bernhard Reiter <bernhard@intevation.de>
parents:
783
diff
changeset
|
195 width: 4 |
1b82ae5e637e
client: add bottleneck layer with first styling
Bernhard Reiter <bernhard@intevation.de>
parents:
783
diff
changeset
|
196 }), |
1b82ae5e637e
client: add bottleneck layer with first styling
Bernhard Reiter <bernhard@intevation.de>
parents:
783
diff
changeset
|
197 fill: new Fill({ |
1b82ae5e637e
client: add bottleneck layer with first styling
Bernhard Reiter <bernhard@intevation.de>
parents:
783
diff
changeset
|
198 color: "rgba(230, 230, 10, .3)" |
1b82ae5e637e
client: add bottleneck layer with first styling
Bernhard Reiter <bernhard@intevation.de>
parents:
783
diff
changeset
|
199 }) |
1b82ae5e637e
client: add bottleneck layer with first styling
Bernhard Reiter <bernhard@intevation.de>
parents:
783
diff
changeset
|
200 }) |
1b82ae5e637e
client: add bottleneck layer with first styling
Bernhard Reiter <bernhard@intevation.de>
parents:
783
diff
changeset
|
201 }), |
1b82ae5e637e
client: add bottleneck layer with first styling
Bernhard Reiter <bernhard@intevation.de>
parents:
783
diff
changeset
|
202 isVisible: true |
585
ef307bd6b5d8
refac: restructured client application
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
203 } |
770
c12ec7fde3f2
client: add simple identify top area box
Bernhard Reiter <bernhard@intevation.de>
parents:
754
diff
changeset
|
204 ], |
836
0b994949a4a0
client: make Morphtool selection more robust
Bernhard Reiter <bernhard@intevation.de>
parents:
826
diff
changeset
|
205 // note that some identified features may not have an id |
0b994949a4a0
client: make Morphtool selection more robust
Bernhard Reiter <bernhard@intevation.de>
parents:
826
diff
changeset
|
206 // especially related to drawing in our own vector layer |
793
073394629ec6
client: add measurement and improve identify
Bernhard Reiter <bernhard@intevation.de>
parents:
790
diff
changeset
|
207 identifiedFeatures: [], |
816
cd79f62794dd
client: prepare survey selection
Bernhard Reiter <bernhard@intevation.de>
parents:
804
diff
changeset
|
208 currentMeasurement: null, |
cd79f62794dd
client: prepare survey selection
Bernhard Reiter <bernhard@intevation.de>
parents:
804
diff
changeset
|
209 selectedMorph: null |
585
ef307bd6b5d8
refac: restructured client application
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
210 }, |
ef307bd6b5d8
refac: restructured client application
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
211 getters: { |
ef307bd6b5d8
refac: restructured client application
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
212 layers: state => { |
ef307bd6b5d8
refac: restructured client application
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
213 return state.layers; |
754
105c421f99b1
refac: small improvements to code structure
Thomas Junk <thomas.junk@intevation.de>
parents:
747
diff
changeset
|
214 }, |
105c421f99b1
refac: small improvements to code structure
Thomas Junk <thomas.junk@intevation.de>
parents:
747
diff
changeset
|
215 getLayerByName: state => name => { |
105c421f99b1
refac: small improvements to code structure
Thomas Junk <thomas.junk@intevation.de>
parents:
747
diff
changeset
|
216 return state.layers.find(layer => layer.name === name); |
585
ef307bd6b5d8
refac: restructured client application
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
217 } |
ef307bd6b5d8
refac: restructured client application
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
218 }, |
ef307bd6b5d8
refac: restructured client application
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
219 mutations: { |
ef307bd6b5d8
refac: restructured client application
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
220 toggleVisibility: (state, layer) => { |
ef307bd6b5d8
refac: restructured client application
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
221 state.layers[layer].isVisible = !state.layers[layer].isVisible; |
ef307bd6b5d8
refac: restructured client application
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
222 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
|
223 }, |
c12ec7fde3f2
client: add simple identify top area box
Bernhard Reiter <bernhard@intevation.de>
parents:
754
diff
changeset
|
224 setIdentifiedFeatures: (state, identifiedFeatures) => { |
c12ec7fde3f2
client: add simple identify top area box
Bernhard Reiter <bernhard@intevation.de>
parents:
754
diff
changeset
|
225 state.identifiedFeatures = identifiedFeatures; |
783
ab9604a46075
client: add move after clicking search result
Bernhard Reiter <bernhard@intevation.de>
parents:
782
diff
changeset
|
226 }, |
ab9604a46075
client: add move after clicking search result
Bernhard Reiter <bernhard@intevation.de>
parents:
782
diff
changeset
|
227 setOpenLayersMap: (state, map) => { |
ab9604a46075
client: add move after clicking search result
Bernhard Reiter <bernhard@intevation.de>
parents:
782
diff
changeset
|
228 state.openLayersMap = map; |
793
073394629ec6
client: add measurement and improve identify
Bernhard Reiter <bernhard@intevation.de>
parents:
790
diff
changeset
|
229 }, |
073394629ec6
client: add measurement and improve identify
Bernhard Reiter <bernhard@intevation.de>
parents:
790
diff
changeset
|
230 setCurrentMeasurement: (state, measurement) => { |
073394629ec6
client: add measurement and improve identify
Bernhard Reiter <bernhard@intevation.de>
parents:
790
diff
changeset
|
231 state.currentMeasurement = measurement; |
816
cd79f62794dd
client: prepare survey selection
Bernhard Reiter <bernhard@intevation.de>
parents:
804
diff
changeset
|
232 }, |
826
90a601884ff2
client: improve survey selection for Morphtool
Bernhard Reiter <bernhard@intevation.de>
parents:
816
diff
changeset
|
233 setSelectedMorph: (state, selectedMorph) => { |
816
cd79f62794dd
client: prepare survey selection
Bernhard Reiter <bernhard@intevation.de>
parents:
804
diff
changeset
|
234 state.selectedMorph = selectedMorph; |
585
ef307bd6b5d8
refac: restructured client application
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
235 } |
ef307bd6b5d8
refac: restructured client application
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
236 } |
ef307bd6b5d8
refac: restructured client application
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
237 }; |
ef307bd6b5d8
refac: restructured client application
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
238 |
ef307bd6b5d8
refac: restructured client application
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
239 export default MapStore; |