Version | Status |
---|---|
1.x for Accumulo 1.5.x |
GeoMesa is an open-source, distributed, spatio-temporal database built on top of the Apache Accumulo column family store. GeoMesa implements standard Geotools interfaces to provide geospatial functionality over very large data sets to application developers. GeoMesa provides plugins for exposing geospatial data stored in Accumulo via standards-based OGC HTTP services and cluster monitoring and management tools within the GeoServer administrative interface.
GeoMesa is a member of the LocationTech working group of the Eclipse Foundation.
NOTE: The current recommended version is 1.0.0-rc5
which is a breaking change from 1.0.0-rc4
and previous versions due to schema incompatibility. The most recent tar.gz assembly can be downloaded here which contains the Accumulo distributed runtime jar, GeoServer plugin, and command line tools.
GeoMesa artifacts can be downloaded from the LocationTech Maven repository
Snapshots are availabile in the LocationTech Snapshots Repository
- Navigate to where you would like to download this project.
git clone [email protected]:locationtech/geomesa.git
This project is managed by Maven, and builds with the command
geomesa> mvn clean install
From the root directory, this builds each sub-project with its additional dependencies-included JAR.
- Quick Start on the main documentation site.
- FAQ
- Tutorials
- GeoMesa Users and Dev mailing list archives
- READMEs are provided under most modules: Tools, Jobs, etc
This project contains the implementations of the core indexing structures, Accumulo iterators, and the GeoTools interfaces for exposing the functionality as a DataStore
to both application developers and GeoServer.
To test and interact with core functionality, the Scala console can be invoked in a couple of ways. From the root directory by specifying geomesa-core geomesa> mvn -pl geomesa-core scala:console
. Or from the sub-project's directory geomesa-core> mvn scala:console
. By default, all of the project packages in core
are loaded along with JavaConversions, JavaConverters.
This sub-project assembles a jar with dependencies that must be distributed to Accumulo tablet servers lib/ext directory or to an HDFS directory where Accumulo's VFSClassLoader can pick it up.
This sub-project creates a plugin which provides WFS and WMS support. The JAR named geomesa-plugin--geoserver-plugin.jar is ready to be deployed in GeoServer by copying it into geoserver/WEB-INF/lib/
This sub-project stores our GeoHash implementation and other general library functions unrelated to Accumulo. This sub-project contains any helper tools for geomesa. Some of these tools such as the GeneralShapefileIngest have Map/Reduce components, so the geomesa-utils JAR lives on HDFS.
This sub-project contains the distribution-ready TAR-ball as well as the documentation (in DocBook form, rendered to PDF).
This sub-project contains utilities for working with distributed computing environments. Currently, there are methods for instantiating an Apache Spark Resilient Distributed Dataset from a CQL query against data stored in GeoMesa. Eventually, this project will contain bindings for traditional map-reduce processing, Scalding, and other environments.
This sub-project contains a set of command line tools for managing features, ingesting and exporting data, configuring tables, and explaining queries in GeoMesa. Please view the geomesa-tools README to learn more.