GithubHelp home page GithubHelp logo

imclab / mapmakers-cheatsheet Goto Github PK

View Code? Open in Web Editor NEW

This project forked from tmcw/mapmakers-cheatsheet

0.0 2.0 0.0 127 KB

popular tourist locations on the wild and exciting quest to make web maps in fewer tries

mapmakers-cheatsheet's Introduction

  • What kind of data do you have?

    • Points
      • How much data?
        • Just enough
          • Convert the data to GeoJSON & make a simple Leaflet map
        • Too much in a confusing way, but each point's data is important?
        • Too much and the points have some value that can be aggregated
          • Create hexbins of your points with the QGIS hexbin plugin, to make polygons. Start again at Polygons
        • Too much and the points just represent presence - like tweets
          • Create a heatmap with Leaflet.heat or QGIS heatmap plugin. If you use QGIS heatmap, start again at Raster.
    • Polygons
      • How much data?
        • Just enough
          • Convert the data to GeoJSON & make a simple Leaflet map
        • Too much, the polygons have necessary detail
          • Use TileMill to render an interactive map with UTFGrid
        • Too much, the polygons have unnecessary details
      • What kind of attributes do they have?
        • Absolute numbers
          • Convert the points to centroids with QGIS and start from Points
          • Normalize absolutes to rates by dividing over polygon area, and start from Rates
        • Rates or Categories
          • Make a choropleth map with Leaflet for small data, TileMill for big data
        • Temporal data - values over time
          • If there are fewer than 100 samples - like 50 years of data grouped by year, make small multiples: a map per sample.
          • If you can code, make an animation with Leaflet or d3
          • If it's tons of data, use CartoDB and torque
        • Multivariate data: like counts of different species or ethnicities
    • Raster
      • Render a map with TileMill and use the tiles in Leaflet
    • Names of places, like countries
      • With IDs:
        • ISO2 or ISO3 codes
          • Download Natural Earth data at the right level, join with QGIS, and start again at Polygons
        • ZIP codes
          • Download ZCTAs and join
      • Without IDs
        • Find data with IDs, or manually join with polygons
    • Addresses
    • A format that I can't read
      • Install GDAL and use ogr2ogr to convert the file
      • Ask your source for a better file format
    • I don't have data yet
      • Contact the town or federal GIS dept you need
      • Use FOIAMachine.org to request data via FOIA
      • If you want to create data, use geojson.io and draw it.
  • Visualization defaults

    • Projection:
      • If it's a web map with tiles, use Mercator
      • If using d3 and not using tiles anywhere, use whatever fits best
    • Colors:
    • Scales:
      • For any data
        • Try linear first
        • Then quantile
      • For data of rates or compounding
        • Try log and power scales
    • Points:
      • Start with normal circles with no strokes
      • Scale points by area, not diameter
    • Flair:
      • Only add a north arrow if north isn't up
      • Always attribute your data, especially OpenStreetMap, to avoid the nerd wrath
      • If it zooms, add visible zoom controls. Pan isn't necessary, but not everyone has a scroll wheel / multitouch

mapmakers-cheatsheet's People

Contributors

tmcw avatar

Watchers

 avatar  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.