You drop. We chop.
Drop 'n Chop (DNC) is a browser-based GIS powered by Mapbox.js and Turf.js. DNC is currently a proof-of-concept and explores three hypotheses:
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 anything, so why allow the user to go through the process of setting up a union?
By using HTML5 FileReaders and some special JavaScript 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.
More often than not, people move from proprietary software to open source software 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. Here's to our contributors!
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 grunt 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 with
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.