Skip to content

Commit

Permalink
#5292: Print support for WMTS/TMS/tileprovider (#5953)
Browse files Browse the repository at this point in the history
  • Loading branch information
offtherailz authored Oct 1, 2020
1 parent 47d0ec3 commit e297078
Show file tree
Hide file tree
Showing 12 changed files with 2,683 additions and 55 deletions.
16 changes: 2 additions & 14 deletions web/client/api/catalog/TMS_1_0_0.js
Original file line number Diff line number Diff line change
Expand Up @@ -8,28 +8,16 @@
import ConfigUtils from '../../utils/ConfigUtils';
import xml2js from 'xml2js';
import axios from '../../libs/ajax';
import { get, castArray, includes } from 'lodash';
import { get, castArray } from 'lodash';
import { cleanAuthParamsFromURL } from '../../utils/SecurityUtils';
import { guessFormat } from '../../utils/TMSUtils';

const capabilitiesCache = {};

const isSameSRS = (srs, projection) => srs === projection
|| srs === "EPSG:3857" && projection === "EPSG:900913"
|| srs === "EPSG:900913" && projection === "EPSG:3857";

const guessFormat = (url = "") => {
const parts = url
.split("?")[0] // remove query string (i.e. if authkey present...)
.split("@");
if (parts.length > 1) {
const format = parts[parts.length - 1];
if (includes(["png", "png8", "jpeg", "vnd.jpeg-png", "gif"], format)) { // TODO: get formats from a well known list
return format;
}
}
return null;
};

