SFCurve
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:
> compile
To test the code:
> test
To start a scala console which has the core sfcurve code in the classpath:
> console
To run the benchmarks, drop into the benchmark subproject using the project
command, and run:
> project benchmarks
benchmarks > 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.