columbus3 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (49) hide show
  1. checksums.yaml +7 -0
  2. data/.gitignore +9 -0
  3. data/.travis.yml +4 -0
  4. data/Gemfile +4 -0
  5. data/LICENSE.txt +21 -0
  6. data/README.md +41 -0
  7. data/Rakefile +10 -0
  8. data/bin/console +14 -0
  9. data/bin/setup +7 -0
  10. data/bower_components/leaflet/.bower.json +34 -0
  11. data/bower_components/leaflet/CHANGELOG.md +929 -0
  12. data/bower_components/leaflet/CONTRIBUTING.md +155 -0
  13. data/bower_components/leaflet/Jakefile.js +48 -0
  14. data/bower_components/leaflet/LICENSE +23 -0
  15. data/bower_components/leaflet/PLUGIN-GUIDE.md +127 -0
  16. data/bower_components/leaflet/README.md +34 -0
  17. data/bower_components/leaflet/bower.json +24 -0
  18. data/bower_components/leaflet/component.json +20 -0
  19. data/bower_components/leaflet/dist/images/layers-2x.png +0 -0
  20. data/bower_components/leaflet/dist/images/layers.png +0 -0
  21. data/bower_components/leaflet/dist/images/marker-icon-2x.png +0 -0
  22. data/bower_components/leaflet/dist/images/marker-icon.png +0 -0
  23. data/bower_components/leaflet/dist/images/marker-shadow.png +0 -0
  24. data/bower_components/leaflet/dist/leaflet-src.js +9180 -0
  25. data/bower_components/leaflet/dist/leaflet.css +478 -0
  26. data/bower_components/leaflet/dist/leaflet.js +9 -0
  27. data/bower_components/leaflet/package.json +33 -0
  28. data/bower_components/leaflet-providers/.bower.json +35 -0
  29. data/bower_components/leaflet-providers/CONTRIBUTING.md +10 -0
  30. data/bower_components/leaflet-providers/README.md +54 -0
  31. data/bower_components/leaflet-providers/bower.json +25 -0
  32. data/bower_components/leaflet-providers/css/gh-fork-ribbon.css +127 -0
  33. data/bower_components/leaflet-providers/css/gh-fork-ribbon.ie.css +68 -0
  34. data/bower_components/leaflet-providers/leaflet-providers.js +630 -0
  35. data/bower_components/leaflet-providers/license.md +9 -0
  36. data/bower_components/leaflet-providers/package.json +38 -0
  37. data/columbus3.gemspec +28 -0
  38. data/exe/columbus3 +144 -0
  39. data/lib/columbus3/metadata/query_parser.racc +160 -0
  40. data/lib/columbus3/metadata/query_parser.tab.rb +349 -0
  41. data/lib/columbus3/metadata/sidecar.rb +48 -0
  42. data/lib/columbus3/renderer/renderer.rb +73 -0
  43. data/lib/columbus3/v900track/v900track.rb +157 -0
  44. data/lib/columbus3/v900track/v900waypoint.rb +51 -0
  45. data/lib/columbus3/version.rb +3 -0
  46. data/lib/columbus3.rb +6 -0
  47. data/lib/html/show.html.erb +84 -0
  48. data/lib/html/track.js.erb +15 -0
  49. metadata +164 -0
