This repository has been archived by the owner on Jul 17, 2024. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 72
/
Copy pathImportController.js
506 lines (488 loc) · 29.4 KB
/
ImportController.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
goog.provide('ga_import_controller');
goog.require('ga_browsersniffer_service');
goog.require('ga_file_service');
goog.require('ga_maputils_service');
goog.require('ga_previewlayers_service');
goog.require('ga_translation_service');
goog.require('ga_urlutils_service');
goog.require('ga_vector_service');
goog.require('ga_wmts_service');
(function() {
var module = angular.module('ga_import_controller', [
'ga_file_service',
'ga_browsersniffer_service',
'ga_maputils_service',
'ga_urlutils_service',
'ga_previewlayers_service',
'ga_translation_service',
'ga_vector_service'
]);
module.controller('GaImportController', function($scope, $q,
$window, gaFile, gaBrowserSniffer, gaWms, gaUrlUtils,
gaLang, gaPreviewLayers, gaMapUtils, gaWmts, gaVector) {
var servers = [
'https://wms.geo.admin.ch/?lang=',
'https://wms-inspire.geo.admin.ch/?SERVICE=WMS',
'https://apps.ecmwf.int/wms/?token=public',
'http://owsproxy.lgl-bw.de/owsproxy/ows/WMS_Maps4BW',
'https://www.ogd.stadt-zuerich.ch/mapproxy/wmts/1.0.0/WMTSCapabilities.xml',
'https://wms.geo.ag.ch/',
'https://wms.geo.gl.ch/',
'https://ge.ch/sitgags1/services/VECTOR/SITG_OPENDATA_02/MapServer/WMSServer',
'https://ge.ch/sitgags1/services/VECTOR/SITG_OPENDATA_03/MapServer/WMSServer',
'https://ge.ch/sitgags1/services/VECTOR/SITG_GEOSERVICEDATA/MapServer/WMSServer',
'https://ge.ch/sitgags2/services/RASTER/ORTHOPHOTOS_2016/MapServer/WMSServer',
'http://wms.geo.gr.ch/admineinteilung',
'http://wms.geo.gr.ch/belastetestandorte',
'http://wms.geo.gr.ch/beweidbareflaechen',
'http://wms.geo.gr.ch/gewaesserschutz',
'http://wms.geo.gr.ch/grundwasser',
'http://wms.geo.gr.ch/historischekarten',
'http://wms.geo.gr.ch/naturgefahren_erfassungsbereiche',
'http://wms.geo.gr.ch/naturschutz',
'http://wms.geo.gr.ch/regionen',
'http://wms.geo.gr.ch/seilbahnen',
'http://wms.geo.gr.ch/amtlichevermessung_stand',
'http://wms.geo.gr.ch/wildruhezonen',
'http://wms.geo.gr.ch/wildschutzgebiete',
'https://geo.so.ch/api/wms',
'https://www.ogc.vd.ch/public/services/OGC/wmsVD/Mapserver/WMSServer',
'http://wms.geo.bs.ch/',
'https://geoservices.jura.ch/wms/',
'http://vogis.cnv.at/mapserver/mapserv?map=i_flaechenwidmung_v_wms.map',
'http://vogis.cnv.at/mapserver/mapserv?map=i_luftbilder_r_wms.map',
'http://vogis.cnv.at/mapserver/mapserv?map=i_relief_r_wms.map',
'http://vogis.cnv.at/mapserver/mapserv?map=i_historischekarten_r_wms.map',
'http://vogis.cnv.at/mapserver/mapserv?map=i_naturschutz_v_wms.map',
'http://vogis.cnv.at/mapserver/mapserv?map=i_topographie_r_wms.map',
'http://wms.pcn.minambiente.it/ogc?map=/ms_ogc/WMS_v1.3/raster/IGM_100000.map',
'http://wms.pcn.minambiente.it/ogc?map=/ms_ogc/WMS_v1.3/raster/IGM_25000.map',
'http://wms.pcn.minambiente.it/ogc?map=/ms_ogc/WMS_v1.3/raster/IGM_250000.map',
'http://wms.pcn.minambiente.it/ogc?map=/ms_ogc/WMS_v1.3/raster/DTM_20M.map',
'http://wms.pcn.minambiente.it/ogc?map=/ms_ogc/WMS_v1.3/Vettoriali/Rete_ferroviaria.map',
'http://wms.pcn.minambiente.it/ogc?map=/ms_ogc/WMS_v1.3/raster/ortofoto_colore_06.map',
'https://wms.zh.ch/ArchWMS',
'https://wms.zh.ch/TBA9ZHWMS',
'https://wms.zh.ch/TbaBaustellenZHWMS',
'https://wms.zh.ch/TBAAnlagenZHWMS',
'https://wms.zh.ch/DenkmalschutzWMS',
'https://wms.zh.ch/HaltestellenZHWMS',
'https://wms.zh.ch/WaldWNBZHWMS',
'https://wms.zh.ch/OrtsbildschutzZHWMS',
'https://wms.zh.ch/FnsLRKZHWMS',
'https://wms.zh.ch/WaldSWZHWMS',
'https://wms.zh.ch/TBAStr3ZHWMS',
'https://wms.zh.ch/TBAStr2ZHWMS',
'https://wms.zh.ch/TBAStr1ZHWMS',
'https://wms.zh.ch/ZVVZHWMS',
'https://wms.zh.ch/AFVTempo30ZHWMS',
'https://wms.zh.ch/WaldVKWMS',
'https://wms.zh.ch/VeloinfrastrukturZHWMS',
'https://wms.zh.ch/VelonetzZHWMS',
'https://wms.zh.ch/VeloparkieranlagenZHWMS',
'https://wms.zh.ch/TBAVMSZHWMS',
'https://wms.zh.ch/WaldarealZHWMS',
'https://wms.zh.ch/WildkarteZHWMS',
'https://wms.zh.ch/FnsLWZHWMS',
'https://wms.zh.ch/FNSOEQVZHWMS',
'https://wms.zh.ch/FNSLRPZHWMS',
'https://wms.zh.ch/FnsSVOZHWMS',
'https://wms.zh.ch/FnsInvZHWMS',
'https://wms.zh.ch/kkgeo_gws_zh',
'https://www.geoservice.apps.be.ch/geoservice3/services/a42geo/of_imagerybasemapsearthcover01_de_ms_wms/MapServer/WMSServer',
'https://www.geoservice.apps.be.ch/geoservice3/services/a42geo/of_boundaries01_de_ms_wms/MapServer/WMSServer',
'https://www.geoservice.apps.be.ch/geoservice3/services/a42geo/of_boundaries02_de_ms_wms/MapServer/WMSServer',
'https://www.geoservice.apps.be.ch/geoservice3/services/a42geo/of_boundaries03_de_ms_wms/MapServer/WMSServer',
'https://www.geoservice.apps.be.ch/geoservice3/services/a42geo/of_boundaries04_de_ms_wms/MapServer/WMSServer',
'https://www.geoservice.apps.be.ch/geoservice3/services/a42geo/of_boundaries05_de_ms_wms/MapServer/WMSServer',
'https://www.geoservice.apps.be.ch/geoservice3/services/a42geo/of_boundaries06_de_ms_wms/MapServer/WMSServer',
'https://www.geoservice.apps.be.ch/geoservice3/services/a42geo/of_planningcadastre01_de_ms_wms/MapServer/WMSServer',
'https://www.geoservice.apps.be.ch/geoservice3/services/a42geo/of_planningcadastre02_de_ms_wms/MapServer/WMSServer',
'https://www.geoservice.apps.be.ch/geoservice3/services/a42geo/of_planningcadastre03_de_ms_wms/MapServer/WMSServer',
'https://www.geoservice.apps.be.ch/geoservice3/services/a42geo/of_planningcadastre04_de_ms_wms/MapServer/WMSServer',
'https://www.geoservice.apps.be.ch/geoservice3/services/a42geo/of_planningcadastre05_de_ms_wms/MapServer/WMSServer',
'https://www.geoservice.apps.be.ch/geoservice3/services/a42geo/of_planningcadastre06_de_ms_wms/MapServer/WMSServer',
'https://www.geoservice.apps.be.ch/geoservice3/services/a42geo/of_planningcadastre07_de_ms_wms/MapServer/WMSServer',
'https://www.geoservice.apps.be.ch/geoservice3/services/a42geo/of_environment01_de_ms_wms/MapServer/WMSServer',
'https://www.geoservice.apps.be.ch/geoservice3/services/a42geo/of_environment02_de_ms_wms/MapServer/WMSServer',
'https://www.geoservice.apps.be.ch/geoservice3/services/a42geo/of_environment03_de_ms_wms/MapServer/WMSServer',
'https://www.geoservice.apps.be.ch/geoservice3/services/a42geo/of_geoscientificinformation01_de_ms_wms/MapServer/WMSServer',
'https://www.geoservice.apps.be.ch/geoservice3/services/a42geo/of_geoscientificinformation02_de_ms_wms/MapServer/WMSServer',
'https://www.geoservice.apps.be.ch/geoservice3/services/a42geo/of_geoscientificinformation03_de_ms_wms/MapServer/WMSServer',
'https://www.geoservice.apps.be.ch/geoservice3/services/a42geo/of_inlandwaters01_de_ms_wms/MapServer/WMSServer',
'https://www.geoservice.apps.be.ch/geoservice3/services/a42geo/of_inlandwaters02_de_ms_wms/MapServer/WMSServer',
'https://www.geoservice.apps.be.ch/geoservice3/services/a42geo/of_inlandwaters03_de_ms_wms/MapServer/WMSServer',
'https://www.geoservice.apps.be.ch/geoservice3/services/a42geo/of_transportation01_de_ms_wms/MapServer/WMSServer',
'https://www.geoservice.apps.be.ch/geoservice3/services/a42geo/of_transportation02_de_ms_wms/MapServer/WMSServer',
'https://wms.geo.gr.ch/admineinteilung',
'https://wms.geo.gr.ch/bauzonen_graubuenden',
'https://wms.geo.gr.ch/belastetestandorte',
'https://wms.geo.gr.ch/beweidbareflaechen',
'https://wms.geo.gr.ch/gewaesserschutz',
'https://wms.geo.gr.ch/grundwasser',
'https://wms.geo.gr.ch/historischekarten',
'https://wms.geo.gr.ch/landwirtschaft',
'https://wms.geo.gr.ch/naturgefahren_erfassungsbereiche',
'https://wms.geo.gr.ch/naturschutz',
'https://wms.geo.gr.ch/rrip_bregaglia',
'https://wms.geo.gr.ch/rrip_davos',
'https://wms.geo.gr.ch/rrip_mesolcina',
'https://wms.geo.gr.ch/rrip_mittelbuenden',
'https://wms.geo.gr.ch/rrip_nordbuenden',
'https://wms.geo.gr.ch/rrip_oberengadin',
'https://wms.geo.gr.ch/rrip_praettigau',
'https://wms.geo.gr.ch/rrip_unterengadin',
'https://wms.geo.gr.ch/rrip_regioviamala',
'https://wms.geo.gr.ch/regionen',
'https://wms.geo.gr.ch/schutzwald',
'https://wms.geo.gr.ch/seilbahnen',
'https://wms.geo.gr.ch/amtlichevermessung_stand',
'https://wms.geo.gr.ch/waldentwicklungsplan',
'https://wms.geo.gr.ch/wildruhezonen',
'https://wms.geo.gr.ch/wildschutzgebiete',
'https://wms.geo.gr.ch/richtplan',
'https://wms.geo.gr.ch/uebersichtsplan',
'https://map.geo.sz.ch/mapserv_proxy',
'http://geoshop.sz.ch/WMSSZ',
'https://map.geo.tg.ch/proxy/geofy_chsdi3/gefaehrdung_wasser?access_key=YoW2syIQ4xe0ccJA',
'https://map.geo.tg.ch/proxy/geofy_chsdi3/grundwasserkarte-fassung?access_key=YoW2syIQ4xe0ccJA',
'https://map.geo.tg.ch/proxy/geofy_chsdi3/gewaesserschutzkarte-gewaesserschutzbereiche?access_key=YoW2syIQ4xe0ccJA',
'https://map.geo.tg.ch/proxy/geofy_chsdi3/luftbelastung-stickstoff?access_key=YoW2syIQ4xe0ccJA',
'https://map.geo.tg.ch/proxy/geofy_chsdi3/emissionen-stickoxide?access_key=YoW2syIQ4xe0ccJA',
'https://map.geo.tg.ch/proxy/geofy_chsdi3/av_wms_mbsf?access_key=YoW2syIQ4xe0ccJA',
'https://map.geo.tg.ch/proxy/geofy_chsdi3/orthofotos?access_key=YoW2syIQ4xe0ccJA',
'https://map.geo.tg.ch/proxy/geofy_chsdi3/basisplanf?access_key=YoW2syIQ4xe0ccJA',
'https://map.geo.tg.ch/proxy/geofy_chsdi3/hintergrundplan?access_key=YoW2syIQ4xe0ccJA',
'https://map.geo.tg.ch/proxy/geofy_chsdi3/basisplansw?access_key=YoW2syIQ4xe0ccJA',
'https://map.geo.tg.ch/proxy/geofy_chsdi3/erdwaerme_erdwaermesonden?access_key=YoW2syIQ4xe0ccJA',
'https://map.geo.tg.ch/proxy/geofy_chsdi3/neophyten-pflanzenart?access_key=YoW2syIQ4xe0ccJA',
'https://map.geo.tg.ch/proxy/geofy_chsdi3/biomasse-oberflaeche?access_key=YoW2syIQ4xe0ccJA',
'https://map.geo.tg.ch/proxy/geofy_chsdi3/gefahrenhinweiskarte_allgemeine_gefahrengebiete?access_key=YoW2syIQ4xe0ccJA',
'https://map.geo.tg.ch/proxy/geofy_chsdi3/bodenuebersicht-regionen?access_key=YoW2syIQ4xe0ccJA',
'https://wms.geo.ti.ch/service',
'http://webdienste.zugmap.ch/basisplan_sw/service.svc/get',
'http://webdienste.zugmap.ch/basisplan_farbig/service.svc/get',
'http://webdienste.zugmap.ch/Landwirtschaft_Naturschutz/service.svc/get',
'https://wms.geo.sh.ch/wms?SERVICE=WMS',
'http://service.lisag.ch/wms',
'http://wms.geoportal.ch:8080/geoserver/AVAI/wms',
'https://geodienste.ch/db/av/deu',
'https://geodienste.ch/db/av/fra',
'https://geodienste.ch/db/av/ita',
'https://geodienste.ch/db/avc/deu',
'https://geodienste.ch/db/avc/fra',
'https://geodienste.ch/db/avc/ita',
'https://geodienste.ch/db/av_situationsplan/deu',
'https://geodienste.ch/db/av_situationsplan/fra',
'https://geodienste.ch/db/av_situationsplan/ita',
'https://geodienste.ch/db/fixpunkte_v1_1_0/deu',
'https://geodienste.ch/db/fixpunkte_v1_1_0/fra',
'https://geodienste.ch/db/fixpunkte_v1_1_0/ita',
'https://geodienste.ch/db/fruchtfolgeflaechen/deu',
'https://geodienste.ch/db/fruchtfolgeflaechen/fra',
'https://geodienste.ch/db/fruchtfolgeflaechen/ita',
'https://geodienste.ch/db/gefahrenkarten_v1_3_0/deu',
'https://geodienste.ch/db/gefahrenkarten_v1_3_0/fra',
'https://geodienste.ch/db/gefahrenkarten_v1_3_0/ita',
'https://geodienste.ch/db/gefahrenkarten_v1_3_0/eng',
'https://geodienste.ch/db/kantonale_ausnahmetransportrouten/deu',
'https://geodienste.ch/db/kantonale_ausnahmetransportrouten/fra',
'https://geodienste.ch/db/kantonale_ausnahmetransportrouten/ita',
'https://geodienste.ch/db/kantonale_ausnahmetransportrouten/eng',
'https://geodienste.ch/db/kataster_belasteter_standorte/deu',
'https://geodienste.ch/db/kataster_belasteter_standorte/fra',
'https://geodienste.ch/db/kataster_belasteter_standorte/ita',
'https://geodienste.ch/db/luftbild/deu',
'https://geodienste.ch/db/luftbild/fra',
'https://geodienste.ch/db/luftbild/ita',
'https://geodienste.ch/db/lwb_bewirtschaftungseinheit/deu',
'https://geodienste.ch/db/lwb_bewirtschaftungseinheit/fra',
'https://geodienste.ch/db/lwb_bewirtschaftungseinheit/ita',
'https://geodienste.ch/db/lwb_biodiversitaetsfoerderflaechen/deu',
'https://geodienste.ch/db/lwb_biodiversitaetsfoerderflaechen/fra',
'https://geodienste.ch/db/lwb_biodiversitaetsfoerderflaechen/ita',
'https://geodienste.ch/db/lwb_nutzungsflaechen/deu',
'https://geodienste.ch/db/lwb_nutzungsflaechen/fra',
'https://geodienste.ch/db/lwb_nutzungsflaechen/ita',
'https://geodienste.ch/db/lwb_perimeter_ln_sf/deu',
'https://geodienste.ch/db/lwb_perimeter_ln_sf/fra',
'https://geodienste.ch/db/lwb_perimeter_ln_sf/ita',
'https://geodienste.ch/db/lwb_perimeter_terrassenreben/deu',
'https://geodienste.ch/db/lwb_perimeter_terrassenreben/fra',
'https://geodienste.ch/db/lwb_perimeter_terrassenreben/ita',
'https://geodienste.ch/db/lwb_rebbaukataster/deu',
'https://geodienste.ch/db/lwb_rebbaukataster/fra',
'https://geodienste.ch/db/lwb_rebbaukataster/ita',
'https://geodienste.ch/db/naturereigniskataster_v1_0_0/deu',
'https://geodienste.ch/db/naturereigniskataster_v1_0_0/fra',
'https://geodienste.ch/db/naturereigniskataster_v1_0_0/ita',
'https://geodienste.ch/db/npl_laermempfindlichkeitsstufen/deu',
'https://geodienste.ch/db/npl_laermempfindlichkeitsstufen/fra',
'https://geodienste.ch/db/npl_laermempfindlichkeitsstufen/ita',
'https://geodienste.ch/db/npl_nutzungsplanung/deu',
'https://geodienste.ch/db/npl_nutzungsplanung/fra',
'https://geodienste.ch/db/npl_nutzungsplanung/ita',
'https://geodienste.ch/db/npl_waldabstandslinien/deu',
'https://geodienste.ch/db/npl_waldabstandslinien/fra',
'https://geodienste.ch/db/npl_waldabstandslinien/ita',
'https://geodienste.ch/db/npl_waldgrenzen/deu',
'https://geodienste.ch/db/npl_waldgrenzen/fra',
'https://geodienste.ch/db/npl_waldgrenzen/ita',
'https://geodienste.ch/db/planerischer_gewaesserschutz_v1_1_1/deu',
'https://geodienste.ch/db/planerischer_gewaesserschutz_v1_1_1/fra',
'https://geodienste.ch/db/planerischer_gewaesserschutz_v1_1_1/ita',
'https://geodienste.ch/db/planungszonen_v1_0_0/deu',
'https://geodienste.ch/db/planungszonen_v1_0_0/fra',
'https://geodienste.ch/db/planungszonen_v1_0_0/ita',
'https://geodienste.ch/db/revitalisierung_seen_v1_2_0/deu',
'https://geodienste.ch/db/revitalisierung_seen_v1_2_0/fra',
'https://geodienste.ch/db/revitalisierung_seen_v1_2_0/ita',
'https://geodienste.ch/db/richtplanung_erneuerbare_energien_v1_0_0/deu',
'https://geodienste.ch/db/richtplanung_erneuerbare_energien_v1_0_0/fra',
'https://geodienste.ch/db/richtplanung_erneuerbare_energien_v1_0_0/ita',
'https://geodienste.ch/db/stromversorgungssicherheit_netzgebiete_v1_2_0/deu',
'https://geodienste.ch/db/stromversorgungssicherheit_netzgebiete_v1_2_0/fra',
'https://geodienste.ch/db/stromversorgungssicherheit_netzgebiete_v1_2_0/ita',
'https://geodienste.ch/db/waldreservate/deu',
'https://geodienste.ch/db/waldreservate/fra',
'https://geodienste.ch/db/waldreservate/ita',
'https://geodienste.ch/db/wildruhezonen_v2_1_1/deu',
'https://geodienste.ch/db/wildruhezonen_v2_1_1/fra',
'https://geodienste.ch/db/wildruhezonen_v2_1_1/ita',
// non-SwissProjected test urls
'http://bio.discomap.eea.europa.eu/arcgis/services/Ecosystem/Ecosystems/MapServer/WMSServer',
'http://copernicus.discomap.eea.europa.eu/arcgis/services/Corine/CLC2012_WM/MapServer/WMSServer',
'https://image.discomap.eea.europa.eu/arcgis/services/GioLandPublic/DEM/MapServer/WMSServer',
'https://image.discomap.eea.europa.eu/arcgis/services/Elevation/Hillshade/MapServer/WMSServer',
'https://view.eumetsat.int/geoserver/wms?service=WMS',
'https://ogc.glamos.ch/sgi',
'http://osm.omniscale.net/proxy/service',
'https://ows.terrestris.de/osm/service',
'https://ows.terrestris.de/osm-gray/service',
'https://owsproxy.lgl-bw.de/owsproxy/ows/WMS_Maps4BW?request=GetCapabilities&service=WMS&Version=1.3.0',
'http://rips-gdi.lubw.baden-wuerttemberg.de/arcgis/services/wms/UIS_0100000017900001/MapServer/WMSServer',
'http://rips-gdi.lubw.baden-wuerttemberg.de/arcgis/services/wms/UIS_0100000017400001/MapServer/WMSServer',
'http://rips-gdi.lubw.baden-wuerttemberg.de/arcgis/services/wms/UIS_0100000016900001/MapServer/WMSServer',
'http://rips-gdi.lubw.baden-wuerttemberg.de/arcgis/services/wms/UIS_0100000013500001/MapServer/WMSServer',
'http://rips-gdi.lubw.baden-wuerttemberg.de/arcgis/services/wms/UIS_0100000013300001/MapServer/WMSServer',
'http://rips-gdi.lubw.baden-wuerttemberg.de/arcgis/services/wms/UIS_0100000013400001/MapServer/WMSServer',
'http://rips-gdi.lubw.baden-wuerttemberg.de/arcgis/services/wms/UIS_0100000013600001/MapServer/WMSServer',
'http://rips-gdi.lubw.baden-wuerttemberg.de/arcgis/services/wms/UIS_0100000013100001/MapServer/WMSServer',
'http://rips-gdi.lubw.baden-wuerttemberg.de/arcgis/services/wms/UIS_0100000001500003/MapServer/WMSServer',
'http://rips-gdi.lubw.baden-wuerttemberg.de/arcgis/services/wms/UIS_0100000004200001/MapServer/WMSServer',
'https://services.geo.sg.ch/wss/service/SG00002_WMS/guest?',
'https://services.geo.sg.ch/wss/service/SG00135_WMS/guest?',
'https://services.geo.sg.ch/wss/service/SG00155_WMS/guest?',
'https://services.geo.sg.ch/wss/service/SG00046_WMS/guest?',
'https://services.geo.sg.ch/wss/service/SG00047_WMS/guest?',
'https://services.geo.sg.ch/wss/service/SG00015_WMS/guest?',
'https://services.geo.sg.ch/wss/service/SG00014_WMS/guest?',
'https://services.geo.sg.ch/wss/service/SG00072_WMS/guest?',
'https://services.geo.sg.ch/wss/service/SG00055_WMS/guest?',
'https://services.geo.sg.ch/wss/service/SG00066_WMS/guest?',
'https://services.geo.sg.ch/wss/service/SG00073_WMS/guest?',
'https://services.geo.sg.ch/wss/service/SG00031_WMS/guest?',
'https://services.geo.sg.ch/wss/service/SG00028_WMS/guest?',
'https://services.geo.sg.ch/wss/service/SG00057_WMS/guest?',
'https://services.geo.sg.ch/wss/service/SG00017_WMS/guest?',
'https://services.geo.sg.ch/wss/service/SG00095_WMS/guest?',
'https://services.geo.sg.ch/wss/service/SG00058_WMS/guest?',
'https://services.geo.sg.ch/wss/service/SG00129_WMS/guest?',
'https://services.geo.sg.ch/wss/service/SG00104_WMS/guest?',
'https://services.geo.sg.ch/wss/service/SG00105_WMS/guest?',
'https://services.geo.sg.ch/wss/service/SG00097_WMS/guest?',
'https://services.geo.sg.ch/wss/service/SG00089_WMS/guest?',
'https://services.geo.sg.ch/wss/service/SG00008_WMS/guest?',
'https://services.geo.sg.ch/wss/service/SG00032_WMS/guest?',
'https://services.geo.sg.ch/wss/service/SG00033_WMS/guest?',
'https://services.geo.sg.ch/wss/service/SG00061_WMS/guest?',
'https://services.geo.sg.ch/wss/service/SG00022_WMS/guest?',
'https://services.geo.sg.ch/wss/service/SG00036_WMS/guest?',
'https://services.geo.sg.ch/wss/service/SG00042_WMS/guest?',
'https://services.geo.sg.ch/wss/service/SG00053_WMS/guest?',
'https://services.geo.sg.ch/wss/service/SG00068_WMS/guest?',
'https://services.geo.sg.ch/wss/service/SG00080_WMS/guest?',
'https://services.geo.sg.ch/wss/service/SG00026_WMS/guest?',
'https://services.geo.sg.ch/wss/service/SG00093_WMS/guest?',
'https://services.geo.sg.ch/wss/service/SG00101_WMS/guest?',
'https://services.geo.sg.ch/wss/service/SG00010_WMS/guest?',
'https://services.geo.sg.ch/wss/service/SG00011_WMS/guest?',
'https://services.geo.sg.ch/wss/service/SG00075_WMS/guest?',
'https://services.geo.sg.ch/wss/service/SG00076_WMS/guest?',
'https://services.geo.sg.ch/wss/service/SG00069_WMS/guest?',
'https://services.geo.sg.ch/wss/service/SG00077_WMS/guest?',
'https://services.geo.sg.ch/wss/service/SG00088_WMS/guest?',
'https://services.geo.sg.ch/wss/service/SG00021_WMS/guest?',
'https://services.geo.sg.ch/wss/service/SG00020_WMS/guest?',
'https://services.geo.sg.ch/wss/service/SG00037_WMS/guest?',
'https://services.geo.sg.ch/wss/service/SG00038_WMS/guest?',
'https://services.geo.sg.ch/wss/service/SG00160_WMS/guest?',
'https://services.geo.sg.ch/wss/service/SG00087_WMS/guest?',
'https://services.geo.sg.ch/wss/service/SG00039_WMS/guest?',
'https://services.geo.sg.ch/wss/service/SG00013_WMS/guest?',
'https://services.geo.sg.ch/wss/service/SG00041_WMS/guest?',
'https://services.geo.sg.ch/wss/service/SG00081_WMS/guest?',
'https://services.geo.sg.ch/wss/service/SG00078_WMS/guest?',
'https://services.geo.sg.ch/wss/service/SG00085_WMS/guest?',
'https://services.geo.sg.ch/wss/service/SG00102_WMS/guest?',
'https://services.geo.sg.ch/wss/service/SG00064_WMS/guest?',
'https://services.geo.sg.ch/wss/service/SG00103_WMS/guest?',
'https://services.geo.sg.ch/wss/service/SG00062_WMS/guest?',
'https://services.geo.sg.ch/wss/service/SG00158_WMS/guest?',
'https://services.geo.sg.ch/wss/service/SG00164_WMS/guest?',
'https://services.geo.sg.ch/wss/service/SG00124_WMS/guest?',
'https://services.geo.sg.ch/wss/service/SG00012_WMS/guest?',
'https://services.geo.sg.ch/wss/service/SG00018_WMS/guest?',
'https://services.geo.sg.ch/wss/service/SG00051_WMS/guest?',
'https://services.geo.sg.ch/wss/service/SG00019_WMS/guest?',
'https://services.geo.sg.ch/wss/service/SG00052_WMS/guest?',
'https://services.geo.sg.ch/wss/service/SG00023_WMS/guest?',
'https://services.geo.sg.ch/wss/service/SG00024_WMS/guest?',
'https://services.geo.sg.ch/wss/service/SG00084_WMS/guest?',
'https://services.geo.sg.ch/wss/service/SG00082_WMS/guest?',
'https://services.geo.sg.ch/wss/service/SG00065_WMS/guest?',
'https://services.geo.sg.ch/wss/service/SG00025_WMS/guest?',
'https://services.geo.sg.ch/wss/service/SG00034_WMS/guest?',
'https://services.geo.sg.ch/wss/service/SG00035_WMS/guest?',
'https://services.geo.sg.ch/wss/service/SG00044_WMS/guest?',
'https://services.geo.sg.ch/wss/service/SG00172_WMS/guest?',
'https://services.geo.sg.ch/wss/service/SG00170_WMS/guest?',
'https://services.geo.sg.ch/wss/service/SG00016_WMS/guest?',
'https://services.geo.sg.ch/wss/service/SG00100_WMS/guest?',
'https://services.geo.sg.ch/wss/service/SG00083_WMS/guest?',
'https://services.geo.sg.ch/wss/service/SG00096_WMS/guest?',
'https://services.geo.sg.ch/wss/service/SG00027_WMS/guest?',
// WMTS servers
'https://tiles.arcgis.com/tiles/oPre3pOfRfefL8y0/arcgis/rest/services/Topographic_Map_Switzerland/MapServer/WMTS/1.0.0/WMTSCapabilities.xml',
'http://www.basemap.at/wmts/1.0.0/WMTSCapabilities.xml',
'https://wmts.geo.bs.ch/1.0.0/WMTSCapabilities.xml',
'https://osmlab.github.io/wmts-osm/WMTSCapabilities.xml',
'https://wxs.ign.fr/bvl2gp6za3srtz6yblo9fx8o/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetCapabilities',
'http://cidportal.jrc.ec.europa.eu/copernicus/services/tile/wmts/1.0.0/WMTSCapabilities.xml',
'https://geoserver.swissdatacube.org/geoserver/gwc/service/wmts?REQUEST=GetCapabilities',
'https://services.arcgisonline.com/arcgis/rest/services/World_Topo_Map/MapServer/WMTS/1.0.0/WMTSCapabilities.xml',
'https://services.arcgisonline.com/arcgis/rest/services/World_Terrain_Base/MapServer/WMTS/1.0.0/WMTSCapabilities.xml',
'https://services.arcgisonline.com/arcgis/rest/services/World_Street_Map/MapServer/WMTS/1.0.0/WMTSCapabilities.xml',
'https://services.arcgisonline.com/arcgis/rest/services/World_Shaded_Relief/MapServer/WMTS/1.0.0/WMTSCapabilities.xml',
'https://services.arcgisonline.com/arcgis/rest/services/ESRI_StreetMap_World_2D/MapServer/WMTS/1.0.0/WMTSCapabilities.xml',
'https://services.arcgisonline.com/arcgis/rest/services/Reference/World_Transportation/MapServer/WMTS/1.0.0/WMTSCapabilities.xml',
'https://services.arcgisonline.com/arcgis/rest/services/Canvas/World_Dark_Gray_Base/MapServer/WMTS/1.0.0/WMTSCapabilities.xml',
'https://services.arcgisonline.com/arcgis/rest/services/Canvas/World_Dark_Gray_Reference/MapServer/WMTS/1.0.0/WMTSCapabilities.xml',
'http://sgx.geodatenzentrum.de/wmts_topplus_open/1.0.0/WMTSCapabilities.xml',
'https://geo.so.ch/api/wmts/1.0.0/WMTSCapabilities.xml',
'https://wmts.geo.ti.ch/wmts/1.0.0/WMTSCapabilities.xml',
'https://www.mapant.ch/WMTSCapabilities.xml',
'https://www.opensnowmap.org/OSnM_GetCapabilities.xml',
'https://p20.cosmos-project.ch/sd20alps_map/wmts?request=getcapabilities',
'https://services.geo.sg.ch/wss/service/SG00002_WMTS/guest?',
'https://services.geo.sg.ch/wss/service/SG00135_WMTS/guest?',
'https://services.geo.sg.ch/wss/service/SG00155_WMTS/guest?',
'https://services.geo.sg.ch/wss/service/SG00046_WMTS/guest?',
'https://services.geo.sg.ch/wss/service/SG00047_WMTS/guest?',
'https://services.geo.sg.ch/wss/service/SG00015_WMTS/guest?',
'https://services.geo.sg.ch/wss/service/SG00014_WMTS/guest?',
'https://services.geo.sg.ch/wss/service/SG00072_WMTS/guest?',
'https://services.geo.sg.ch/wss/service/SG00055_WMTS/guest?',
'https://services.geo.sg.ch/wss/service/SG00066_WMTS/guest?',
'https://services.geo.sg.ch/wss/service/SG00073_WMTS/guest?',
'https://services.geo.sg.ch/wss/service/SG00031_WMTS/guest?',
'https://services.geo.sg.ch/wss/service/SG00062_WMTS/guest?'
];
// Typeahead manages a list of objects with a url property, so we
// transform the servers which are defined only by a url into object.
servers.forEach(function(server, idx) {
if (angular.isString(server)) {
servers[idx] = {
'url': server
}
}
});
$scope.supportDnd = !gaBrowserSniffer.msie || gaBrowserSniffer.msie > 9;
$scope.options = {};
$scope.options.servers = servers;
$scope.options.isValidUrl = gaUrlUtils.isValid;
$scope.options.getOlLayerFromGetCapLayer = function(layer) {
if (layer.wmsUrl) {
return gaWms.getOlLayerFromGetCapLayer(layer);
} else if (layer.capabilitiesUrl) {
return gaWmts.getOlLayerFromGetCap($scope.map, $scope.wmtsGetCap,
layer.Identifier, {
capabilitiesUrl: layer.capabilitiesUrl
});
}
};
$scope.options.addPreviewLayer = function(map, getCapLayer) {
gaPreviewLayers.addGetCapLayer(map, $scope.wmtsGetCap ||
$scope.wmsGetCap, getCapLayer);
};
$scope.options.removePreviewLayer = gaPreviewLayers.removeAll;
$scope.options.transformExtent = gaMapUtils.intersectWithDefaultExtent;
// Transform the url before loading it.
$scope.options.transformUrl = function(url) {
// If the url has no file extension or a map parameter,
// try to load a WMS/WMTS GetCapabilities.
if ((!/\.(kml|kmz|xml|txt)/i.test(url) &&
!/\w+\/\w+\.[a-zA-Z]+$/i.test(url)) ||
/map=/i.test(url)) {
// Append WMS GetCapabilities default parameters
url = gaUrlUtils.append(url, /wmts/i.test(url) ?
'SERVICE=WMTS&REQUEST=GetCapabilities&VERSION=1.0.0' :
'SERVICE=WMS&REQUEST=GetCapabilities&VERSION=1.3.0');
// Use lang param only for admin.ch servers
if (/admin\.ch/.test(url)) {
url = gaUrlUtils.append(url, 'lang=' + gaLang.get());
}
// Replace the subdomain template if exists
url = url.replace(/{s}/, '');
}
// Save the good url for the import component.
$scope.getCapUrl = url;
return gaUrlUtils.proxifyUrl(url);
};
// Manage data depending on the content
// @param data<String> Content of the file.
// @param file<Object> Informations of the file (if available).
$scope.options.handleFileContent = function(data, file) {
var defer = $q.defer();
$scope.wmsGetCap = null;
$scope.options.wmsGetCapUrl = null;
$scope.wmtsGetCap = null;
file = file || {};
if (gaFile.isWmsGetCap(data)) {
$scope.wmsGetCap = data;
$scope.options.wmsGetCapUrl = file.url;
defer.resolve({
message: 'upload_succeeded'
});
} else if (gaFile.isGpx(data) || gaFile.isKml(data)) {
gaVector.addToMap($scope.map, data, {
url: file.url || URL.createObjectURL(file),
useImageVector: gaVector.useImageVector(file.size),
zoomToExtent: true
}).then(function() {
defer.resolve({
message: 'parse_succeeded'
});
}, function(reason) {
$window.console.error('Vector data parsing failed: ', reason);
defer.reject({
message: 'parse_failed',
reason: reason
});
});
} else if (gaFile.isWmtsGetCap(data)) {
$scope.wmtsGetCap = data;
defer.resolve({
message: 'upload_succeeded'
});
} else {
$window.console.error('Unparseable content: ', data);
defer.reject({
message: 'parse_failed',
reason: 'format_not_supported'
});
}
return defer.promise;
};
});
})();