Compare commits

...

27 Commits

Author SHA1 Message Date
fb9b623aa6 bug fix 2023-04-17 15:26:04 +02:00
bd300c2b07 new release v1.3
add paramter zoom to customize zoom level
2023-04-17 14:47:28 +02:00
736009b75d prepare new reelease v1.3
add parameter zoom
2023-04-17 14:38:31 +02:00
7e2ea42f52 update specialevents.js
event bug2023hlmh M3.3 Brüggen
2023-04-17 14:19:14 +02:00
bd01b7cba4 Merge remote-tracking branch 'origin/develop' into develop 2023-04-17 14:18:35 +02:00
6d62279199 add zoom level to parseQueryString evaluation 2023-04-17 14:17:45 +02:00
94d6e63b0f add zoom level to parseQueryString evaluation 2023-04-17 11:12:54 +02:00
4e97e09466 support running nginx in vbox
add Vagrant file with configuration to run nginx in virtual box. Use vagrant up to start. Server listens to http://localhost:8888/map/
2022-02-28 13:24:51 +01:00
a2713522c9 update Vagrantfile
create link to map directory at right position
2022-02-27 22:36:18 +01:00
a1e044c082 use ubuntu/jammy64 (22.04) as base image 2022-02-27 22:35:36 +01:00
4c7a1c6916 update .gitignore
ignore .vagrant directory
2022-02-27 22:34:57 +01:00
5d38db389d Merge branch 'develop' into feature/vagrant 2022-02-23 16:54:07 +01:00
9333db3d29 test for "Deutschland" in contryCode when doing geolocation lookup. 2022-02-23 16:53:37 +01:00
2d287ea304 add event bug2020ahxi (Erftstadt 2.9) to specialevents.js 2022-02-23 16:52:44 +01:00
a7d16e5b8a fix scripts/mkGeolocationTable.py
* increase query limit to 10
* increase min_delay_seconds of RateLimiter to 2 seconds
2022-02-23 15:17:08 +01:00
08047bcff8 clean up of file specialevents.js 2022-02-23 15:15:26 +01:00
34f1bd4877 Merge branch 'develop' into feature/vagrant 2022-02-23 14:32:41 +01:00
4e14f49d98 new release v1.2 (2022-02-23)
changed photon.komoot.de to photon.komoot.io
2022-02-23 14:30:03 +01:00
d204bdd8e5 Merge branch 'release/v1.2' into main 2022-02-23 14:22:03 +01:00
dc367000ba prepare release v1.2 (2022-02-23) 2022-02-23 14:21:23 +01:00
d718875d03 Merge branch 'develop' into feature/mapquest 2022-02-23 13:55:04 +01:00
8b4df0c04d add Vagrant file 2022-02-23 13:51:16 +01:00
60461263db change URL of photon service by komoot to photon.komoot.io 2022-02-23 13:50:57 +01:00
42588db791 change URL of photon service by komoot to photon.komoot.io 2022-02-23 13:41:08 +01:00
73099a24e8 removed obsolete files 2021-11-01 12:32:02 +01:00
2decf93012 fixed version string 2021-11-01 12:22:55 +01:00
757607f29b fixed error output if sponge is not installed 2021-10-31 13:27:17 +01:00
28 changed files with 66 additions and 96 deletions

7
.gitignore vendored
View File