@@ -0,0 +1,68 @@
1
+ /* IE voodoo courtesy of http://stackoverflow.com/a/4617511/263871 and
2
+ * http://www.useragentman.com/IETransformsTranslator */
3
+ .github-fork-ribbon-wrapper.right .github-fork-ribbon {
4
+ /* IE positioning hack (couldn't find a transform-origin alternative for IE) */
5
+ top: -22px;
6
+ right: -62px;
7
+
8
+ /* IE8+ */
9
+ -ms-filter: "progid:DXImageTransform.Microsoft.Matrix(M11=0.7071067811865474, M12=-0.7071067811865477, M21=0.7071067811865477, M22=0.7071067811865474, SizingMethod='auto expand')";
10
+ /* IE6 and 7 */
11
+ filter: progid:DXImageTransform.Microsoft.Matrix(
12
+ M11=0.7071067811865474,
13
+ M12=-0.7071067811865477,
14
+ M21=0.7071067811865477,
15
+ M22=0.7071067811865474,
16
+ SizingMethod='auto expand'
17
+ );
18
+ }
19
+
20
+ .github-fork-ribbon-wrapper.left .github-fork-ribbon {
21
+ top: -22px;
22
+ left: -22px;
23
+
24
+ /* IE8+ */
25
+ -ms-filter: "progid:DXImageTransform.Microsoft.Matrix(M11=0.7071067811865483, M12=0.7071067811865467, M21=-0.7071067811865467, M22=0.7071067811865483, SizingMethod='auto expand')";
26
+ /* IE6 and 7 */
27
+ filter: progid:DXImageTransform.Microsoft.Matrix(
28
+ M11=0.7071067811865483,
29
+ M12=0.7071067811865467,
30
+ M21=-0.7071067811865467,
31
+ M22=0.7071067811865483,
32
+ SizingMethod='auto expand'
33
+ );
34
+ }
35
+
36
+ .github-fork-ribbon-wrapper.left-bottom .github-fork-ribbon {
37
+ /* IE positioning hack (couldn't find a transform-origin alternative for IE) */
38
+ top: 12px;
39
+ left: -22px;
40
+
41
+
42
+ /* IE8+ */
43
+ -ms-filter: "progid:DXImageTransform.Microsoft.Matrix(M11=0.7071067811865474, M12=-0.7071067811865477, M21=0.7071067811865477, M22=0.7071067811865474, SizingMethod='auto expand')";
44
+ /* IE6 and 7 */
45
+ /* filter: progid:DXImageTransform.Microsoft.Matrix(
46
+ M11=0.7071067811865474,
47
+ M12=-0.7071067811865477,
48
+ M21=0.7071067811865477,
49
+ M22=0.7071067811865474,
50
+ SizingMethod='auto expand'
51
+ );
52
+ */}
53
+
54
+ .github-fork-ribbon-wrapper.right-bottom .github-fork-ribbon {
55
+ top: 12px;
56
+ right: -62px;
57
+
58
+ /* IE8+ */
59
+ -ms-filter: "progid:DXImageTransform.Microsoft.Matrix(M11=0.7071067811865483, M12=0.7071067811865467, M21=-0.7071067811865467, M22=0.7071067811865483, SizingMethod='auto expand')";
60
+ /* IE6 and 7 */
61
+ filter: progid:DXImageTransform.Microsoft.Matrix(
62
+ M11=0.7071067811865483,
63
+ M12=0.7071067811865467,
64
+ M21=-0.7071067811865467,
65
+ M22=0.7071067811865483,
66
+ SizingMethod='auto expand'
67
+ );
68
+ }
@@ -0,0 +1,630 @@
1
+ (function (root, factory) {
2
+ if (typeof define === 'function' && define.amd) {
3
+ // AMD. Register as an anonymous module.
4
+ define(['leaflet'], factory);
5
+ } else {
6
+ // Assume leaflet is loaded into global object L already
7
+ factory(L);
8
+ }
9
+ }(this, function (L) {
10
+ 'use strict';
11
+
12
+ L.TileLayer.Provider = L.TileLayer.extend({
13
+ initialize: function (arg, options) {
14
+ var providers = L.TileLayer.Provider.providers;
15
+
16
+ var parts = arg.split('.');
17
+
18
+ var providerName = parts[0];
19
+ var variantName = parts[1];
20
+
21
+ if (!providers[providerName]) {
22
+ throw 'No such provider (' + providerName + ')';
23
+ }
24
+
25
+ var provider = {
26
+ url: providers[providerName].url,
27
+ options: providers[providerName].options
28
+ };
29
+
30
+ // overwrite values in provider from variant.
31
+ if (variantName && 'variants' in providers[providerName]) {
32
+ if (!(variantName in providers[providerName].variants)) {
33
+ throw 'No such variant of ' + providerName + ' (' + variantName + ')';
34
+ }
35
+ var variant = providers[providerName].variants[variantName];
36
+ var variantOptions;
37
+ if (typeof variant === 'string') {
38
+ variantOptions = {
39
+ variant: variant
40
+ };
41
+ } else {
42
+ variantOptions = variant.options;
43
+ }
44
+ provider = {
45
+ url: variant.url || provider.url,
46
+ options: L.Util.extend({}, provider.options, variantOptions)
47
+ };
48
+ } else if (typeof provider.url === 'function') {
49
+ provider.url = provider.url(parts.splice(1, parts.length - 1).join('.'));
50
+ }
51
+
52
+ var forceHTTP = window.location.protocol === 'file:' || provider.options.forceHTTP;
53
+ if (provider.url.indexOf('//') === 0 && forceHTTP) {
54
+ provider.url = 'http:' + provider.url;
55
+ }
56
+
57
+ // replace attribution placeholders with their values from toplevel provider attribution,
58
+ // recursively
59
+ var attributionReplacer = function (attr) {
60
+ if (attr.indexOf('{attribution.') === -1) {
61
+ return attr;
62
+ }
63
+ return attr.replace(/\{attribution.(\w*)\}/,
64
+ function (match, attributionName) {
65
+ return attributionReplacer(providers[attributionName].options.attribution);
66
+ }
67
+ );
68
+ };
69
+ provider.options.attribution = attributionReplacer(provider.options.attribution);
70
+
71
+ // Compute final options combining provider options with any user overrides
72
+ var layerOpts = L.Util.extend({}, provider.options, options);
73
+ L.TileLayer.prototype.initialize.call(this, provider.url, layerOpts);
74
+ }
75
+ });
76
+
77
+ /**
78
+ * Definition of providers.
79
+ * see http://leafletjs.com/reference.html#tilelayer for options in the options map.
80
+ */
81
+
82
+ L.TileLayer.Provider.providers = {
83
+ OpenStreetMap: {
84
+ url: '//{s}.tile.openstreetmap.org/{z}/{x}/{y}.png',
85
+ options: {
86
+ maxZoom: 19,
87
+ attribution:
88
+ '&copy; <a href="http://www.openstreetmap.org/copyright">OpenStreetMap</a>'
89
+ },
90
+ variants: {
91
+ Mapnik: {},
92
+ BlackAndWhite: {
93
+ url: 'http://{s}.tiles.wmflabs.org/bw-mapnik/{z}/{x}/{y}.png',
94
+ options: {
95
+ maxZoom: 18
96
+ }
97
+ },
98
+ DE: {
99
+ url: 'http://{s}.tile.openstreetmap.de/tiles/osmde/{z}/{x}/{y}.png',
100
+ options: {
101
+ maxZoom: 18
102
+ }
103
+ },
104
+ France: {
105
+ url: 'http://{s}.tile.openstreetmap.fr/osmfr/{z}/{x}/{y}.png',
106
+ options: {
107
+ attribution: '&copy; Openstreetmap France | {attribution.OpenStreetMap}'
108
+ }
109
+ },
110
+ HOT: {
111
+ url: 'http://{s}.tile.openstreetmap.fr/hot/{z}/{x}/{y}.png',
112
+ options: {
113
+ attribution: '{attribution.OpenStreetMap}, Tiles courtesy of <a href="http://hot.openstreetmap.org/" target="_blank">Humanitarian OpenStreetMap Team</a>'
114
+ }
115
+ }
116
+ }
117
+ },
118
+ OpenSeaMap: {
119
+ url: 'http://tiles.openseamap.org/seamark/{z}/{x}/{y}.png',
120
+ options: {
121
+ attribution: 'Map data: &copy; <a href="http://www.openseamap.org">OpenSeaMap</a> contributors'
122
+ }
123
+ },
124
+ OpenTopoMap: {
125
+ url: '//{s}.tile.opentopomap.org/{z}/{x}/{y}.png',
126
+ options: {
127
+ maxZoom: 16,
128
+ attribution: 'Map data: {attribution.OpenStreetMap}, <a href="http://viewfinderpanoramas.org">SRTM</a> | Map style: &copy; <a href="https://opentopomap.org">OpenTopoMap</a> (<a href="https://creativecommons.org/licenses/by-sa/3.0/">CC-BY-SA</a>)'
129
+ }
130
+ },
131
+ Thunderforest: {
132
+ url: '//{s}.tile.thunderforest.com/{variant}/{z}/{x}/{y}.png',
133
+ options: {
134
+ attribution:
135
+ '&copy; <a href="http://www.opencyclemap.org">OpenCycleMap</a>, {attribution.OpenStreetMap}',
136
+ variant: 'cycle'
137
+ },
138
+ variants: {
139
+ OpenCycleMap: 'cycle',
140
+ Transport: {
141
+ options: {
142
+ variant: 'transport',
143
+ maxZoom: 19
144
+ }
145
+ },
146
+ TransportDark: {
147
+ options: {
148
+ variant: 'transport-dark',
149
+ maxZoom: 19
150
+ }
151
+ },
152
+ Landscape: 'landscape',
153
+ Outdoors: 'outdoors'
154
+ }
155
+ },
156
+ OpenMapSurfer: {
157
+ url: 'http://openmapsurfer.uni-hd.de/tiles/{variant}/x={x}&y={y}&z={z}',
158
+ options: {
159
+ maxZoom: 20,
160
+ variant: 'roads',
161
+ attribution: 'Imagery from <a href="http://giscience.uni-hd.de/">GIScience Research Group @ University of Heidelberg</a> &mdash; Map data {attribution.OpenStreetMap}'
162
+ },
163
+ variants: {
164
+ Roads: 'roads',
165
+ AdminBounds: {
166
+ options: {
167
+ variant: 'adminb',
168
+ maxZoom: 19
169
+ }
170
+ },
171
+ Grayscale: {
172
+ options: {
173
+ variant: 'roadsg',
174
+ maxZoom: 19
175
+ }
176
+ }
177
+ }
178
+ },
179
+ Hydda: {
180
+ url: 'http://{s}.tile.openstreetmap.se/hydda/{variant}/{z}/{x}/{y}.png',
181
+ options: {
182
+ variant: 'full',
183
+ attribution: 'Tiles courtesy of <a href="http://openstreetmap.se/" target="_blank">OpenStreetMap Sweden</a> &mdash; Map data {attribution.OpenStreetMap}'
184
+ },
185
+ variants: {
186
+ Full: 'full',
187
+ Base: 'base',
188
+ RoadsAndLabels: 'roads_and_labels'
189
+ }
190
+ },
191
+ MapQuestOpen: {
192
+ /* Mapquest does support https, but with a different subdomain:
193
+ * https://otile{s}-s.mqcdn.com/tiles/1.0.0/{type}/{z}/{x}/{y}.{ext}
194
+ * which makes implementing protocol relativity impossible.
195
+ */
196
+ url: 'http://otile{s}.mqcdn.com/tiles/1.0.0/{type}/{z}/{x}/{y}.{ext}',
197
+ options: {
198
+ type: 'map',
199
+ ext: 'jpg',
200
+ attribution:
201
+ 'Tiles Courtesy of <a href="http://www.mapquest.com/">MapQuest</a> &mdash; ' +
202
+ 'Map data {attribution.OpenStreetMap}',
203
+ subdomains: '1234'
204
+ },
205
+ variants: {
206
+ OSM: {},
207
+ Aerial: {
208
+ options: {
209
+ type: 'sat',
210
+ attribution:
211
+ 'Tiles Courtesy of <a href="http://www.mapquest.com/">MapQuest</a> &mdash; ' +
212
+ 'Portions Courtesy NASA/JPL-Caltech and U.S. Depart. of Agriculture, Farm Service Agency'
213
+ }
214
+ },
215
+ HybridOverlay: {
216
+ options: {
217
+ type: 'hyb',
218
+ ext: 'png',
219
+ opacity: 0.9
220
+ }
221
+ }
222
+ }
223
+ },
224
+ MapBox: {
225
+ url: '//api.tiles.mapbox.com/v4/{id}/{z}/{x}/{y}.png?access_token={accessToken}',
226
+ options: {
227
+ attribution:
228
+ 'Imagery from <a href="http://mapbox.com/about/maps/">MapBox</a> &mdash; ' +
229
+ 'Map data {attribution.OpenStreetMap}',
230
+ subdomains: 'abcd'
231
+ }
232
+ },
233
+ Stamen: {
234
+ url: '//stamen-tiles-{s}.a.ssl.fastly.net/{variant}/{z}/{x}/{y}.png',
235
+ options: {
236
+ attribution:
237
+ 'Map tiles by <a href="http://stamen.com">Stamen Design</a>, ' +
238
+ '<a href="http://creativecommons.org/licenses/by/3.0">CC BY 3.0</a> &mdash; ' +
239
+ 'Map data {attribution.OpenStreetMap}',
240
+ subdomains: 'abcd',
241
+ minZoom: 0,
242
+ maxZoom: 20,
243
+ variant: 'toner',
244
+ ext: 'png'
245
+ },
246
+ variants: {
247
+ Toner: 'toner',
248
+ TonerBackground: 'toner-background',
249
+ TonerHybrid: 'toner-hybrid',
250
+ TonerLines: 'toner-lines',
251
+ TonerLabels: 'toner-labels',
252
+ TonerLite: 'toner-lite',
253
+ Watercolor: {
254
+ options: {
255
+ variant: 'watercolor',
256
+ minZoom: 1,
257
+ maxZoom: 16
258
+ }
259
+ },
260
+ Terrain: {
261
+ options: {
262
+ variant: 'terrain',
263
+ minZoom: 4,
264
+ maxZoom: 18,
265
+ bounds: [[22, -132], [70, -56]]
266
+ }
267
+ },
268
+ TerrainBackground: {
269
+ options: {
270
+ variant: 'terrain-background',
271
+ minZoom: 4,
272
+ maxZoom: 18,
273
+ bounds: [[22, -132], [70, -56]]
274
+ }
275
+ },
276
+ TopOSMRelief: {
277
+ options: {
278
+ variant: 'toposm-color-relief',
279
+ ext: 'jpg',
280
+ bounds: [[22, -132], [51, -56]]
281
+ }
282
+ },
283
+ TopOSMFeatures: {
284
+ options: {
285
+ variant: 'toposm-features',
286
+ bounds: [[22, -132], [51, -56]],
287
+ opacity: 0.9
288
+ }
289
+ }
290
+ }
291
+ },
292
+ Esri: {
293
+ url: '//server.arcgisonline.com/ArcGIS/rest/services/{variant}/MapServer/tile/{z}/{y}/{x}',
294
+ options: {
295
+ variant: 'World_Street_Map',
296
+ attribution: 'Tiles &copy; Esri'
297
+ },
298
+ variants: {
299
+ WorldStreetMap: {
300
+ options: {
301
+ attribution:
302
+ '{attribution.Esri} &mdash; ' +
303
+ 'Source: Esri, DeLorme, NAVTEQ, USGS, Intermap, iPC, NRCAN, Esri Japan, METI, Esri China (Hong Kong), Esri (Thailand), TomTom, 2012'
304
+ }
305
+ },
306
+ DeLorme: {
307
+ options: {
308
+ variant: 'Specialty/DeLorme_World_Base_Map',
309
+ minZoom: 1,
310
+ maxZoom: 11,
311
+ attribution: '{attribution.Esri} &mdash; Copyright: &copy;2012 DeLorme'
312
+ }
313
+ },
314
+ WorldTopoMap: {
315
+ options: {
316
+ variant: 'World_Topo_Map',
317
+ attribution:
318
+ '{attribution.Esri} &mdash; ' +
319
+ 'Esri, DeLorme, NAVTEQ, TomTom, Intermap, iPC, USGS, FAO, NPS, NRCAN, GeoBase, Kadaster NL, Ordnance Survey, Esri Japan, METI, Esri China (Hong Kong), and the GIS User Community'
320
+ }
321
+ },
322
+ WorldImagery: {
323
+ options: {
324
+ variant: 'World_Imagery',
325
+ attribution:
326
+ '{attribution.Esri} &mdash; ' +
327
+ 'Source: Esri, i-cubed, USDA, USGS, AEX, GeoEye, Getmapping, Aerogrid, IGN, IGP, UPR-EGP, and the GIS User Community'
328
+ }
329
+ },
330
+ WorldTerrain: {
331
+ options: {
332
+ variant: 'World_Terrain_Base',
333
+ maxZoom: 13,
334
+ attribution:
335
+ '{attribution.Esri} &mdash; ' +
336
+ 'Source: USGS, Esri, TANA, DeLorme, and NPS'
337
+ }
338
+ },
339
+ WorldShadedRelief: {
340
+ options: {
341
+ variant: 'World_Shaded_Relief',
342
+ maxZoom: 13,
343
+ attribution: '{attribution.Esri} &mdash; Source: Esri'
344
+ }
345
+ },
346
+ WorldPhysical: {
347
+ options: {
348
+ variant: 'World_Physical_Map',
349
+ maxZoom: 8,
350
+ attribution: '{attribution.Esri} &mdash; Source: US National Park Service'
351
+ }
352
+ },
353
+ OceanBasemap: {
354
+ options: {
355
+ variant: 'Ocean_Basemap',
356
+ maxZoom: 13,
357
+ attribution: '{attribution.Esri} &mdash; Sources: GEBCO, NOAA, CHS, OSU, UNH, CSUMB, National Geographic, DeLorme, NAVTEQ, and Esri'
358
+ }
359
+ },
360
+ NatGeoWorldMap: {
361
+ options: {
362
+ variant: 'NatGeo_World_Map',
363
+ maxZoom: 16,
364
+ attribution: '{attribution.Esri} &mdash; National Geographic, Esri, DeLorme, NAVTEQ, UNEP-WCMC, USGS, NASA, ESA, METI, NRCAN, GEBCO, NOAA, iPC'
365
+ }
366
+ },
367
+ WorldGrayCanvas: {
368
+ options: {
369
+ variant: 'Canvas/World_Light_Gray_Base',
370
+ maxZoom: 16,
371
+ attribution: '{attribution.Esri} &mdash; Esri, DeLorme, NAVTEQ'
372
+ }
373
+ }
374
+ }
375
+ },
376
+ OpenWeatherMap: {
377
+ url: 'http://{s}.tile.openweathermap.org/map/{variant}/{z}/{x}/{y}.png',
378
+ options: {
379
+ maxZoom: 19,
380
+ attribution: 'Map data &copy; <a href="http://openweathermap.org">OpenWeatherMap</a>',
381
+ opacity: 0.5
382
+ },
383
+ variants: {
384
+ Clouds: 'clouds',
385
+ CloudsClassic: 'clouds_cls',
386
+ Precipitation: 'precipitation',
387
+ PrecipitationClassic: 'precipitation_cls',
388
+ Rain: 'rain',
389
+ RainClassic: 'rain_cls',
390
+ Pressure: 'pressure',
391
+ PressureContour: 'pressure_cntr',
392
+ Wind: 'wind',
393
+ Temperature: 'temp',
394
+ Snow: 'snow'
395
+ }
396
+ },
397
+ HERE: {
398
+ /*
399
+ * HERE maps, formerly Nokia maps.
400
+ * These basemaps are free, but you need an API key. Please sign up at
401
+ * http://developer.here.com/getting-started
402
+ *
403
+ * Note that the base urls contain '.cit' whichs is HERE's
404
+ * 'Customer Integration Testing' environment. Please remove for production
405
+ * envirionments.
406
+ */
407
+ url:
408
+ '//{s}.{base}.maps.cit.api.here.com/maptile/2.1/' +
409
+ 'maptile/{mapID}/{variant}/{z}/{x}/{y}/256/png8?' +
410
+ 'app_id={app_id}&app_code={app_code}',
411
+ options: {
412
+ attribution:
413
+ 'Map &copy; 1987-2014 <a href="http://developer.here.com">HERE</a>',
414
+ subdomains: '1234',
415
+ mapID: 'newest',
416
+ 'app_id': '<insert your app_id here>',
417
+ 'app_code': '<insert your app_code here>',
418
+ base: 'base',
419
+ variant: 'normal.day',
420
+ maxZoom: 20
421
+ },
422
+ variants: {
423
+ normalDay: 'normal.day',
424
+ normalDayCustom: 'normal.day.custom',
425
+ normalDayGrey: 'normal.day.grey',
426
+ normalDayMobile: 'normal.day.mobile',
427
+ normalDayGreyMobile: 'normal.day.grey.mobile',
428
+ normalDayTransit: 'normal.day.transit',
429
+ normalDayTransitMobile: 'normal.day.transit.mobile',
430
+ normalNight: 'normal.night',
431
+ normalNightMobile: 'normal.night.mobile',
432
+ normalNightGrey: 'normal.night.grey',
433
+ normalNightGreyMobile: 'normal.night.grey.mobile',
434
+
435
+ carnavDayGrey: 'carnav.day.grey',
436
+ hybridDay: {
437
+ options: {
438
+ base: 'aerial',
439
+ variant: 'hybrid.day'
440
+ }
441
+ },
442
+ hybridDayMobile: {
443
+ options: {
444
+ base: 'aerial',
445
+ variant: 'hybrid.day.mobile'
446
+ }
447
+ },
448
+ pedestrianDay: 'pedestrian.day',
449
+ pedestrianNight: 'pedestrian.night',
450
+ satelliteDay: {
451
+ options: {
452
+ base: 'aerial',
453
+ variant: 'satellite.day'
454
+ }
455
+ },
456
+ terrainDay: {
457
+ options: {
458
+ base: 'aerial',
459
+ variant: 'terrain.day'
460
+ }
461
+ },
462
+ terrainDayMobile: {
463
+ options: {
464
+ base: 'aerial',
465
+ variant: 'terrain.day.mobile'
466
+ }
467
+ }
468
+ }
469
+ },
470
+ Acetate: {
471
+ url: 'http://a{s}.acetate.geoiq.com/tiles/{variant}/{z}/{x}/{y}.png',
472
+ options: {
473
+ attribution:
474
+ '&copy;2012 Esri & Stamen, Data from OSM and Natural Earth',
475
+ subdomains: '0123',
476
+ minZoom: 2,
477
+ maxZoom: 18,
478
+ variant: 'acetate-base'
479
+ },
480
+ variants: {
481
+ basemap: 'acetate-base',
482
+ terrain: 'terrain',
483
+ all: 'acetate-hillshading',
484
+ foreground: 'acetate-fg',
485
+ roads: 'acetate-roads',
486
+ labels: 'acetate-labels',
487
+ hillshading: 'hillshading'
488
+ }
489
+ },
490
+ FreeMapSK: {
491
+ url: 'http://{s}.freemap.sk/T/{z}/{x}/{y}.jpeg',
492
+ options: {
493
+ minZoom: 8,
494
+ maxZoom: 16,
495
+ subdomains: ['t1', 't2', 't3', 't4'],
496
+ attribution:
497
+ '{attribution.OpenStreetMap}, vizualization CC-By-SA 2.0 <a href="http://freemap.sk">Freemap.sk</a>'
498
+ }
499
+ },
500
+ MtbMap: {
501
+ url: 'http://tile.mtbmap.cz/mtbmap_tiles/{z}/{x}/{y}.png',
502
+ options: {
503
+ attribution:
504
+ '{attribution.OpenStreetMap} &amp; USGS'
505
+ }
506
+ },
507
+ CartoDB: {
508
+ url: 'http://{s}.basemaps.cartocdn.com/{variant}/{z}/{x}/{y}.png',
509
+ options: {
510
+ attribution: '{attribution.OpenStreetMap} &copy; <a href="http://cartodb.com/attributions">CartoDB</a>',
511
+ subdomains: 'abcd',
512
+ maxZoom: 19,
513
+ variant: 'light_all'
514
+ },
515
+ variants: {
516
+ Positron: 'light_all',
517
+ PositronNoLabels: 'light_nolabels',
518
+ DarkMatter: 'dark_all',
519
+ DarkMatterNoLabels: 'dark_nolabels'
520
+ }
521
+ },
522
+ HikeBike: {
523
+ url: 'http://{s}.tiles.wmflabs.org/{variant}/{z}/{x}/{y}.png',
524
+ options: {
525
+ maxZoom: 19,
526
+ attribution: '{attribution.OpenStreetMap}',
527
+ variant: 'hikebike'
528
+ },
529
+ variants: {
530
+ HikeBike: {},
531
+ HillShading: {
532
+ options: {
533
+ maxZoom: 15,
534
+ variant: 'hillshading'
535
+ }
536
+ }
537
+ }
538
+ },
539
+ BasemapAT: {
540
+ url: '//maps{s}.wien.gv.at/basemap/{variant}/normal/google3857/{z}/{y}/{x}.{format}',
541
+ options: {
542
+ maxZoom: 19,
543
+ attribution: 'Datenquelle: <a href="www.basemap.at">basemap.at</a>',
544
+ subdomains: ['', '1', '2', '3', '4'],
545
+ format: 'png',
546
+ bounds: [[46.358770, 8.782379], [49.037872, 17.189532]],
547
+ variant: 'geolandbasemap'
548
+ },
549
+ variants: {
550
+ basemap: 'geolandbasemap',
551
+ grau: 'bmapgrau',
552
+ overlay: 'bmapoverlay',
553
+ highdpi: {
554
+ options: {
555
+ variant: 'bmaphidpi',
556
+ format: 'jpeg'
557
+ }
558
+ },
559
+ orthofoto: {
560
+ options: {
561
+ variant: 'bmaporthofoto30cm',
562
+ format: 'jpeg'
563
+ }
564
+ }
565
+ }
566
+ },
567
+ NASAGIBS: {
568
+ url: '//map1.vis.earthdata.nasa.gov/wmts-webmerc/{variant}/default/{time}/{tilematrixset}{maxZoom}/{z}/{y}/{x}.{format}',
569
+ options: {
570
+ attribution:
571
+ 'Imagery provided by services from the Global Imagery Browse Services (GIBS), operated by the NASA/GSFC/Earth Science Data and Information System ' +
572
+ '(<a href="https://earthdata.nasa.gov">ESDIS</a>) with funding provided by NASA/HQ.',
573
+ bounds: [[-85.0511287776, -179.999999975], [85.0511287776, 179.999999975]],
574
+ minZoom: 1,
575
+ maxZoom: 9,
576
+ format: 'jpg',
577
+ time: '',
578
+ tilematrixset: 'GoogleMapsCompatible_Level'
579
+ },
580
+ variants: {
581
+ ModisTerraTrueColorCR: 'MODIS_Terra_CorrectedReflectance_TrueColor',
582
+ ModisTerraBands367CR: 'MODIS_Terra_CorrectedReflectance_Bands367',
583
+ ViirsEarthAtNight2012: {
584
+ options: {
585
+ variant: 'VIIRS_CityLights_2012',
586
+ maxZoom: 8
587
+ }
588
+ },
589
+ ModisTerraLSTDay: {
590
+ options: {
591
+ variant: 'MODIS_Terra_Land_Surface_Temp_Day',
592
+ format: 'png',
593
+ maxZoom: 7,
594
+ opacity: 0.75
595
+ }
596
+ },
597
+ ModisTerraSnowCover: {
598
+ options: {
599
+ variant: 'MODIS_Terra_Snow_Cover',
600
+ format: 'png',
601
+ maxZoom: 8,
602
+ opacity: 0.75
603
+ }
604
+ },
605
+ ModisTerraAOD: {
606
+ options: {
607
+ variant: 'MODIS_Terra_Aerosol',
608
+ format: 'png',
609
+ maxZoom: 6,
610
+ opacity: 0.75
611
+ }
612
+ },
613
+ ModisTerraChlorophyll: {
614
+ options: {
615
+ variant: 'MODIS_Terra_Chlorophyll_A',
616
+ format: 'png',
617
+ maxZoom: 7,
618
+ opacity: 0.75
619
+ }
620
+ }
621
+ }
622
+ }
623
+ };
624
+
625
+ L.tileLayer.provider = function (provider, options) {
626
+ return new L.TileLayer.Provider(provider, options);
627
+ };
628
+
629
+ return L;
630
+ }));
@@ -0,0 +1,9 @@
1
+ Copyright (c) 2013 Leaflet Providers contributors
2
+ All rights reserved.
3
+
4
+ Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
5
+
6
+ * Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
7
+ * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
8
+
9
+ _THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE._