-
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?
- Cluster your points with Leaflet.markercluster
- 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.
- Tons of data, and you don't need labels? Use datamaps.
- Just enough
- How much data?
- Polygons
- How much data?
- 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
- Make a dot density map with englewood
- Absolute numbers
- Lines
- Raster
- Render a map with TileMill and use the tiles in Leaflet
- Read processing satellite imagery to understand GDAL/ImageMagick workflow.
- 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
- ISO2 or ISO3 codes
- Without IDs
- Find data with IDs, or manually join with polygons
- With IDs:
- Addresses
- You can't map addresses directly. Geocode them with OpenRefine or Geo for Google Docs, and then start at Points
- Other Geocoding options:
- 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.
- Points
-
Visualization defaults
- Projection:
- If it's a web map with tiles, use Spherical Mercator
- If using d3 and not using tiles anywhere, use whatever fits best. Bonus projections are in d3-geo-projection.
- Have a project and not sure what it is? Use epsg.io.
- Colors:
- When in doubt, use ColorBrewer
- Want to know more? Read Subtleties of Color
- Scales:
- For any data
- Try linear first
- Then quantile
- For data of rates or compounding values
- Try log and power scales
- For any data
- 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
- Projection: