itowns 2.44.3-next.10 → 2.44.3-next.12

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,123 @@
1
+ <?xml version="1.0" encoding="UTF-8" standalone="no"?>
2
+ <svg
3
+ width="2123.8423"
4
+ height="504"
5
+ viewBox="0 0 2123.8423 504"
6
+ version="1.1"
7
+ id="svg91"
8
+ sodipodi:docname="logo.svg"
9
+ inkscape:version="1.1.2 (0a00cf5339, 2022-02-04)"
10
+ inkscape:label="layer_i"
11
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
12
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
13
+ xmlns:xlink="http://www.w3.org/1999/xlink"
14
+ xmlns="http://www.w3.org/2000/svg"
15
+ xmlns:svg="http://www.w3.org/2000/svg">
16
+ <sodipodi:namedview
17
+ id="namedview93"
18
+ pagecolor="#ffffff"
19
+ bordercolor="#666666"
20
+ borderopacity="1.0"
21
+ inkscape:pageshadow="2"
22
+ inkscape:pageopacity="0.0"
23
+ inkscape:pagecheckerboard="0"
24
+ showgrid="false"
25
+ inkscape:zoom="0.21100549"
26
+ inkscape:cx="1390.9591"
27
+ inkscape:cy="1049.7357"
28
+ inkscape:window-width="1850"
29
+ inkscape:window-height="1016"
30
+ inkscape:window-x="70"
31
+ inkscape:window-y="1107"
32
+ inkscape:window-maximized="1"
33
+ inkscape:current-layer="svg91"
34
+ showguides="true"
35
+ inkscape:guide-bbox="true">
36
+ <sodipodi:guide
37
+ position="303,12"
38
+ orientation="0,-1"
39
+ id="guide149742" />
40
+ <sodipodi:guide
41
+ position="922.7708,353.293"
42
+ orientation="0,-1"
43
+ id="guide161704" />
44
+ <sodipodi:guide
45
+ position="1076.0872,118.0449"
46
+ orientation="0,-1"
47
+ id="guide161710" />
48
+ <sodipodi:guide
49
+ position="1172.7675,246.6387"
50
+ orientation="0,-1"
51
+ id="guide161712" />
52
+ </sodipodi:namedview>
53
+ <defs
54
+ id="defs85">
55
+ <linearGradient
56
+ inkscape:collect="always"
57
+ id="linearGradient124706">
58
+ <stop
59
+ style="stop-color:#7ea8c5;stop-opacity:1"
60
+ offset="0"
61
+ id="stop124702" />
62
+ <stop
63
+ style="stop-color:#404e73;stop-opacity:1"
64
+ offset="1"
65
+ id="stop124704" />
66
+ </linearGradient>
67
+ <style
68
+ id="style83">
69
+ .cls-1 {
70
+ opacity: 0.4;
71
+ }
72
+ </style>
73
+ <linearGradient
74
+ inkscape:collect="always"
75
+ xlink:href="#linearGradient124706"
76
+ id="linearGradient124708"
77
+ x1="1129.2401"
78
+ y1="606.47083"
79
+ x2="1401.899"
80
+ y2="774.6546"
81
+ gradientUnits="userSpaceOnUse" />
82
+ </defs>
83
+ <g
84
+ id="g149219"
85
+ inkscape:label="Globe"
86
+ transform="translate(-523,-390)">
87
+ <ellipse
88
+ style="display:inline;fill:#c8d3da;fill-opacity:1;fill-rule:evenodd"
89
+ id="path1259"
90
+ cx="1227.5"
91
+ cy="692"
92
+ rx="202.5"
93
+ ry="202"
94
+ inkscape:label="Circle" />
95
+ <g
96
+ id="g124715"
97
+ style="display:inline;stroke:#355c77;stroke-opacity:1"
98
+ inkscape:label="Arrows">
99
+ <g
100
+ id="g124711"
101
+ style="stroke:#355c77;stroke-opacity:1"
102
+ inkscape:label="g124711">
103
+ <path
104
+ style="fill:url(#linearGradient124708);fill-opacity:1;stroke:none;stroke-width:5;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
105
+ d="m 1330,681 61,-12 c 3.02,7.842 4.076,15.87 6.019,24 0.623,2.608 1.725,6.621 4.931,7.079 3.39,0.484 5.145,-4.756 6.294,-7.079 4.368,-8.837 7.681,-18.455 10.126,-28 6.613,-25.808 -5.85,-43.846 -20.997,-64 -5.472,-7.282 -12.303,-17.758 -20.354,-22.338 -4.273,-2.4306 -5.13,2.0092 -4.714,5.3388 0.586,4.6919 7.851,20.6632 3.171,23.9322 -2.895,2.022 -10.95,0.067 -14.476,0.067 -10.657,-10e-4 -21.347,-0.246 -32,0.015 -4.325,0.106 -9.726,2.094 -13.892,0.382 -5.397,-2.219 -7.556,-13.418 -9.687,-18.397 -7.301,-17.0598 -16.733,-32.6765 -25.421,-49 5.562,-1.763 24.398,-1.5626 26.824,-7.2245 2.682,-6.2591 -15.778,-11.6544 -19.824,-13.3511 -16.725,-7.013 -34.232,-12.7414 -52,-16.4213 -6.905,-1.4301 -15.602,-3.9163 -21.535,1.4267 -9.584,8.6288 -15.545,24.2163 -21.218,35.5702 -1.756,3.5154 -6.626,10.6646 -1.928,13.821 8.653,5.8139 20.931,-6.3429 29.576,-1.7786 4.537,2.3953 6.205,9.4776 7.761,13.9576 4.228,12.1783 8.181,24.53 11.46,37 1.02,3.88 4.614,11.885 2.683,15.697 -2.377,4.69 -15.124,5.832 -19.799,7.163 -16.494,4.695 -32.732,10.384 -49,15.807 -4.374,1.458 -13.407,6.621 -17.891,4.977 -7.289,-2.674 -4.547,-35.284 -17.019,-27.036 -5.418,3.583 -8.841,11.197 -12.514,16.392 -10.2548,14.501 -20.0164,29.506 -28.7149,45 -3.9849,7.098 -10.3602,15.972 -4.2083,23.815 3.6295,4.627 10.3443,6.941 15.3472,9.761 13.8979,7.833 28.591,14.399 43,21.205 4.886,2.308 14.588,9.972 19.566,4.897 7.959,-8.114 -7.807,-22.054 -1.784,-30.399 3.34,-4.629 13.088,-4.493 18.218,-5.476 17.25,-3.306 34.664,-5.608 52,-8.393 4.543,-0.729 16.572,-4.766 20.411,-1.637 3.876,3.159 4.049,14.529 4.989,19.227 3.19,15.949 5.824,31.89 8.024,48 0.723,5.296 3.474,14.919 0.548,19.775 -5.411,8.981 -25.656,0.601 -29.171,11.33 -1.841,5.617 6.874,11.422 10.109,14.895 8.451,9.072 17.016,17.641 26.09,26.09 4.394,4.091 8.431,9.791 15,9.823 7.581,0.036 13.971,-7.022 19,-11.928 12.818,-12.503 24.842,-25.974 35.996,-39.985 3.543,-4.45 12.487,-12.805 12.176,-18.891 -0.593,-11.601 -26.368,5.893 -29.399,-4.168 -2.107,-6.995 0.227,-18.497 0.227,-25.941 0,-21.005 0.853,-42.26 -3,-63"
106
+ id="path1080"
107
+ sodipodi:nodetypes="ccsscccssscscccscsccsscsccscscsscsscccscscccscccscsc"
108
+ inkscape:label="path1080" />
109
+ </g>
110
+ </g>
111
+ </g>
112
+ <path
113
+ id="path952"
114
+ style="display:inline;fill:#404e73;fill-opacity:1"
115
+ inkscape:label="T wns"
116
+ d="M 177.03906,0 176.91602,93.58398 303,94 V 492 H 409.99414 L 410.5,94.5 538.5,93.5 539.0195,0 Z M 2011.0176,134.28125 c -13.0632,0.12998 -25.5667,1.33054 -36.8633,3.63281 -29.4349,5.99891 -57.9681,21.05292 -73.8867,38.98047 -12.3465,13.90461 -21.0569,31.08151 -24.6992,48.71485 -2.306,11.16435 -2.1202,33.20565 0.3613,42.9082 3.8861,15.19442 12.6728,29.33206 26.4336,42.5332 17.1315,16.43468 37.8519,27.767 72.9277,39.88477 26.8743,9.28436 38.5632,16.26831 43.2481,25.84375 2.4031,4.91179 2.6657,6.40755 2.2519,12.78711 -0.5206,8.02613 -2.1474,11.92677 -6.998,16.77734 -7.1349,7.1349 -19.3393,10.38075 -38.793,10.31445 -24.4588,-0.0833 -56.8353,-8.26242 -81.3359,-20.54687 -4.31,-2.161 -8.34,-3.76166 -8.9551,-3.55664 -1.2952,0.43175 -19.849,73.70135 -19.0078,75.0625 0.3086,0.4992 3.8636,2.41232 7.9004,4.25195 21.9315,9.99451 50.5827,16.99204 79.4902,19.41406 12.4848,1.04603 43.0849,0.48063 54.9082,-1.01367 38.4999,-4.86586 68.3037,-18.04186 88.5781,-39.16015 14.0553,-14.64031 22.6133,-31.44619 26.0528,-51.16797 2.1158,-12.13186 1.3753,-33.68965 -1.5606,-45.46875 -5.6685,-22.74204 -19.5206,-41.66585 -41.0273,-56.04688 -15.1873,-10.15539 -26.2884,-15.30705 -58.543,-27.16992 -36.0413,-13.25557 -46.6692,-22.13625 -45.248,-37.80859 0.83,-9.1535 5.475,-15.93482 13.8339,-20.19922 17.7737,-9.06744 56.359,-5.47043 87.0977,8.11914 11.915,5.26763 13.4655,5.6248 14.1797,3.27148 2.9956,-9.87087 17.6841,-68.85641 17.4472,-70.06445 -0.4198,-2.14067 -16.4538,-8.45661 -30.8222,-12.14063 -21.8739,-5.60839 -45.1988,-8.36897 -66.9707,-8.15234 z m -328.5235,8.21094 c -20.9646,0 -40.1175,4.76669 -57.4609,14.30078 -17.3434,9.33124 -33.7343,23.93681 -49.1719,43.81641 V 150.70703 H 1473.5156 V 491.5 h 102.3457 V 323.8418 c 0,-31.03651 6.0974,-55.27731 18.2949,-72.72266 12.1976,-17.64821 28.9707,-26.47266 50.3165,-26.47266 8.767,0 16.5802,2.02888 23.4414,6.08594 6.8612,3.85422 12.2926,9.3318 16.2949,16.43164 3.0494,5.27419 5.1455,13.48958 6.289,24.64649 1.3341,11.15691 2.002,31.44178 2.002,60.85547 V 457.72461 491.5 h 102.916 V 283.98047 c 0,-46.04763 -9.6238,-81.13979 -28.873,-105.2793 -19.0587,-24.1395 -47.0751,-36.20898 -84.0489,-36.20898 z M 922.7715,150.70703 1007.1504,492 h 111.8398 L 1172.7676,257.36133 1226.8262,492 h 111.8418 l 84.3808,-341.29297 h -99.541 l -54.0605,232.81055 -53.7735,-232.81055 h -85.5273 l -54.0586,235.24805 -53.7774,-235.24805 z" />
117
+ <path
118
+ id="path41630"
119
+ style="display:inline;fill:#7ea8c5;fill-opacity:1"
120
+ d="M 56.2207,0 C 25.17087,2e-5 2e-5,25.17087 0,56.2207 c 1e-5,31.04983 25.17087,56.22069 56.2207,56.22071 31.04984,-1e-5 56.2207,-25.17087 56.22071,-56.22071 C 112.44139,25.17087 87.27053,10e-6 56.2207,0 Z M 4.20703,151.33203 C 3.98701,264.88792 3.91235,378.44395 3.82849,492 c 34.67057,0 69.34114,0 104.01172,0 -0.29968,-113.55583 -0.46282,-227.11189 -0.63318,-340.66797 -34.33333,0 -68.66667,0 -103,0 z"
121
+ inkscape:label="i"
122
+ sodipodi:nodetypes="sssssccccc" />
123
+ </svg>
@@ -120,22 +120,25 @@ class WFSSource extends Source {
120
120
  this.typeName = source.typeName;
121
121
  this.version = source.version || '2.0.2';
122
122
  this.bboxDigits = source.bboxDigits;
123
-
124
- // Add ? at the end of the url if it is not already in the given URL
125
- if (!this.url.endsWith('?')) {
126
- this.url = `${this.url}?`;
127
- }
128
- this.url = `${source.url}SERVICE=WFS&REQUEST=GetFeature&typeName=${this.typeName}&VERSION=${this.version}&SRSNAME=${this.crs}&outputFormat=${this.format}&BBOX=%bbox,${this.crs}`;
129
123
  this.zoom = {
130
124
  min: 0,
131
125
  max: Infinity
132
126
  };
127
+ const urlObj = new URL(source.url);
128
+ urlObj.searchParams.set('SERVICE', 'WFS');
129
+ urlObj.searchParams.set('REQUEST', 'GetFeature');
130
+ urlObj.searchParams.set('typeName', this.typeName);
131
+ urlObj.searchParams.set('VERSION', this.version);
132
+ urlObj.searchParams.set('SRSNAME', this.crs);
133
+ urlObj.searchParams.set('outputFormat', this.format);
134
+ urlObj.searchParams.set('BBOX', `%bbox,${this.crs}`);
133
135
  this.vendorSpecific = source.vendorSpecific;
134
136
  for (const name in this.vendorSpecific) {
135
137
  if (Object.prototype.hasOwnProperty.call(this.vendorSpecific, name)) {
136
- this.url = `${this.url}&${name}=${this.vendorSpecific[name]}`;
138
+ urlObj.searchParams.set(name, this.vendorSpecific[name]);
137
139
  }
138
140
  }
141
+ this.url = decodeURIComponent(urlObj.toString());
139
142
  }
