locationtech/sfcurve

Name: sfcurve

Owner: LocationTech

Description: LocationTech SFCurve is a Scala library for the creation, transformation, and querying of space-filling curves

Created: 2015-06-25 18:38:33.0

Updated: 2018-04-19 08:00:38.0

Pushed: 2018-03-06 16:20:03.0

Homepage: https://www.locationtech.org/projects/technology.sfcurve

Size: 92

Language: Scala

GitHub Committers

UserMost Recent Commit# Commits

Other Committers

UserEmailMost Recent Commit# Commits

README

SFCurve

Join the chat at https://gitter.im/locationtech/sfcurve

sfcurve-space-diagram

What is SFCurve?

This library represents a collaborative attempt to create a solid, robust and modular library for dealing with space filling curves on the JVM.

To read up on the collaborative effort to define the interface, and to participate in the discussion, see Issue #3.

Where can I learn more about the project?

A more detailed account of the origin and intention can be found in the proposal of the SFCurve project submitted to LocationTech. You can also find more information by contacting any of the current collaborators, or by asking about it on the GeoTrellis, GeoMesa, or GeoWave mailing lists.

Can I use SFCurve now?

This library is a complete work in progress, and is NOT recommended for current use. In the future, though, we hope to be the definitive library for working with space filling curves on the JVM. If you have ideas on how to get us there, please participate!

Working with SFCurve

The build tool used in this project is sbt. A script is included that will download the necessary sbt software, so you do not need sbt installed on the machine to work with this project.

To drop into the sbt console, where you can execute various commands, simply type

sbt

in your shell.

In the below examples >, bechmarks > etc. represents the sbt console prompt.

Once in the sbt console, to compile the code, issue the command:

mpile

To test the code:

st

To start a scala console which has the core sfcurve code in the classpath:

nsole

To run the benchmarks, drop into the benchmark subproject using the project command, and run:

oject benchmarks
hmarks > run
Publishing snapshot binaries

If you run the publish-local sbt command, the subproject artifacts will be published to the local ivy2 cache.

If you run the publish sbt command, the subproject artifacts will be published to the local maven2 repository.

This will publish artifacts for the latest scala version. If you want other scala versions, you can add a + in front of the command to do cross-version commands. So +publish-local will publish scala 2.10 and 2.11 artifacts to the local ivy2 cache.

Showing the dependency graph

Run dependencyGraph in the subproject sbt console.


This work is supported by the National Institutes of Health's National Center for Advancing Translational Sciences, Grant Number U24TR002306. This work is solely the responsibility of the creators and does not necessarily represent the official views of the National Institutes of Health.