Skip to content
Switch branches/tags

Latest commit


Git stats


Failed to load latest commit information.
Latest commit message
Commit time

What kind of data do you have?


  • How much data?
    • Just enough
    • Lots of points, and each point has data that you want to be able to explore. For instance, apartment listings which might number 10 per city block, but you want to be able to click on them and see photos and links.
    • 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
    • Tons of data, and you don't need labels? Use tippecanoe.


  • How much data?
    • Just enough
      • Convert the data to GeoJSON & make a simple Leaflet map
    • Too much, the polygons have necessary detail
    • Too much, the polygons have unnecessary details or many of the polygons have shared borders, like state or province maps


  • What kind of attributes?
    • 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
    • Temporal data - values over time
    • Multivariate data: like counts of different species or ethnicities
    • 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


  • Small amounts of data: use Leaflet
  • Lots of data, or need line labels (are they streets?)? Use Mapbox Studio
  • Tons of data, and you don't need line labels? Use datamaps.


  • Already georectified & cleaned (from satellites or fixed-up sources)
    • If you want to host it yourself
      • Render tiles with MapTiler, publish them on S3 or some other service, view them in Leaflet
    • If you want someone else to host & process
      • Upload to Mapbox and view in Mapbox GL JS or any client
    • Read processing satellite imagery to understand GDAL/ImageMagick workflow.
  • Raster images from drones
  • Raster images from scanned maps

A format that I can't read

  • Install GDAL and use ogr2ogr to convert the file. If you can't install this, you can use it online with Ogre
  • Commercial tools:
  • Ask your source for a better file format


  • I want raw data right from the source, up to the minute, in its original form? planet.osm
    • Drawbacks: downloads are very large and require specialized tools to process
  • I want raw data for subsets of the world: Geofabrik extracts or Mapzen metro extracts
    • Drawbacks: only includes predefined areas, not as up-to-date as Planet.osm
  • I want data useful for fast basemaps, already processed into vector tiles: Mapbox
    • Drawbacks: doesn't include all features or all tags on features, only those appropriate for visualization
  • I want raw data as tiles, which include more data and complete tags: OSM QA Tiles
    • Drawbacks: much larger & slower than tiles designed for visualization
  • I want a specific subset of data by area, filter, and want the newest data possible: Overpass
    • Drawbacks: can't return country-sized chunks of data, only smaller subsets
  • I want filtered, up-to-date extracts in extra formats like KMZ, Garmin Image, etc: HOT Export Tool
    • Drawbacks: can't do arbitrary regions

I don't have data yet

  • Government Data
    • Contact the town or federal GIS dept you need
    • Use to request data via FOIA
  • Personal Data
    • If you want to create data, use and draw it.
  • Global Data
  • Historical Data

Visualization defaults

  • Projection:
  • Colors:
  • Scales:
    • For any data
      • Try linear first
      • Then quantile
    • For data of rates or compounding values
      • 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

See also


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



No releases published


No packages published