javascript - 如何使用 SVG(而不是 JSON 数据)创建 D3 地理投影
问题描述
我正在尝试使用 D3 创建地图投影,使用自定义 SVG(内联或导入)而不是 JSON 数据。我的最终目标是能够采用在 illustrator 或其他程序中创建的地理 SVG 并以多种方式进行投影(墨卡托投影、各种正交地球仪视图等),并允许某种程度的交互、旋转和缩放。问题在于我可以收集到的所有 D3 示例,假设您从 JSON 数据开始,但我不是。
如果需要,我认为将自定义 SVG 转换为 JSON 是可以接受的,尽管我不知道有一种方法可以保持保真度并且不麻烦。
任何人都有如何完成这个 SVG 投影的基本大纲?如果有帮助,这里有几个最终结果可能出现的示例:
- http://bl.ocks.org/dwtkns/4686432
- https://observablehq.com/@d3/versor-dragging
- 具有投影和交互性的地球仪的非常好的示例:https ://www.jasondavies.com/maps/rotate/
仅供参考——我立即有兴趣将其转化为 D3 地理投影的 SVG 将是火星和金星以及各种太阳系卫星的定制 SVG。虽然我希望这个过程真正适用于投影任何 SVG。
我可以使用 JSON 数据来跟踪和修改我找到的示例,但我不够精通,无法弄清楚如何从 SVG 开始。任何帮助表示赞赏!
解决方案
推荐阅读
- spring-boot - 如何在 Spring Boot 上向 Netty 服务器提供自定义 SSLContext
- sql - 左外连接 SQL 到 LINQ 扩展方法
- javascript - IE 不加载 css 类 - 用 sass 编译(scss 文件)
- firebase - 在 android 设备中打开时,发布 apk 已立即关闭(Recat -native)
- matlab - 基本类型变量的处理程序
- sql - Oracle 分层路径作为单独的行
- php - 如何将GD中创建的图像添加到模板
- php - 代码 - UC SEG STATUS NOT ALLOWED 当我尝试使用创建乘客姓名记录 API 预订飞行航段时发生 Sabre 错误?
- database - 在 Oracle 模式上创建触发器以替换某些字符
- apache-spark - 如何在多个 RDD 上使用 groupByKey()?