Giter Site home page Giter Site logo

drop-n-chop's Introduction

Build Status

Drop 'n Chop

You drop. We chop.

Drop n' Chop Logo

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:

1. GIS can be data-first, not operation-first.

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?

2. GIS doesn't require a server.

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.

3. GIS is open.

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!

buffer union sf east!

Who?

All of this work is made possible by CUGOS, an open-source geo community based in Seattle.

Contribute!

  1. 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
  2. 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 and cd drop-n-chop
  3. Install dependencies by running npm install
  4. 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 at localhost:8000. Note: If you'd like to build the minified version of the codebase (as is used in production), use grunt prod.
  5. 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.

drop-n-chop's People

Contributors

mapsam avatar alukach avatar ranchodeluxe avatar aaronr avatar lyzidiamond avatar hamhands avatar

Watchers

James Cloos avatar

Forkers

alexuw

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.