С v3 d3.js у меня возникают проблемы с рисованием карты с использованием данных geoJSON. Код и полученная карта показаны по адресу: http://bl.ocks.org/73833ec90a8a77b0e29f. Используя v2 из d3.js, этот пример генерирует правильную карту.
- Мои данные уже спроектированы (это координаты Голландской национальной сети / Рейксдрихэкстелсель). Чтобы компенсировать это, я написал свою собственную функцию проекции, которая просто переводит систему координат карты в пиксели (например, масштабирование и перевод).
- d3.geo.path () в v3 d3.js выполняет повторную выборку данных. Однако точки, сгенерированные при повторной выборке, похоже, не находятся в той же системе координат, что и моя карта (я предполагаю, что это координаты lon, lat).
Я бы предпочел не переводить координаты моей карты в координаты долготы, широты, поскольку карта уже спроецирована так, как я хотел бы, и, насколько я могу судить, это нетривиальная проекция.
Если проблемы действительно вызваны повторной выборкой, я бы хотел отключить повторную выборку. Однако в документации я не нашел толком, как это сделать. Вместо передачи функции проекции в d3.geo.path.projection () я мог бы передать объект потоковой передачи. Я думал, что сработает следующее:
var projection = d3.geo.projection(function(x, y) {
return [ scale*(x-xmin), height-scale*(y-ymin) ];
}).precision(0);
но это не так. Вероятно, также связано с тем, что у меня нет координат широты и долготы. Как отключить повторную выборку с помощью настраиваемой функции проекции?
Или когда что-то еще вызывает проблемы, я бы хотел это услышать.
Спасибо.