diff --git a/www/.htaccess b/www/.htaccess index 605d2f4..93cdb28 100644 --- a/www/.htaccess +++ b/www/.htaccess @@ -1 +1,7 @@ Allow from all +Header always set Access-Control-Allow-Origin "https://fdsnws.geophysik.ruhr-uni-bochum.de" +Header always append Access-Control-Allow-Origin "https://photon.komoot.de" +Header always set Access-Control-Allow-Methods "POST, GET, OPTIONS, DELETE, PUT" +Header always set Access-Control-Allow-Headers "x-requested-with, Content-Type, origin, authorization, accept, client-security-token" +Header always set Access-Control-Expose-Headers "Content-Security-Policy, Location" +Header always set Access-Control-Max-Age "600" diff --git a/www/events.js b/www/events.js index 3bc68e5..6cd209f 100644 --- a/www/events.js +++ b/www/events.js @@ -40,27 +40,23 @@ function addTableRow(row, table) { /* do reverse geolocation lookup */ function getGeolocation(id, lat, lng) { - if ( !geolocationTable[id] ) { + if ( $.inArray(id, geolocationTable) == -1 ) { $.getJSON( config['ajax']['nominatimURL'], { lat: lat, lon: lng } ) .done(function( json ) { - var city = json.address["city"]; - if ( ~city ) { city = json.address["town"]; }; - if ( ~city ) { city = json.address["village"]; }; - var country = json.address["country"]; - var countryCode = json.address["country_code"].toUpperCase(); - var city = json.features[0].properties.city; - var countryCode = json.features[0].properties.country; - geolocationTable[id] = city; - ( countryCode != "DE" ) ? geolocationTable[id] = geolocationTable[id] + " ("+countryCode+")" : null; - ( countryCode != "Germany" ) ? geolocationTable[id] = geolocationTable[id] + " ("+countryCode+")" : null; - if ( city ) { - $("#eventstable a.toggle[eventid="+id+"]").text(geolocationTable[id]); - var sort = [[0,1],[1,1],[2,1]]; - $("#eventstable").trigger("update", [true]); - $("#eventstable").trigger("updateCache"); - $("#eventstable").trigger("sorton", [sort]); - } else { - // console.log("Nominatim did not provide a city tag for "+lat+" / "+lng); + if ( json.features[0] ) { + var city = json.features[0].properties.city; + var countryCode = json.features[0].properties.country; + geolocationTable[id] = city; + ( countryCode != "Germany" ) ? geolocationTable[id] = geolocationTable[id] + " ("+countryCode+")" : null; + if ( city ) { + $("#eventstable a.toggle[eventid="+id+"]").text(geolocationTable[id]); + var sort = [[0,1],[1,1],[2,1]]; + $("#eventstable").trigger("update", [true]); + $("#eventstable").trigger("updateCache"); + $("#eventstable").trigger("sorton", [sort]); + } else { + // console.log("Nominatim did not provide a city tag for "+lat+" / "+lng); + }; }; }) .fail(function( jqxhr, textStatus, error ) { @@ -93,7 +89,7 @@ function ajaxLoadEvents(stime, etime, eventid, url, target) { } else { request_data = { starttime: sprintf("%d-%02d-%02d", rtime.getFullYear(), rtime.getMonth()+1, rtime.getDate()), - orderby: 'time', + orderby: 'time-asc', minlat: sprintf('%.2f', mapBounds.getSouth()-config['map']['latlngDelta']), maxlat: sprintf('%.2f', mapBounds.getNorth()+config['map']['latlngDelta']), minlon: sprintf('%.2f', mapBounds.getWest()-config['map']['latlngDelta']), @@ -124,7 +120,7 @@ function ajaxLoadEvents(stime, etime, eventid, url, target) { var type = $(this).find('type').last().text(); var location // create table row: Date, Time, Mag, Location - if ( !eventTable[id] && $.inArray(type, config['event']['typeWhitelist'] )+1 && $.inArray(evaluationStatus, config['event']['evaluationBlacklist'])<0 && Number(mag)+0.05 >= config['event']['minMag'] ) { + if ( !eventTable[id] && $.inArray(type, config['event']['typeWhitelist'] ) >= 0 && $.inArray(evaluationStatus, config['event']['evaluationBlacklist'])<0 && Number(mag)+0.05 >= config['event']['minMag'] ) { geolocationTable[id] ? null : getGeolocation(id, lat, lng); // do AJAX lookup if not cached, location will be updated later location = ( geolocationTable[id] || getLocation(lat, lng)[0] || $(this).find('description > text').text() ); // general event info (1st line) @@ -432,7 +428,12 @@ $(document).ready(function() { typetext += '(bergbau-)induziertes Ereignis (Kreis)'; break; case 'quarry blast': - typetext += 'Steinbruchsprengung (Rad)'; + case 'controlled explosion': + case 'explosion': + typetext += 'Sprengung (Rad)'; + break; + case 'nuclear explosion': + typetext += 'Atomwaffentest (Viereck)'; break; }; $("#events-type").append(typetext); diff --git a/www/events.js.en b/www/events.js.en index 0c7c3c2..e06e2c9 100644 --- a/www/events.js.en +++ b/www/events.js.en @@ -40,27 +40,23 @@ function addTableRow(row, table) { /* do reverse geolocation lookup */ function getGeolocation(id, lat, lng) { - if ( !geolocationTable[id] ) { + if ( $.inArray(id, geolocationTable) == -1 ) { $.getJSON( config['ajax']['nominatimURL'], { lat: lat, lon: lng } ) .done(function( json ) { - var city = json.address["city"]; - if ( ~city ) { city = json.address["town"]; }; - if ( ~city ) { city = json.address["village"]; }; - var country = json.address["country"]; - var countryCode = json.address["country_code"].toUpperCase(); - var city = json.features[0].properties.city; - var countryCode = json.features[0].properties.country; - geolocationTable[id] = city; - ( countryCode != "DE" ) ? geolocationTable[id] = geolocationTable[id] + " ("+countryCode+")" : null; - ( countryCode != "Germany" ) ? geolocationTable[id] = geolocationTable[id] + " ("+countryCode+")" : null; - if ( city ) { - $("#eventstable a.toggle[eventid="+id+"]").text(geolocationTable[id]); - var sort = [[0,1],[1,1],[2,1]]; - $("#eventstable").trigger("update", [true]); - $("#eventstable").trigger("updateCache"); - $("#eventstable").trigger("sorton", [sort]); - } else { - // console.log("Nominatim did not provide a city tag for "+lat+" / "+lng); + if ( json.features[0] ) { + var city = json.features[0].properties.city; + var countryCode = json.features[0].properties.country; + geolocationTable[id] = city; + ( countryCode != "Germany" ) ? geolocationTable[id] = geolocationTable[id] + " ("+countryCode+")" : null; + if ( city ) { + $("#eventstable a.toggle[eventid="+id+"]").text(geolocationTable[id]); + var sort = [[0,1],[1,1],[2,1]]; + $("#eventstable").trigger("update", [true]); + $("#eventstable").trigger("updateCache"); + $("#eventstable").trigger("sorton", [sort]); + } else { + // console.log("Nominatim did not provide a city tag for "+lat+" / "+lng); + }; }; }) .fail(function( jqxhr, textStatus, error ) { @@ -93,7 +89,7 @@ function ajaxLoadEvents(stime, etime, eventid, url, target) { } else { request_data = { starttime: sprintf("%d-%02d-%02d", rtime.getFullYear(), rtime.getMonth()+1, rtime.getDate()), - orderby: 'time', + orderby: 'time-asc', minlat: sprintf('%.2f', mapBounds.getSouth()-config['map']['latlngDelta']), maxlat: sprintf('%.2f', mapBounds.getNorth()+config['map']['latlngDelta']), minlon: sprintf('%.2f', mapBounds.getWest()-config['map']['latlngDelta']), @@ -123,8 +119,8 @@ function ajaxLoadEvents(stime, etime, eventid, url, target) { var evaluationStatus = $(this).find('origin > evaluationStatus').text(); var type = $(this).find('type').last().text(); var location - // get location, try this in order: - if ( !eventTable[id] && $.inArray(type, config['event']['typeWhitelist'] )+1 && $.inArray(evaluationStatus, config['event']['evaluationBlacklist'])<0 && Number(mag)+0.05 >= config['event']['minMag'] ) { + // create table row: Date, Time, Mag, Location + if ( !eventTable[id] && $.inArray(type, config['event']['typeWhitelist'] ) >= 0 && $.inArray(evaluationStatus, config['event']['evaluationBlacklist'])<0 && Number(mag)+0.05 >= config['event']['minMag'] ) { geolocationTable[id] ? null : getGeolocation(id, lat, lng); // do AJAX lookup if not cached, location will be updated later location = ( geolocationTable[id] || getLocation(lat, lng)[0] || $(this).find('description > text').text() ); // general event info (1st line) @@ -432,8 +428,13 @@ $(document).ready(function() { typetext += '(mining-)induced event (circle)'; break; case 'quarry blast': + case 'controlled explosion': + case 'explosion': typetext += 'quarry blast (wheel)'; break; + case 'nuclear explosion': + typetext += 'nuclear weapon test (square)'; + break; }; $("#events-type").append(typetext); }); diff --git a/www/index.html.en b/www/index.html.en index 47b3175..7d1e4e2 100755 --- a/www/index.html.en +++ b/www/index.html.en @@ -40,6 +40,9 @@ + + + @@ -115,7 +118,7 @@ Symbols:
- Nominatim Search Courtesy of MapQuest
+ Reverse Geolocation courtesy of Photon by Komoot
',
- }).addTo(map);
- break;
+ null;
+ // map = L.map('map', { zoomControl: false, worldCopyJump: true, layers: mapLayer }).setView(config['map']['centerDefault'], config['map']['zoomDefault']);
+ // L.tileLayer.grayscale('https://otile{s}.mqcdn.com/tiles/1.0.0/map/{z}/{x}/{y}.jpg',
+ // {
+ // subdomains: '1234',
+ // detectRetina: true,
+ // attribution: 'Map data © OpenStreetMap contributors, CC-BY-SA | Tiles Courtesy of MapQuest
',
+ //}).addTo(map);
+ //break;
case 'mapquest': // add MapQuestOSM tile layer
null;
default:
@@ -183,11 +191,11 @@ $(document).ready(function() {
worldCopyJump: true,
layers: mapLayer,
}).setView(config['map']['centerDefault'], config['map']['zoomDefault']);
- //L.tileLayer('http://otile{s}.mqcdn.com/tiles/1.0.0/map/{z}/{x}/{y}.jpg',
+ //L.tileLayer('https://otile{s}.mqcdn.com/tiles/1.0.0/map/{z}/{x}/{y}.jpg',
//{
//subdomains: '1234',
//detectRetina: true,
- //attribution: 'Map data © OpenStreetMap contributors, CC-BY-SA | Tiles Courtesy of MapQuest
',
+ //attribution: 'Map data © OpenStreetMap contributors, CC-BY-SA | Tiles Courtesy of MapQuest
',
//}).addTo(map);
};
diff --git a/www/map.js.en b/www/map.js.en
index 6281eb5..7a46b22 100644
--- a/www/map.js.en
+++ b/www/map.js.en
@@ -17,7 +17,7 @@
for more details.
You should have received a copy of the GNU General Public License along
- with this program. If not, see http://www.gnu.org/licenses/.
+ with this program. If not, see https://www.gnu.org/licenses/.
$Id$
*/
@@ -61,6 +61,12 @@ function addEventMarker(id, lat, lng, mag, type) {
case 'earthquake':
marker = L.starMarker(L.latLng(lat, lng), markerOptions);
break;
+ case 'nuclear explosion':
+ markerOptions['numberOfSides'] = 4;
+ markerOptions['radius'] = 2.0*markerOptions['radius'];
+ markerOptions['innerRadius'] = 0.3*markerOptions['radius'];
+ marker = L.regularPolygonMarker(L.latLng(lat, lng), markerOptions);
+ break;
case 'explosion':
markerOptions['numberOfSides'] = 6;
markerOptions['radius'] = 2.0*markerOptions['radius'];
@@ -68,6 +74,7 @@ function addEventMarker(id, lat, lng, mag, type) {
marker = L.regularPolygonMarker(L.latLng(lat, lng), markerOptions);
break;
case 'quarry blast':
+ case 'controlled explosion':
markerOptions['numberOfPoints'] = 7;
markerOptions['innerRadius'] = 0.3*markerOptions['radius'];
marker = L.starMarker(L.latLng(lat, lng), markerOptions);
@@ -133,19 +140,19 @@ function initMapLink() {
$(document).ready(function() {
// create a map in the "map" div, set the view to a given place and zoom
- map = L.map('map', { zoomControl: false, worldCopyJump: true }).setView(config['map']['centerDefault'], config['map']['zoomDefault']);
- new L.Control.Zoom({ position: 'topright' }).addTo(map);
- new L.control.scale({position: 'bottomright', imperial: false}).addTo(map);
+
// create baselayer
switch ( config['map']['baselayer'] ) {
case 'osmde': // add OpenStreetMap.DE tile layer
- L.tileLayer('http://{s}.tile.openstreetmap.de/tiles/osmde/{z}/{x}/{y}.png',
+ map = L.map('map', { zoomControl: false, worldCopyJump: true }).setView(config['map']['centerDefault'], config['map']['zoomDefault']);
+ L.tileLayer('https://{s}.tile.openstreetmap.de/tiles/osmde/{z}/{x}/{y}.png',
{
- attribution: '© OpenStreetMap contributors, CC-BY-SA',
+ attribution: '© OpenStreetMap contributors, CC-BY-SA',
}).addTo(map);
break;
case 'esrigray': // add ESRI Grayscale World Map (neither city nor road names)
+ map = L.map('map', { zoomControl: false, worldCopyJump: true }).setView(config['map']['centerDefault'], config['map']['zoomDefault']);
L.tileLayer('//server.arcgisonline.com/ArcGIS/rest/services/Canvas/World_Light_Gray_Base/MapServer/tile/{z}/{y}/{x}',
{
attribution: 'Tiles © Esri — Esri, DeLorme, NAVTEQ',
@@ -153,35 +160,48 @@ $(document).ready(function() {
}).addTo(map);
break;
case 'aerial': // add ESRI WordImagery tile layer
- L.tileLayer('http://server.arcgisonline.com/ArcGIS/rest/services/World_Imagery/MapServer/tile/{z}/{y}/{x}',
+ map = L.map('map', { zoomControl: false, worldCopyJump: true }).setView(config['map']['centerDefault'], config['map']['zoomDefault']);
+ L.tileLayer('https://server.arcgisonline.com/ArcGIS/rest/services/World_Imagery/MapServer/tile/{z}/{y}/{x}',
{
attribution: 'Tiles © Esri — Source: Esri, i-cubed, USDA, USGS, AEX, GeoEye, Getmapping, Aerogrid, IGN, IGP, UPR-EGP, and the GIS User Community'
}).addTo(map);
break;
case 'komoot': // add OpenStreetMap.DE tile layer
+ map = L.map('map', { zoomControl: false, worldCopyJump: true }).setView(config['map']['centerDefault'], config['map']['zoomDefault']);
L.tileLayer('//www.komoot.de/tiles/{s}/{z}/{x}/{y}.png',
{
- attribution: 'Map data © OpenStreetMap contributors, CC-BY-SA | Tiles Courtesy of Komoot',
+ attribution: 'Map data © OpenStreetMap contributors, CC-BY-SA | Tiles Courtesy of Komoot',
}).addTo(map);
break;
case 'mapquestgray': // add MapQuestOSM tile layer
- L.tileLayer.grayscale('http://otile{s}.mqcdn.com/tiles/1.0.0/map/{z}/{x}/{y}.jpg',
- {
- subdomains: '1234',
- detectRetina: true,
- attribution: 'Map data © OpenStreetMap contributors, CC-BY-SA | Tiles Courtesy of MapQuest
',
- }).addTo(map);
- break;
+ null;
+ // map = L.map('map', { zoomControl: false, worldCopyJump: true, layers: mapLayer }).setView(config['map']['centerDefault'], config['map']['zoomDefault']);
+ // L.tileLayer.grayscale('https://otile{s}.mqcdn.com/tiles/1.0.0/map/{z}/{x}/{y}.jpg',
+ // {
+ // subdomains: '1234',
+ // detectRetina: true,
+ // attribution: 'Map data © OpenStreetMap contributors, CC-BY-SA | Tiles Courtesy of MapQuest
',
+ //}).addTo(map);
+ //break;
case 'mapquest': // add MapQuestOSM tile layer
null;
default:
- L.tileLayer('http://otile{s}.mqcdn.com/tiles/1.0.0/map/{z}/{x}/{y}.jpg',
- {
- subdomains: '1234',
- detectRetina: true,
- attribution: 'Map data © OpenStreetMap contributors, CC-BY-SA | Tiles Courtesy of MapQuest
',
- }).addTo(map);
+ var mapLayer = MQ.mapLayer();
+ map = L.map('map', {
+ zoomControl: false,
+ worldCopyJump: true,
+ layers: mapLayer,
+ }).setView(config['map']['centerDefault'], config['map']['zoomDefault']);
+ //L.tileLayer('https://otile{s}.mqcdn.com/tiles/1.0.0/map/{z}/{x}/{y}.jpg',
+ //{
+ //subdomains: '1234',
+ //detectRetina: true,
+ //attribution: 'Map data © OpenStreetMap contributors, CC-BY-SA | Tiles Courtesy of MapQuest
',
+ //}).addTo(map);
};
+ // add controls
+ new L.Control.Zoom({ position: 'topright' }).addTo(map);
+ new L.control.scale({position: 'bottomright', imperial: false}).addTo(map);
// create station and event layer
// stationLayer = L.geoJson().addTo(map);
diff --git a/www/misc.js b/www/misc.js
index e249cc4..d0a8c31 100644
--- a/www/misc.js
+++ b/www/misc.js
@@ -91,10 +91,10 @@ var stationTable = {};
var config = {
ajax: {
timeout: 20000, // 20 seconds
- eventURL: '/fdsnws/event/1/query',
+ eventURL: 'https://fdsnws.geophysik.ruhr-uni-bochum.de/fdsnws/event/1/query',
dlsvURL: 'dlsv',
- mseedURL: '/fdsnws/dataselect/1/query',
- stationURL: '/fdsnws/station/1/query',
+ mseedURL: 'https://fdsnws.geophysik.ruhr-uni-bochum.de/fdsnws/dataselect/1/query',
+ stationURL: 'https://fdsnws.geophysik.ruhr-uni-bochum.de/fdsnws/station/1/query',
nominatimURL: 'https://photon.komoot.de/reverse',
timespan: 180,
},
@@ -105,7 +105,9 @@ var config = {
markerColorH: 'red',
minMag: 1.2,
minMagDelta: 0.1,
- typeWhitelist: ['earthquake', 'induced or triggered event', 'quarry blast', 'explosion'],
+ typeWhitelist: ['earthquake', 'induced or triggered event', 'controlled explosion'],
+ // typeWhitelist: ['earthquake', 'induced or triggered event', 'controlled explosion', 'nuclear explosion'],
+ // typeWhitelist: ['earthquake', 'induced or triggered event'],
},
map: {
zoomDefault: 9,
@@ -128,7 +130,11 @@ var config = {
NL_WIT: 3,
NL_WTSB: 3,
},
- networkBlacklist: ['NL', 'X5'],
+ networkBlacklist: ['NL', 'X5', '1A', 'AM'],
+ stationBlacklist: ['RN_WEA2', 'RN_ACN', 'RN_BHE', 'RN_ENT', 'RN_GSH', 'RN_HES', 'RN_JCKS', 'RN_LOH',
+ 'RN_OLF', 'RN_PLH', 'RN_RWB', 'RN_SOR', 'RN_TDN', 'RN_WBS',
+ 'RN_HAM1', 'RN_HAM2', 'RN_HAM3', 'RN_HAM4', 'RN_HAM5', 'RN_HAM6', 'RN_HAM7', 'RN_HAM8', 'RN_HAM9',
+ 'RN_HAM10', 'RN_HAM11', 'RN_HAM12', 'RN_HAM13', 'RN_HAM14', 'RN_HAM15', 'RN_HAM16', 'RN_HAM17'],
},
tab: {
active: 0,
@@ -139,13 +145,18 @@ var config = {
var networkURL = {
GE: 'http://dx.doi.org/10.14470/TR560404',
GR: 'http://www.bgr.bund.de/DE/Themen/Erdbeben-Gefaehrdungsanalysen/Seismologie/Seismologie/Seismometer_Stationen/Stationsnetze/d_stationsnetz_node.html',
+ NH: 'http://www.gd.nrw.de/gg_le.htm',
NL: 'http://www.knmi.nl/seismologie/seismisch_network_knmi3.html',
+ RN: 'https://doi.org/10.7914/SN/RN',
+ YD: 'https://doi.org/10.7914/SN/YD_2020',
};
var networkText = {
- GE: 'GEOFON Program, GFZ Potsdam',
+ GE: 'GEOFON Seismic Network - Deutsches GeoForschungsZentrum GFZ',
GR: 'German Regional Seismic Network, BGR Hannover',
+ NH: 'Geologischer Dienst NRW, Krefeld',
NL: 'Netherlands Seismic Network, The Netherlands',
- RN: 'RuhrNet - Ruhr-University Bochum, Germany',
+ RN: 'RuhrNet - Ruhr-University Bochum, Germany',
+ YD: 'FloodRisk Seismic Network',
};
var bochumStation = ['BUG', 'IBBN', 'KERA', 'KARP'];
diff --git a/www/specialevents.js b/www/specialevents.js
index 5ecfd56..057017a 100644
--- a/www/specialevents.js
+++ b/www/specialevents.js
@@ -9,6 +9,29 @@ var specialEvents = [
//'bug2014ilxd', // Bassum
//'bug2014gfzw', // Darmstadt
//'bug2014datb', // Groningen
- 'bug2013yvko', // Haltern 3.4
- 'bug2015fdpy', // Darmstadt 3.0
+ // 'bug2013yvko', // Haltern 3.4
+ // 'bug2015fdpy', // Darmstadt 3.0
+ // 'bug2016ajgm', // CTBT violation North Korea
+ // 'bug2016cqkd', // Taunusstein 2.5
+ // 'bug2016hdae', // Aldenhoven 2.6
+ // 'bug2016hdaj', // Aldenhoven 2.4
+ // 'bug2016kkrq', // Bottrop 3.3
+ // 'bug2016qphy', // Central Italy 6.1
+ // 'bug2016rslt', // CTBT violation North Korea
+ // 'bug2016ueqo', // Darmstadt 2.4
+ // 'bug2016ufpi', // Darmstadt 3.0
+ // 'bug2016vico', // Central Italy 6.5
+ // 'bug2016vrnc', // Nörvenich 3.2
+ // 'bug2016zawb', // St Goar 3.2
+ // 'bug2017iyhl', // Hürtgenwald 2.1
+ // 'bug2017omwg', // Brühl 2.3
+ // 'bug2017rfxe', // CTBT violation North Korea 6.1
+ // 'bug2017rjvq', // Dreieich / Hessen 2.6
+ // 'bug2017vxmm', // Brühl / Hürth 3.1
+ // 'bug2018nyax' // Ochtendung 2.7
+ // 'bug2019cxga', // Ochtendung 3.0
+ // 'bug2019czbt', // Ochtendung 2.9
+ // 'bug2019fura', // Sprengung Duisburg-Hochheide (Weißer Riese) 2.0
+ // 'bug2019yeij', // Tektonisch, Hambach 2.2
+ 'bug2020fqxf' // Meckenheim, 2.5
];
diff --git a/www/stations.js b/www/stations.js
index fb41de5..00982ea 100644
--- a/www/stations.js
+++ b/www/stations.js
@@ -23,7 +23,7 @@
*/
/* Load the stations using ajax */
-function loadStations(stime, etime) {
+function loadStations(station, stime, etime) {
var mapBounds = map.getBounds();
var N = mapBounds.getNorth();
var E = mapBounds.getEast();
@@ -37,14 +37,23 @@ function loadStations(stime, etime) {
var etime = new Date();
etime.setDate(etime.getDate()+1);
};
- var request_data = {
- endafter: sprintf("%d-%02d-%02d", stime.getFullYear(), stime.getMonth()+1, stime.getDate()),
- startbefore: sprintf("%d-%02d-%02d", etime.getFullYear(), etime.getMonth()+1, etime.getDate()),
- level: 'channel',
- minlat: S-config['map']['latlngDelta'],
- maxlat: N+config['map']['latlngDelta'],
- minlon: W-config['map']['latlngDelta'],
- maxlon: E+config['map']['latlngDelta'],
+ if ( !station ) {
+ var request_data = {
+ endafter: sprintf("%d-%02d-%02d", stime.getFullYear(), stime.getMonth()+1, stime.getDate()),
+ startbefore: sprintf("%d-%02d-%02d", etime.getFullYear(), etime.getMonth()+1, etime.getDate()),
+ level: 'station',
+ minlat: S-config['map']['latlngDelta'],
+ maxlat: N+config['map']['latlngDelta'],
+ minlon: W-config['map']['latlngDelta'],
+ maxlon: E+config['map']['latlngDelta'],
+ };
+ } else {
+ var request_data = {
+ endafter: sprintf("%d-%02d-%02d", stime.getFullYear(), stime.getMonth()+1, stime.getDate()),
+ startbefore: sprintf("%d-%02d-%02d", etime.getFullYear(), etime.getMonth()+1, etime.getDate()),
+ level: 'channel',
+ station: station,
+ };
};
$.ajax({
type: "GET",
@@ -61,13 +70,13 @@ function loadStations(stime, etime) {
lng = $(this).find('Longitude:first').text(),
stationID = network+'_'+station,
stationText = network+'.'+station;
- if ( !stationTable[stationID] ) {
+ if ( !stationTable[stationID] && $.inArray(stationID, config['station']['stationBlacklist']) <0 ) {
// general station info (1st line)
var row = sprintf('