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
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
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;