GeoTrellis 1.0 Release
GeoTrellis, a geographic data processing engine for high performance applications, is a Scala library and framework that uses Spark to work with raster data. GeoTrellis 1.0 was recently released under LocationTech, marking a major achievement for the community that has helped to build the project.
A 1.0 release is a significant milestone for an Open Source Project. It’s an indicator of maturity and reliability. GeoTrellis became an Open Source Project in 2011 with the goal of helping people process raster data at scale. We moved to Apache Spark for supporting distributed processing with version 0.10.0 in April of this year. We have come a long way.
This post will explain the motivation to release under LocationTech and what the decision means for GeoTrellis users and contributors.
LocationTech is a working group hosted by the Eclipse foundation with a charter to foster community around commercial-friendly, open source, advanced geospatial technology. GeoTrellis joined LocationTech in 2013. Here are some of the reasons why:
- Community and collaboration with an impressive group of similar open source projects
- Access to legal support to ensure clarity for questions related to intellectual property
- Commitment to a level of quality people can expect from graduated LocationTech projects
- Contribution to governance of the Open Source Big Data Geospatial community
- Expansion of the GeoTrellis community beyond Azavea
GeoTrellis developers have already benefited from collaboration with other LocationTechn projects since joining in 2013. An example of this is when developers from GeoMesa and GeoTrellis worked together to create the SFCurve library. It’s a solution to the common problem of creating Z-order curve indices based on spatial or spatiotemporal properties of data. Additionally, members from GeoTrellis have participated and presented at the annual LocationTech tour, which has become a global event promoting open source geospatial software.
Impact on Users
There will a number of new features and few inconveniences that come with 1.0. This major release marks our official graduation but only includes minor API breaks with respect to 0.10.3. The release from .09 to 0.10 had many large architectural changes stemming from the transition to Apache Spark which required significant API changes. This is not the case for 1.0. You will need to upgrade your project and change the organization to “org.locationtech” as shown below:
libraryDependencies += "org.locationtech.geotrellis" %% "geotrellis-raster" % "1.0.0"
GeoTrellis will still be available on Maven Central via sonatype’s nexus repository in addition to repo.locationtech.org. The last release 0.10.3 was only available on sonatype’s nexus repository.
Major New Features
- Streaming GeoTiff support
- Windowed GeoTiff reading on S3 and Hadoop
- Improved ETL capabilities
- HBase and Cassandra backends support
- Collections API that allows users to avoid Spark in ideal cases
- Experimental support for Vector Tiles, GeoWave integration, and GeoMesa integration
- Documentation moved to ReadTheDocs. This greatly improves usability, readability, and searchability
The GeoTrellis team decided that the many benefits to joining LocationTech outweigh any downsides. However, in the name of transparency, it’s important to discuss the possible downsides we considered:
- Give GeoTrellis trademark to Eclipse
- Ceding some control. There are pros and cons to creating a larger decision-making body for a project. We think the increased number of perspectives will outweigh the possibility of slower decision-making time
- One-time requirements to officially graduate involved:
- Submitting codebase and dependencies to ensure appropriate licensing
- Setup builds that publish to LocationTech infrastructure
- Create release review so Project Management Committee can do final review of release
- Graduation review to make sure project is up to standards
We are excited about the move and the significance of the achievement. GeoTrellis has grown it’s community and user base over the years. GeoTrellis has been the collective work of more than 50 people and 6,500 commits.
A 1.0 release marks the effort of this community and the maturation of GeoTrellis. Moving forward will see a regular release schedule.
Connect with us
We appreciate hearing about the projects that GeoTrellis supports – please get in touch via Twitter, our mailing list, our Gitter channel, or email to share what you are working on.
GitHub – Issues, codebase, documentation, everything you need
Our mailing list – Stay informed about releases, bug bashes, and GeoTrellis updates
Gitter – Scala is hard. We can help. Come ask questions about your GeoTrellis project
Twitter – We send team members to conferences, workshops, and share Big Data Open Source Geo project news
Email – Have questions about a project idea that could benefit from processing rasters at a scale? Reach out to us via email – we’d love to hear from you!