[I’m new to d3 and ObservableHQ. Posting this just to share in case someone has the same task]
REMAINING QUESTION: Is there an easier way to get the scale and translate parameters from the map or pre-set topoJSON? Or, do we just need to know that
GOAL: I wanted to take the spike map from mbostock and overlay some extra points, where I just have the Longitude and Latitude.
INTERMEDIATE STEP: I needed a way to covert the [long,lat] coordinates to the x,y coordinates in the USA map. I just didn’t know the right command.
This didn’t work:
projection = d3.geoAlbersUsa() // cities are off a few inches
This does work:
projection = d3.geoAlbersUsa().scale(1300).translate([487.5, 305]) which is well documented here: U.S. Map / D3 / Observable and here: GitHub - topojson/us-atlas: Pre-built TopoJSON from the U.S. Census Bureau.
See the Code:
Time spent: About 1.5hrs of happy learning and reading the d3-geo docs.