{ const svg = d3.create("svg")
.attr("viewBox", [0, 0, 975, 800])
const projection = d3.geoAlbers().scale(2800).translate([1000, 500])
const path = d3.geoPath(projection)
svg.append("g")
.attr("stroke", "lightgrey")
.attr('stroke-width', .2)
.selectAll("path")
.data(voronoi.features.filter(d => d.properties.site.properties.state_abbr === 'UT' ))
.join("path")
.attr("d", path)
.attr('fill', d => color(d.properties.site.properties.risk_area) )
.attr('fill-opacity', .3)
svg.append('g')
.selectAll('city')
.data(cities.filter(d => d.properties.state_abbr === 'UT'))
.join('path')
.attr('transform',d => `translate(${projection(d.geometry.coordinates)[0]},${projection(d.geometry.coordinates)[1]})`)
.attr('d', d => spike(heightScale(d.properties.population) ) )
.attr('fill', d => color(d.properties.risk_area) )
.attr('fill-opacity', .5)
.attr('stroke', d => color(d.properties.risk_area))
.attr('stroke-linejoin', 'round')
.attr('stroke-width', 1)
return svg.node()
}