d3.geo: путь против проекции
В настоящее время я пытаюсь узнать, как использовать API d3.js для геопространственного отображения, но у меня возникают проблемы с пониманием того, как работает каждая часть визуализации. В чем разница между траекторией и проекцией?
Мое нынешнее понимание состоит в том, что d3.geo.path
это координаты, которые я бы использовал, чтобы создать желаемую фигуру, и проекция больше соответствует линиям слоя, который я проецирую на мой объект SVG. Тем не менее, я не понимаю, что значит иметь проекцию по умолчанию (которая в случае d3.geo.path
является albersUSA
,
Продолжая этот вопрос, нужно ли мне свое json
файлы для d3.json
чтобы создать формы, которые я так желаю? Так что в случае карты США мне нужно найти все координаты онлайн и сохранить их в json
файл, прежде чем я смогу создать правильный path
объект?
Любая помощь приветствуется. Спасибо!
1 ответ
Проекция берет мировые координаты (например, что-то вроде 20 градусов на север, 5 градусов на юг) и преобразует их в координаты карты (например, 200 пикселей вправо, 10 пикселей вниз). Путь берет эти координаты карты и соединяет их так, что вы получаете линию (или серию линий). Проекция является функцией преобразования, тогда как путь заботится о реальном чертеже. Координаты задаются данными, которые вы передаете этим функциям.
На веб-сайте D3 есть примеры для рисования определенных "фигур", то есть стран или карт мира. Вы можете использовать JSON в этих примерах для своих собственных целей. Если вы хотите показать конкретные точки или фигуры, для которых вы не можете найти данные в другом месте, вам нужно будет предоставить свой собственный JSON.