You drop. We chop.
Drop 'n Chop (DNC) is a browser-based GIS powered by Leaflet.js and Turf.js. DNC is currently a proof of concept and explores three hypothesis:
GIS software is complex. And rightly so! The vast number of spatial operations and analyses make for an incredibly steep point of entry for a user. Without having a single shapefile prepared there are multitudes of buttons and operations available to you. Operations come first. Data is secondary.
Your data should dictate what operations are available. DNC aims to only show what's possible with the data that you've loaded. If you upload a single polygon you can add a buffer to it. But you can't union it to nothing, so why allow the user to go through the process of setting up a union?
By using HTML5 FileReaders and some special Javascripts for processing file types, we are able to read file binaries in the browser. This allows us to bypass a server and load GeoJSON files straight into our map. With this and the advancements of Turf we can run spatial operations and download them in a light-weight manner.
It's important to recognize that a huge amount of data will probably require a server. But we are talking small things here right now.
Too often do we hear of people moving from proprietary software to open source software only because they "can't afford it any longer" or "their student license ran out." You shouldn't have to be able to afford giant, bulky software to do simple things with your data. DNC is a project made by folks who have mumbled the above more times than Arc a GIS crashing in the middle of a project.
All of this work is made possible by CUGOS, an open-source geo community based in Seattle.
- Install Grunt. Working on Drop-n-Chop requires a few tools. We are using Grunt for our task running and build process. You can install the Grunt CLI with
npm
:npm install -g grunt-cli
- Clone the repository. Once that has been installed successfully, you can clone the repository or your own fork and
cd
into the directory.git clone [email protected]:YOUR-GITHUB-USERNAME/drop-n-chop.git
andcd drop-n-chop
- Install dependencies by running
npm install
- Build & serve the application with
grunt
. This will create a watcher as well that will lint your JS in the/src
directory. You can access the application atlocalhost:8000
. Note: If you'd like to build the minified version of the codebase (as is used in production), usegrunt prod
. - Deploy the application to Github Pages via
grunt deploy
. The site should become available at https://YOUR-GITHUB-USERNAME.github.io/drop-n-chop.
NOTE: Things are moving very quickly with DNC right now. We are still continuing to build out and refactor the architecture of the application. If you want to read more about our decision-making process take a look at some of our meeting notes in the wiki.
Once you drop the chop don't stop.