GithubHelp home page GithubHelp logo

muraenok / geotrellis Goto Github PK

View Code? Open in Web Editor NEW

This project forked from locationtech/geotrellis

0.0 2.0 0.0 33.14 MB

GeoTrellis is a geographic data processing engine for high performance applications.

Home Page: http://www.azavea.com/geotrellis/

License: Other

geotrellis's Introduction

GeoTrellis

GeoTrellis is a high performance geoprocessing engine and programming toolkit. The goal of the project is to transform user interaction with geospatial data by bringing the power of geospatial analysis to real time, interactive web applications.

Please visit our documentation page for more information. For getting started with using GeoTrellis, see our getting started guide.

GeoTrellis was designed to solve three core problems, with a focus on raster processing:

  • Creating scalable, high performance geoprocessing web services
  • Creating distributed geoprocessing services that can act on large data sets
  • Parallelizing geoprocessing operations to take full advantage of multi-core architecture

Please contact us if you have any questions, find us on irc at #geotrellis on freenode, or join the user mailing list at https://groups.google.com/group/geotrellis-user. More information is also available on the GeoTrellis website.

The current release version of GeoTrellis is 0.8.0 (Atlantis).

Build Status

Features

  • GeoTrellis is designed to help a developer create simple, standard REST services that return the results of geoprocessing models.
  • Like an RDBS that can optimize queries, GeoTrellis will automatically parallelize and optimize your geoprocessing models where possible.
  • In the spirit of the object-functional style of Scala, it is easy to both create new operations and compose new operations with existing operations.

SBT

scalaVersion := "2.10.0"

libraryDependencies += "com.azavea.geotrellis" %% "geotrellis" % "0.8.0"

Some sample GeoTrellis code

  // Import some libraries and operations we'll use
  import geotrellis._
  import geotrellis.raster.op._

  // Set up the rasters and weights we'll use
  val raster1 = io.LoadRaster("foo")
  val raster2 = io.LoadRaster("bar")
  val weight1 = 5
  val weight2 = 2

  val total = weight1 + weight2

  // Create a new operation that multiplies each cell of
  // each raster by a weight, and then add those two new
  // rasters together.
  val op = local.Add(local.MultiplyConstant(raster1, weight1),
                     local.MultiplyConstant(raster2, weight2))

  // Create a new operation that takes the result of the
  // previous operation and divides each cell by the total
  // weight, creating a weighted overlay of our two rasters.
  val wo1 = local.DivideConstant(op, total)

  // We can use a simpler syntax if we want.  Note that this
  // is still just creating an operation.
  import geotrellis.Implicits._
  val wo2 = (raster1 * weight1 + raster2 * weight2) / total

  // To this point, we've only been composing new operations.
  // Now, we will run them.
  import geotrellis.process.Server
  val server = Server("example")
  val result1 = server.run(wo1)
  val result2 = server.run(wo2)

API Reference

Scaladocs

You can find Scaladocs for the latest version of the project here:

http://geotrellis.github.com/scaladocs/latest/#geotrellis.package

Contributors

  • Josh Marcus
  • Erik Osheim
  • Rob Emanuele
  • Adam Hinz
  • Michael Tedeschi
  • Robert Cheetham
  • Justin Walgran

geotrellis's People

Contributors

joshmarcus avatar lossyrob avatar non avatar ahinz avatar jwalgran avatar

Watchers

James Cloos avatar Arum Kone 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.