首页 > 解决方案 > 如何使用 SVG(而不是 JSON 数据)创建 D3 地理投影

问题描述

我正在尝试使用 D3 创建地图投影,使用自定义 SVG(内联或导入)而不是 JSON 数据。我的最终目标是能够采用在 illustrator 或其他程序中创建的地理 SVG 并以多种方式进行投影(墨卡托投影、各种正交​​地球仪视图等),并允许某种程度的交互、旋转和缩放。问题在于我可以收集到的所有 D3 示例,假设您从 JSON 数据开始,但我不是。

如果需要,我认为将自定义 SVG 转换为 JSON 是可以接受的,尽管我不知道有一种方法可以保持保真度并且不麻烦。

任何人都有如何完成这个 SVG 投影的基本大纲?如果有帮助,这里有几个最终结果可能出现的示例:

仅供参考——我立即有兴趣将其转化为 D3 地理投影的 SVG 将是火星和金星以及各种太阳系卫星的定制 SVG。虽然我希望这个过程真正适用于投影任何 SVG。

我可以使用 JSON 数据来跟踪和修改我找到的示例,但我不够精通,无法弄清楚如何从 SVG 开始。任何帮助表示赞赏!

标签: javascriptsvgd3.jsgeo

解决方案


推荐阅读