Я пытаюсь нарисовать карту Нью-Йорка, используя d3. Я скачал кучу шейп-файлов из http://www.nyc.gov/html/dcp/html/bytes/dwndistricts.shtml. Я конвертировал их в geoJSON, используя http://converter.mygeodata.eu/,, так что они в WGS 84 (я думаю, широта и долгота).
Я почти уверен, что geoJSON действителен: я могу нарисовать его, используя matplotlib, и он выглядит как Нью-Йорк Сити, и числа, кажется, находятся в допустимом диапазоне. Вот мой JavaScript:
var path = d3.geo.path()
d3.select("body")
.append("svg")
.attr("height", 1000)
.attr("width", 1000)
.append("g")
.selectAll("path")
.data(data.features)
.enter()
.append("path")
.attr("d", path)
.style("stroke","black")
.style("stroke-width","1px")
На этой диаграмме, согласно рекламе, показан прогноз Альберса в Нью-Йорке. Проблема, я думаю, в том, что масштаб проекции выбран так, что США вписываются в красивую веб-страницу, делая пути для Нью-Йорка немного извилистыми в правой части экрана.
Каков «правильный» способ (давайте попробуем заявить, что первым сказал d3onic), чтобы масштабировать geo.path()
так, чтобы размеры моего широты / долготы масштабировались на ширину и высоту моего SVG?
(небольшой отказ от ответственности: извинения, если я пропустил что-то очевидное, это для проекта, который я пытаюсь завершить в крайних случаях)