{"id":13440384,"url":"https://github.com/locationtech/geomesa","last_synced_at":"2025-05-13T20:22:38.523Z","repository":{"id":10924029,"uuid":"13226069","full_name":"locationtech/geomesa","owner":"locationtech","description":"GeoMesa is a suite of tools for working with big geo-spatial data in a distributed fashion.","archived":false,"fork":false,"pushed_at":"2025-04-21T03:21:10.000Z","size":77972,"stargazers_count":1447,"open_issues_count":8,"forks_count":439,"subscribers_count":86,"default_branch":"main","last_synced_at":"2025-04-26T11:42:36.799Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"https://www.geomesa.org/","language":"Scala","has_issues":false,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/locationtech.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE.txt","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2013-09-30T20:13:46.000Z","updated_at":"2025-04-22T09:05:57.000Z","dependencies_parsed_at":"2023-11-16T15:45:19.314Z","dependency_job_id":"73a9161c-f0bf-47d3-b7f6-6396728cb96c","html_url":"https://github.com/locationtech/geomesa","commit_stats":null,"previous_names":[],"tags_count":117,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/locationtech%2Fgeomesa","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/locationtech%2Fgeomesa/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/locationtech%2Fgeomesa/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/locationtech%2Fgeomesa/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/locationtech","download_url":"https://codeload.github.com/locationtech/geomesa/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":251088977,"owners_count":21534509,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-07-31T03:01:22.287Z","updated_at":"2025-04-27T04:30:03.976Z","avatar_url":"https://github.com/locationtech.png","language":"Scala","funding_links":[],"categories":["Scala","Data Processing","others","Geospatial Big Data","Tools"],"sub_categories":["Databases"],"readme":"\u003c!--suppress ALL --\u003e\n\u003cp align=\"center\"\u003e\n  \u003ca href=\"https://geomesa.github.io\"\u003e\u003cimg align=\"center\" width=\"50%\" src=\"https://raw.githubusercontent.com/geomesa/geomesa.github.io/main/img/geomesa-2x.png\"\u003e\u003c/img\u003e\u003c/a\u003e\n\u003c/p\u003e\n\nGeoMesa is an open source suite of tools that enables large-scale geospatial querying and analytics on distributed\ncomputing systems. GeoMesa provides spatio-temporal indexing on top of the Accumulo, HBase and\nCassandra databases for massive storage of point, line, and polygon data. GeoMesa also provides near real time\nstream processing of spatio-temporal data by layering spatial semantics on top of Apache Kafka. Through GeoServer,\nGeoMesa facilitates integration with a wide range of existing mapping clients over standard OGC (Open Geospatial\nConsortium) APIs and protocols such as WFS and WMS. GeoMesa supports Apache Spark for custom distributed\ngeospatial analytics.\n\n\u003cp align=\"center\"\u003e\n  \u003cimg align=\"center\" height=\"150px\" src=\"https://www.geomesa.org/img/geomesa-overview-848x250.png\"\u003e\u003c/img\u003e\n\u003c/p\u003e\n\n#### ![LocationTech](https://pbs.twimg.com/profile_images/2552421256/hv2oas84tv7n3maianiq_normal.png) GeoMesa is a member of the [LocationTech](https://projects.eclipse.org/projects/locationtech.geomesa) working group of the Eclipse Foundation.\n\n## Join the Community\n\n* \u003ca href=\"https://gitter.im/locationtech/geomesa?utm_source=badge\u0026utm_medium=badge\u0026utm_campaign=pr-badge\u0026utm_content=badge\" target=\"_blank\"\u003e\u003cimg src=\"https://badges.gitter.im/Join%20Chat.svg\" alt=\"Join the chat at https://gitter.im/locationtech/geomesa\"\u003e\u003c/img\u003e\u003c/a\u003e\n* GeoMesa [Users](https://accounts.eclipse.org/mailing-list/geomesa-users) and [Dev](https://accounts.eclipse.org/mailing-list/geomesa-dev) mailing lists\n* GeoMesa [JIRA](https://geomesa.atlassian.net/issues/?jql=order+by+created+DESC) for issue tracking\n\n## Documentation\n\n* [Main documentation](https://www.geomesa.org/documentation/)\n* [Upgrade Guide](https://www.geomesa.org/documentation/user/upgrade.html)\n* Quick Starts:\n  [Accumulo](https://www.geomesa.org/documentation/tutorials/geomesa-quickstart-accumulo.html) |\n  [HBase](https://www.geomesa.org/documentation/tutorials/geomesa-quickstart-hbase.html) |\n  [Cassandra](https://www.geomesa.org/documentation/tutorials/geomesa-quickstart-cassandra.html) |\n  [Kafka](https://www.geomesa.org/documentation/tutorials/geomesa-quickstart-kafka.html) |\n  [Redis](https://www.geomesa.org/documentation/tutorials/geomesa-quickstart-redis.html) |\n  [FileSystem](https://www.geomesa.org/documentation/current/tutorials/geomesa-quickstart-fsds.html)\n* [Tutorials](https://www.geomesa.org/tutorials/)\n\n## Downloads\n\n**Latest release: [5.2.2](https://github.com/locationtech/geomesa/releases/tag/geomesa-5.2.2)** \u0026nbsp;-\u0026nbsp;\n  [**Accumulo**](https://github.com/locationtech/geomesa/releases/download/geomesa-5.2.2/geomesa-accumulo_2.12-5.2.2-bin.tar.gz) |\n  [**HBase**](https://github.com/locationtech/geomesa/releases/download/geomesa-5.2.2/geomesa-hbase_2.12-5.2.2-bin.tar.gz) |\n  [**Cassandra**](https://github.com/locationtech/geomesa/releases/download/geomesa-5.2.2/geomesa-cassandra_2.12-5.2.2-bin.tar.gz) |\n  [**Kafka**](https://github.com/locationtech/geomesa/releases/download/geomesa-5.2.2/geomesa-kafka_2.12-5.2.2-bin.tar.gz) |\n  [**Redis**](https://github.com/locationtech/geomesa/releases/download/geomesa-5.2.2/geomesa-redis_2.12-5.2.2-bin.tar.gz) |\n  [**FileSystem**](https://github.com/locationtech/geomesa/releases/download/geomesa-5.2.2/geomesa-fs_2.12-5.2.2-bin.tar.gz) |\n  [**PostGIS**](https://github.com/locationtech/geomesa/releases/download/geomesa-5.2.2/geomesa-gt_2.12-5.2.2-bin.tar.gz)\n\n### Verifying Downloads\n\nDownloads hosted on GitHub include SHA-256 hashes and gpg signatures (.asc files). To verify a download using gpg,\nimport the appropriate key:\n\n```bash\ngpg2 --keyserver hkp://pool.sks-keyservers.net --recv-keys CD24F317\n```\n\nThen verify the file:\n\n```bash\ngpg2 --verify geomesa-accumulo_2.12-5.2.2-bin.tar.gz.asc geomesa-accumulo_2.12-5.2.2-bin.tar.gz\n```\n\nThe keys currently used for signing are:\n\n| Key ID     | Name                                               |\n|------------|----------------------------------------------------|\n| `CD24F317` | Emilio Lahr-Vivaz \u0026lt;elahrvivaz(-at-)ccri.com\u0026gt; |\n| `1E679A56` | James Hughes \u0026lt;jnh5y(-at-)ccri.com\u0026gt;           |\n\n## Maven Integration\n\n[![Maven](.github/maven-badge.svg)](https://search.maven.org/search?q=g:org.locationtech.geomesa)\n\nGeoMesa is hosted on Maven Central. To include it as a dependency, add the desired modules, for example:\n\n```xml\n\u003cdependency\u003e\n  \u003cgroupId\u003eorg.locationtech.geomesa\u003c/groupId\u003e\n  \u003cartifactId\u003egeomesa-accumulo-datastore_2.12\u003c/artifactId\u003e\n  \u003cversion\u003e5.2.2\u003c/version\u003e\n\u003c/dependency\u003e\n```\n\nGeoMesa provides a bill-of-materials module, which can simplify version management:\n\n```xml\n\u003cdependencyManagement\u003e\n  \u003cdependencies\u003e\n    \u003cdependency\u003e\n      \u003cgroupId\u003eorg.locationtech.geomesa\u003c/groupId\u003e\n      \u003cartifactId\u003egeomesa-bom_2.12\u003c/artifactId\u003e\n      \u003cversion\u003e5.2.2\u003c/version\u003e\n      \u003ctype\u003epom\u003c/type\u003e\n      \u003cscope\u003eimport\u003c/scope\u003e\n    \u003c/dependency\u003e\n  \u003c/dependencies\u003e\n\u003c/dependencyManagement\u003e\n```\n\nGeoMesa depends on several third-party libraries that are only available in separate repositories. To include\nGeoMesa in your project, add the following repositories to your pom:\n\n```xml\n\u003crepositories\u003e\n  \u003c!-- geotools --\u003e\n  \u003crepository\u003e\n    \u003cid\u003eosgeo\u003c/id\u003e\n    \u003curl\u003ehttps://repo.osgeo.org/repository/release\u003c/url\u003e\n  \u003c/repository\u003e\n  \u003c!-- confluent --\u003e\n  \u003crepository\u003e\n    \u003cid\u003econfluent\u003c/id\u003e\n    \u003curl\u003ehttps://packages.confluent.io/maven/\u003c/url\u003e\n  \u003c/repository\u003e\n\u003c/repositories\u003e\n```\n\n### Nightly Snapshots\n\nSnapshot versions are published nightly to the Eclipse repository:\n\n```xml\n\u003crepository\u003e\n  \u003cid\u003egeomesa-snapshots\u003c/id\u003e\n  \u003curl\u003ehttps://repo.eclipse.org/content/repositories/geomesa-snapshots\u003c/url\u003e\n  \u003creleases\u003e\n    \u003cenabled\u003efalse\u003c/enabled\u003e\n  \u003c/releases\u003e\n  \u003csnapshots\u003e\n    \u003cenabled\u003etrue\u003c/enabled\u003e\n  \u003c/snapshots\u003e\n\u003c/repository\u003e\n```\n\n### Spark Runtimes\n\nGeoMesa publishes `spark-runtime` JARs for integration with Spark environments like Databricks. These\nshaded JARs include all the required dependencies in a single artifact. When importing through Maven, all\ntransitive dependencies can be excluded. There are Spark runtime JARs available for most of the different\nDataStore implementations:\n\n```xml\n\u003cdependency\u003e\n  \u003cgroupId\u003eorg.locationtech.geomesa\u003c/groupId\u003e\n  \u003cartifactId\u003egeomesa-gt-spark-runtime_2.12\u003c/artifactId\u003e\n  \u003cversion\u003e5.2.2\u003c/version\u003e\n  \u003cexclusions\u003e\n    \u003cexclusion\u003e\n      \u003c!-- if groupId wildcards are not supported, the two main ones are jline:* and org.geotools:* --\u003e\n      \u003cgroupId\u003e*\u003c/groupId\u003e\n      \u003cartifactId\u003e*\u003c/artifactId\u003e\n    \u003c/exclusion\u003e\n  \u003c/exclusions\u003e\n\u003c/dependency\u003e\n```\n\nThese JARs are also included in the [Downloads](#downloads) bundles, above.\n\n## `sbt` Integration\n\nSimilarly, integration with `sbt` is straightforward:\n\n```scala\n// Add necessary resolvers\nresolvers ++= Seq(\n  \"osgeo\" at \"https://repo.osgeo.org/repository/release\",\n  \"confluent\" at \"https://packages.confluent.io/maven\"\n)\n\n// Select desired modules\nlibraryDependencies ++= Seq(\n  \"org.locationtech.geomesa\" %% \"geomesa-utils\" % \"5.2.2\"\n)\n```\n\n## Building from Source\n\n  \u0026nbsp;\u0026nbsp;\n  [![Build Status](https://github.com/locationtech/geomesa/actions/workflows/main-build.yml/badge.svg?branch=main)](https://github.com/locationtech/geomesa/actions/workflows/main-build.yml?query=branch%3Amain) \u0026nbsp;\n  [![OpenSSF Scorecard](https://api.securityscorecards.dev/projects/github.com/locationtech/geomesa/badge)](https://api.securityscorecards.dev/projects/github.com/locationtech/geomesa)\n\nRequirements:\n\n* [Git](https://git-scm.com/)\n* [Java JDK 11](https://adoptium.net/temurin/releases/)\n* [Apache Maven](https://maven.apache.org/) 3.6.3 or later\n* [Docker](https://docs.docker.com/get-docker/) (only required for running unit tests)\n\nUse Git to download the source code. Navigate to the destination directory, then run:\n\n```bash\ngit clone git@github.com:locationtech/geomesa.git\ncd geomesa\n```\n\nThe project is built using Maven. To build, run:\n\n```bash\nmvn clean install -DskipTests\n```\n\nThe full build takes quite a while. To speed it up, you may use multiple threads (`-T 1.5C`).\n\nTo run unit tests, omit the `-DskipTests` (note: requires `docker` to be available).\n\n### Build with Bloop Compile Server\n\nGeoMesa also provides experimental support for the [Bloop](https://scalacenter.github.io/bloop/) compile server,\nwhich provides fast incremental compilation. To export the GeoMesa build to Bloop, run:\n\n```bash\n./build/scripts/bloop-export.sh\n```\n\nFor more information on using Bloop, refer to the\n[Bloop documentation](https://scalacenter.github.io/bloop/docs/build-tools/maven).\n\n### Build with Zinc Compile Server\n\nGeoMesa also provides experimental support for the [Zinc](https://github.com/typesafehub/zinc) compile server,\nwhich provides fast incremental compilation. However, please note that Zinc is no longer actively maintained.\nTo use an existing Zinc server, run maven with `-Pzinc`. GeoMesa provides a helper script at `build/mvn`, which\nis a wrapper around Maven that downloads and runs Zinc automatically:\n\n```bash\nbuild/mvn clean install -T8 -DskipTests\n```\n\nIf the Zinc build fails with an error finding \"javac\", try setting the JAVA_HOME\nenvironment variable to point to the root of your JDK. Example from a Mac:\n\n```bash\nJAVA_HOME=\"/Library/Java/JavaVirtualMachines/jdk1.8.0_51.jdk/Contents/Home\" build/mvn clean install\n```\n### Scala Cross Build\n\nTo build for a different Scala version (e.g. 2.13), run the following script, then build as normal:\n\n```bash\n./build/scripts/change-scala-version.sh 2.13\n```\n\n### Building on OS X\n\nWhen building on OS X and using Docker Desktop in a non-default configuration, you may need to edit `~/.testcontainers.properties` to contain the following:\n\n```\ndocker.client.strategy=org.testcontainers.dockerclient.UnixSocketClientProviderStrategy\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flocationtech%2Fgeomesa","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Flocationtech%2Fgeomesa","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flocationtech%2Fgeomesa/lists"}