Как перевести и обернуть 2D-проекцию карты мира d3.js

У нас есть проект, в котором мы хотели бы отобразить векторную карту, но сместить центр от меридиана, чтобы Азия была более центральной.

Я могу использовать d3.geo.equirectangular().center([-155.0, 0]) для перевода карты, но (очевидно) нет переноса, поэтому мы теряем все к востоку от Скандинавии.

Есть ли способ сделать карту «обернутой» в 2D-проекции без рендеринга 2 карт.

В идеале я бы не хотел использовать тайлинг карты и т. д., потому что наши требования довольно просты: нам нужна базовая карта целиком и 1 или 2 уровня масштабирования со слоями, которые могут быть динамическими.


person skila    schedule 05.02.2014    source источник
comment
Этот вопрос может помочь.   -  person Lars Kotthoff    schedule 05.02.2014


Ответы (1)


большое спасибо @LarsKotthoff, я нашел решение в этих ответах:

d3.geo.equirectangular().rotate([-155,0])
person skila    schedule 06.02.2014
comment
Вот соответствующие документы D3 версии 4 — стоит упомянуть это массив из 3 значений [ yaw, pitch, roll ], но вы можете пропустить третье значение, как это, и по умолчанию оно будет равно 0. Это в основном то же самое в D3 v4, за исключением того, что это будет что-то вроде d3.geoEquirectangular().rotate([-155,-0]) без .geo - person user56reinstatemonica8; 05.04.2017