[seiscomp, scanloc] Install, add .gitignore

This commit is contained in:
2025-10-09 15:07:02 +02:00
commit 20f5301bb1
2848 changed files with 1315858 additions and 0 deletions

399
share/man/man1/scquery.1 Normal file
View File

@ -0,0 +1,399 @@
.\" Man page generated from reStructuredText.
.
.
.nr rst2man-indent-level 0
.
.de1 rstReportMargin
\\$1 \\n[an-margin]
level \\n[rst2man-indent-level]
level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
-
\\n[rst2man-indent0]
\\n[rst2man-indent1]
\\n[rst2man-indent2]
..
.de1 INDENT
.\" .rstReportMargin pre:
. RS \\$1
. nr rst2man-indent\\n[rst2man-indent-level] \\n[an-margin]
. nr rst2man-indent-level +1
.\" .rstReportMargin post:
..
.de UNINDENT
. RE
.\" indent \\n[an-margin]
.\" old: \\n[rst2man-indent\\n[rst2man-indent-level]]
.nr rst2man-indent-level -1
.\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
.in \\n[rst2man-indent\\n[rst2man-indent-level]]u
..
.TH "SCQUERY" "1" "Sep 22, 2025" "6.9.0" "SeisComP"
.SH NAME
scquery \- SeisComP Documentation
.sp
\fBRead database objects and writes them to the command line.\fP
.SH DESCRIPTION
.sp
\fIscquery\fP reads objects such as event information from a
\fI\%SeisComP database\fP using custom queries. The results
are written to stdout. The module extends \fI\%scevtls\fP and \fI\%scorgls\fP
which are limited to searching event and origin IDs, respectively, by time.
.sp
scquery takes into account and requires \fI\%query profiles\fP
for querying the database. The profiles are defined in
.INDENT 0.0
.IP \(bu 2
\fB@SYSTEMCONFIGDIR@/queries.cfg\fP or
.IP \(bu 2
\fB@CONFIGDIR@/queries.cfg\fP
.UNINDENT
.sp
while parameters in the latter take priority. The are no default query profile,
hence they must be created first.
.SH MODULE SETUP
.INDENT 0.0
.IP 1. 3
Create the query profiles in \fBqueries.cfg\fP in \fB@SYSTEMCONFIGDIR@\fP
or \fB@CONFIGDIR@\fP\&. The file contains your database queries. Examples for
MariaDB/MySQL and PostgreSQL are found in the section \fI\%Queries\fP\&.
.IP 2. 3
\fBOptional:\fP Add the database connection parameter to the configuration file
\fBscquery.cfg\fP or \fBglobal.cfg\fP in @CONFIGDIR@ or to @SYSTEMCONFIGDIR@:
.INDENT 3.0
.INDENT 3.5
.sp
.nf
.ft C
database = mysql://sysop:sysop@localhost/seiscomp
.ft P
.fi
.UNINDENT
.UNINDENT
.sp
\fBHINT:\fP
.INDENT 3.0
.INDENT 3.5
If the database connection is configured, the database option
\fI\%\-d\fP in the section \fI\%Examples\fP
can be omitted or used to override the configuration.
.UNINDENT
.UNINDENT
.UNINDENT
.SH EXAMPLES
.sp
Choose any query profile defined in the \fI\%queries.cfg\fP\&.
Provide the required parameters in the same order as in the database request.
The required parameters are indicated by hashes, e.g. ##latMin##.
.INDENT 0.0
.IP 1. 3
List all available query profiles using the command\-line option
\fBshowqueries\fP:
.INDENT 3.0
.INDENT 3.5
.sp
.nf
.ft C
scquery \-\-showqueries
.ft P
.fi
.UNINDENT
.UNINDENT
.IP 2. 3
Profile \fBevent_filter\fP: Fetch all event IDs and event parameters for events
with magnitude ranging from 2.5 to 5 in central Germany between 2014 and 2017:
.INDENT 3.0
.INDENT 3.5
.sp
.nf
.ft C
scquery \-d localhost/seiscomp eventFilter 50 52 11.5 12.5 2.5 5 2014\-01\-01 2018\-01\-01 > events_vogtland.txt
.ft P
.fi
.UNINDENT
.UNINDENT
.IP 3. 3
Profile \fBeventByAuthor\fP: Fetch all event IDs where the preferred origin was
provided by a specific author for events 2.5 to 5 with 6 to 20 phases in central
Germany between 2014 and 2017:
.INDENT 3.0
.INDENT 3.5
.sp
.nf
.ft C
scquery \-d localhost/seiscomp eventByAuthor 50 52 11.5 12.5 6 20 2.5 5 2014\-01\-01 2018\-01\-01 scautoloc > events_vogtland.txt
.ft P
.fi
.UNINDENT
.UNINDENT
.IP 4. 3
Profile \fBeventType\fP: Fetch all event IDs and event times from events
with the given event type and within the provided time interval:
.INDENT 3.0
.INDENT 3.5
.sp
.nf
.ft C
scquery \-d localhost/seiscomp eventType explosion \(aq2017\-11\-01 00:00:00\(aq \(aq2018\-11\-01 00:00:00\(aq
.ft P
.fi
.UNINDENT
.UNINDENT
.UNINDENT
.SH QUERIES
.sp
Example queries for \fI\%MariaDB/MySQL\fP and \fI\%PostgreSQL\fP are given
below.
.SS MariaDB/MySQL
.sp
\fBGeneral event/origin queries\fP
.INDENT 0.0
.INDENT 3.5
.sp
.nf
.ft C
queries = eventFilter, eventUncertainty, eventByAuthor, eventWithStationCount, eventType, originByAuthor
query.eventFilter.description = \(dqReturns all events (lat, lon, mag, time) that fall into a certain region and a magnitude range\(dq
query.eventFilter = \(dqSELECT PEvent.publicID, Origin.time_value AS OT, Origin.latitude_value,Origin.longitude_value, Origin.depth_value, Magnitude.magnitude_value, Magnitude.type FROM Origin,PublicObject as POrigin, Event, PublicObject AS PEvent, Magnitude, PublicObject as PMagnitude WHERE Event._oid = PEvent._oid AND Origin._oid = POrigin._oid AND Magnitude._oid = PMagnitude._oid AND PMagnitude.publicID=Event.preferredMagnitudeID AND POrigin.publicID = Event.preferredOriginID AND Origin.latitude_value >= ##latMin## AND Origin.latitude_value <= ##latMax## AND Origin.longitude_value >= ##lonMin## AND Origin.longitude_value <= ##lonMax## AND Magnitude.magnitude_value >= ##minMag## AND Magnitude.magnitude_value <= ##maxMag## AND Origin.time_value >= \(aq##startTime##\(aq AND Origin.time_value <= \(aq##endTime##\(aq;\(dq
query.eventUncertainty.description = \(dqReturns all events (eventsIDs, time, lat, lat error, lon, lon error, depth, depth error, magnitude, region name) in the form of an event catalog\(dq
query.eventUncertainty = \(dqSELECT PEvent.publicID, Origin.time_value AS OT, ROUND(Origin.latitude_value, 3), ROUND(Origin.latitude_uncertainty, 3), ROUND(Origin.longitude_value, 3), ROUND(Origin.longitude_uncertainty, 3), ROUND(Origin.depth_value, 3), ROUND(Origin.depth_uncertainty, 3), ROUND(Magnitude.magnitude_value, 1), EventDescription.text FROM Event, PublicObject AS PEvent, EventDescription, Origin, PublicObject AS POrigin, Magnitude, PublicObject AS PMagnitude WHERE Event._oid = PEvent._oid AND Origin._oid = POrigin._oid AND Magnitude._oid = PMagnitude._oid AND Event.preferredOriginID = POrigin.publicID AND Event.preferredMagnitudeID = PMagnitude.publicID AND Event._oid = EventDescription._parent_oid AND EventDescription.type = \(aqregion name\(aq AND Event.type = \(aq##type##\(aq AND Origin.time_value >= \(aq##startTime##\(aq AND Origin.time_value <= \(aq##endTime##\(aq;\(dq
query.eventByAuthor.description = \(dqGet events by preferred origin author etc\(dq
query.eventByAuthor = \(dqSELECT PEvent.publicID, Origin.time_value AS OT, Origin.latitude_value AS lat,Origin.longitude_value AS lon, Origin.depth_value AS dep, Magnitude.magnitude_value AS mag, Magnitude.type AS mtype, Origin.quality_usedPhaseCount AS phases, Event.type AS type, Event.typeCertainty AS certainty, Origin.creationInfo_author FROM Origin, PublicObject AS POrigin, Event, PublicObject AS PEvent, Magnitude, PublicObject AS PMagnitude WHERE Event._oid = PEvent._oid AND Origin._oid = POrigin._oid AND Magnitude._oid = PMagnitude._oid AND PMagnitude.publicID = Event.preferredMagnitudeID AND POrigin.publicID = Event.preferredOriginID AND Origin.latitude_value >= ##latMin## AND Origin.latitude_value <= ##latMax## AND Origin.longitude_value >= ##lonMin## AND Origin.longitude_value <= ##lonMax## AND Origin.quality_usedPhaseCount >= ##minPhases## AND Origin.quality_usedPhaseCount <= ##maxPhases## AND Magnitude.magnitude_value >= ##minMag## AND Magnitude.magnitude_value <= ##maxMag## AND Origin.time_value >= \(aq##startTime##\(aq AND Origin.time_value <= \(aq##endTime##\(aq AND Origin.creationInfo_author like \(aq##author##\(aq;\(dq
query.eventWithStationCount.description = \(dqGet events by preferred origin author etc\(dq
query.eventWithStationCount = \(dqSELECT PEvent.publicID, Origin.time_value AS OT, Origin.latitude_value AS lat, Origin.longitude_value AS lon, Origin.depth_value AS dep, Magnitude.magnitude_value AS mag, Magnitude.type AS mtype, Origin.quality_usedStationCount AS stations, Event.type AS type, Event.typeCertainty AS certainty, Origin.creationInfo_author FROM Origin, PublicObject AS POrigin, Event, PublicObject AS PEvent, Magnitude, PublicObject AS PMagnitude WHERE Event._oid = PEvent._oid AND Origin._oid = POrigin._oid AND Magnitude._oid = PMagnitude._oid AND PMagnitude.publicID = Event.preferredMagnitudeID AND POrigin.publicID = Event.preferredOriginID AND Origin.time_value >= \(aq##startTime##\(aq AND Origin.time_value <= \(aq##endTime##\(aq;\(dq
query.eventType.description = \(dqReturns all eventIDs FROM event WHERE the type is flagged AS \(aqevent type\(aq\(dq
query.eventType = \(dqSELECT pe.publicID, o.time_value AS OT FROM PublicObject pe, PublicObject po, Event e, Origin o WHERE pe._oid = e._oid AND po._oid = o._oid AND e.preferredOriginID = po.publicID AND e.type = \(aq##type##\(aq AND o.time_value >= \(aq##startTime##\(aq AND o.time_value <= \(aq##endTime##\(aq;\(dq
query.originByAuthor.description = \(dqGet origins by author\(dq
query.originByAuthor = \(dqSELECT po.publicID, o.time_value AS OT, o.creationInfo_author FROM PublicObject po JOIN Origin o ON po._oid = o._oid WHERE o.creationInfo_author like \(aq##author##\(aq AND o.time_value >= \(aq##startTime##\(aq AND o.time_value <= \(aq##endTime##\(aq;\(dq
.ft P
.fi
.UNINDENT
.UNINDENT
.sp
\fBMore examples and statistics\fP
.INDENT 0.0
.INDENT 3.5
.sp
.nf
.ft C
queries = phaseCountPerAuthor, time, mag_time, space_time, all, space_mag_time, event, fm_space_time, picks, stationPicks, assoc_picks, pref_assoc_picks, sta_net_mag, sta_net_mag_type, delta_sta_net_mag, delta_sta_net_mag_type
query.phaseCountPerAuthor.description = \(dqGet phase count per origin author FROM event #EventID#\(dq
query.phaseCountPerAuthor = \(dqSELECT PEvent.publicID, Origin.creationInfo_author, MAX(Origin.quality_usedPhaseCount) FROM Origin, PublicObject AS POrigin, Event, PublicObject AS PEvent, OriginReference WHERE Origin._oid = POrigin._oid AND Event._oid = PEvent._oid AND OriginReference._parent_oid = Event._oid AND OriginReference.originID = POrigin.publicID AND PEvent.publicID = \(aq##EventID##\(aq group by Origin.creationInfo_author;\(dq
query.time.description = \(dqEvents in time range\(dq
query.time = \(dqSELECT PEvent.publicID, Origin.time_value, ROUND(Origin.latitude_value, 4), ROUND(Origin.longitude_value, 4), ROUND(Origin.depth_value, 1), ROUND(Magnitude.magnitude_value, 1), Magnitude.type, Origin.quality_usedPhaseCount, Origin.quality_usedStationCount, Event.typeCertainty, Event.type, Origin.creationInfo_author FROM Origin, PublicObject AS POrigin, Event, PublicObject AS PEvent, Magnitude, PublicObject AS PMagnitude WHERE Event._oid = PEvent._oid AND Origin._oid = POrigin._oid AND Magnitude._oid = PMagnitude._oid AND PMagnitude.publicID = Event.preferredMagnitudeID AND POrigin.publicID = Event.preferredOriginID AND Origin.time_value >= \(aq##startTime##\(aq AND Origin.time_value <= \(aq##endTime##\(aq;\(dq
query.mag_time.description = \(dqEvents in magnitude\-time range\(dq
query.mag_time = \(dqSELECT PEvent.publicID, Origin.time_value, ROUND(Origin.latitude_value, 4), ROUND(Origin.longitude_value, 4), ROUND(Origin.depth_value, 1), ROUND(Magnitude.magnitude_value, 1), Magnitude.type, Origin.quality_usedPhaseCount, Origin.quality_usedStationCount, Event.typeCertainty, Event.type, Origin.creationInfo_author FROM Origin, PublicObject AS POrigin, Event, PublicObject AS PEvent, Magnitude, PublicObject AS PMagnitude WHERE Event._oid = PEvent._oid AND Origin._oid = POrigin._oid AND Magnitude._oid = PMagnitude._oid AND PMagnitude.publicID = Event.preferredMagnitudeID AND POrigin.publicID = Event.preferredOriginID AND Magnitude.magnitude_value >= ##minMag## AND Magnitude.magnitude_value <= ##maxMag## AND Origin.time_value >= \(aq##startTime##\(aq AND Origin.time_value <= \(aq##endTime##\(aq;\(dq
query.space_time.description = \(dqEvents in space\-time range\(dq
query.space_time = \(dqSELECT PEvent.publicID, Origin.time_value, ROUND(Origin.latitude_value, 4), ROUND(Origin.longitude_value, 4), ROUND(Origin.depth_value, 1), ROUND(Magnitude.magnitude_value, 1), Magnitude.type, Origin.quality_usedPhaseCount, Origin.quality_usedStationCount, Event.typeCertainty, Event.type, Origin.creationInfo_author FROM Origin, PublicObject AS POrigin, Event, PublicObject AS PEvent, Magnitude, PublicObject AS PMagnitude WHERE Event._oid = PEvent._oid AND Origin._oid = POrigin._oid AND Magnitude._oid = PMagnitude._oid AND PMagnitude.publicID = Event.preferredMagnitudeID AND POrigin.publicID = Event.preferredOriginID AND Origin.latitude_value >= ##latMin## AND Origin.latitude_value <= ##latMax## AND Origin.longitude_value >= ##lonMin## AND Origin.longitude_value <= ##lonMax## AND Origin.time_value >= \(aq##startTime##\(aq AND Origin.time_value <= \(aq##endTime##\(aq;\(dq
query.all.description = \(dqEvents in space\-magnitude\-time\-quality range by author\(dq
query.all = \(dqSELECT PEvent.publicID, Origin.time_value, ROUND(Origin.latitude_value, 4), ROUND(Origin.longitude_value, 4), ROUND(Origin.depth_value, 1), ROUND(Magnitude.magnitude_value, 1), Magnitude.type, Origin.quality_usedPhaseCount, Origin.quality_usedStationCount, Event.typeCertainty, Event.type, Origin.creationInfo_author FROM Origin, PublicObject AS POrigin, Event, PublicObject AS PEvent, Magnitude, PublicObject AS PMagnitude WHERE Event._oid = PEvent._oid AND Origin._oid = POrigin._oid AND Magnitude._oid = PMagnitude._oid AND PMagnitude.publicID = Event.preferredMagnitudeID AND POrigin.publicID = Event.preferredOriginID AND Origin.latitude_value >= ##latMin## AND Origin.latitude_value <= ##latMax## AND Origin.longitude_value >= ##lonMin## AND Origin.longitude_value <= ##lonMax## AND Origin.quality_usedPhaseCount >= ##minPhases## AND Origin.quality_usedPhaseCount <= ##maxPhases## AND Magnitude.magnitude_value >= ##minMag## AND Magnitude.magnitude_value <= ##maxMag## AND Origin.time_value >= \(aq##startTime##\(aq AND Origin.time_value <= \(aq##endTime##\(aq AND Origin.creationInfo_author like \(aq##author##%\(aq;\(dq
query.space_mag_time.description = \(dqEvents in space\-magnitude\-time range\(dq
query.space_mag_time = \(dqSELECT PEvent.publicID, Origin.time_value, ROUND(Origin.latitude_value, 4), ROUND(Origin.longitude_value, 4), ROUND(Origin.depth_value, 1), ROUND(Magnitude.magnitude_value, 1), Magnitude.type, Origin.quality_usedPhaseCount, Origin.quality_usedStationCount, Event.typeCertainty, Event.type, Origin.creationInfo_author FROM Origin, PublicObject AS POrigin, Event, PublicObject AS PEvent, Magnitude, PublicObject AS PMagnitude WHERE Event._oid = PEvent._oid AND Origin._oid = POrigin._oid AND Magnitude._oid = PMagnitude._oid AND PMagnitude.publicID = Event.preferredMagnitudeID AND POrigin.publicID = Event.preferredOriginID AND Origin.latitude_value >= ##latMin## AND Origin.latitude_value <= ##latMax## AND Origin.longitude_value >= ##lonMin## AND Origin.longitude_value <= ##lonMax## AND Magnitude.magnitude_value >= ##minMag## AND Magnitude.magnitude_value <= ##maxMag## AND Origin.time_value >= \(aq##startTime##\(aq AND Origin.time_value <= \(aq##endTime##\(aq;\(dq
query.fm_space_time.description = \(dqEvents with focal mechanisms in space\-time range\(dq
query.fm_space_time = \(dqSELECT PEvent.publicID, Origin.time_value, ROUND(Origin.latitude_value, 4), ROUND(Origin.longitude_value, 4), ROUND(Origin.depth_value, 1), ROUND(Magnitude.magnitude_value, 1), Magnitude.type, MomentTensor.doubleCouple, MomentTensor.variance, Event.typeCertainty, Event.type, Origin.creationInfo_author FROM Origin, PublicObject AS POrigin, Event, PublicObject AS PEvent, Magnitude, PublicObject AS PMagnitude, FocalMechanism, PublicObject AS PFocalMechanism, MomentTensor WHERE Event._oid = PEvent._oid AND Origin._oid = POrigin._oid AND Magnitude._oid = PMagnitude._oid AND PMagnitude.publicID = Event.preferredMagnitudeID AND FocalMechanism._oid = PFocalMechanism._oid AND PFocalMechanism.publicID = Event.preferredFocalMechanismID AND MomentTensor._parent_oid = FocalMechanism._oid AND POrigin.publicID = Event.preferredOriginID AND Origin.latitude_value >= ##latMin## AND Origin.latitude_value <= ##latMax## AND Origin.longitude_value >= ##lonMin## AND Origin.longitude_value <= ##lonMax## AND Origin.time_value >= \(aq##startTime##\(aq AND Origin.time_value <= \(aq##endTime##\(aq;\(dq
query.event.description = \(dqList authors and number of origins for event\(dq
query.event = \(dqSELECT PEvent.publicID, Origin.creationInfo_author, MAX(Origin.quality_usedPhaseCount) FROM Origin, PublicObject AS POrigin, Event, PublicObject AS PEvent, OriginReference WHERE Origin._oid = POrigin._oid AND Event._oid = PEvent._oid AND OriginReference._parent_oid = Event._oid AND OriginReference.originID = POrigin.publicID AND PEvent.publicID = \(aq##EventID##\(aq group by Origin.creationInfo_author;\(dq
query.picks.description = \(dqList number of picks per station in a certain timespan\(dq
query.picks = \(dqSELECT waveformID_networkCode AS Network, waveformID_stationCode AS Station, COUNT(_oid) AS Picks, MIN(time_value) AS Start, MAX(time_value) AS End FROM Pick WHERE time_value >= \(aq##startTime##\(aq AND time_value <= \(aq##endTime##\(aq GROUP BY waveformID_networkCode, waveformID_stationCode;\(dq
query.stationPicks.description = \(dqList the picks and phase hints per station in a certain timespan\(dq
query.stationPicks = \(dqSELECT PPick.publicID, Pick.phaseHint_code FROM Pick, PublicObject AS PPick WHERE Pick._oid = PPick._oid AND waveformID_networkCode = \(aq##netCode##\(aq AND waveformID_stationCode = \(aq##staCode##\(aq AND time_value >= \(aq##startTime##\(aq AND time_value <= \(aq##endTime##\(aq;\(dq
query.assoc_picks.description = \(dqList number of associated picks per station in a certain time span\(dq
query.assoc_picks = \(dqSELECT Pick.waveformID_networkCode AS Network, Pick.waveformID_stationCode AS Station, COUNT(DISTINCT(Pick._oid)) AS Picks, MIN(Pick.time_value) AS Start, MAX(Pick.time_value) AS End FROM Pick, PublicObject PPick, Arrival WHERE Pick._oid = PPick._oid AND PPick.publicID = Arrival.pickID AND Pick.time_value >= \(aq##startTime##\(aq AND Pick.time_value <= \(aq##endTime##\(aq GROUP BY Pick.waveformID_networkCode, Pick.waveformID_stationCode;\(dq
query.pref_assoc_picks.description = \(dqList number of associated picks of preferred origins per station for certain time span\(dq
query.pref_assoc_picks = \(dqSELECT Pick.waveformID_networkCode AS Network, Pick.waveformID_stationCode AS Station, COUNT(DISTINCT(Pick._oid)) AS Picks, MIN(Pick.time_value) AS Start, MAX(Pick.time_value) AS End FROM Pick, PublicObject PPick, Arrival, Origin, PublicObject POrigin, Event WHERE Event.preferredOriginID = POrigin.publicID AND Origin._oid = POrigin._oid AND Origin._oid = Arrival._parent_oid AND Pick._oid = PPick._oid AND PPick.publicID = Arrival.pickID AND Pick.time_value >= \(aq##startTime##\(aq AND Pick.time_value <= \(aq##endTime##\(aq GROUP BY Pick.waveformID_networkCode, Pick.waveformID_stationCode;\(dq
query.sta_net_mag.description = \(dqCompares station magnitudes of a particular station with the network magnitude in a certain time span\(dq
query.sta_net_mag = \(dqSELECT StationMagnitude.waveformID_networkCode AS Network, StationMagnitude.waveformID_stationCode AS Station, StationMagnitude.magnitude_value AS StaMag, Magnitude.magnitude_value AS NetMag, Magnitude.type AS NetMagType, StationMagnitude.creationInfo_creationTime AS CreationTime FROM StationMagnitude, PublicObject PStationMagnitude, StationMagnitudeContribution, Magnitude WHERE StationMagnitude._oid = PStationMagnitude._oid AND StationMagnitudeContribution.stationMagnitudeID = PStationMagnitude.publicID AND StationMagnitudeContribution._parent_oid = Magnitude._oid AND StationMagnitude.waveformID_networkCode = \(aq##netCode##\(aq AND StationMagnitude.waveformID_stationCode = \(aq##staCode##\(aq AND StationMagnitude.creationInfo_creationTime >= \(aq##startTime##\(aq AND StationMagnitude.creationInfo_creationTime <= \(aq##endTime##\(aq ORDER BY StationMagnitude.creationInfo_creationTime;\(dq
query.sta_net_mag_type.description = \(dqCompares station magnitudes of a particular station with the network magnitude of specific type in a certain time span\(dq
query.sta_net_mag_type = \(dqSELECT StationMagnitude.waveformID_networkCode AS Network, StationMagnitude.waveformID_stationCode AS Station, StationMagnitude.magnitude_value AS StaMag, Magnitude.magnitude_value AS NetMag, Magnitude.type AS NetMagType, StationMagnitude.creationInfo_creationTime AS CreationTime FROM StationMagnitude, PublicObject PStationMagnitude, StationMagnitudeContribution, Magnitude WHERE StationMagnitude._oid = PStationMagnitude._oid AND StationMagnitudeContribution.stationMagnitudeID = PStationMagnitude.publicID AND StationMagnitudeContribution._parent_oid = Magnitude._oid AND StationMagnitude.waveformID_networkCode = \(aq##netCode##\(aq AND StationMagnitude.waveformID_stationCode = \(aq##staCode##\(aq AND StationMagnitude.creationInfo_creationTime >= \(aq##startTime##\(aq AND StationMagnitude.creationInfo_creationTime <= \(aq##endTime##\(aq AND Magnitude.type = \(aq##magType##\(aq ORDER BY StationMagnitude.creationInfo_creationTime;\(dq
query.delta_sta_net_mag.description = \(dqCalculates delta values of station and network magnitudes for all stations in a certain time span\(dq
query.delta_sta_net_mag = \(dqSELECT StationMagnitude.waveformID_networkCode AS Network, StationMagnitude.waveformID_stationCode AS Station, AVG(StationMagnitude.magnitude_value \- Magnitude.magnitude_value) AS DeltaAvg, MIN(StationMagnitude.magnitude_value \- Magnitude.magnitude_value) AS DeltaMin, MAX(StationMagnitude.magnitude_value \- Magnitude.magnitude_value) AS DeltaMax, MIN(StationMagnitude.creationInfo_creationTime) AS Start, MAX(StationMagnitude.creationInfo_creationTime) AS End FROM StationMagnitude, PublicObject PStationMagnitude, StationMagnitudeContribution, Magnitude WHERE StationMagnitude._oid = PStationMagnitude._oidStationMagnitudeContribution.stationMagnitudeID = PStationMagnitude.publicIDStationMagnitudeContribution._parent_oid = Magnitude._oidStationMagnitude.creationInfo_creationTime >= \(aq##startTime##\(aqStationMagnitude.creationInfo_creationTime <= \(aq##endTime##\(aq GROUP BY StationMagnitude.waveformID_networkCode, StationMagnitude.waveformID_stationCode;\(dq
query.delta_sta_net_mag_type.description = \(dqCalculates delta values of station and network magnitudes for all stations and all magnitude types in a certain time span\(dq
query.delta_sta_net_mag_type = \(dqSELECT StationMagnitude.waveformID_networkCode AS Network, StationMagnitude.waveformID_stationCode AS Station, AVG(StationMagnitude.magnitude_value \- Magnitude.magnitude_value) AS DeltaAvg, MIN(StationMagnitude.magnitude_value \- Magnitude.magnitude_value) AS DeltaMin, MAX(StationMagnitude.magnitude_value \- Magnitude.magnitude_value) AS DeltaMax, Magnitude.type AS NetMagType, MIN(StationMagnitude.creationInfo_creationTime) AS Start, MAX(StationMagnitude.creationInfo_creationTime) AS End FROM StationMagnitude, PublicObject PStationMagnitude, StationMagnitudeContribution, Magnitude WHERE StationMagnitude._oid = PStationMagnitude._oid AND StationMagnitudeContribution.stationMagnitudeID = PStationMagnitude.publicID AND StationMagnitudeContribution._parent_oid = Magnitude._oid AND StationMagnitude.creationInfo_creationTime >= \(aq##startTime##\(aq AND StationMagnitude.creationInfo_creationTime <= \(aq##endTime##\(aq GROUP BY StationMagnitude.waveformID_networkCode, StationMagnitude.waveformID_stationCode, Magnitude.type;\(dq
.ft P
.fi
.UNINDENT
.UNINDENT
.SS PostgreSQL
.sp
In contrast to queries for objects in \fI\%MariaDB/MySQL\fP the
string \fBm_\fP must be added to the value and publicID database columns as shown
below for the query \(dqeventFilter\(dq.
.INDENT 0.0
.INDENT 3.5
.sp
.nf
.ft C
queries = eventFilter
query.eventFilter.description = \(dqReturns all events (lat, lon, mag, time) that fall into a certain region and a magnitude range\(dq
query.eventFilter = \(dqSELECT PEvent.m_publicID, Origin.m_time_value AS OT, Origin.m_latitude_value, Origin.m_longitude_value, Origin.m_depth_value, Magnitude.m_magnitude_value, Magnitude.m_type FROM Origin, PublicObject AS POrigin, Event, PublicObject AS PEvent, Magnitude, PublicObject AS PMagnitude WHERE Event._oid = PEvent._oid AND Origin._oid = POrigin._oid AND Magnitude._oid = PMagnitude._oid AND PMagnitude.m_publicID = Event.m_preferredMagnitudeID AND POrigin.m_publicID = Event.m_preferredOriginID AND Origin.m_latitude_value >= ##latMin## AND Origin.m_latitude_value <= ##latMax## AND Origin.m_longitude_value >= ##lonMin## AND Origin.m_longitude_value <= ##lonMax## AND Magnitude.m_magnitude_value >= ##minMag## AND Magnitude.m_magnitude_value <= ##maxMag## AND Origin.m_time_value >= \(aq##startTime##\(aq AND Origin.m_time_value <= \(aq##endTime##\(aq;\(dq
.ft P
.fi
.UNINDENT
.UNINDENT
.SH MODULE CONFIGURATION
.nf
\fBetc/defaults/global.cfg\fP
\fBetc/defaults/scquery.cfg\fP
\fBetc/global.cfg\fP
\fBetc/scquery.cfg\fP
\fB~/.seiscomp/global.cfg\fP
\fB~/.seiscomp/scquery.cfg\fP
.fi
.sp
.sp
scquery inherits \fI\%global options\fP\&.
.SH COMMAND-LINE OPTIONS
.sp
\fBscquery [OPTIONS] [query name] [query parameters]\fP
.SS Generic
.INDENT 0.0
.TP
.B \-h, \-\-help
Show help message.
.UNINDENT
.INDENT 0.0
.TP
.B \-V, \-\-version
Show version information.
.UNINDENT
.INDENT 0.0
.TP
.B \-\-config\-file arg
Use alternative configuration file. When this option is
used the loading of all stages is disabled. Only the
given configuration file is parsed and used. To use
another name for the configuration create a symbolic
link of the application or copy it. Example:
scautopick \-> scautopick2.
.UNINDENT
.INDENT 0.0
.TP
.B \-\-plugins arg
Load given plugins.
.UNINDENT
.SS Verbosity
.INDENT 0.0
.TP
.B \-\-verbosity arg
Verbosity level [0..4]. 0:quiet, 1:error, 2:warning, 3:info,
4:debug.
.UNINDENT
.INDENT 0.0
.TP
.B \-v, \-\-v
Increase verbosity level (may be repeated, eg. \-vv).
.UNINDENT
.INDENT 0.0
.TP
.B \-q, \-\-quiet
Quiet mode: no logging output.
.UNINDENT
.INDENT 0.0
.TP
.B \-\-component arg
Limit the logging to a certain component. This option can
be given more than once.
.UNINDENT
.INDENT 0.0
.TP
.B \-s, \-\-syslog
Use syslog logging backend. The output usually goes to
/var/lib/messages.
.UNINDENT
.INDENT 0.0
.TP
.B \-l, \-\-lockfile arg
Path to lock file.
.UNINDENT
.INDENT 0.0
.TP
.B \-\-console arg
Send log output to stdout.
.UNINDENT
.INDENT 0.0
.TP
.B \-\-debug
Execute in debug mode.
Equivalent to \-\-verbosity=4 \-\-console=1 .
.UNINDENT
.INDENT 0.0
.TP
.B \-\-log\-file arg
Use alternative log file.
.UNINDENT
.SS Database
.INDENT 0.0
.TP
.B \-\-db\-driver\-list
List all supported database drivers.
.UNINDENT
.INDENT 0.0
.TP
.B \-d, \-\-database arg
The database connection string, format:
\fI\%service://user:pwd@host/database\fP\&.
\(dqservice\(dq is the name of the database driver which
can be queried with \(dq\-\-db\-driver\-list\(dq.
.UNINDENT
.SS Commands
.INDENT 0.0
.TP
.B \-\-showqueries
Show the queries defined in queries.cfg.
.UNINDENT
.INDENT 0.0
.TP
.B \-\-delimiter arg
Column delimiter. If found, this character will be escaped
in output values. Default: \(aq|\(aq.
.UNINDENT
.INDENT 0.0
.TP
.B \-\-print\-column\-name
Print the name of each output column in a header.
.UNINDENT
.INDENT 0.0
.TP
.B \-\-print\-header
Print the query parameters and the query filter description
as a header of the query output.
.UNINDENT
.INDENT 0.0
.TP
.B \-\-print\-query\-only
Only print the full query to stdout and then quit.
.UNINDENT
.INDENT 0.0
.TP
.B \-Q, \-\-query arg
Execute the given query instead of applying queries
pre\-defined by configuration.
.UNINDENT
.SH AUTHOR
gempa GmbH, GFZ Potsdam
.SH COPYRIGHT
gempa GmbH, GFZ Potsdam
.\" Generated by docutils manpage writer.
.