Mercurial > gemma
annotate client/src/map/store.js @ 890:0a563fef64a9 geo-style
Reconfiguring GeoServer is now queued async.
We should not reconfigure the remote until the
initial config is done.
author | Sascha L. Teichmann <teichmann@intevation.de> |
---|---|
date | Tue, 02 Oct 2018 12:58:20 +0200 |
parents | f868570da418 |
children | 430d52c2f6ef |
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) { |
862
0a6cb09ca28c
client: fix bottleneck WMS loading
Bernhard Reiter <bernhard@intevation.de>
parents:
860
diff
changeset
|
47 // console.log("calling for", tile, src); |
852
a3b2626cef49
Client: Load WMS layer with sounding result contour lines.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
842
diff
changeset
|
48 HTTP.get(src, { |
a3b2626cef49
Client: Load WMS layer with sounding result contour lines.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
842
diff
changeset
|
49 headers: { |
a3b2626cef49
Client: Load WMS layer with sounding result contour lines.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
842
diff
changeset
|
50 "X-Gemma-Auth": localStorage.getItem("token") |
862
0a6cb09ca28c
client: fix bottleneck WMS loading
Bernhard Reiter <bernhard@intevation.de>
parents:
860
diff
changeset
|
51 }, |
0a6cb09ca28c
client: fix bottleneck WMS loading
Bernhard Reiter <bernhard@intevation.de>
parents:
860
diff
changeset
|
52 responseType: "blob" |
860
38b682eaa7b1
client: add updateing of bottleneck filter
Bernhard Reiter <bernhard@intevation.de>
parents:
852
diff
changeset
|
53 }).then(response => { |
862
0a6cb09ca28c
client: fix bottleneck WMS loading
Bernhard Reiter <bernhard@intevation.de>
parents:
860
diff
changeset
|
54 tile.getImage().src = URL.createObjectURL(response.data); |
852
a3b2626cef49
Client: Load WMS layer with sounding result contour lines.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
842
diff
changeset
|
55 }); |
865 | 56 } // TODO tile.setState(TileState.ERROR); |
842
ee6f127f573c
client: add first prototype for bottleneck iso layer
Bernhard Reiter <bernhard@intevation.de>
parents:
836
diff
changeset
|
57 }) |
ee6f127f573c
client: add first prototype for bottleneck iso layer
Bernhard Reiter <bernhard@intevation.de>
parents:
836
diff
changeset
|
58 }), |
ee6f127f573c
client: add first prototype for bottleneck iso layer
Bernhard Reiter <bernhard@intevation.de>
parents:
836
diff
changeset
|
59 isVisible: true |
ee6f127f573c
client: add first prototype for bottleneck iso layer
Bernhard Reiter <bernhard@intevation.de>
parents:
836
diff
changeset
|
60 }, |
ee6f127f573c
client: add first prototype for bottleneck iso layer
Bernhard Reiter <bernhard@intevation.de>
parents:
836
diff
changeset
|
61 { |
716
22159077b564
client: add step to intersect with fairways
Bernhard Reiter <bernhard@intevation.de>
parents:
702
diff
changeset
|
62 name: "Fairway Dimensions", |
585
ef307bd6b5d8
refac: restructured client application
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
63 data: new VectorLayer({ |
ef307bd6b5d8
refac: restructured client application
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
64 source: new VectorSource(), |
659
ef658c66cfca
schema: disable sfcgal
Bernhard Reiter <bernhard@intevation.de>
parents:
628
diff
changeset
|
65 style: function(feature) { |
ef658c66cfca
schema: disable sfcgal
Bernhard Reiter <bernhard@intevation.de>
parents:
628
diff
changeset
|
66 return [ |
ef658c66cfca
schema: disable sfcgal
Bernhard Reiter <bernhard@intevation.de>
parents:
628
diff
changeset
|
67 new Style({ |
ef658c66cfca
schema: disable sfcgal
Bernhard Reiter <bernhard@intevation.de>
parents:
628
diff
changeset
|
68 stroke: new Stroke({ |
ef658c66cfca
schema: disable sfcgal
Bernhard Reiter <bernhard@intevation.de>
parents:
628
diff
changeset
|
69 color: "rgba(0, 0, 255, 1.0)", |
ef658c66cfca
schema: disable sfcgal
Bernhard Reiter <bernhard@intevation.de>
parents:
628
diff
changeset
|
70 width: 2 |
ef658c66cfca
schema: disable sfcgal
Bernhard Reiter <bernhard@intevation.de>
parents:
628
diff
changeset
|
71 }) |
ef658c66cfca
schema: disable sfcgal
Bernhard Reiter <bernhard@intevation.de>
parents:
628
diff
changeset
|
72 }), |
ef658c66cfca
schema: disable sfcgal
Bernhard Reiter <bernhard@intevation.de>
parents:
628
diff
changeset
|
73 new Style({ |
ef658c66cfca
schema: disable sfcgal
Bernhard Reiter <bernhard@intevation.de>
parents:
628
diff
changeset
|
74 text: new Text({ |
ef658c66cfca
schema: disable sfcgal
Bernhard Reiter <bernhard@intevation.de>
parents:
628
diff
changeset
|
75 font: 'bold 12px "Open Sans", "sans-serif"', |
ef658c66cfca
schema: disable sfcgal
Bernhard Reiter <bernhard@intevation.de>
parents:
628
diff
changeset
|
76 placement: "line", |
ef658c66cfca
schema: disable sfcgal
Bernhard Reiter <bernhard@intevation.de>
parents:
628
diff
changeset
|
77 fill: new Fill({ |
ef658c66cfca
schema: disable sfcgal
Bernhard Reiter <bernhard@intevation.de>
parents:
628
diff
changeset
|
78 color: "black" |
ef658c66cfca
schema: disable sfcgal
Bernhard Reiter <bernhard@intevation.de>
parents:
628
diff
changeset
|
79 }), |
ef658c66cfca
schema: disable sfcgal
Bernhard Reiter <bernhard@intevation.de>
parents:
628
diff
changeset
|
80 text: "LOS: " + feature.get("level_of_service").toString() |
ef658c66cfca
schema: disable sfcgal
Bernhard Reiter <bernhard@intevation.de>
parents:
628
diff
changeset
|
81 //, zIndex: 10 |
ef658c66cfca
schema: disable sfcgal
Bernhard Reiter <bernhard@intevation.de>
parents:
628
diff
changeset
|
82 }) |
ef658c66cfca
schema: disable sfcgal
Bernhard Reiter <bernhard@intevation.de>
parents:
628
diff
changeset
|
83 }) |
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 } |
585
ef307bd6b5d8
refac: restructured client application
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
86 }), |
ef307bd6b5d8
refac: restructured client application
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
87 isVisible: true |
620
ef00684e021f
client: add showing special buoys
Bernhard Reiter <bernhard@intevation.de>
parents:
618
diff
changeset
|
88 }, |
ef00684e021f
client: add showing special buoys
Bernhard Reiter <bernhard@intevation.de>
parents:
618
diff
changeset
|
89 { |
747
e33012c0aa7e
client: move named waterway area layer higher
Bernhard Reiter <bernhard@intevation.de>
parents:
745
diff
changeset
|
90 name: "Waterway Area, named", |
e33012c0aa7e
client: move named waterway area layer higher
Bernhard Reiter <bernhard@intevation.de>
parents:
745
diff
changeset
|
91 data: new VectorLayer({ |
e33012c0aa7e
client: move named waterway area layer higher
Bernhard Reiter <bernhard@intevation.de>
parents:
745
diff
changeset
|
92 source: new VectorSource({ |
e33012c0aa7e
client: move named waterway area layer higher
Bernhard Reiter <bernhard@intevation.de>
parents:
745
diff
changeset
|
93 strategy: bboxStrategy |
e33012c0aa7e
client: move named waterway area layer higher
Bernhard Reiter <bernhard@intevation.de>
parents:
745
diff
changeset
|
94 }), |
e33012c0aa7e
client: move named waterway area layer higher
Bernhard Reiter <bernhard@intevation.de>
parents:
745
diff
changeset
|
95 style: new Style({ |
e33012c0aa7e
client: move named waterway area layer higher
Bernhard Reiter <bernhard@intevation.de>
parents:
745
diff
changeset
|
96 stroke: new Stroke({ |
e33012c0aa7e
client: move named waterway area layer higher
Bernhard Reiter <bernhard@intevation.de>
parents:
745
diff
changeset
|
97 color: "rgba(0, 132, 0, 1)", |
e33012c0aa7e
client: move named waterway area layer higher
Bernhard Reiter <bernhard@intevation.de>
parents:
745
diff
changeset
|
98 width: 2 |
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 }) |
e33012c0aa7e
client: move named waterway area layer higher
Bernhard Reiter <bernhard@intevation.de>
parents:
745
diff
changeset
|
101 }), |
e33012c0aa7e
client: move named waterway area layer higher
Bernhard Reiter <bernhard@intevation.de>
parents:
745
diff
changeset
|
102 isVisible: false |
e33012c0aa7e
client: move named waterway area layer higher
Bernhard Reiter <bernhard@intevation.de>
parents:
745
diff
changeset
|
103 }, |
e33012c0aa7e
client: move named waterway area layer higher
Bernhard Reiter <bernhard@intevation.de>
parents:
745
diff
changeset
|
104 { |
628
ef9c733cc6aa
client: show more wfs layers
Bernhard Reiter <bernhard@intevation.de>
parents:
625
diff
changeset
|
105 name: "Waterway Area", |
ef9c733cc6aa
client: show more wfs layers
Bernhard Reiter <bernhard@intevation.de>
parents:
625
diff
changeset
|
106 data: new VectorLayer({ |
702
aaf5dbfb9512
client: improve loading of WFS features
Bernhard Reiter <bernhard@intevation.de>
parents:
701
diff
changeset
|
107 source: new VectorSource({ |
aaf5dbfb9512
client: improve loading of WFS features
Bernhard Reiter <bernhard@intevation.de>
parents:
701
diff
changeset
|
108 strategy: bboxStrategy |
aaf5dbfb9512
client: improve loading of WFS features
Bernhard Reiter <bernhard@intevation.de>
parents:
701
diff
changeset
|
109 }), |
628
ef9c733cc6aa
client: show more wfs layers
Bernhard Reiter <bernhard@intevation.de>
parents:
625
diff
changeset
|
110 style: new Style({ |
ef9c733cc6aa
client: show more wfs layers
Bernhard Reiter <bernhard@intevation.de>
parents:
625
diff
changeset
|
111 stroke: new Stroke({ |
688
89b497d0ee0f
client: change waterway area style to dark green
Bernhard Reiter <bernhard@intevation.de>
parents:
663
diff
changeset
|
112 color: "rgba(0, 102, 0, 1)", |
89b497d0ee0f
client: change waterway area style to dark green
Bernhard Reiter <bernhard@intevation.de>
parents:
663
diff
changeset
|
113 width: 2 |
628
ef9c733cc6aa
client: show more wfs layers
Bernhard Reiter <bernhard@intevation.de>
parents:
625
diff
changeset
|
114 }) |
ef9c733cc6aa
client: show more wfs layers
Bernhard Reiter <bernhard@intevation.de>
parents:
625
diff
changeset
|
115 }) |
ef9c733cc6aa
client: show more wfs layers
Bernhard Reiter <bernhard@intevation.de>
parents:
625
diff
changeset
|
116 }), |
ef9c733cc6aa
client: show more wfs layers
Bernhard Reiter <bernhard@intevation.de>
parents:
625
diff
changeset
|
117 isVisible: true |
ef9c733cc6aa
client: show more wfs layers
Bernhard Reiter <bernhard@intevation.de>
parents:
625
diff
changeset
|
118 }, |
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 name: "Waterway Axis", |
ef9c733cc6aa
client: show more wfs layers
Bernhard Reiter <bernhard@intevation.de>
parents:
625
diff
changeset
|
121 data: new VectorLayer({ |
733
e57955c1996f
client: improve code structure
Bernhard Reiter <bernhard@intevation.de>
parents:
716
diff
changeset
|
122 source: new VectorSource({ |
e57955c1996f
client: improve code structure
Bernhard Reiter <bernhard@intevation.de>
parents:
716
diff
changeset
|
123 strategy: bboxStrategy |
e57955c1996f
client: improve code structure
Bernhard Reiter <bernhard@intevation.de>
parents:
716
diff
changeset
|
124 }), |
628
ef9c733cc6aa
client: show more wfs layers
Bernhard Reiter <bernhard@intevation.de>
parents:
625
diff
changeset
|
125 style: new Style({ |
ef9c733cc6aa
client: show more wfs layers
Bernhard Reiter <bernhard@intevation.de>
parents:
625
diff
changeset
|
126 stroke: new Stroke({ |
ef9c733cc6aa
client: show more wfs layers
Bernhard Reiter <bernhard@intevation.de>
parents:
625
diff
changeset
|
127 color: "rgba(0, 0, 255, .5)", |
ef9c733cc6aa
client: show more wfs layers
Bernhard Reiter <bernhard@intevation.de>
parents:
625
diff
changeset
|
128 lineDash: [5, 5], |
ef9c733cc6aa
client: show more wfs layers
Bernhard Reiter <bernhard@intevation.de>
parents:
625
diff
changeset
|
129 width: 2 |
ef9c733cc6aa
client: show more wfs layers
Bernhard Reiter <bernhard@intevation.de>
parents:
625
diff
changeset
|
130 }) |
ef9c733cc6aa
client: show more wfs layers
Bernhard Reiter <bernhard@intevation.de>
parents:
625
diff
changeset
|
131 }) |
ef9c733cc6aa
client: show more wfs layers
Bernhard Reiter <bernhard@intevation.de>
parents:
625
diff
changeset
|
132 }), |
ef9c733cc6aa
client: show more wfs layers
Bernhard Reiter <bernhard@intevation.de>
parents:
625
diff
changeset
|
133 isVisible: true |
ef9c733cc6aa
client: show more wfs layers
Bernhard Reiter <bernhard@intevation.de>
parents:
625
diff
changeset
|
134 }, |
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 name: "Distance marks", |
804
21609ba97357
client: improve legendelements for layerselection
Bernhard Reiter <bernhard@intevation.de>
parents:
793
diff
changeset
|
137 forLegendStyle: { point: true, resolution: 8 }, |
620
ef00684e021f
client: add showing special buoys
Bernhard Reiter <bernhard@intevation.de>
parents:
618
diff
changeset
|
138 data: new VectorLayer({ |
702
aaf5dbfb9512
client: improve loading of WFS features
Bernhard Reiter <bernhard@intevation.de>
parents:
701
diff
changeset
|
139 source: new VectorSource({ |
aaf5dbfb9512
client: improve loading of WFS features
Bernhard Reiter <bernhard@intevation.de>
parents:
701
diff
changeset
|
140 strategy: bboxStrategy |
aaf5dbfb9512
client: improve loading of WFS features
Bernhard Reiter <bernhard@intevation.de>
parents:
701
diff
changeset
|
141 }) |
620
ef00684e021f
client: add showing special buoys
Bernhard Reiter <bernhard@intevation.de>
parents:
618
diff
changeset
|
142 }), |
628
ef9c733cc6aa
client: show more wfs layers
Bernhard Reiter <bernhard@intevation.de>
parents:
625
diff
changeset
|
143 isVisible: false |
659
ef658c66cfca
schema: disable sfcgal
Bernhard Reiter <bernhard@intevation.de>
parents:
628
diff
changeset
|
144 }, |
ef658c66cfca
schema: disable sfcgal
Bernhard Reiter <bernhard@intevation.de>
parents:
628
diff
changeset
|
145 { |
ef658c66cfca
schema: disable sfcgal
Bernhard Reiter <bernhard@intevation.de>
parents:
628
diff
changeset
|
146 name: "Distance marks, Axis", |
804
21609ba97357
client: improve legendelements for layerselection
Bernhard Reiter <bernhard@intevation.de>
parents:
793
diff
changeset
|
147 forLegendStyle: { point: true, resolution: 8 }, |
659
ef658c66cfca
schema: disable sfcgal
Bernhard Reiter <bernhard@intevation.de>
parents:
628
diff
changeset
|
148 data: new VectorLayer({ |
701
8149772c62d6
client: add bbox loading strategy to riverkilometre
Bernhard Reiter <bernhard@intevation.de>
parents:
700
diff
changeset
|
149 source: new VectorSource({ |
8149772c62d6
client: add bbox loading strategy to riverkilometre
Bernhard Reiter <bernhard@intevation.de>
parents:
700
diff
changeset
|
150 strategy: bboxStrategy |
8149772c62d6
client: add bbox loading strategy to riverkilometre
Bernhard Reiter <bernhard@intevation.de>
parents:
700
diff
changeset
|
151 }), |
700
8c3c43595d39
client: make kilometre style resolution depending
Bernhard Reiter <bernhard@intevation.de>
parents:
691
diff
changeset
|
152 style: function(feature, resolution) { |
8c3c43595d39
client: make kilometre style resolution depending
Bernhard Reiter <bernhard@intevation.de>
parents:
691
diff
changeset
|
153 if (resolution < 10) { |
8c3c43595d39
client: make kilometre style resolution depending
Bernhard Reiter <bernhard@intevation.de>
parents:
691
diff
changeset
|
154 var s = new Style({ |
691
d643ff60f607
Client: improve style of waterway axis.
Bernhard Reiter <bernhard@intevation.de>
parents:
688
diff
changeset
|
155 image: new CircleStyle({ |
d643ff60f607
Client: improve style of waterway axis.
Bernhard Reiter <bernhard@intevation.de>
parents:
688
diff
changeset
|
156 radius: 5, |
700
8c3c43595d39
client: make kilometre style resolution depending
Bernhard Reiter <bernhard@intevation.de>
parents:
691
diff
changeset
|
157 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
|
158 stroke: new Stroke({ color: "blue", width: 1 }) |
691
d643ff60f607
Client: improve style of waterway axis.
Bernhard Reiter <bernhard@intevation.de>
parents:
688
diff
changeset
|
159 }) |
700
8c3c43595d39
client: make kilometre style resolution depending
Bernhard Reiter <bernhard@intevation.de>
parents:
691
diff
changeset
|
160 }); |
8c3c43595d39
client: make kilometre style resolution depending
Bernhard Reiter <bernhard@intevation.de>
parents:
691
diff
changeset
|
161 if (resolution < 6) { |
8c3c43595d39
client: make kilometre style resolution depending
Bernhard Reiter <bernhard@intevation.de>
parents:
691
diff
changeset
|
162 s.setText( |
8c3c43595d39
client: make kilometre style resolution depending
Bernhard Reiter <bernhard@intevation.de>
parents:
691
diff
changeset
|
163 new Text({ |
8c3c43595d39
client: make kilometre style resolution depending
Bernhard Reiter <bernhard@intevation.de>
parents:
691
diff
changeset
|
164 offsetY: 12, |
8c3c43595d39
client: make kilometre style resolution depending
Bernhard Reiter <bernhard@intevation.de>
parents:
691
diff
changeset
|
165 font: '10px "Open Sans", "sans-serif"', |
8c3c43595d39
client: make kilometre style resolution depending
Bernhard Reiter <bernhard@intevation.de>
parents:
691
diff
changeset
|
166 fill: new Fill({ |
8c3c43595d39
client: make kilometre style resolution depending
Bernhard Reiter <bernhard@intevation.de>
parents:
691
diff
changeset
|
167 color: "black" |
8c3c43595d39
client: make kilometre style resolution depending
Bernhard Reiter <bernhard@intevation.de>
parents:
691
diff
changeset
|
168 }), |
8c3c43595d39
client: make kilometre style resolution depending
Bernhard Reiter <bernhard@intevation.de>
parents:
691
diff
changeset
|
169 text: (feature.get("hectometre") / 10).toString() |
8c3c43595d39
client: make kilometre style resolution depending
Bernhard Reiter <bernhard@intevation.de>
parents:
691
diff
changeset
|
170 }) |
8c3c43595d39
client: make kilometre style resolution depending
Bernhard Reiter <bernhard@intevation.de>
parents:
691
diff
changeset
|
171 ); |
8c3c43595d39
client: make kilometre style resolution depending
Bernhard Reiter <bernhard@intevation.de>
parents:
691
diff
changeset
|
172 } |
8c3c43595d39
client: make kilometre style resolution depending
Bernhard Reiter <bernhard@intevation.de>
parents:
691
diff
changeset
|
173 return s; |
8c3c43595d39
client: make kilometre style resolution depending
Bernhard Reiter <bernhard@intevation.de>
parents:
691
diff
changeset
|
174 } else { |
8c3c43595d39
client: make kilometre style resolution depending
Bernhard Reiter <bernhard@intevation.de>
parents:
691
diff
changeset
|
175 return []; |
8c3c43595d39
client: make kilometre style resolution depending
Bernhard Reiter <bernhard@intevation.de>
parents:
691
diff
changeset
|
176 } |
691
d643ff60f607
Client: improve style of waterway axis.
Bernhard Reiter <bernhard@intevation.de>
parents:
688
diff
changeset
|
177 } |
659
ef658c66cfca
schema: disable sfcgal
Bernhard Reiter <bernhard@intevation.de>
parents:
628
diff
changeset
|
178 }), |
ef658c66cfca
schema: disable sfcgal
Bernhard Reiter <bernhard@intevation.de>
parents:
628
diff
changeset
|
179 isVisible: true |
790
1b82ae5e637e
client: add bottleneck layer with first styling
Bernhard Reiter <bernhard@intevation.de>
parents:
783
diff
changeset
|
180 }, |
1b82ae5e637e
client: add bottleneck layer with first styling
Bernhard Reiter <bernhard@intevation.de>
parents:
783
diff
changeset
|
181 { |
1b82ae5e637e
client: add bottleneck layer with first styling
Bernhard Reiter <bernhard@intevation.de>
parents:
783
diff
changeset
|
182 name: "Bottlenecks", |
1b82ae5e637e
client: add bottleneck layer with first styling
Bernhard Reiter <bernhard@intevation.de>
parents:
783
diff
changeset
|
183 data: new VectorLayer({ |
1b82ae5e637e
client: add bottleneck layer with first styling
Bernhard Reiter <bernhard@intevation.de>
parents:
783
diff
changeset
|
184 source: new VectorSource({ |
1b82ae5e637e
client: add bottleneck layer with first styling
Bernhard Reiter <bernhard@intevation.de>
parents:
783
diff
changeset
|
185 strategy: bboxStrategy |
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 style: new Style({ |
1b82ae5e637e
client: add bottleneck layer with first styling
Bernhard Reiter <bernhard@intevation.de>
parents:
783
diff
changeset
|
188 stroke: new Stroke({ |
1b82ae5e637e
client: add bottleneck layer with first styling
Bernhard Reiter <bernhard@intevation.de>
parents:
783
diff
changeset
|
189 color: "rgba(230, 230, 10, .8)", |
1b82ae5e637e
client: add bottleneck layer with first styling
Bernhard Reiter <bernhard@intevation.de>
parents:
783
diff
changeset
|
190 width: 4 |
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 fill: new Fill({ |
1b82ae5e637e
client: add bottleneck layer with first styling
Bernhard Reiter <bernhard@intevation.de>
parents:
783
diff
changeset
|
193 color: "rgba(230, 230, 10, .3)" |
1b82ae5e637e
client: add bottleneck layer with first styling
Bernhard Reiter <bernhard@intevation.de>
parents:
783
diff
changeset
|
194 }) |
1b82ae5e637e
client: add bottleneck layer with first styling
Bernhard Reiter <bernhard@intevation.de>
parents:
783
diff
changeset
|
195 }) |
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 isVisible: true |
585
ef307bd6b5d8
refac: restructured client application
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
198 } |
770
c12ec7fde3f2
client: add simple identify top area box
Bernhard Reiter <bernhard@intevation.de>
parents:
754
diff
changeset
|
199 ], |
836
0b994949a4a0
client: make Morphtool selection more robust
Bernhard Reiter <bernhard@intevation.de>
parents:
826
diff
changeset
|
200 // 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
|
201 // 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
|
202 identifiedFeatures: [], |
816
cd79f62794dd
client: prepare survey selection
Bernhard Reiter <bernhard@intevation.de>
parents:
804
diff
changeset
|
203 currentMeasurement: null, |
cd79f62794dd
client: prepare survey selection
Bernhard Reiter <bernhard@intevation.de>
parents:
804
diff
changeset
|
204 selectedMorph: null |
585
ef307bd6b5d8
refac: restructured client application
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
205 }, |
ef307bd6b5d8
refac: restructured client application
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
206 getters: { |
ef307bd6b5d8
refac: restructured client application
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
207 layers: state => { |
ef307bd6b5d8
refac: restructured client application
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
208 return state.layers; |
754
105c421f99b1
refac: small improvements to code structure
Thomas Junk <thomas.junk@intevation.de>
parents:
747
diff
changeset
|
209 }, |
105c421f99b1
refac: small improvements to code structure
Thomas Junk <thomas.junk@intevation.de>
parents:
747
diff
changeset
|
210 getLayerByName: state => name => { |
105c421f99b1
refac: small improvements to code structure
Thomas Junk <thomas.junk@intevation.de>
parents:
747
diff
changeset
|
211 return state.layers.find(layer => layer.name === name); |
585
ef307bd6b5d8
refac: restructured client application
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
212 } |
ef307bd6b5d8
refac: restructured client application
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
213 }, |
ef307bd6b5d8
refac: restructured client application
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
214 mutations: { |
ef307bd6b5d8
refac: restructured client application
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
215 toggleVisibility: (state, layer) => { |
ef307bd6b5d8
refac: restructured client application
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
216 state.layers[layer].isVisible = !state.layers[layer].isVisible; |
ef307bd6b5d8
refac: restructured client application
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
217 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
|
218 }, |
c12ec7fde3f2
client: add simple identify top area box
Bernhard Reiter <bernhard@intevation.de>
parents:
754
diff
changeset
|
219 setIdentifiedFeatures: (state, identifiedFeatures) => { |
c12ec7fde3f2
client: add simple identify top area box
Bernhard Reiter <bernhard@intevation.de>
parents:
754
diff
changeset
|
220 state.identifiedFeatures = identifiedFeatures; |
783
ab9604a46075
client: add move after clicking search result
Bernhard Reiter <bernhard@intevation.de>
parents:
782
diff
changeset
|
221 }, |
ab9604a46075
client: add move after clicking search result
Bernhard Reiter <bernhard@intevation.de>
parents:
782
diff
changeset
|
222 setOpenLayersMap: (state, map) => { |
ab9604a46075
client: add move after clicking search result
Bernhard Reiter <bernhard@intevation.de>
parents:
782
diff
changeset
|
223 state.openLayersMap = map; |
793
073394629ec6
client: add measurement and improve identify
Bernhard Reiter <bernhard@intevation.de>
parents:
790
diff
changeset
|
224 }, |
073394629ec6
client: add measurement and improve identify
Bernhard Reiter <bernhard@intevation.de>
parents:
790
diff
changeset
|
225 setCurrentMeasurement: (state, measurement) => { |
073394629ec6
client: add measurement and improve identify
Bernhard Reiter <bernhard@intevation.de>
parents:
790
diff
changeset
|
226 state.currentMeasurement = measurement; |
816
cd79f62794dd
client: prepare survey selection
Bernhard Reiter <bernhard@intevation.de>
parents:
804
diff
changeset
|
227 }, |
826
90a601884ff2
client: improve survey selection for Morphtool
Bernhard Reiter <bernhard@intevation.de>
parents:
816
diff
changeset
|
228 setSelectedMorph: (state, selectedMorph) => { |
816
cd79f62794dd
client: prepare survey selection
Bernhard Reiter <bernhard@intevation.de>
parents:
804
diff
changeset
|
229 state.selectedMorph = selectedMorph; |
585
ef307bd6b5d8
refac: restructured client application
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
230 } |
ef307bd6b5d8
refac: restructured client application
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
231 } |
ef307bd6b5d8
refac: restructured client application
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
232 }; |
ef307bd6b5d8
refac: restructured client application
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
233 |
ef307bd6b5d8
refac: restructured client application
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
234 export default MapStore; |