const searchAndPaginate = (json = {}, startPosition, maxRecords, text, info = {}) => {

const layers = castArray(get(json, 'TileMapService.TileMaps.TileMap', []));
Expand Down
38 changes: 38 additions & 0 deletions web/client/test-resources/layers/tileprovider.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
export const BasemapAT = {
type: 'tileprovider',
visibility: true,
title: 'BasemapAT.basemap',
provider: 'BasemapAT.basemap',
name: 'BasemapAT.basemap',
id: 'BasemapAT.basemap__5'
};
export const NASAGIBS = {
id: 'Night2012__1',
group: 'background',
source: 'nasagibs',
name: 'Night2012',
provider: 'NASAGIBS.ViirsEarthAtNight2012',
title: 'NASAGIBS Night 2012',
type: 'tileprovider'
};

export const NLS_CUSTOM_URL = {
type: 'tileprovider',
visibility: true,
url: 'https://nls-{s}.tileserver.com/nls/{z}/{x}/{y}.jpg',
title: 'NLS_API ',
options: {
subdomains: [
'0',
'1',
'2',
'3'
]
},
provider: 'custom',
name: 'custom',
id: 'custom__6',
loading: false,
previousLoadingError: false,
loadingError: false
};
1 change: 1 addition & 0 deletions web/client/test-resources/layers/tms/index.js
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
export {default as poi} from './poi';
195 changes: 195 additions & 0 deletions web/client/test-resources/layers/tms/poi.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,195 @@
export default {
title: 'poi',
visibility: true,
hideErrors: true,
name: 'poi',
allowedSRS: {
'EPSG:900913': true
},
description: '',
srs: 'EPSG:900913',
version: '1.0.0',
tileMapService: 'http://sample-server.org/geoserver/gwc/service/tms/1.0.0',
type: 'tms',
tileMapUrl: 'http://sample-server.org/geoserver/gwc/service/tms/1.0.0/gs%3Any_poi@EPSG%3A900913@png',
bbox: {
crs: 'EPSG:900913',
bounds: {
minx: -8296780.79703125,
miny: 4931105.568046875,
maxx: -8218509.280078124,
maxy: 5009377.085000001
}
},
tileSets: [
{
href: 'http://sample-server.org/geoserver/gwc/service/tms/1.0.0/gs%3Any_poi@EPSG%3A900913@png',
order: 0,
resolution: 156543.03390625
},
{
href: 'http://sample-server.org/geoserver/gwc/service/tms/1.0.0/gs%3Any_poi@EPSG%3A900913@png',
order: 1,
resolution: 78271.516953125
},
{
href: 'http://sample-server.org/geoserver/gwc/service/tms/1.0.0/gs%3Any_poi@EPSG%3A900913@png',
order: 2,
resolution: 39135.7584765625
},
{
href: 'http://sample-server.org/geoserver/gwc/service/tms/1.0.0/gs%3Any_poi@EPSG%3A900913@png',
order: 3,
resolution: 19567.87923828125
},
{
href: 'http://sample-server.org/geoserver/gwc/service/tms/1.0.0/gs%3Any_poi@EPSG%3A900913@png',
order: 4,
resolution: 9783.939619140625
},
{
href: 'http://sample-server.org/geoserver/gwc/service/tms/1.0.0/gs%3Any_poi@EPSG%3A900913@png',
order: 5,
resolution: 4891.9698095703125
},
{
href: 'http://sample-server.org/geoserver/gwc/service/tms/1.0.0/gs%3Any_poi@EPSG%3A900913@png',
order: 6,
resolution: 2445.9849047851562
},
{
href: 'http://sample-server.org/geoserver/gwc/service/tms/1.0.0/gs%3Any_poi@EPSG%3A900913@png',
order: 7,
resolution: 1222.9924523925781
},
{
href: 'http://sample-server.org/geoserver/gwc/service/tms/1.0.0/gs%3Any_poi@EPSG%3A900913@png',
order: 8,
resolution: 611.4962261962891
},
{
href: 'http://sample-server.org/geoserver/gwc/service/tms/1.0.0/gs%3Any_poi@EPSG%3A900913@png',
order: 9,
resolution: 305.74811309814453
},
{
href: 'http://sample-server.org/geoserver/gwc/service/tms/1.0.0/gs%3Any_poi@EPSG%3A900913@png',
order: 10,
resolution: 152.87405654907226
},
{
href: 'http://sample-server.org/geoserver/gwc/service/tms/1.0.0/gs%3Any_poi@EPSG%3A900913@png',
order: 11,
resolution: 76.43702827453613
},
{
href: 'http://sample-server.org/geoserver/gwc/service/tms/1.0.0/gs%3Any_poi@EPSG%3A900913@png',
order: 12,
resolution: 38.218514137268066
},
{
href: 'http://sample-server.org/geoserver/gwc/service/tms/1.0.0/gs%3Any_poi@EPSG%3A900913@png',
order: 13,
resolution: 19.109257068634033
},
{
href: 'http://sample-server.org/geoserver/gwc/service/tms/1.0.0/gs%3Any_poi@EPSG%3A900913@png',
order: 14,
resolution: 9.554628534317017
},
{
href: 'http://sample-server.org/geoserver/gwc/service/tms/1.0.0/gs%3Any_poi@EPSG%3A900913@png',
order: 15,
resolution: 4.777314267158508
},
{
href: 'http://sample-server.org/geoserver/gwc/service/tms/1.0.0/gs%3Any_poi@EPSG%3A900913@png',
order: 16,
resolution: 2.388657133579254
},
{
href: 'http://sample-server.org/geoserver/gwc/service/tms/1.0.0/gs%3Any_poi@EPSG%3A900913@png',
order: 17,
resolution: 1.194328566789627
},
{
href: 'http://sample-server.org/geoserver/gwc/service/tms/1.0.0/gs%3Any_poi@EPSG%3A900913@png',
order: 18,
resolution: 0.5971642833948135
},
{
href: 'http://sample-server.org/geoserver/gwc/service/tms/1.0.0/gs%3Any_poi@EPSG%3A900913@png',
order: 19,
resolution: 0.29858214169740677
},
{
href: 'http://sample-server.org/geoserver/gwc/service/tms/1.0.0/gs%3Any_poi@EPSG%3A900913@png',
order: 20,
resolution: 0.14929107084870338
},
{
href: 'http://sample-server.org/geoserver/gwc/service/tms/1.0.0/gs%3Any_poi@EPSG%3A900913@png',
order: 21,
resolution: 0.07464553542435169
},
{
href: 'http://sample-server.org/geoserver/gwc/service/tms/1.0.0/gs%3Any_poi@EPSG%3A900913@png',
order: 22,
resolution: 0.037322767712175846
},
{
href: 'http://sample-server.org/geoserver/gwc/service/tms/1.0.0/gs%3Any_poi@EPSG%3A900913@png',
order: 23,
resolution: 0.018661383856087923
},
{
href: 'http://sample-server.org/geoserver/gwc/service/tms/1.0.0/gs%3Any_poi@EPSG%3A900913@png',
order: 24,
resolution: 0.009330691928043961
},
{
href: 'http://sample-server.org/geoserver/gwc/service/tms/1.0.0/gs%3Any_poi@EPSG%3A900913@png',
order: 25,
resolution: 0.004665345964021981
},
{
href: 'http://sample-server.org/geoserver/gwc/service/tms/1.0.0/gs%3Any_poi@EPSG%3A900913@png',
order: 26,
resolution: 0.0023326729820109904
},
{
href: 'http://sample-server.org/geoserver/gwc/service/tms/1.0.0/gs%3Any_poi@EPSG%3A900913@png',
order: 27,
resolution: 0.0011663364910054952
},
{
href: 'http://sample-server.org/geoserver/gwc/service/tms/1.0.0/gs%3Any_poi@EPSG%3A900913@png',
order: 28,
resolution: 0.0005831682455027476
},
{
href: 'http://sample-server.org/geoserver/gwc/service/tms/1.0.0/gs%3Any_poi@EPSG%3A900913@png',
order: 29,
resolution: 0.0002915841227513738
},
{
href: 'http://sample-server.org/geoserver/gwc/service/tms/1.0.0/gs%3Any_poi@EPSG%3A900913@png',
order: 30,
resolution: 0.0001457920613756869
}
],
origin: {
x: -8296780.79703125,
y: 4931105.568046875
},
format: 'image/png',
tileSize: [
256,
256
],
extension: 'png',
id: 'poi__5',
loading: false,
previousLoadingError: false,
loadingError: false
}
Loading

0 comments on commit e297078

Please sign in to comment.