масштабирование проекций d3.js

Я пытаюсь нарисовать карту Нью-Йорка с помощью 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?

(небольшой отказ от ответственности: извините, если я пропустил что-то очевидное, это для проекта, который я пытаюсь завершить в конце дня)

6
задан ZachB 3 May 2012 в 17:45
поделиться