@seismo/core
Version:
This is the package for the core library of Seismo, a JavaScript library for seismic data processing and visualization. It provides utilities for handling seismic data, including FDSN web services, waveform processing, and event handling. The library is d
413 lines (412 loc) • 12.9 kB
TypeScript
import { FDSNCommon, LatLonRegion } from "./common";
import { DateTime, Interval } from "luxon";
import { EventParameters, Quake, USGS_HOST } from "../events/quakeml";
/**
* Major version of the FDSN spec supported here.
* Currently is 1.
*/
export declare const SERVICE_VERSION = 1;
/**
* Service name as used in the FDSN DataCenters registry,
* https://www.fdsn.org/datacenters
*/
export declare const SERVICE_NAME = "fdsnws-event-1";
export { USGS_HOST };
/**
* Query to a FDSN Event web service.
*
* @see https://www.fdsn.org/webservices/
* @param host optional host to connect to, defaults to USGS
*/
export declare class EventQuery extends FDSNCommon {
/** @private */
_eventId: string | undefined;
/** @private */
_startTime: DateTime | undefined;
/** @private */
_endTime: DateTime | undefined;
/** @private */
_updatedAfter: DateTime | undefined;
/** @private */
_minMag: number | undefined;
/** @private */
_maxMag: number | undefined;
/** @private */
_magnitudeType: string | undefined;
/** @private */
_minDepth: number | undefined;
/** @private */
_maxDepth: number | undefined;
/** @private */
_minLat: number | undefined;
/** @private */
_maxLat: number | undefined;
/** @private */
_minLon: number | undefined;
/** @private */
_maxLon: number | undefined;
/** @private */
_latitude: number | undefined;
/** @private */
_longitude: number | undefined;
/** @private */
_minRadius: number | undefined;
/** @private */
_maxRadius: number | undefined;
/** @private */
_includeArrivals: boolean | undefined;
/** @private */
_includeAllOrigins: boolean | undefined;
/** @private */
_includeAllMagnitudes: boolean | undefined;
/** @private */
_limit: number | undefined;
/** @private */
_offset: number | undefined;
/** @private */
_orderBy: string | undefined;
/** @private */
_contributor: string | undefined;
/** @private */
_catalog: string | undefined;
/** @private */
_format: string | undefined;
constructor(host?: string);
/**
* Gets/Sets the version of the fdsnws spec, 1 is currently the only value.
* Setting this is probably a bad idea as the code may not be compatible with
* the web service.
*
* @param value optional new value if setting
* @returns new value if getting, this if setting
*/
specVersion(value?: string): EventQuery;
getSpecVersion(): string;
/**
* Gets/Sets the protocol, http or https. This should match the protocol
* of the page loaded, but is autocalculated and generally need not be set.
*
* @param value optional new value if setting
* @returns new value if getting, this if setting
*/
protocol(value?: string): EventQuery;
getProtocol(): string | undefined;
/**
* Gets/Sets the remote host to connect to.
*
* @param value optional new value if setting
* @returns new value if getting, this if setting
*/
host(value?: string): EventQuery;
getHost(): string | undefined;
/**
* Gets/Sets the remote port to connect to.
*
* @param value optional new value if setting
* @returns new value if getting, this if setting
*/
port(value?: number): EventQuery;
getPort(): number | undefined;
/**
* Gets/Sets the nodata parameter, usually 404 or 204 (default), controlling
* the status code when no matching data is found by the service.
*
* @param value optional new value if setting
* @returns new value if getting, this if setting
*/
nodata(value?: number): EventQuery;
getNodata(): number | undefined;
/**
* Get/Set the timeout in seconds for the request. Default is 30.
*
* @param value optional new value if setting
* @returns new value if getting, this if setting
*/
timeout(value?: number): EventQuery;
getTimeout(): number | undefined;
/**
* Get/Set the eventid query parameter.
*
* @param value optional new value if setting
* @returns new value if getting, this if setting
*/
eventId(value?: string): EventQuery;
getEventId(): string | undefined;
/**
* Get/Set the starttime query parameter.
*
* @param value optional new value if setting
* @returns new value if getting, this if setting
*/
startTime(value?: DateTime): EventQuery;
getStartTime(): DateTime | undefined;
/**
* Get/Set the endtime query parameter.
*
* @param value optional new value if setting
* @returns new value if getting, this if setting
*/
endTime(value?: DateTime): EventQuery;
getEndTime(): DateTime | undefined;
/**
* Sets startTime and endTime using the given time window
*
* @param se time window
* @returns this
*/
timeRange(se: Interval): EventQuery;
/**
* Get/Set the updatedafter query parameter.
*
* @param value optional new value if setting
* @returns new value if getting, this if setting
*/
updatedAfter(value?: DateTime): EventQuery;
getUpdatedAfter(): DateTime | undefined;
/**
* Get/Set the minmag query parameter.
*
* @param value optional new value if setting
* @returns new value if getting, this if setting
*/
minMag(value?: number): EventQuery;
getMinMag(): number | undefined;
/**
* Get/Set the maxmag query parameter.
*
* @param value optional new value if setting
* @returns new value if getting, this if setting
*/
maxMag(value?: number): EventQuery;
getMaxMag(): number | undefined;
/**
* Get/Set the magnitudetype query parameter.
*
* @param value optional new value if setting
* @returns new value if getting, this if setting
*/
magnitudeType(value?: string): EventQuery;
getMagnitudeType(): string | undefined;
/**
* Get/Set the mindepth query parameter.
*
* @param value optional new value if setting
* @returns new value if getting, this if setting
*/
minDepth(value?: number): EventQuery;
getMinDepth(): number | undefined;
/**
* Get/Set the maxdepth query parameter.
*
* @param value optional new value if setting
* @returns new value if getting, this if setting
*/
maxDepth(value?: number): EventQuery;
getMaxDepth(): number | undefined;
/**
* Get/Set the minlat query parameter.
*
* @param value optional new value if setting
* @returns new value if getting, this if setting
*/
minLat(value?: number): EventQuery;
getMinLat(): number | undefined;
/**
* Get/Set the maxlat query parameter.
*
* @param value optional new value if setting
* @returns new value if getting, this if setting
*/
maxLat(value?: number): EventQuery;
getMaxLat(): number | undefined;
/**
* Get/Set the minlon query parameter.
*
* @param value optional new value if setting
* @returns new value if getting, this if setting
*/
minLon(value?: number): EventQuery;
getMinLon(): number | undefined;
/**
* Get/Set the maxlon query parameter.
*
* @param value optional new value if setting
* @returns new value if getting, this if setting
*/
maxLon(value?: number): EventQuery;
getMaxLon(): number | undefined;
/**
* Get/Set the latitude query parameter.
*
* @param value optional new value if setting
* @returns new value if getting, this if setting
*/
latitude(value?: number): EventQuery;
getLatitude(): number | undefined;
/**
* Get/Set the longitude query parameter.
*
* @param value optional new value if setting
* @returns new value if getting, this if setting
*/
longitude(value?: number): EventQuery;
getLongitude(): number | undefined;
/**
* Get/Set the minradius query parameter.
*
* @param value optional new value if setting
* @returns new value if getting, this if setting
*/
minRadius(value?: number): EventQuery;
getMinRadius(): number | undefined;
/**
* Get/Set the maxradius query parameter.
*
* @param value optional new value if setting
* @returns new value if getting, this if setting
*/
maxRadius(value?: number): EventQuery;
getMaxRadius(): number | undefined;
/**
* Get/Set the includearrivals query parameter.
*
* @param value optional new value if setting
* @returns new value if getting, this if setting
*/
includeArrivals(value?: boolean): EventQuery;
getIncludeArrivals(): boolean | undefined;
/**
* Get/Set the includeallorigins query parameter.
*
* @param value optional new value if setting
* @returns new value if getting, this if setting
*/
includeAllOrigins(value?: boolean): EventQuery;
getIncludeAllOrigins(): boolean | undefined;
/**
* Get/Set the includeallmagnitudes query parameter.
*
* @param value optional new value if setting
* @returns new value if getting, this if setting
*/
includeAllMagnitudes(value?: boolean): EventQuery;
getIncludeAllMagnitudes(): boolean | undefined;
/**
* Get/Set the format query parameter.
*
* @param value optional new value if setting
* @returns new value if getting, this if setting
*/
format(value?: string): EventQuery;
getFormat(): string | undefined;
/**
* Get/Set the limit query parameter.
*
* @param value optional new value if setting
* @returns new value if getting, this if setting
*/
limit(value?: number): EventQuery;
getLimit(): number | undefined;
/**
* Get/Set the offset query parameter.
*
* @param value optional new value if setting
* @returns new value if getting, this if setting
*/
offset(value?: number): EventQuery;
getOffset(): number | undefined;
/**
* Get/Set the orderby query parameter.
*
* @param value optional new value if setting
* @returns new value if getting, this if setting
*/
orderBy(value?: string): EventQuery;
getOrderBy(): string | undefined;
/**
* Get/Set the catalog query parameter.
*
* @param value optional new value if setting
* @returns new value if getting, this if setting
*/
catalog(value?: string): EventQuery;
getCatalog(): string | undefined;
/**
* Get/Set the contributor query parameter.
*
* @param value optional new value if setting
* @returns new value if getting, this if setting
*/
contributor(value?: string): EventQuery;
getContributor(): string | undefined;
latLonRegion(value: LatLonRegion | null): EventQuery;
/**
* Checks to see if any parameter that would limit the data
* returned is set. This is a crude, coarse check to make sure
* the client doesn't ask for EVERYTHING the server has.
*
* @returns true is some parameter is set
*/
isSomeParameterSet(): boolean;
/**
* Queries the remote service and parses the returned xml.
*
* @returns Promise to an Array of Quake objects.
*/
query(): Promise<Array<Quake>>;
queryEventParameters(): Promise<EventParameters>;
/**
* Queries the remote server, to get QuakeML xml.
*
* @returns xml Document
*/
queryRawXml(): Promise<Document>;
/**
* Forms the basic URL to contact the web service, without any query paramters
*
* @returns the url
*/
formBaseURL(): string;
/**
* Forms the URL to get catalogs from the web service, without any query paramters
*
* @returns the url
*/
formCatalogsURL(): string;
/**
* Queries the remote web service to get known catalogs
*
* @returns Promise to Array of catalog names
*/
queryCatalogs(): Promise<Array<string>>;
/**
* Forms the URL to get contributors from the web service, without any query paramters
*
* @returns the url
*/
formContributorsURL(): string;
/**
* Queries the remote web service to get known contributors
*
* @returns Promise to Array of contributor names
*/
queryContributors(): Promise<Array<string>>;
/**
* Forms the URL to get version from the web service, without any query paramters
*
* @returns the url
*/
formVersionURL(): string;
/**
* Queries the remote web service to get its version
*
* @returns Promise to version string
*/
queryVersion(): Promise<string>;
/**
* Form URL to query the remote web service, encoding the query parameters.
*
* @returns url
*/
formURL(): string;
}