Restore Maxar imagery layers using masked urls

(cherry pick of #7356)
This commit is contained in:
Bryan Housel
2020-02-14 14:51:03 -05:00
parent d200d0fce2
commit 086cade061
4 changed files with 780 additions and 7665 deletions

File diff suppressed because it is too large Load Diff

21
dist/locales/en.json vendored
View File

@@ -10304,20 +10304,6 @@
"description": "Annotation overlay provided by basemap.at.",
"name": "basemap.at Overlay"
},
"basemap.at-surface": {
"attribution": {
"text": "basemap.at"
},
"description": "Surface layer provided by basemap.at.",
"name": "basemap.at Surface"
},
"basemap.at-terrain": {
"attribution": {
"text": "basemap.at"
},
"description": "Terrain layer provided by basemap.at.",
"name": "basemap.at Terrain"
},
"eufar-balaton": {
"attribution": {
"text": "EUFAR Balaton ortofotó 2010"
@@ -10339,13 +10325,6 @@
"description": "The city map is an overview map that describes Gothenburg. It contains general information about land, communications, hydrography, buildings, address numbers and street names, administrative division and other orientation text.",
"name": "Gothenburg City map"
},
"gsi.go.jp": {
"attribution": {
"text": "GSI Japan"
},
"description": "Japan GSI ortho Imagery. Usually better than bing, but a bit older.",
"name": "Japan GSI ortho Imagery"
},
"gsi.go.jp_airphoto": {
"attribution": {
"text": "GSI Japan"

View File

@@ -3,6 +3,7 @@ import { json as d3_json } from 'd3-fetch';
import { t } from '../util/locale';
import { geoExtent, geoSphericalDistance } from '../geo';
import { utilAesDecrypt } from '../util/aes';
import { utilDetect } from '../util/detect';
@@ -33,7 +34,7 @@ export function rendererBackgroundSource(data) {
var name = source.name;
var description = source.description;
var best = !!source.best;
var template = source.template;
var template = source.encrypted ? utilAesDecrypt(source.template) : source.template;
source.tileSize = data.tileSize || 256;
source.zoomExtent = data.zoomExtent || [0, 22];

View File

@@ -12,6 +12,37 @@ cutoffDate.setFullYear(cutoffDate.getFullYear() - 20);
const keep = [
// Add custom sources here if needed.
{
id: 'Maxar-Premium',
name: 'Maxar Premium Imagery (Beta)',
type: 'tms',
default: true,
attribution: {
required: true,
text: 'Terms & Feedback',
url: 'https://wiki.openstreetmap.org/wiki/DigitalGlobe'
},
description: 'Maxar Premium is a mosaic composed of Maxar basemap with select regions filled with +Vivid or custom area of interest imagery, 50cm resolution or better, and refreshed more frequently with ongoing updates.',
icon: 'https://osmlab.github.io/editor-layer-index/sources/world/Maxar.png',
max_zoom: 22,
url: '7586487389962e3f6e31ab2ed8ca321f2f3fe2cf87f1dedce8fc918b4692efd86fcd816ab8a35303effb1be9abe39b1cce3fe6db2c740044364ae68560822c88373d2c784325baf4e1fa007c6dbedab4cea3fa0dd86ee0ae4feeef032d33dcac28e4b16c90d55a42087c6b66526423ea1b4cc7e63c613940eb1c60f48270060bf41c5fcb6a628985ebe6801e9e71f041cc9f8df06b0345600376663e7dc1cdbc7df16876d8b5d006ed5782e6af4bfe2ff5a292',
encrypted: true
}, {
id: 'Maxar-Standard',
name: 'Maxar Standard Imagery (Beta)',
type: 'tms',
default: true,
attribution: {
required: true,
text: 'Terms & Feedback',
url: 'https://wiki.openstreetmap.org/wiki/DigitalGlobe'
},
description: 'Maxar Standard is a curated set of imagery covering 86% of the earths landmass, with 30-60cm resolution where available, backfilled by Landsat. Average age is 2.31 years, with some areas updated 2x per year.',
icon: 'https://osmlab.github.io/editor-layer-index/sources/world/Maxar.png',
max_zoom: 22,
url: '7586487389962e3f6e31ab2ed8ca321f2f3fe2cf87f1dedce8fc918b4692efd86fcd816ab8a35303effb1be9abe39b1cce3fe6db2c740044364ae68560822c88373d2c784325baf4e1fa007c6dbedab4cea3fa0dd86ee0ae4feeef032d33dcac28e4b16c90d55a42087c6b66526423ea1b4cc7e63c613940eb1c60f48270060bf41c5fcb6a628985ebe6801e9e71f010c8c9d7fb6b534560012461377dc1cdb672f16827dfe0d005bf5685b7ac4ea97cf5f795',
encrypted: true
}
];
const discard = {
@@ -156,7 +187,7 @@ sources.concat(keep).forEach(source => {
im.terms_html = attribution.html;
}
['best', 'default', 'description', 'icon', 'overlay', 'tileSize'].forEach(prop => {
['best', 'default', 'description', 'encrypted', 'icon', 'overlay', 'tileSize'].forEach(prop => {
if (source[prop]) {
im[prop] = source[prop];
}