140
143
  handlingError(err) {
141
144
  if (err.response && err.response.status == 400) {
@@ -109,18 +109,25 @@ class WMSSource extends Source {
109
109
  }
110
110
  }
111
111
  const crsPropName = this.version === '1.3.0' ? 'CRS' : 'SRS';
112
-
113
- // Add ? at the end of the url if it is not already in the given URL
114
- if (!this.url.endsWith('?')) {
115
- this.url = `${this.url}?`;
116
- }
117
- this.url = `${this.url}SERVICE=WMS&REQUEST=GetMap&LAYERS=${this.name}&VERSION=${this.version}&STYLES=${this.style}&FORMAT=${this.format}&TRANSPARENT=${this.transparent}&BBOX=%bbox&${crsPropName}=${this.crs}&WIDTH=${this.width}&HEIGHT=${this.height}`;
112
+ const urlObj = new URL(this.url);
113
+ urlObj.searchParams.set('SERVICE', 'WMS');
114
+ urlObj.searchParams.set('REQUEST', 'GetMap');
115
+ urlObj.searchParams.set('LAYERS', this.name);
116
+ urlObj.searchParams.set('VERSION', this.version);
117
+ urlObj.searchParams.set('STYLES', this.style);
118
+ urlObj.searchParams.set('FORMAT', this.format);
119
+ urlObj.searchParams.set('TRANSPARENT', this.transparent);
120
+ urlObj.searchParams.set('BBOX', '%bbox');
121
+ urlObj.searchParams.set(crsPropName, this.crs);
122
+ urlObj.searchParams.set('WIDTH', this.width);
123
+ urlObj.searchParams.set('HEIGHT', this.height);
118
124
  this.vendorSpecific = source.vendorSpecific;
119
125
  for (const name in this.vendorSpecific) {
120
126
  if (Object.prototype.hasOwnProperty.call(this.vendorSpecific, name)) {
121
- this.url = `${this.url}&${name}=${this.vendorSpecific[name]}`;
127
+ urlObj.searchParams.set(name, this.vendorSpecific[name]);
122
128
  }
123
129
  }
130
+ this.url = decodeURIComponent(urlObj.toString());
124
131
  }
125
132
  urlFromExtent(extentOrTile) {
126
133
  const extent = extentOrTile.isExtent ? extentOrTile.as(this.crs, _extent) : extentOrTile.toExtent(this.crs, _extent);
@@ -69,18 +69,24 @@ class WMTSSource extends TMSSource {
69
69
  }
70
70
  super(source);
71
71
  this.isWMTSSource = true;
72
-
73
- // Add ? at the end of the url if it is not already in the given URL
74
- if (!this.url.endsWith('?')) {
75
- this.url = `${this.url}?`;
76
- }
77
- this.url = `${this.url}` + `LAYER=${source.name}` + `&FORMAT=${this.format}` + '&SERVICE=WMTS' + `&VERSION=${source.version || '1.0.0'}` + '&REQUEST=GetTile' + `&STYLE=${source.style || 'normal'}` + `&TILEMATRIXSET=${source.tileMatrixSet}` + '&TILEMATRIX=%TILEMATRIX&TILEROW=%ROW&TILECOL=%COL';
72
+ const urlObj = new URL(this.url);
73
+ urlObj.searchParams.set('LAYER', source.name);
74
+ urlObj.searchParams.set('FORMAT', this.format);
75
+ urlObj.searchParams.set('SERVICE', 'WMTS');
76
+ urlObj.searchParams.set('VERSION', source.version || '1.0.0');
77
+ urlObj.searchParams.set('REQUEST', 'GetTile');
78
+ urlObj.searchParams.set('STYLE', source.style || 'normal');
79
+ urlObj.searchParams.set('TILEMATRIXSET', source.tileMatrixSet);
80
+ urlObj.searchParams.set('TILEMATRIX', '%TILEMATRIX');
81
+ urlObj.searchParams.set('TILEROW', '%ROW');
82
+ urlObj.searchParams.set('TILECOL', '%COL');
78
83
  this.vendorSpecific = source.vendorSpecific;
79
84
  for (const name in this.vendorSpecific) {
80
85
  if (Object.prototype.hasOwnProperty.call(this.vendorSpecific, name)) {
81
- this.url = `${this.url}&${name}=${this.vendorSpecific[name]}`;
86
+ urlObj.searchParams.set(name, this.vendorSpecific[name]);
82
87
  }
83
88
  }
89
+ this.url = decodeURIComponent(urlObj.toString());
84
90
  }
85
91
  }
86
92
  export default WMTSSource;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "itowns",
3
- "version": "2.44.3-next.10",
3
+ "version": "2.44.3-next.12",
4
4
  "description": "A JS/WebGL framework for 3D geospatial data visualization",
5
5
  "type": "module",
6
6
  "main": "lib/Main.js",