@ -38,6 +38,12 @@ Network Trash Folder
Temporary Items
.apdisk
## Vagrant
.vagrant/
# Log files (if you are creating logs in debug mode, uncomment this)
# *.log
## Project Files
wsgi/.idea
www/dlsv
@ -47,3 +53,4 @@ www/data/events.xml
www/data/geolocation.js
scripts/*.json
scripts/*.xml

View File

@ -1,4 +1,4 @@
# Version: VVVVV
# Version: v1.3 (2023-04-17)
FROM nginx:alpine
# set labels

16
Vagrantfile vendored Normal file
View File

@ -0,0 +1,16 @@
Vagrant.configure("2") do |config|
config.vm.box = "ubuntu/jammy64"
config.vm.synced_folder ".", "/vagrant"
config.vm.network(:forwarded_port, guest: 80, host: 8888)
config.vm.provision :shell, inline: <<-SHELL
sudo apt-get -y update
sudo apt-get -y install nginx
echo "Starting nginx..."
sudo ln -s /vagrant/www /var/www/html/map
sudo cp /vagrant/www/index.html.en /vagrant/www/index.html
sudo useradd -s /bin/false nginx
sudo service nginx restart
SHELL
end

View File

@ -9,7 +9,7 @@ services:
build:
context: .
dockerfile: Dockerfile
image: seisobs-map:dev
image: seisobs-map:v1.1
networks:
- seisobs
volumes:

View File

@ -1,4 +1,4 @@
# Version: VVVVV
# Version: v1.3 (2023-04-17)
server {
listen 80;
listen [::]:80;

View File

@ -1,4 +1,4 @@
# Version: VVVVV
# Version: v1.3 (2023-04-17)
user nginx;
worker_processes 1;

View File

@ -1,5 +1,5 @@
#!/bin/bash
# Version: VVVVV
# Version: v1.3 (2023-04-17)
# get starting date
# find gdate or date command ( OSX: brew install coreutils)

View File

@ -12,7 +12,7 @@
AJAX calls to the Nominatim service small, e. g. :
curl -s "https://fdsnws.geophysik.ruhr-uni-bochum.de/fdsnws/event/1/query?minlat=50&maxlat=54&minlon=3&maxlon=10&minmag=1" | mkGeolocationTable.py > geolocationTable.js
Version: VVVVV
Version: v1.3 (2023-04-17)
License
Copyright 2020-2021 Kasper D. Fischer <kasper.fischer@rub.de>
@ -52,7 +52,7 @@ def mkGeolocationTable(file=''):
from geopy.exc import GeocoderServiceError
## constants
URL = 'https://photon.komoot.io/reverse?lon={lng:.3f}&lat={lat:.3f}&limit=5'
URL = 'https://photon.komoot.io/reverse?lon={lng:.3f}&lat={lat:.3f}&limit=10'
NAMESPACES = {'sc3': 'http://geofon.gfz-potsdam.de/ns/seiscomp3-schema/0.7',
'qml': 'http://quakeml.org/xmlns/bed/1.2'}
@ -70,7 +70,7 @@ def mkGeolocationTable(file=''):
# parse event.xml
DOM = ET.parse(stdin).getroot()
geolocator = Photon()
reverse_geolocate = RateLimiter(geolocator.reverse, min_delay_seconds=1)
reverse_geolocate = RateLimiter(geolocator.reverse, min_delay_seconds=2)
# iterate over all events
count = 0
@ -88,7 +88,7 @@ def mkGeolocationTable(file=''):
else:
logging.info('Processing event {id}'.format(id=publicID))
try:
locations = reverse_geolocate("{lat:.3f}, {lng:.3f}".format(lat=lat, lng=lng),exactly_one=False,limit=5)
locations = reverse_geolocate("{lat:.3f}, {lng:.3f}".format(lat=lat, lng=lng),exactly_one=False,limit=10)
except GeocoderServiceError:
logging.warning('Reverse Geolocation failed. Skipping event.')
continue
@ -125,7 +125,7 @@ if __name__ == "__main__":
# parse arguments
import argparse
versionText = 'VVVVV'
versionText = 'v1.3 (2023-04-17)'
parser = argparse.ArgumentParser(
description='Reverse geocoding lookup of events in xml format (stdin).',
epilog=versionText)

View File

@ -1,5 +1,9 @@
#!/bin/bash
# version: VVVVV
# version: v1.3 (2023-04-17)
function fail {
printf '%s\n' "$1" >&2 ## Send message to stderr.
exit "${2-1}" ## Return a code specified by $2, or 1 by default.
}
if [ $# -le 1 ] ; then
echo usage: ${0} version_string files ...
@ -10,7 +14,7 @@ shift
files="$*"
echo ${version} ${files}
which sponge > /dev/null || ( echo "sponge util must be installed" ; exit 0 )
which sponge > /dev/null || fail "sponge util must be installed"
for file in ${files}; do
sed "s/V\{5\}/${version}"/ ${file} | sponge ${file}

View File

@ -4,7 +4,7 @@
Get waveform data from FDSN web service and create a fancy plot
This programme runs as a script or as a WSGI application.
:version VVVVV
:version v1.1 (2021-10-31)
:license
Copyright 2020 Kasper Fischer <kasper.fischer@ruhr-uni-bochum.de>
@ -378,7 +378,7 @@ if __name__ == "__main__":
epilog=u'$Revision$ ($Date$, $Author$)'.replace(
"$", ""))
parser.add_argument(u'-v', u'-V', u'--version', action='version',
version=u'VVVVV')
version=u'v1.1 (2021-10-31)')
parser.add_argument(u'-u', u'--url', action='store', dest='server',
default=u'https://ariadne.geophysik.ruhr-uni-bochum.de',
help=u'Base URL of the FDSN web service (https://ariadne.geophysik.ruhr-uni-bochum.de).')

View File

@ -8,7 +8,7 @@ def application(environ, start_response):
:return: response to be sent to the client by the wsgi server
:rtype: list
:version: VVVVV
:version: v1.2 (2022-02-23)
"""
from cgi import FieldStorage

View File

@ -3,7 +3,7 @@
"""
Produce a dayplot from seismogram recordings
version: VVVVV
version: v1.2 (2022-02-23)
license: gpl3
Copyright 2012-2020 Seismological Observatory, Ruhr-University Bochum

View File

@ -1,7 +0,0 @@
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"

View File

@ -1,41 +1,12 @@
/* last change 2021-10-30 */
/* last change 2022-20-23 */
var specialEvents = [
//'bug2014ytlk', // Vechta 3.0
//'bug2014wjwx', // Haltern 3.6
//'bug2014ldts', // Darmstadt
//'bug2014kowj', // Vogtland 5.0
//'bug2014jptq', // Seeheim-Jugenheim
//'bug2014infb', // Troisdorf
//'bug2014ilxd', // Bassum
//'bug2014gfzw', // Darmstadt
//'bug2014datb', // Groningen
// '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
'bug2020skmt', // Heinsberg 1.7
'bug2020skon', // Heinsberg 2.5
'bug2020stdp', // Niederkassel 2.4
'bug2021ryaa' // Thedinghausen 3.2
// 'bug2021vtgi', // Geilenkirchen 1.9
// 'bug2022ahxi', // Erftstadt 2.9
'bug2023hlmh' // Brüggen 3.3
];

