biggis-project / biggis-landuse

Land use update detection
http://biggis-project.eu/biggis-docs/demos/landuse/
11 stars 3 forks source link
classification detection geotrellis kafka pixelization raster-tiles spark stream-processing

biggis-landuse

Land use update detection based on Geotrellis and Spark

Quick and dirty usage example

# first, we compile everything and produce a fat jar
# which contains all the dependences
mvn package

# now we can run the example app
java -cp target/biggis-landuse-0.0.8-SNAPSHOT.jar \
  biggis.landuse.spark.examples.GeotiffToPyramid \
  /path/to/raster.tif \
  new_layer_name \
  /path/to/catalog-dir

GettingStarted Example

Code for this example is located inside src/main/scala/biggis.landuse.spark.examples/GettingStarted.scala

# based on https://github.com/geotrellis/geotrellis-landsat-tutorial
# download examples from geotrellis-landsat-tutorial
# to data/geotrellis-landsat-tutorial
wget http://landsat-pds.s3.amazonaws.com/L8/107/035/LC81070352015218LGN00/LC81070352015218LGN00_B3.TIF
wget http://landsat-pds.s3.amazonaws.com/L8/107/035/LC81070352015218LGN00/LC81070352015218LGN00_B4.TIF
wget http://landsat-pds.s3.amazonaws.com/L8/107/035/LC81070352015218LGN00/LC81070352015218LGN00_B5.TIF
wget http://landsat-pds.s3.amazonaws.com/L8/107/035/LC81070352015218LGN00/LC81070352015218LGN00_BQA.TIF
wget http://landsat-pds.s3.amazonaws.com/L8/107/035/LC81070352015218LGN00/LC81070352015218LGN00_MTL.txt

Using an IDE

We strongly recommend using an IDE for Scala development, in particular IntelliJ IDEA which has a better support for Scala than Eclipse

For IDE Builds please select Maven Profile IDE before running to avoid using scope provided (necessary for cluster builds)

Since Geotrellis uses Apache Spark for processing, we need to set the spark.master property first.

Geotrellis always work with a "catalog" which is basically a directory either in local filesystem or in HDFS. You might want to use target/geotrellis-catalog during development. This way, the catalog will be deleted when running mvn clean and won't be included into git repository.