# geomesa
**Repository Path**: mirrors_locationtech/geomesa
## Basic Information
- **Project Name**: geomesa
- **Description**: GeoMesa is a suite of tools for working with big geo-spatial data in a distributed fashion.
- **Primary Language**: Unknown
- **License**: Apache-2.0
- **Default Branch**: main
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 0
- **Forks**: 0
- **Created**: 2020-08-09
- **Last Updated**: 2026-01-04
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
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 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.
####  GeoMesa is a member of the [LocationTech](https://projects.eclipse.org/projects/locationtech.geomesa) working group of the Eclipse Foundation.
## Join the Community
**
** |
[**User list**](https://accounts.eclipse.org/mailing-list/geomesa-users) |
[**Developer list**](https://accounts.eclipse.org/mailing-list/geomesa-dev) |
[**JIRA issue tracking**](https://geomesa.atlassian.net/issues/?jql=order+by+created+DESC)
## Documentation
[**Documentation**](https://www.geomesa.org/documentation/) |
[**Upgrade Guide**](https://www.geomesa.org/documentation/user/upgrade.html) |
[**Quick Starts**](https://www.geomesa.org/documentation/stable/tutorials/index.html#quick-starts) |
[**Tutorials**](https://www.geomesa.org/tutorials/)
## Downloads
**Latest release: [5.4.0](https://github.com/locationtech/geomesa/releases/tag/geomesa-5.4.0)** -
[**Accumulo**](https://github.com/locationtech/geomesa/releases/download/geomesa-5.4.0/geomesa-accumulo_2.12-5.4.0-bin.tar.gz) |
[**HBase**](https://github.com/locationtech/geomesa/releases/download/geomesa-5.4.0/geomesa-hbase_2.12-5.4.0-bin.tar.gz) |
[**Cassandra**](https://github.com/locationtech/geomesa/releases/download/geomesa-5.4.0/geomesa-cassandra_2.12-5.4.0-bin.tar.gz) |
[**Kafka**](https://github.com/locationtech/geomesa/releases/download/geomesa-5.4.0/geomesa-kafka_2.12-5.4.0-bin.tar.gz) |
[**Redis**](https://github.com/locationtech/geomesa/releases/download/geomesa-5.4.0/geomesa-redis_2.12-5.4.0-bin.tar.gz) |
[**FileSystem**](https://github.com/locationtech/geomesa/releases/download/geomesa-5.4.0/geomesa-fs_2.12-5.4.0-bin.tar.gz) |
[**PostGIS**](https://github.com/locationtech/geomesa/releases/download/geomesa-5.4.0/geomesa-gt_2.12-5.4.0-bin.tar.gz)
### 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 then verify:
```bash
gpg --keyserver hkp://pool.sks-keyservers.net --recv-keys CD24F317
gpg --verify geomesa-accumulo_2.12-5.4.0-bin.tar.gz.asc geomesa-accumulo_2.12-5.4.0-bin.tar.gz
```
The keys used for signing are:
```
CD24F317 Emilio Lahr-Vivaz
1E679A56 James Hughes
```
## Maven Integration
[](https://search.maven.org/search?q=g:org.locationtech.geomesa)
GeoMesa is hosted on Maven Central. To include it as a dependency, add the desired modules, for example:
```xml
org.locationtech.geomesa
geomesa-accumulo-datastore_2.12
5.4.0
```
GeoMesa provides a bill-of-materials module, which can simplify version management:
```xml
org.locationtech.geomesa
geomesa-bom_2.12
5.4.0
pom
import
```
GeoMesa depends on several third-party libraries that are only available in separate repositories. To include
GeoMesa in your project, add the following repositories to your pom:
```xml
osgeo
https://repo.osgeo.org/repository/release
confluent
https://packages.confluent.io/maven/
```
### Spark Runtimes
GeoMesa publishes `spark-runtime` JARs for integration with Spark environments like Databricks. These
shaded JARs include all the required dependencies in a single artifact. When importing through Maven, all
transitive dependencies can be excluded. There are Spark runtime JARs available for most of the different
DataStore implementations:
```xml
org.locationtech.geomesa
geomesa-gt-spark_2.12
runtime
5.4.0
*
*
```
These JARs are also included in the [Downloads](#downloads) bundles, above.
## `sbt` Integration
Similarly, integration with `sbt` is straightforward:
```scala
// Add necessary resolvers
resolvers ++= Seq(
"osgeo" at "https://repo.osgeo.org/repository/release",
"confluent" at "https://packages.confluent.io/maven"
)
// Select desired modules
libraryDependencies ++= Seq(
"org.locationtech.geomesa" %% "geomesa-utils" % "5.4.0"
)
```
## Development Snapshots
Unreleased features are available for testing or early adoption using development snapshots. Note that development snapshots do
not carry any of the normal guarantees around compatibility and stability.
Documentation is published nightly to [https://geomesa.org/documentation/latest/](https://geomesa.org/documentation/latest/).
Maven artifacts are published nightly to the Eclipse Maven repository:
```xml
geomesa-snapshots
https://repo.eclipse.org/content/repositories/geomesa-snapshots
false
true
```
## Building from Source
[](https://github.com/locationtech/geomesa/actions/workflows/build-and-test.yml?query=branch%3Amain)
[](https://api.securityscorecards.dev/projects/github.com/locationtech/geomesa)
Requirements:
* [Git](https://git-scm.com/)
* [Java JDK 17](https://adoptium.net/temurin/releases/)
* [Apache Maven](https://maven.apache.org/) 3.8.1 or later
* [Docker](https://docs.docker.com/get-docker/) (only required for running unit tests)
Use Git to download the source code. Navigate to the destination directory, then run:
```bash
git clone git@github.com:locationtech/geomesa.git
cd geomesa
```
The project is built using Maven. To build, run:
```bash
mvn clean install -Dmaven.test.skip
```
The full build takes quite a while. To speed it up, you may use multiple threads (`-T 1.5C`).
To run unit tests, omit the `-Dmaven.test.skip` (note: requires `docker` to be available).
### Build with Bloop Compile Server
GeoMesa also provides experimental support for the [Bloop](https://scalacenter.github.io/bloop/) compile server,
which provides fast incremental compilation. To export the GeoMesa build to Bloop, run:
```bash
./build/scripts/bloop-export.sh
```
For more information on using Bloop, refer to the
[Bloop documentation](https://scalacenter.github.io/bloop/docs/build-tools/maven).
### Scala Cross Build
To build for a different Scala version (e.g. 2.13), run the following script, then build as normal:
```bash
./build/scripts/change-scala-version.sh 2.13
```
### Building on OS X
When building on OS X and using Docker Desktop in a non-default configuration, you may need to edit `~/.testcontainers.properties` to contain the following:
```
docker.client.strategy=org.testcontainers.dockerclient.UnixSocketClientProviderStrategy
```