View File

@ -19,7 +19,7 @@
You should have received a copy of the GNU General Public License along
with this program. If not, see http://www.gnu.org/licenses/.
Version VVVVV
Version v1.3 (2023-04-17)
*/
/* adding row(s) to a table and format date strings afterwards */
@ -47,7 +47,7 @@ function getGeolocation(id, lat, lng) {
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;
( countryCode != "Germany" && countryCode != "Deutschland" ) ? geolocationTable[id] = geolocationTable[id] + " ("+countryCode+")" : null;
if ( city ) {
$("#eventstable a.toggle[eventid="+id+"]").text(geolocationTable[id]);
var sort = [[0,1],[1,1],[2,1]];

View File

@ -19,7 +19,7 @@
You should have received a copy of the GNU General Public License along
with this program. If not, see http://www.gnu.org/licenses/.
Version VVVVV
Version v1.3 (2023-04-17)
*/
/* adding row(s) to a table and format date strings afterwards */
@ -47,7 +47,7 @@ function getGeolocation(id, lat, lng) {
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;
( countryCode != "Germany" && countryCode != "Deutschland" ) ? geolocationTable[id] = geolocationTable[id] + " ("+countryCode+")" : null;
if ( city ) {
$("#eventstable a.toggle[eventid="+id+"]").text(geolocationTable[id]);
var sort = [[0,1],[1,1],[2,1]];

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -1,16 +0,0 @@
.leaflet-control-easyPrint-button a {
background:#fff url(external/easyPrint/print.png) no-repeat 5px;
background-size:16px 16px;
display: block;
}
//@media print {
html {padding: 0px!important;}
.leaflet-control-easyPrint-button{display: none!important;}
}
//#map {
width: 1200;
height: 800;
}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 219 B

View File

@ -1,6 +0,0 @@
/* @license
* jQuery.print, version 1.6.0
* (c) Sathvik Ponangi, Doers' Guild
* Licence: CC-By (http://creativecommons.org/licenses/by/3.0/)
*--------------------------------------------------------------------------*/
!function(e){"use strict";function t(t,n,r){for(var o=e(t),i=o.clone(n,r),a=o.find("textarea").add(o.filter("textarea")),l=i.find("textarea").add(i.filter("textarea")),c=o.find("select").add(o.filter("select")),d=i.find("select").add(i.filter("select")),f=0,s=a.length;f<s;++f)e(l[f]).val(e(a[f]).val());for(f=0,s=c.length;f<s;++f)for(var p=0,u=c[f].options.length;p<u;++p)!0===c[f].options[p].selected&&(d[f].options[p].selected=!0);return i}function n(n){var r=e("");try{r=t(n)}catch(t){r=e("<span />").html(n)}return r}function r(t,n,r){var o=e.Deferred();try{var i=(t=t.contentWindow||t.contentDocument||t).document||t.contentDocument||t;r.doctype&&i.write(r.doctype),i.write(n),i.close();var a=!1,l=function(){if(!a){t.focus();try{t.document.execCommand("print",!1,null)||t.print(),e("body").focus()}catch(e){t.print()}t.close(),a=!0,o.resolve()}};e(t).on("load",l),setTimeout(l,r.timeout)}catch(e){o.reject(e)}return o}function o(e,t){return r(window.open(),e,t).always(function(){try{t.deferred.resolve()}catch(e){console.warn("Error notifying deferred",e)}})}function i(e){return!!("object"==typeof Node?e instanceof Node:e&&"object"==typeof e&&"number"==typeof e.nodeType&&"string"==typeof e.nodeName)}e.print=e.fn.print=function(){var a,l,c=this;c instanceof e&&(c=c.get(0)),i(c)?(l=e(c),arguments.length>0&&(a=arguments[0])):arguments.length>0?i((l=e(arguments[0]))[0])?arguments.length>1&&(a=arguments[1]):(a=arguments[0],l=e("html")):l=e("html");var d={globalStyles:!0,mediaPrint:!1,stylesheet:null,noPrintSelector:".no-print",iframe:!0,append:null,prepend:null,manuallyCopyFormValues:!0,deferred:e.Deferred(),timeout:750,title:null,doctype:"<!doctype html>"};a=e.extend({},d,a||{});var f=e("");a.globalStyles?f=e("style, link, meta, base, title"):a.mediaPrint&&(f=e("link[media=print]")),a.stylesheet&&(f=e.merge(f,e('<link rel="stylesheet" href="'+a.stylesheet+'">')));var s=t(l);if((s=e("<span/>").append(s)).find(a.noPrintSelector).remove(),s.append(t(f)),a.title){var p=e("title",s);0===p.length&&(p=e("<title />"),s.append(p)),p.text(a.title)}s.append(n(a.append)),s.prepend(n(a.prepend)),a.manuallyCopyFormValues&&(s.find("input").each(function(){var t=e(this);t.is("[type='radio']")||t.is("[type='checkbox']")?t.prop("checked")&&t.attr("checked","checked"):t.attr("value",t.val())}),s.find("select").each(function(){e(this).find(":selected").attr("selected","selected")}),s.find("textarea").each(function(){var t=e(this);t.text(t.val())}));var u,h,m,y,v=s.html();try{a.deferred.notify("generated_markup",v,s)}catch(e){console.warn("Error notifying deferred",e)}if(s.remove(),a.iframe)try{u=v,m=e((h=a).iframe+""),0===(y=m.length)&&(m=e('<iframe height="0" width="0" border="0" wmode="Opaque"/>').prependTo("body").css({position:"absolute",top:-999,left:-999})),r(m.get(0),u,h).done(function(){setTimeout(function(){0===y&&m.remove()},1e3)}).fail(function(e){console.error("Failed to print from iframe",e),o(u,h)}).always(function(){try{h.deferred.resolve()}catch(e){console.warn("Error notifying deferred",e)}})}catch(e){console.error("Failed to print from iframe",e.stack,e.message),o(v,a)}else o(v,a);return this}}(jQuery);

View File

@ -1,5 +1,5 @@
<!DOCTYPE html>
<!-- Version VVVVV -->
<!-- Version v1.3 (2023-04-17) -->
<html xmlns='http://www.w3.org/1999/xhtml' xml:lang='de' lang='de'>
<head>
<meta http-equiv="content-type" content="text/html;charset=UTF-8" />
@ -111,7 +111,7 @@
<span id="events-type">Symbole:</span>
</p>
<p class="table-caption">
Reverse Geolocation courtesy of <a href="http://photon.komoot.de/" target="_blank">Photon by Komoot</a>
Reverse Geolocation courtesy of <a href="http://photon.komoot.io/" target="_blank">Photon by Komoot</a>
</p>
</div>
<!-- Stations -->

View File

@ -1,5 +1,5 @@
<!DOCTYPE html>
<!-- Version VVVVV -->
<!-- Version v1.3 (2023-04-17) -->
<html xmlns='http://www.w3.org/1999/xhtml' xml:lang='de' lang='de'>
<head>
<meta http-equiv="content-type" content="text/html;charset=UTF-8" />
@ -112,7 +112,7 @@
<span id="events-type">Symbols:</span>
</p>
<p class="table-caption">
Reverse Geolocation courtesy of <a href="http://photon.komoot.de/" target="_blank">Photon by Komoot</a>
Reverse Geolocation courtesy of <a href="http://photon.komoot.io/" target="_blank">Photon by Komoot</a>
</p>
</div>
<!-- Stations -->

View File

@ -19,7 +19,7 @@
You should have received a copy of the GNU General Public License along
with this program. If not, see https://www.gnu.org/licenses/.
Version VVVVV
Version v1.3 (2023-04-17)
*/
/* add station marker */

View File

@ -19,7 +19,7 @@
You should have received a copy of the GNU General Public License along
with this program. If not, see https://www.gnu.org/licenses/.
Version VVVVV
Version v1.3 (2023-04-17)
*/
/* add station marker */

View File

@ -4,7 +4,7 @@
**********************************************************************/
/* License
Copyright 2014-2021 Kasper D. Fischer <kasper.fischer@rub.de>
Copyright 2014-2023 Kasper D. Fischer <kasper.fischer@rub.de>
This program is free software: you can redistribute it and/or modify it
under the terms of the GNU General Public License as published by the Free
@ -19,7 +19,7 @@
You should have received a copy of the GNU General Public License along
with this program. If not, see http://www.gnu.org/licenses/.
Version VVVVV
Version v1.3 (2023-04-17)
*/
/* calculate marker radius from magnitude
@ -94,7 +94,7 @@ var config = {
dlsvURL: 'dlsv',
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',
nominatimURL: 'https://photon.komoot.io/reverse',
timespan: 400,
},
event: {
@ -198,6 +198,10 @@ $(document).ready(function() {
config['tab']['active'] = Number(parameters['tab']);
};
};
if ( Number(parameters['zoom']) ) {
config['map']['zoomDefault'] = Number(parameters['zoom']);
config['map']['zoomFocus'] = Number(parameters['zoom']+3);
};
// AJAX setup
$.ajaxSetup({timeout: config['ajax']['timeout']});

View File

@ -19,7 +19,7 @@
You should have received a copy of the GNU General Public License along
with this program. If not, see http://www.gnu.org/licenses/.
Version VVVVV
Version v1.3 (2023-04-17)
*/
/* Load the stations using ajax */

View File

@ -19,7 +19,7 @@
You should have received a copy of the GNU General Public License along
with this program. If not, see http://www.gnu.org/licenses/.
Version VVVVV
Version v1.3 (2023-04-17)
*/
/* Load the stations using ajax */