Я пытаюсь нарисовать карту Нью-Йорка с помощью 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?
(небольшой отказ от ответственности: извините, если я пропустил что-то очевидное, это для проекта, который я пытаюсь завершить в конце дня)