GeoMesa is a suite of tools for working with big geo-spatial data in a distributed fashion.
Switch branches/tags
Clone or download
elahrvivaz and jnh5y GEOMESA-2408 KafkaFeatureWriter - implement Flushable (#2063)
Signed-off-by: Emilio Lahr-Vivaz <elahrvivaz@ccri.com>
Latest commit 360c570 Sep 25, 2018
Permalink
Failed to load latest commit information.
build GEOMESA-2387 Distributed FSDS compaction removed some multi-geometries ( Sep 3, 2018
docs [maven-release-plugin] prepare for next development iteration Sep 18, 2018
geomesa-accumulo [maven-release-plugin] prepare for next development iteration Sep 18, 2018
geomesa-archetypes [maven-release-plugin] prepare for next development iteration Sep 18, 2018
geomesa-arrow [maven-release-plugin] prepare for next development iteration Sep 18, 2018
geomesa-bigtable [maven-release-plugin] prepare for next development iteration Sep 18, 2018
geomesa-blobstore [maven-release-plugin] prepare for next development iteration Sep 18, 2018
geomesa-cassandra [maven-release-plugin] prepare for next development iteration Sep 18, 2018
geomesa-convert GEOMESA-2411 FSDS - Orc push-down predicates don't account for extra … Sep 25, 2018
geomesa-features [maven-release-plugin] prepare for next development iteration Sep 18, 2018
geomesa-filter [maven-release-plugin] prepare for next development iteration Sep 18, 2018
geomesa-fs GEOMESA-2386 Adding WPS module to FileSystem gs-plugin (#2052) Sep 25, 2018
geomesa-geojson [maven-release-plugin] prepare for next development iteration Sep 18, 2018
geomesa-hbase [maven-release-plugin] prepare for next development iteration Sep 18, 2018
geomesa-index-api [maven-release-plugin] prepare for next development iteration Sep 18, 2018
geomesa-jobs [maven-release-plugin] prepare for next development iteration Sep 18, 2018
geomesa-jupyter [maven-release-plugin] prepare for next development iteration Sep 18, 2018
geomesa-kafka GEOMESA-2408 KafkaFeatureWriter - implement Flushable (#2063) Sep 25, 2018
geomesa-kudu [maven-release-plugin] prepare for next development iteration Sep 18, 2018
geomesa-lambda [maven-release-plugin] prepare for next development iteration Sep 18, 2018
geomesa-memory [maven-release-plugin] prepare for next development iteration Sep 18, 2018
geomesa-metrics [maven-release-plugin] prepare for next development iteration Sep 18, 2018
geomesa-native-api [maven-release-plugin] prepare for next development iteration Sep 18, 2018
geomesa-process [maven-release-plugin] prepare for next development iteration Sep 18, 2018
geomesa-security [maven-release-plugin] prepare for next development iteration Sep 18, 2018
geomesa-spark [maven-release-plugin] prepare for next development iteration Sep 18, 2018
geomesa-stream [maven-release-plugin] prepare for next development iteration Sep 18, 2018
geomesa-test [maven-release-plugin] prepare for next development iteration Sep 18, 2018
geomesa-tools [maven-release-plugin] prepare for next development iteration Sep 18, 2018
geomesa-utils GEOMESA-2404 Fixes bugs with FSDS Orc Mapreduce Formats (#2059) Sep 24, 2018
geomesa-web [maven-release-plugin] prepare for next development iteration Sep 18, 2018
geomesa-z3 [maven-release-plugin] prepare for next development iteration Sep 18, 2018
geomesa-zk-utils [maven-release-plugin] prepare for next development iteration Sep 18, 2018
.gitignore GEOMESA-2119 Fix Geomesa Docs build (#1804) Jan 3, 2018
.travis.yml GEOMESA-2247 Using zinc for travis build (#1924) Apr 5, 2018
.travisbuild.sh Fixing travis dependency error check May 23, 2018
CONTRIBUTING.md GEOMESA-2136 Adding details on copyright to CONTRIBUTING.md (#1823) Jan 17, 2018
LICENSE.txt IP-approved initial commit Feb 19, 2014
README.md GEOMESA-2350 Updating release version to 2.0.2 (#2007) Jul 27, 2018
pom.xml [maven-release-plugin] prepare for next development iteration Sep 18, 2018

README.md

GeoMesa is an open source suite of tools that enables large-scale geospatial querying and analytics on distributed computing systems. GeoMesa provides spatio-temporal indexing on top of the Accumulo, HBase, Google Bigtable and Cassandra databases for massive storage of point, line, and polygon data. GeoMesa also provides near real time stream processing of spatio-temporal data by layering spatial semantics on top of Apache Kafka. Through GeoServer, GeoMesa facilitates integration with a wide range of existing mapping clients over standard OGC (Open Geospatial Consortium) APIs and protocols such as WFS and WMS. GeoMesa supports Apache Spark for custom distributed geospatial analytics.

LocationTech GeoMesa is a member of the LocationTech working group of the Eclipse Foundation.

Join the Community

  • Join the chat at https://gitter.im/locationtech/geomesa
  • GeoMesa Users and Dev mailing lists
  • GeoMesa JIRA for issue tracking

Documentation

Downloads

Current release: 2.0.2

     HBase | Accumulo | Cassandra | Kafka | FileSystem | Source | CheckSums

Development version: 2.1.0-SNAPSHOT   Build Status

Verifying Downloads

Downloads hosted on GitHub include SHA-256 hashes and gpg signatures (.asc files). To verify a download using gpg, import the appropriate key:

$ gpg2 --keyserver hkp://pool.sks-keyservers.net --recv-keys CD24F317

Then verify the file:

$ gpg2 --verify geomesa-accumulo_2.11-2.0.2-bin.tar.gz.asc geomesa-accumulo_2.11-2.0.2-bin.tar.gz

The keys currently used for signing are:

Key ID Name
CD24F317 Emilio Lahr-Vivaz <elahrvivaz(-at-)ccri.com>
1E679A56 James Hughes <jnh5y(-at-)ccri.com>

Upgrading

To upgrade between minor releases of GeoMesa, the versions of all GeoMesa components must match.

This means that the version of the geomesa-accumulo-distributed-runtime JAR installed on Accumulo tablet servers must match the version of the geomesa-accumulo-gs-plugin JAR installed in the WEB-INF/lib directory of GeoServer.

See the Upgrade Guide for information on specific version updates.

Maven Integration

GeoMesa is now hosted on Maven Central. However, it still depends on several third-party libraries only available in other repositories. To include GeoMesa in your project, add the following repositories to your pom:

<repositories>
  <repository>
    <id>boundlessgeo</id>
    <url>https://repo.boundlessgeo.com/main</url>
  </repository>
  <repository>
    <id>osgeo</id>
    <url>http://download.osgeo.org/webdav/geotools</url>
  </repository>
  <repository>
    <id>conjars.org</id>
    <url>http://conjars.org/repo</url>
  </repository>
</repositories>

and then include the desired geomesa-* dependencies:

<dependency>
  <groupId>org.locationtech.geomesa</groupId>
  <artifactId>geomesa-utils_2.11</artifactId>
  <version>2.0.2</version>
</dependency>
  ...

To download from the LocationTech Maven repository (required for older versions), add:

<repository>
  <id>locationtech-releases</id>
  <url>https://repo.locationtech.org/content/groups/releases</url>
  <snapshots>
    <enabled>false</enabled>
  </snapshots>
</repository>

For snapshot integration, add:

<repository>
  <id>geomesa-snapshots</id>
  <url>https://repo.locationtech.org/content/repositories/geomesa-snapshots</url>
  <releases>
    <enabled>false</enabled>
  </releases>
  <snapshots>
    <enabled>true</enabled>
  </snapshots>
</repository>

sbt Integration

Similarly, integration with sbt is straightforward:

// Add necessary resolvers
resolvers ++= Seq(
  "locationtech-releases" at "https://repo.locationtech.org/content/groups/releases",
  "boundlessgeo" at "https://repo.boundlessgeo.com/main",
  "osgeo" at "http://download.osgeo.org/webdav/geotools",
  "conjars.org" at "http://conjars.org/repo"
)

// Select desired modules
libraryDependencies ++= Seq(
  "org.locationtech.geomesa" %% "geomesa-utils" % "2.0.2",
  ...
)

Building from Source

Requirements:

Use Git to download the source code. Navigate to the destination directory, then run:

git clone git@github.com:locationtech/geomesa.git
cd geomesa

The project is managed by Maven. To build, run:

mvn clean install

The full build takes quite a while. To speed it up, you may skip tests and use multiple threads. GeoMesa also provides the script build/mvn, which is a wrapper around Maven that downloads and runs Zinc, a fast incremental compiler:

build/mvn clean install -T8 -DskipTests