diff --git a/.gitignore b/.gitignore
index 1c5f384..5f1e7d6 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,4 +1,5 @@
www/dlsv
www/event.xml
www/geolocation.js
+www/geolocationTable.js
www/stations.xml
diff --git a/www/events.js b/www/events.js
index 1cfee10..7a234b2 100644
--- a/www/events.js
+++ b/www/events.js
@@ -22,6 +22,22 @@
$Id$
*/
+/* adding row(s) to a table and format date strings afterwards */
+function addTableRow(row, table) {
+ var added = $('#'+table+' tbody').append(row);
+ added.find('.tablesorter-childRow td').hide();
+ $('#'+table).find('td.utctime-date').each(function() {
+ $.localtime.formatObject($(this), "dd.MM.yyyy");
+ $(this).removeClass('utctime-date');
+ $(this).addClass('localtime-date');
+ });
+ $('#'+table).find('td.utctime-time').each(function() {
+ $.localtime.formatObject($(this), "HH:mm");
+ $(this).removeClass('utctime-time');
+ $(this).addClass('localtime-time');
+ });
+};
+
/* do reverse geolocation lookup */
function getGeolocation(id, lat, lng) {
if ( !geolocationTable[id] ) {
@@ -50,17 +66,16 @@ function getGeolocation(id, lat, lng) {
};
/* Load events using ajax */
-function ajaxLoadEvents(stime, etime, id) {
+function ajaxLoadEvents(stime, etime, id, target) {
var mapBounds = map.getBounds();
var request_data = {};
+ if ( stime == '' || !stime ) {
+ stime = new Date();
+ stime.setDate(stime.getDate()-config['map']['timespan']);
+ };
if ( id ) {
- if ( id == 'bug2014jptq' ) console.log('Loading special event '+id);
request_data = { eventid: id };
} else {
- if ( !stime ) {
- stime = new Date();
- stime.setDate(stime.getDate()-config['map']['timespan']);
- };
request_data = {
starttime: sprintf("%d-%02d-%02d", stime.getFullYear(), stime.getMonth()+1, stime.getDate()),
orderby: 'time-asc',
@@ -74,6 +89,7 @@ function ajaxLoadEvents(stime, etime, id) {
request_data['endtime'] = sprintf("%d-%02d-%02d", etime.getFullYear(), etime.getMonth()+1, etime.getDate());
};
};
+ if ( etime == '' || !etime ) { etime = new Date(); };
$.ajax({
type: "GET",
url: config['ajax']['eventURL'],
@@ -87,8 +103,8 @@ function ajaxLoadEvents(stime, etime, id) {
var lng = $(this).find('origin > longitude > value').text();
var lat = $(this).find('origin > latitude > value').text();
var depth = $(this).find('origin > depth > value').text();
- var evaluationMode = $(this).find('evaluationMode').text();
- var evaluationStatus = $(this).find('evaluationStatus').text();
+ var evaluationMode = $(this).find('origin > evaluationMode').text();
+ var evaluationStatus = $(this).find('origin > evaluationStatus').text();
var type = $(this).find('type').last().text();
var location
// get location, try this in order:
@@ -97,13 +113,12 @@ function ajaxLoadEvents(stime, etime, id) {
location = ( geolocationTable[id] || getGeolocation(id, lat, lng) );
// 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 ( id == 'bug2014jptq' ) console.log('Adding row for special event '+id);
// general event info (1st line)
var row = '
'
+ ''+otime.split('.')[0]+'Z | '
+ ''+otime.split('.')[0]+'Z | '
+ sprintf('%.1f | ', Number(mag))
- + ''+location+'Karte | '
+ + ''+location+' Karte | '
+ '
';
// setting up event details (2nd line)
row += ''
@@ -111,28 +126,22 @@ function ajaxLoadEvents(stime, etime, id) {
// setting up download links (3nd line)
var xmlurl = sprintf('%s?formatted=true&includearrivals=true&eventid=%s', config['ajax']['eventURL'], id);
var oTime = new Date(otime);
- var stime = new Date(oTime.getTime()-10*1000.-oTime.getMilliseconds());
- var etime = new Date(oTime.getTime()+50*1000.-oTime.getMilliseconds());
- var mseedurl = sprintf('%s?net=GE,GR,RN&cha=EH?,HH?&start=%04d-%02d-%02dT%02d:%02d:%02d&end=%04d-%02d-%02dT%02d:%02d:%02d', config['ajax']['mseedURL'], Number(stime.getUTCFullYear()), Number(stime.getUTCMonth())+1, Number(stime.getUTCDate()), Number(stime.getUTCHours()), Number(stime.getUTCMinutes()), Number(stime.getUTCSeconds()), Number(etime.getUTCFullYear()), Number(etime.getUTCMonth())+1, Number(etime.getUTCDate()), Number(etime.getUTCHours()), Number(etime.getUTCMinutes()), Number(etime.getUTCSeconds()));
+ var sTime = new Date(oTime.getTime()-10*1000.-oTime.getMilliseconds());
+ var eTime = new Date(oTime.getTime()+50*1000.-oTime.getMilliseconds());
+ var mseedurl = sprintf('%s?net=GE,GR,RN&cha=EH?,HH?&start=%04d-%02d-%02dT%02d:%02d:%02d&end=%04d-%02d-%02dT%02d:%02d:%02d', config['ajax']['mseedURL'], Number(sTime.getUTCFullYear()), Number(sTime.getUTCMonth())+1, Number(sTime.getUTCDate()), Number(sTime.getUTCHours()), Number(sTime.getUTCMinutes()), Number(sTime.getUTCSeconds()), Number(eTime.getUTCFullYear()), Number(eTime.getUTCMonth())+1, Number(eTime.getUTCDate()), Number(eTime.getUTCHours()), Number(eTime.getUTCMinutes()), Number(eTime.getUTCSeconds()));
row += '
'
+ ''
+ sprintf('Download QuakeML or miniSEED', xmlurl, mseedurl)
+ ' |
';
// add row to table
- var added = $('#eventstable tbody').append(row);
- added.find('.tablesorter-childRow td').hide();
- $('#eventstable').find('td.utctime-date').each(function() {
- $.localtime.formatObject($(this), "dd.MM.yyyy");
- $(this).removeClass('utctime-date');
- $(this).addClass('localtime-date');
- });
- $('#eventstable').find('td.utctime-time').each(function() {
- $.localtime.formatObject($(this), "HH:mm");
- $(this).removeClass('utctime-time');
- $(this).addClass('localtime-time');
- });
+ if ( stime <= oTime && etime >= oTime ) {
+ addTableRow(row, 'eventstable');
+ };
+ if ( target ) {
+ addTableRow(row, target);
+ }
// create marker
- var marker = addEventMarker(id, Number(lat), Number(lng), Number(mag));
+ var marker = addEventMarker(id, Number(lat), Number(lng), Number(mag), type);
var text = sprintf('%s
', id, location)
+ sprintf('Ereignis: %s', id)
+ sprintf('Type: %s', type)
@@ -159,6 +168,9 @@ function ajaxLoadEvents(stime, etime, id) {
console.log( "Request Failed: " + err );
}
});
+ // create events csv download link
+ request_data['format'] = 'text';
+ if ( id == '' || !id ) { $('#events-csv-link').attr('href', config['ajax']['eventURL']+'?'+$.param(request_data)) };
};
/* ajaxLoadEventInfo */
@@ -242,13 +254,13 @@ function toggleFilteredMarkers() {
// show all shown events in map
$("#eventstable > tbody > tr:not(.filtered) > td > a.map-link").each( function() {
if ( $(this).attr("eventid") ) {
- eventTable[$(this).attr("eventid")].setStyle({opacity: 1, strokeOpacity: 1, fillOpacity: config['event']['markerOpacity']});
+ map.addLayer(eventTable[$(this).attr("eventid")]);
};
});
// hide filtered events in map
$("#eventstable > tbody > tr.filtered > td > a.map-link").each( function() {
if ( $(this).attr("eventid") ) {
- eventTable[$(this).attr("eventid")].setStyle({opacity: 0, strokeOpacity: 0, fillOpacity: 0});
+ map.removeLayer(eventTable[$(this).attr("eventid")]);
};
});
highlightFirstEvent();
@@ -385,4 +397,23 @@ $(document).ready(function() {
});
return false;
});
+ // update selection / type info
+ $("#events-timespan").text(config['map']['timespan']);
+ $("#events-minmag").text(sprintf('%.1f', config['event']['minMag']));
+ config['event']['typeWhitelist'].map(function(type) {
+ var typetext;
+ ( $("#events-type").text() == "Symbole:" ) ? typetext = ' ' : typetext = ', ';
+ switch ( type ) {
+ case 'earthquake':
+ typetext += 'tektonisches Erdbeben (Stern)';
+ break;
+ case 'induced or triggered event':
+ typetext += '(bergbau-)induziertes Ereignis (Kreis)';
+ break;
+ case 'quarry blast':
+ typetext += 'Steinbruchsprengung (Rad)';
+ break;
+ };
+ $("#events-type").append(typetext);
+ });
});
diff --git a/www/index.html.de b/www/index.html.de
index 078bd3b..6f4a07f 100644
--- a/www/index.html.de
+++ b/www/index.html.de
@@ -40,12 +40,21 @@
+
+
- Ereignisse
@@ -90,7 +99,15 @@
- Nominatim Search Courtesy of MapQuest
+
+ Ereignisse der letzten 180 Tage ab Magnitude 1.2 im Bereich der Karte und besondere Ereignisse in angrenzenden Bereichen. Download als CSV-Datei.
+
+
+ Symbole:
+
+
+ Nominatim Search Courtesy of MapQuest
+
@@ -129,7 +146,7 @@
-
Download als CSV
+
Download als CSV-Datei.
diff --git a/www/main.css b/www/main.css
index e17d826..bc0c37d 100644
--- a/www/main.css
+++ b/www/main.css
@@ -13,6 +13,15 @@
height: 100%;
font-family: sans-serif;
}
+ div.noscript {
+ z-index: 20000;
+ position: absolute;
+ left: 0px;
+ top: 0px;
+ width: 100%;
+ height: 100%;
+ background: rgb(255, 255, 255);
+ }
div.info {
z-index: 10000;
position: absolute;
@@ -64,4 +73,7 @@
td.ar {
text-align: right;
}
+ p.table-caption {
+ font-size: smaller;
+ }
diff --git a/www/map.js b/www/map.js
index 19f578c..4473cfc 100644
--- a/www/map.js
+++ b/www/map.js
@@ -41,11 +41,9 @@ function addStationMarker(id, lat, lng, station) {
};
/* add event marker */
-function addEventMarker(id, lat, lng, mag) {
- if ( id == 'bug2014jptq' ) console.log('Adding marker for special event '+id);
+function addEventMarker(id, lat, lng, mag, type) {
if ( eventTable[id] ) {
return eventTable[id];
- console.log('Marker allready exists ID: '+id);
} else {
var markerOptions = {
gradient: true,
@@ -58,7 +56,19 @@ function addEventMarker(id, lat, lng, mag) {
className: id+' eventMarker',
radius: mag2radius(mag)
};
- var marker = L.circleMarker(L.latLng(lat, lng), markerOptions);
+ var marker;
+ switch ( type ) {
+ case 'earthquake':
+ marker = L.starMarker(L.latLng(lat, lng), markerOptions);
+ break;
+ case 'quarry blast':
+ markerOptions['numberOfPoints'] = 7;
+ markerOptions['innerRadius'] = 0.3*markerOptions['radius'];
+ marker = L.starMarker(L.latLng(lat, lng), markerOptions);
+ break;
+ default:
+ marker = L.circleMarker(L.latLng(lat, lng), markerOptions);
+ };
eventLayer.addLayer(marker);
eventTable[id] = marker;
return marker;
@@ -169,8 +179,9 @@ $(document).ready(function() {
// load events
ajaxLoadEvents();
- //ajaxLoadEvents([], [], ['bug2014jptq', 'gfz2013yvko']);
- ajaxLoadEvents([], [], 'bug2014jptq');
+ specialEvents.map(function(id) {
+ ajaxLoadEvents('', '', id)
+ });
toggleFilteredMarkers();
// bind popupopen event
diff --git a/www/specialevents.js b/www/specialevents.js
new file mode 100644
index 0000000..f2b9763
--- /dev/null
+++ b/www/specialevents.js
@@ -0,0 +1,9 @@
+/* $Id$ */
+var specialEvents = [
+ 'bug2014jptq', // Seeheim-Jugenheim
+ 'bug2014infb', // Troisdorf
+ 'bug2014ilxd', // Bassum
+ 'bug2014gfzw', // Darmstadt
+ 'bug2014datb', // Groningen
+ 'bug2013yvko', // Haltern 3.4
+];
diff --git a/www/stations.js b/www/stations.js
index f9d5d36..e6295b2 100644
--- a/www/stations.js
+++ b/www/stations.js
@@ -105,6 +105,10 @@ function loadStations(stime, etime) {
$("#stationstable > tbody > tr:even").addClass("odd");
$("#stationstable > tbody > tr:odd").addClass("even");
stationLayer.bringToFront();
+ },
+ error: function( jqxhr, textStatus, error ) {
+ var err = textStatus + ", " + error;
+ console.log( "Request Failed: " + err );
}
});
// create stations csv download link