Overview
The gempa Image Server (GIS) provides a HTTP interface to render earthquake related maps, waveform traces and spectra. The GIS provides a significant performance advantage in comparison to the SeisComP3 module scmapcut since it is started once and caches image and vector data.
Table of Contents
Requesting Data
The GIS supports HTTP-GET and HTTP-POST requests. POST requests may be used to transmit SC3 XML (event, inventory or configuration information), vector overlays in GeoJSON format or arbitrary overlay images. Using the multipart format (Content-Type: multipart/form-data; boundary=...) multiple files may be transmitted at once.
When posting SC3 XML the header Content-Type: application/xml should be used. The data may be transmitted in a single <seiscomp> document or in separate documents using a multipart message.
If inventory data is transmitted it overrides the inventory read from the database at startup. If event data is send via HTTP-POST it overrides origin information transmitted through URL parameters.
Query for Maps
The /map query allows to cut out an arbitrary map area. The resulting image will include all layers configured at the server.
Features
- Supports standard SeisComP3 map functionality, e.g. cities, vector data, and gempa add-ons such as custom projections
- Hypocenter is drawn as circle with magnitude-dependent radius and depth-dependent color, a custom symbol is configurable
- Moment tensor solution
- Stations participating in the solution
- Additional vector overlay supplied as HTTP-POST data in GeoJSON format
Header: Content-Type: application/json - Image overlay supplied as HTTP-POST data
Header: Content-Type: image[/subtype]
Supported subtypes: bmp, gif, jpg, jpeg, png, pbm, pgm, ppm, tiff, xbm, xpm. If subtype is ommited jpeg is assumed.
The image may either be drawn using geo or screen coordinates. If no coordinates are specified the geo graphic region (see reg URL parameter) is used. The following extension headers are supported and may occur either in the HTTP or multipart header:- X-Geo-Rect: lat1 lon1 lat2 lon2
Draw the image with the specified geo coordinates using the configured projection. - X-Screen-Rect: x1 y1 x2 y2
Draw the image using the specified screen coordinates. - X-Alpha: value
Override the alpha channel by the specified value (0-255)
- X-Geo-Rect: lat1 lon1 lat2 lon2
Drawing Order
The different map layers are drawn in the following order:
- Map Tiles - loaded from local tile store or map server
- Geo Features - loaded from BNA directory
- Geo Features - transmitted as JSON documents via HTTP POST
- Geo Images - transmitted via HTTP POST in order of their transmission
- Vector Layer - coordinate grid, cities
- Station Lines - great circle lines from station to origin
- Stations - triangular station symbols
- Origin(s) - earthquake symbol(s), circle or configured icon
- Moment Tensor(s) - moment tensor symbol(s)
- Screen Images - transmitted via HTTP POST in order of their transmission
URL Parameters
Key(s) | Value | Description | Default |
reg | lat,lon,[margin_lat,margin_lon]|[zoom_level] | Geographic region: Center followed by margin in degrees or zoom level (0-24) | 0,0,90,180 |
dim | width,height | Image dimensions in pixel, retricted to 10 Mega pixel, min: 32x32 | 1024,512 |
ori,origin | lat,lon[,depth] | Origin of earthquake, unit of depth: km | Not set |
origin-color | color | Color of the origin symbol, if unset derived from depth, e.g. rgb(255, 0, 0), rgba(255,0,0,128), FF0000, FF000080 | Not set |
origin-size | width[,height] | Size of origin symbol, if unset derived from magnitude value | Not set |
mag | magnitude | Magnitude of earthquake | Not set |
stations | comma separated list | Stations to show, wild cards supported | Not set |
showDisabled | boolean | Include stations even if they have been disabled in configuration | False |
weight | float | Minimum weight of the arrival time for computation of the associated origin, used for station selection if an origin is posted | Not set |
scale | string | Position of a scale legend defined by a two character long string specifying the vertical (T,C,B) and horizontal (L,C,R) position. E.g., TL (top-left), BC (bottom-center). | Not set |
fmt | [PNG|JPG|JPEG|BMP|PPM|TIFF|XBM|XPM] | Output format of image | PNG |
qua | [-1,100] | Quality of image, from 0 (worst) to 100 (best), -1 = autodetect | -1 |
Examples
- Sample query for Germany
- GeoJSON example
- MultiPart example, select files to POST
Query for Traces
The /traces query draws timeseries data of multiple data streams.
Features
- Visualization of picks
- Estimated travel times
- Data filtering using SC3 filter grammar, e.g. BW(3, 0.5, 10.0)
- Various modes, e.g. default, qplot, relative time window
URL Parameters
Key(s) | Value | Description | Default | |
mode | [default,relconst,reldist,qplot] | Output mode:
|
default | |
Image parameters | ||||
dim | width,height | Image dimensions in pixel, retricted to 10 Mega pixel, min: 32x32 | 1024,512 | |
fmt | [png,jpg,jpeg,bmp,ppm,tiff,xbm,xpm] | Output format of image | png | |
qua | integer [-1,100] | Quality of image, from 0 (worst) to 100 (best), -1 = autodetect | 100 | |
Event parameters | ||||
ori,origin | lat,lon[,depth] | Origin of earthquake, unit of depth: km | Not set | |
time | time | Origin time | Not set | |
Data selection | ||||
streams | comma separated list | Streams to show, wild cards supported | * | |
showDisabled | boolean | Include stations even if they have been disabled in configuration | False | |
start | time | Begin of the timewindow | end - bufferSize | |
end | time | End of the timewindow | now() | |
bufferSize | seconds | Length of the timewindow | 1800.0 | |
num | integer | Number of streams to show | 5 | |
weight | float | Minimum weight of the arrival time for computation of the associated origin, used for stream selection if an origin is posted | Not set | |
mindist | float | Minimum distance of station to origin (km or degree, see distunit) | Not set | |
maxdist | float | Maximum distance of station to origin (km or degree, see distunit) | Not set | |
minazi | float | Minimum azimuth from station to origin | Not set | |
maxazi | float | Maximum azimuth from station to origin | Not set | |
Data representation | ||||
filter | SeisComP3 filter grammar | Record filter chain, e.g. RMHP(10)>>BW(3,2,4) | Not set | |
removeoffset | boolean | Toggles removal of offset prior to filtering and plotting | False | |
orderby | [name,distance,azi] | Sort order of trace, the values distance and azi refer to the epi center | name | |
distunit | [km,deg] | Distance unit, see mindist and maxdist parameter | km | |
showtt | boolean | Show travel time information | False | |
ttt | string | Travel time model | Not set | |
showpicks | boolean | Show picks | False | |
usegain | boolean | Use configured gain instead of digital counts. If set to true and no gain is available then the corresponding stream will not be plotted. | False | |
amprange | float | Amplitude range. Depended on the usegain parameter the value will either be intepreted as digital counts or as parts per billion of the gain unit. | Not set | |
title | string | Title to show | Not set | |
Relative modes: alignment parameters | ||||
align | [ot,p,s] | Controls alignment of traces which may be relative to origin time (OT), P wave, or S wave | ot | |
before | seconds | Begin of the timewindow in seconds before alignment time | 5.0 | |
after | seconds | End of the timewindow in seconds after alignment time | 30.0 | |
nalign | [ot,p,s] | Controls alignment of normalization time window which may be relative to origin time (OT), P wave, or S wave | ot | |
nbefore | seconds | Begin of the normalization timewindow in seconds before alignment time | 5.0 | |
nafter | seconds | End of the normalization timewindow in seconds after alignment time | 30.0 | |
QPlot mode | ||||
amplegend | [hidden,top,center,bottom] | Controls the vertical position of the amplitude legend | bottom |
Examples
Query for Spectra
The /spectra query plots amplitude, power or phase spectra
Features
- Spectrum Modes: amplitude, power, phase
- Window Functions: box car, cosine, hamming, hann
- Linear or logarithmic scales
- Plotting of raw spectrum, response corrected spectrum and response function
URL Parameters
Key | Value | Description | Default | |
mode | [amplitude, power, phase] | Spectra mode | amplitude | |
Image parameters | ||||
dim | width,height | Image dimensions in pixel, retricted to 10 Mega pixel, min: 32x32 | 1024,512 | |
fmt | [png,jpg,jpeg,bmp,ppm,tiff,xbm,xpm] | Output format of image | png | |
qua | integer [-1,100] | Quality of image, from 0 (worst) to 100 (best), -1 = autodetect | 100 | |
Data selection | ||||
stream | stream id | Stream ID to show | ||
start | time | Begin of the timewindow | end - bufferSize | |
end | time | End of the timewindow | now() | |
bufferSize | seconds | Length of the timewindow | 60.0 | |
Data representation | ||||
logScaleX | boolean | Toggles logarithmic scale of x-axis | True | |
logScaleY | boolean | Toggles logarithmic scale of y-axis, not supported in phase mode | True | |
usegain | boolean | Use configured gain instead of digital counts. If set to true and no gain is available then the corresponding stream will not be plotted. | True | |
filter | SeisComP3 filter grammar | Record filter chain applied prior to FFT calculation, e.g. RMHP(10)>>BW(3,2,4) | Not set | |
minFreq | double | Minimum Frequency to plot | SR / 2^(ceil(log_2(bufferSize * SR))) | |
maxFreq | double | Maximum Frequency to plot | Nyquist FQ | |
showRAW | boolean | Toggles visibility of raw spectrum graph | True | |
showCorrected | boolean | Toggles visibility of corrected spectrum graph | False | |
showResponse | boolean | Toggles visibility of response spectrum graph | False | |
windowfunc | [boxcar, cosine, hamming, hann] | Window function | boxcar | |
windowlen | percent [0,50] | Pecentage the window function should be applied | 5.0 | |
showTitle | boolean | Toggles visibility of title | True | |
margin | integer | outer image margin | 10 |