Я пытаюсь спроецировать набор точек (кортежи [long, lat]) поверх SVG-карты моей родной страны - Австрии:
https://commons.wikimedia.org/wiki/File:Austria-geographic_map-blank.svg
Описание файла SVG на Викимедиа дает имя проекции и границы карты:
Конформно-коническая форма Ламберта, датум WGS84
Географические границы карты:Запад: 17,2 ° з.д.
восток: 9,3 ° з.д.
север: 49,2 ° с.ш.
юг: 46,0 ° с.ш.
Как бы я ни был наивен, я думал, что этой информации будет достаточно, чтобы создать правильную проекцию с помощью D3.
Это то, что я попробовал сначала:
let gcc = d3.geoConicConformal()
.fitSize([width, height], bbox)
Где bbox
- многоугольник GeoJSON, представляющий границы карты, как указано выше.
К сожалению, результат неверный:
Теперь, прочитав документы D3, я могу догадаться, что мне нужно указать больше параметров для проекции, например. две стандартные параллели. К сожалению, я понятия не имею, что это такое, и попытка различных значений вокруг западной и восточной границ карты не сработала. Я предполагаю, что они могут быть получены из того, что я знаю о карте, а может и нет?
Во-вторых, меня смущает то, что проекция не только неправильно повернута, но и неправильно масштабирована - я думал, что использование .fitSize
решит эту проблему.
Может ли кто-нибудь дать мне какие-либо указания по правильной настройке конической конформной проекции Ламберта?