/*
* Copyright (c) 2013 Bundesamt by Kartographie und Geodäsie.
* See license.txt in the BKG WebMap distribution or repository for the
* full text of the license.
*
* Author: Dirk Thalheim
*/
/**
* @requires OpenLayers/Util.js
*/
/**
* Definiert die Standard URL für Dienste des BKGs Damit Cookies bei XHR gesendet werden, muss das Protokoll der Seite
* übereinstimmen.
* @constant BKGWebMap.BASE_URL
* @type {string}
*/
BKGWebMap.BASE_URL = "http://sg.geodatenzentrum.de/";
/**
* Hier kann ein UUID übergeben werden, der zur Authentifizierung beim Diensteaufruf verwendet werden soll. Dies wird
* in der Funktion BKGWebMap.getServiceUrl(service) ausgewertet. ACHTUNG Um den Missbrauch dieses
* Authentifizierungstokens zu verhindern, sollte der UUID nur in internen Anwendungen verwendet werden.
* @constant BKGWebMap.UUID
* @type {string}
*/
BKGWebMap.UUID = null;
/**
* Hier kann eine App-ID übergeben werden, die zur Token basierten Authentifizierung für zugriffsgeschützte Dienste
* verwendet werden soll. Zusätzlich muss BKGWebMap.APP_DOMAIN angegeben werden, damit dies genutzt werden kann.
* Um einen Dienst dann mit Token basierter Auhtentifizierung zu nutzen, muss die URL des Dienstes per
* BKGWebMap.Util.getServiceUrl generiert werden.
* @constant BKGWebMap.APP_ID
* @type {string}
*/
BKGWebMap.APP_ID = null;
/**
* Hier kann eine App-Domain übergeben werden, die zur Token basierten Authentifizierung für zugriffsgeschützte Dienste
* verwendet werden soll. Zusätzlich muss BKGWebMap.APP_ID angegeben werden, damit dies genutzt werden kann.
* Um einen Dienst dann mit Token basierter Auhtentifizierung zu nutzen, muss die URL des Dienstes per
* BKGWebMap.Util.getServiceUrl generiert werden.
* @constant BKGWebMap.APP_DOMAIN
* @type {string}
*/
BKGWebMap.APP_DOMAIN = null;
/**
* Standardausdehnungen für Deutschland in verschiedenen Projektionen
* @constant BKGWebMap.EXTENTS
*/
BKGWebMap.EXTENTS = {
'EPSG:4326': [2.07498609301,46.4840034677,18.6083668593,55.0242047281],
'EPSG:4258': [2.07498609301,46.4840034677,18.6083668593,55.0242047281],
'EPSG:3857': [230986.395277,5858253.27918,2071473.92327,7366565.17486],
'EPSG:4839': [-588294.218731,-816874.468761,697029.429872,782107.671922],
// (U)TM
'EPSG:25832': [-31457.2, 5171172.3, 1113266.0, 6139784.2],
'EPSG:25833': [-491561.055747,5229609.57213,730630.700903,6103438.87585],
'EPSG:4647': [31968542.8007,5171172.29888,33113265.9755,6139784.18944],
'EPSG:5650': [32331206.6246,5023799.91841,33927672.7555,6400503.87422],
'EPSG:3034': [3411878.17838,2238751.12694,4531884.85677,3156427.30041],
'EPSG:3035': [3713155.60384,2629215.23991,4870256.61293,3579362.40517],
'EPSG:3044': [-31457.1993059,5171172.29888,1113265.97552,6139784.18944],
'EPSG:3045': [-491561.055747,5229609.57213,730630.700903,6103438.87585],
// GK
'EPSG:31466': [2198674.97164,5156935.03086,3304138.59087,6172478.95319],
'EPSG:31467': [2968406.76329,5172797.1438,4113580.06377,6141807.67656],
'EPSG:31468': [3738224.07893,5197527.23054,4922420.07541,6119480.25774],
'EPSG:31469': [4508181.06836,5231250.21482,5730855.01451,6105438.37812],
'EPSG:5676': [2198674.97164,5156935.03086,3304138.59087,6172478.95319],
'EPSG:5677': [2968406.76329,5172797.1438,4113580.06377,6141807.67656],
'EPSG:5678': [3738224.07893,5197527.23054,4922420.07541,6119480.25774],
'EPSG:5679': [4508181.06836,5231250.21482,5730855.01451,6105438.37812],
'EPSG:2397': [2801653.04641,5050072.5876,4398909.7451,6362436.76306],
'EPSG:2398': [3566148.11787,5046287.77486,5163397.24898,6367094.20891],
'EPSG:2399': [4330719.40757,5025898.84992,5927851.03379,6403177.11818]
};
/**
* Standardausdehnung für Deutschland in UTM32
* @constant BKGWebMap.EXTEND
* @depreciated Künftig nur noch BKGWebMap.EXTENTS verwenden, um Projektionsabhängige Ausdehnungen zu ermöglichen.
*/
BKGWebMap.EXTENT = BKGWebMap.EXTENTS['EPSG:25832'];
/**
* native Projektion des WebAtlasDE
* @constant BKGWebMap.PROJECTION
*/
BKGWebMap.PROJECTION = 'EPSG:25832';
/**
* Namen für Projektionen
* @constant BKGWebMap.UNITS
*/
BKGWebMap.PROJECTION_ALIAS = {
'EPSG:4326': 'WGS 84',
'EPSG:4258': 'ETRS89',
'EPSG:3857': 'WGS84 Web Mercator (Auxiliary Sphere)',
'EPSG:4839': 'ETRS89 / LCC Germany (N-E)',
// (U)TM
'EPSG:25832': 'ETRS89 / UTM zone 32N',
'EPSG:25833': 'ETRS89 / UTM zone 33N',
'EPSG:4647': 'ETRS89 / UTM zone 32N (zE-N)',
'EPSG:5650': 'ETRS89 / UTM zone 33N (zE-N)',
'EPSG:3034': 'ETRS89 / LCC Europe',
'EPSG:3035': 'ETRS89 / LAEA Europe',
'EPSG:3044': 'ETRS89 / UTM zone 32N (N-E)',
'EPSG:3045': 'ETRS89 / UTM zone 33N (N-E)',
// GK
'EPSG:31466': 'DHDN / 3-degree Gauss-Kruger zone 2',
'EPSG:31467': 'DHDN / 3-degree Gauss-Kruger zone 3',
'EPSG:31468': 'DHDN / 3-degree Gauss-Kruger zone 4',
'EPSG:31469': 'DHDN / 3-degree Gauss-Kruger zone 5',
'EPSG:5676': 'DHDN / 3-degree Gauss-Kruger zone 2 (E-N)',
'EPSG:5677': 'DHDN / 3-degree Gauss-Kruger zone 3 (E-N)',
'EPSG:5678': 'DHDN / 3-degree Gauss-Kruger zone 4 (E-N)',
'EPSG:5679': 'DHDN / 3-degree Gauss-Kruger zone 5 (E-N)',
'EPSG:2397': 'Pulkovo 1942(83) / 3-degree Gauss-Kruger zone 3',
'EPSG:2398': 'Pulkovo 1942(83) / 3-degree Gauss-Kruger zone 4',
'EPSG:2399': 'Pulkovo 1942(83) / 3-degree Gauss-Kruger zone 5'
};
/**
* Standard Maßeinheiten für Projektionen
* @constant BKGWebMap.UNITS
*/
BKGWebMap.UNITS = {
'EPSG:4326': 'degree',
'EPSG:4258': 'degree',
'EPSG:3857': 'm',
'EPSG:4839': 'm',
// (U)TM
'EPSG:25832': 'm',
'EPSG:25833': 'm',
'EPSG:4647': 'm',
'EPSG:5650': 'm',
'EPSG:3034': 'm',
'EPSG:3035': 'm',
'EPSG:3044': 'm',
'EPSG:3045': 'm',
// GK
'EPSG:31466': 'm',
'EPSG:31467': 'm',
'EPSG:31468': 'm',
'EPSG:31469': 'm',
'EPSG:5676': 'm',
'EPSG:5677': 'm',
'EPSG:5678': 'm',
'EPSG:5679': 'm',
'EPSG:2397': 'm',
'EPSG:2398': 'm',
'EPSG:2399': 'm'
};
/**
* Standardzoomstufen für UTM32s. Dies sind die nativen Zoomstufen des WebAtlasDE und werden für alle metrischen
* Koordinatensysteme verwendet.
* @constant BKGWebMap.RESOLUTIONS
*/
BKGWebMap.RESOLUTIONS = [
4891.96981025128, // AdV-Level 0 (1:17471320.7508974)
2445.98490512564, // AdV-Level 1 (1:8735660.37544872)
1222.99245256282, // AdV-Level 2 (1:4367830.18772436)
611.49622628141, // AdV-Level 3 (1:2183915.09386218)
305.748113140705, // AdV-Level 4 (1:1091957.54693109)
152.874056570353, // AdV-Level 5 (1:545978.773465545)
76.4370282851763, // AdV-Level 6 (1:272989,386732772)
38.2185141425881, // AdV-Level 7 (1:136494,693366386)
19.1092570712941, // AdV-Level 8 (1:68247,3466831931)
9.55462853564703, // AdV-Level 9 (1:34123,6733415966)
4.77731426782352, // AdV-Level 10 (1:17061,8366707983)
2.38865713391176, // AdV-Level 11 (1:8530,91833539914)
1.19432856695588, // AdV-Level 12 (1:4265,45916769957)
0.59716428347794 // AdV-Level 13 (1:2132,72958384978)
];
/**
* Erweiterte Maßstabsstufen für UTM32s. Erweitert Standardzoomstufen um 30cm/Pixel und 15cm/Pixel.
* @constant BKGWebMap.Map.RESOLUTIONS_EXTENDED
*/
BKGWebMap.RESOLUTIONS_EXTENDED = BKGWebMap.RESOLUTIONS.slice();
BKGWebMap.RESOLUTIONS_EXTENDED.push(0.298582141738970);
BKGWebMap.RESOLUTIONS_EXTENDED.push(0.149291070869485);
/**
* Standardzoomstufen für WGS84. Dies sind die nativen Zoomstufen des WebAtlasDE und werden für alle geographischen
* Koordinatensysteme verwendet.
* @constant BKGWebMap.RESOLUTIONS
*/
BKGWebMap.RESOLUTIONS_DEGREE = [
0.0439453125, // AdV-Level 0 (1:17471320.7508974)
0.02197265625, // AdV-Level 1 (1:8735660.37544872)
0.010986328125, // AdV-Level 2 (1:4367830.18772436)
0.0054931640625, // AdV-Level 3 (1:2183915.09386218)
0.00274658203125, // AdV-Level 4 (1:1091957.54693109)
0.001373291015625, // AdV-Level 5 (1:545978.773465545)
0.0006866455078125, // AdV-Level 6 (1:272989,386732772)
0.00034332275390625, // AdV-Level 7 (1:136494,693366386)
0.000171661376953125, // AdV-Level 8 (1:68247,3466831931)
0.0000858306884765625, // AdV-Level 9 (1:34123,6733415966)
0.0000429153442382813, // AdV-Level 10 (1:17061,8366707983)
0.0000214576721191406, // AdV-Level 11 (1:8530,91833539914)
0.0000107288360595703, // AdV-Level 12 (1:4265,45916769957)
0.00000536441802978516 // AdV-Level 13 (1:2132,72958384978)
];
/**
* Erweiterte Maßstabsstufen für UTM32s. Erweitert Standardzoomstufen um 30cm/Pixel und 15cm/Pixel.
* @constant BKGWebMap.Map.RESOLUTIONS_EXTENDED
*/
BKGWebMap.RESOLUTIONS_DEGREE_EXTENDED = BKGWebMap.RESOLUTIONS_DEGREE.slice();
BKGWebMap.RESOLUTIONS_DEGREE_EXTENDED.push(0.00000268220901489258);
BKGWebMap.RESOLUTIONS_DEGREE_EXTENDED.push(0.00000134110450744629);
/**
* Visualisierungsstyle für Vektordaten
* @constant BKGWebMap.Map.RESOLUTIONS_EXTENDED
*/
BKGWebMap.STYLES = {
/**
* Gelber Visualisierungsstil
*/
'GELB': {
Point: {
pointRadius: 4,
fillColor: "#ffee00",
fillOpacity: 0.5,
strokeWidth: 1,
strokeOpacity: 1,
strokeColor: "#ffee00"
},
Line: {
strokeWidth: 2,
strokeOpacity: 1,
strokeColor: "#ffee00",
strokeDashstyle: "dash"
},
Polygon: {
strokeWidth: 2,
strokeOpacity: 1,
strokeColor: "#ffee00",
strokeDashstyle: "dash",
fillColor: "white",
fillOpacity: 0.3
}
},
/**
* Roter Visualisierungsstil
*/
'ROT': {
Point: {
pointRadius: 4,
fillColor: "cc0000",
fillOpacity: 0.5,
strokeWidth: 1,
strokeOpacity: 1,
strokeColor: "#cc0000"
},
Line: {
strokeWidth: 2,
strokeOpacity: 1,
strokeColor: "#cc0000",
strokeDashstyle: "dash"
},
Polygon: {
strokeWidth: 2,
strokeOpacity: 1,
strokeColor: "#cc0000",
strokeDashstyle: "dash",
fillColor: "white",
fillOpacity: 0.3
}
}
};