Git Product home page Git Product logo

dropchop's Introduction

You drop. We chop.

Build Status Codeship Status

Dropchop is a browser-based GIS powered by Mapbox.js and Turf.js. The need for small-scale GIS operations comes up quite frequently in our work, especially for those without much time. Dropchop aims to empower your spatial data by removing complexity. This project is currently a proof-of-concept and explores three hypotheses:

  1. GIS can be data-first, not operation-first.
  2. GIS doesn't always require a server.
  3. GIS is open.

buffer > buffer > union

User's Manual

Adding Data

Dropchop provides several ways to add data. Outlined below are examples of these methods.

Upload

You can upload your own files via click-and-drag or selecting files on your computer using the system dialogue. File types allowed are .json (assuming valid TopoJSON or GeoJSON), .geojson, .topojson, Shapefiles in .zip format.

Select the green ➕ button and choose upload from your computer.

GeoJSON

URL

External URL's that are valid geometry can be uploaded in a similar fashion to Gists. Use the tool option in dropchop or include in your URL parameters (e.g. http://dropchop.io/?url=http://earthquake.usgs.gov/earthquakes/feed/v1.0/summary/4.5_day.geojson).

Select the green ➕ button and choose import from a url.

url

Gist

To turn data from a Gist into dropchop layers, you can upload via the tool option or include the Gist ID in the URL (e.g. http://dropchop.io/?gist=09129c20ec020b83bf85). Gist is a great way to store you data and save it for later.

Select the green ➕ button and choose import files from gist.

gist

Open Street Map

Dropchop allows you to import OpenStreetMap data via the Overpass API query language. Selecting this option queries the OSM planet database and will add successful responses as layers to your project. More infomation on the Overpass API can be found on the wiki. Note: this feature is still a prototype, and doesn't work fully as expected. See issue 189 for a reference.

Select the green ➕ button and choose query the overpass api.

osm

ArcGIS Server Feature Service

Data from ArcGIS Server or ArcGIS Online Feature Layers can be added directly to Dropchop.

Select the green ➕ button and choose query an arcgis feature service.

arcgis

Parameters
  1. Feature Service - is the URL for an ArcGIS Server or ArcGIS Online Feature Layer REST endpoint. Only layers of type Feature Layer are supported.
  2. Where - is a legal SQL query where clause used to filter the feature service. To retrieve all features, use 1=1.
  3. Request Type - can be Cross-Origin Resource Sharing (CORS) or JSONP. CORS requires both the client and server to support Cross-Origin Requests. If you receive Cross Origin Request Blocked errors, try switching to JSONP. Click here to learn more about CORS.
  4. Limit To Map - will query for features only within the current map view extent.
Limitations
  • Query results to Feature Service REST endpoints may be limited by the server. The default limit is 1,000 features.
  • Although uncommon is it possible that some Feature Service endpoints are not queryable. This is set by the server administrator.
How to Find Feature Services

Many organizations and local, state and federal governments use ArcGIS Server software to host web maps. Use the Network tab of your browser's developer tools to discover URLs of web map layers. Often you can browse the entire directory of an ArcGIS Server host at the arcgis/rest/services root URL. See example.

You may also find over 30,000 Open Data datasets is opendata.arcgis.com.

You might also explore the sources of the OpenAddresses project. Many of the address sources point to ArcGIS Server feature services. See example.

User Location

This function allows you to add your location to Dropchop. You will need to select yes to allow Dropchop to use your location if prompted.

Select the green ➕ button and choose add your location as a layer.

user location

Exporting Data

GeoJSON

TopoJSON

Shapefile

Keyboard Shortcuts

Dropchop is built with a limited set of keyboard shortcuts:

Keystroke Action
cmd + a, ctrl + a Select All
cmd + backspace, ctrl + backspace Deselect All
cmd + +, ctrl + + Check All Selected Layers
cmd + -, ctrl + - Uncheck All Selected Layers
ctrl + shift + k Delete Selected Layers

Who?

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

Contribute!

Information on contributing to Dropchop (including project installation instructions) can be found in the CONTRIBUTING.md file. Dropchop is now officially in 0.1, which means progress is stable and contributions are welcomed with open arms. For starters, take a look at how we are using "triggers" to execute commands across the code base.

If you're interested in any of the above, please help out! Submit ideas as issues, work on bugs, add new features. Here's to our contributors!

Things are moving very quickly with the project 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. 04/11/2015, 05/10/2015.

License

MIT

dropchop's People

Contributors

mapsam avatar alukach avatar ranchodeluxe avatar jczaplew avatar jonahadkins avatar aaronr avatar lyzidiamond avatar thedeb avatar ungoldman avatar nickpeihl avatar eldang avatar bricker0 avatar tsamaya avatar flott avatar hamhands avatar

Stargazers

 avatar

Watchers

 avatar

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.