JavaSeed

Java parser for the Standard for the Exchange of Earthquake Data (SEED)

License

License

Categories

Categories

Java Languages
GroupId

GroupId

edu.iris.dmc
ArtifactId

ArtifactId

java-seed
Last Version

Last Version

3.8.5
Release Date

Release Date

Type

Type

jar
Description

Description

JavaSeed
Java parser for the Standard for the Exchange of Earthquake Data (SEED)
Project URL

Project URL

http://maven.apache.org
Source Code Management

Source Code Management

https://github.com/iris-edu/Java-Seed

Download java-seed

How to add to project

<!-- https://jarcasting.com/artifacts/edu.iris.dmc/java-seed/ -->
<dependency>
    <groupId>edu.iris.dmc</groupId>
    <artifactId>java-seed</artifactId>
    <version>3.8.5</version>
</dependency>
// https://jarcasting.com/artifacts/edu.iris.dmc/java-seed/
implementation 'edu.iris.dmc:java-seed:3.8.5'
// https://jarcasting.com/artifacts/edu.iris.dmc/java-seed/
implementation ("edu.iris.dmc:java-seed:3.8.5")
'edu.iris.dmc:java-seed:jar:3.8.5'
<dependency org="edu.iris.dmc" name="java-seed" rev="3.8.5">
  <artifact name="java-seed" type="jar" />
</dependency>
@Grapes(
@Grab(group='edu.iris.dmc', module='java-seed', version='3.8.5')
)
libraryDependencies += "edu.iris.dmc" % "java-seed" % "3.8.5"
[edu.iris.dmc/java-seed "3.8.5"]

Dependencies

compile (2)

Group / Artifact Type Version
org.acplt : oncrpc jar 1.0.7
commons-logging : commons-logging jar 1.2

test (1)

Group / Artifact Type Version
junit : junit jar 4.12

Project Modules

There are no modules declared in this project.

JavaSeed - An API for FDSN SEED data

About

Java SEED is an API that began its life in 2001 in an effort to support applications, like PDCC, that were to make use of the FDSN standard SEED format (fdsn.org) for seismic datasets. A comprehensive, object-oriented application interface was needed to work with SEED data and convert to and from other file formats.

Originally called FISSURES SEED, JavaSeed is the product of this endeavor, and is used in whole or in part by a number of applications in the seismic community over these many years.

JavaSeed in essence follows the Builder Design Pattern in its overall class design. You have a Director that knows one format, and a Builder that knows how to construct another format. JavaSeed has an Import side and an Export side, each of which are independent Builder modules.

This approach was taken because one of the inherent requirements for JavaSeed is the ability to convert to and from other data formats. The Builder pattern is well suited to satisfying this requirement because you only have to write one side of the conversion chain to support a new format and you have standard interfaces to develop the new module to.

Another requirement for JavaSeed is the ability to retain the data it reads in a malleable and persistent form to support editing, viewing, merging, and sorting of the imported data, as opposed to just pushing it out to a new file or data stream. In an object-oriented language like Java, it is natural to represent the data in memory as objects, and JavaSeed collects these objects in a Container for ready referencing.

In adopting an object format that could conceivably accommodate most known seismic data formats, following the extensively documented SEED Blockette design made perfect sense. SEED is designed as an exchange format that is both flexible and modular, and covers most if not all types of information that would need to be delivered in a seismic data volume. Its modularity makes it an easy match to object-oriented design, and so the Blockette object serves as the central data format for all operations in JavaSeed.

To provide proof of concept for the JavaSeed API, a skeletal application was written that would drive all of the Java class modules to perform front to back operations, such as reading and writing SEED volumes, converting to other file formats, and so on. Called Jseedr, it consists of a simple command line interface with flagged parameters to direct the operations. Jseedr allows users to easily access JavaSeed’s most basic functionality to perform typical operations. More advanced applications tap into various parts of JavaSeed to take advantage of even more functionality.

JavaSeed continues to see use and development at IRIS, even as IRIS is officially moving away from the SEED format for metadata. Others, such as Yazan@iris are diligently maintaining this API and making it available on GitHub.

How to Use

There is unfortunately not much in the way of documentation for JavaSeed, but some driver examples provide a good idea for how it is employed. Take a look at the Jseedr application for starters.

edu.iris.dmc

Incorporated Research Institutions for Seismology

Software and projects by the IRIS Data Managment Center

Versions

Version
3.8.5