Почему масштаб является функцией числа пи в проекции Меркатора D3?

В каждом примере карты D3, который я могу найти, параметр scale проекции Меркатора установлен равным width / 2 / Math.PI. Это уникально для проекции Меркатора? Что делает scale, что ему нужно полагаться на пи? Я хотел бы иметь более интуитивное понимание того, что здесь происходит, но документов довольно мало.

«Если указан масштаб, устанавливает коэффициент масштабирования проекции на указанное значение и возвращает проекцию. Если масштаб не указан, возвращает текущий коэффициент масштабирования, который по умолчанию равен 150. Коэффициент масштабирования линейно соответствует расстоянию между проецируемыми точками. коэффициенты масштабирования не совпадают в разных проекциях».


person jefflovejapan    schedule 11.02.2014    source источник
comment
Не уверен, какие примеры вы имеете в виду. Конечно, нет необходимости указывать его с точки зрения числа пи.   -  person Lars Kotthoff    schedule 11.02.2014
comment
Вот один из них: techslides.com/demos/d3/d3-worldmap-boilerplate.html.   -  person jefflovejapan    schedule 11.02.2014
comment
Этот вопрос показывает, как вписать данный объект в контейнер и не полагается на pi для вычисления масштаба.   -  person Lars Kotthoff    schedule 11.02.2014


Ответы (1)


проекционный код Меркатора использует много триггеров для преобразования между угловыми координатами широты/долготы и декартовыми координатами x/y. Я почти уверен, что width/2/Math.PI просто гарантирует, что весь земной шар поместится в width. (В коде ваш входной масштабный коэффициент умножается на число Пи.) Если вы не отображаете на карте весь земной шар, вам нужно будет самостоятельно определить подходящий масштабный коэффициент.

person AmeliaBR    schedule 11.02.2014