8000 Home · willbpayne/relational_reprojection_platform Wiki · GitHub
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content
Will edited this page Jun 4, 2018 · 4 revisions

Better name ideas?

Steps:

  1. Choose a canvas size (default?)

  2. Choose a home point (where distances and bearings are calculated from)

  3. Choose a dataset (CSV? GeoJSON?), with an attribute that relates back to the home point somehow (i.e. is relational; refugee flows, investment, similarity, cost/time distance, etc. Raw attributes like population, wealth, etc. aren’t well-suited for this; just do a cartogram or choropleth map)

    1. Have user specify lat, long, and attribute columns in the data file, and home point row

    2. IF the home point has a 0 or NA value, don't include it in the isolines, but overlay it as a box at the end

  4. Zeroth cut:

    1. Plot X/Y coordinates of lat/long of each point on clunky-ass Web Mercator canvas (specified as bounding box of data plus a small margin)

    2. Have user click to advance to "relative spatialization"

  5. First cut: Calculate first cut of redone spatialization (with no correction for bounds or canvas utilization) from home point

    1. Have user click to advance to "recentered spatialization"
  6. Second cut: Check bounding box of data of first cut of spatialization within the canvas, and then rescale spatialization to fill canvas space

    1. Have user click to advance to "respaced spatialization"
  7. Third cut: Check readability/clustering of points in the second cut of spatialization, and then rescale to use space more effectively

  8. Plot points from the third cut, then display titles centered on each point; home point should be bolded

  9. Move titles if they overlap (with a buffer to allow for isoline drawing)

  10. Draw isoline(s) using existing D3 function?

  11. Set position for legend/title (could be outside of "canvas" space to avoid issues with placement over data) and draw them

  12. ???

  13. PROFIT

Things to consider:

  • How to style the isolines?

    • No style; just pattern of concentric lines like an elevation map?

    • Different line styles like in first draft (dotted, dashed, wavy, etc.)?

    • Different line weights?

  • Do something to **indicate Cartesian distance **from home point for each other point?

    • Scale bar? Too misleading

    • Morph in and out of geographic space? Very cool but in V1 might not be achievable, and without a basemap could be of limited utility

    • Hover over and display additional data, including Cartesian distance from origin?

    • Low-tech: just display distance or order of magnitude of distance in parentheses after point name: e.g. "Manhattan (10^3 miles)"

Inputs:

  • Places

    • *** HOME

      • Does this have to be dynamic? (Functionality for v2)
    • Lat/Long?

      • CSV list?

      • ** GeoJSON

      • shp/coverage/etc?

    • Place names from a gazeteer?

    • Point-click interface?

      • Give a title for each pt

      • And attribute? (below)

  • Attribute

    • Attached to places if in CSV, column selector?

    • If point-click interface, then need to add attribute # for each new place

    • Single numerical vector

  • Canvas

    • Default: set to X text size on YxZpx screen
  • Breaks

    • Default: 4 equal interval breaks

    • Iterate-able?

    • How to set cutoff for inclusion at all? Important for larger datasets where you only care about "significant" relationships (YES)

    • Pre-baked options for equal interval, quantile, ‘pretty breaks’ etc?

Outputs:

  • Pseudo-dist diagram w/i browser

  • Views?

    • Diagram vs "real space"

Code Components (D3 as base)

Clone this wiki locally
0