GithubHelp home page GithubHelp logo

shubham1556 / geomesa Goto Github PK

View Code? Open in Web Editor NEW

This project forked from locationtech/geomesa

0.0 1.0 0.0 45.72 MB

GeoMesa is a suite of tools for working with big geo-spatial data in a distributed fashion.

Home Page: https://www.locationtech.org/projects/technology.geomesa

License: Apache License 2.0

Shell 1.29% Scala 96.19% Java 2.43% Scheme 0.03% JavaScript 0.01% R 0.06%

geomesa's Introduction


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.
Join the chat at https://gitter.im/locationtech/geomesa

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

Versions and Downloads

Latest release: 1.2.6

Development version (source only): 1.3.0-SNAPSHOT

1.1.x release: geomesa-1.1.0-rc.7

NOTE: The current recommended version is 1.2.6. The most recent tar.gz assembly can be downloaded here which contains the Accumulo distributed runtime jar, Accumulo GeoServer plugin, and command line tools.

GeoMesa artifacts can be downloaded from the LocationTech Maven repository

Snapshots are available in the LocationTech Snapshots Repository

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.

Maven Integration

GeoMesa artifacts are published to the LocationTech Maven repository. To include GeoMesa in your project, add the following repositories to your pom:

<repositories>
  <repository>
    <id>locationtech-releases</id>
    <url>https://repo.locationtech.org/content/groups/releases</url>
    <snapshots>
      <enabled>false</enabled>
    </snapshots>
  </repository>
  <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>
  <repository>
    <id>boundlessgeo</id>
    <url>http://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>

Building from Source

Requirements:

Navigate to where you would like to download this project.

git clone [email protected]:locationtech/geomesa.git
cd geomesa

The project is managed by Maven. The version of Accumulo supported is controlled by the accumulo-1.5 property; to target Accumulo 1.5:

mvn clean install -Daccumulo-1.5

If the property is omitted, support for Accumulo 1.6 is assumed:

mvn clean install

The build/mvn script is a wrapper around Maven that builds the project using the Zinc incremental compiler:

build/mvn clean install -Daccumulo-1.5  # Accumulo 1.5
build/mvn clean install                 # Accumulo 1.6

From the root directory, the commands above will build JARs for each sub-project with its additional dependencies bundled.

Documentation

GeoMesa Project Structure

  • geomesa-accumulo: the implementations of the core Accumulo indexing structures, Accumulo iterators, and the GeoTools interfaces for exposing the functionality as a DataStore to both application developers and GeoServer. 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.
  • geomesa-blobstore: an Accumulo-based store designed to store and retrieve files which have spatio-temporal data associated with them.
  • geomesa-compute: 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.
  • geomesa-convert: a configurable and extensible library for converting data into SimpleFeatures.
  • geomesa-dist: packages the GeoMesa distributed runtimes, GeoMesa GeoServer plugins, and GeoMesa Tools.
  • geomesa-features: includes code for serializing SimpleFeatures and custom SimpleFeature implementations designed for GeoMesa.
  • geomesa-filter: a library for manipulating and working with GeoTools Filters.
  • geomesa-gs-plugin: packages plugins which provide WFS and WMS support for various DataStore types including accumulo, bigtable, kafka, and stream DataStores. These are packaged as zip files and can be deployed in GeoServer by extracting their contents into geoserver/WEB-INF/lib/
  • geomesa-hbase: an implementation of GeoMesa on Apache HBase and Google Cloud Bigtable.
  • geomesa-jobs: map/reduce and scalding jobs for maintaining GeoMesa.
  • geomesa-kafka: an implementation of GeoMesa in Kafka for maintaining near-real-time caches of streaming data.
  • geomesa-process: analytic processes optimized on GeoMesa data stores.
  • geomesa-raster: adds support for ingesting and working with geospatially-referenced raster data in GeoMesa.
  • geomesa-security: adds support for managing security and authorization levels for data stored in GeoMesa.
  • geomesa-stream: a GeoMesa library that provides tools to process streams of SimpleFeatures.
  • geomesa-tools: a set of command line tools for managing features, ingesting and exporting data, configuring tables, and explaining queries in GeoMesa.
  • geomesa-utils: 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.
  • geomesa-web: web services for accessing GeoMesa.
  • geomesa-z3: the implementation of Z3, GeoMesa's space-filling Z-order curve.

Scala console via scala-maven-plugin

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-accumulo-datastore

cd geomesa-accumulo
mvn -pl geomesa-accumulo-datastore scala:console

By default, all of the project packages in geomesa-accumulo-datastore are loaded along with JavaConversions, JavaConverters.

geomesa's People

Contributors

aheyne avatar andertadashi avatar andrewannex avatar anthonyccri avatar apc3n avatar asteinwedel avatar atallahhezbor avatar cfkelly avatar cne1x avatar ddseapy avatar dmcwhorter avatar elahrvivaz avatar hunter-ccri avatar jahhulbert-ccri avatar jakekurzer avatar jdk2pq avatar jnh5y avatar jwkessi avatar mbeebe81 avatar mdzimmerman avatar mm64z avatar mmatz-ccri avatar moradology avatar ronq avatar tbarsballe avatar therobn avatar tkunicki avatar vpipkt avatar willmorrison avatar wjp22903 avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.