使用D3.js制作自定义的虚构地图

时间:2015-02-12 20:31:44

标签: svg d3.js geojson topojson kartograph

我正在围绕一个侧面项目的想法,正在寻找关于技术方面的建议。我已经做过一些研究,但是对于现实的选择仍然相当困惑。

我想制作一个基于虚构世界的互动地图(想想中土世界),包括时间线过滤器和详细信息部分,以获取有关事件或位置的其他信息。

所需功能:

  • 左侧的地图
  • 右侧的详细信息窗格
  • 时间轴滑块/底部过滤器
  • 领土
    • 政治派别的颜色
    • 在详细信息窗格中显示详细信息
    • 标签
  • 城市标签

栏:

  1. 获取干净的地图图像以使用
  2. 将图像映射为中间格式(svg,geojson,topojson?)
  3. 在网页,样式地图,添加动画等上显示地图
  4. 技术

    • SVG
      • 我很确定我可以使用事件和边界在SVG中编写所有这些代码。我已经能够使用GIMP从图像创建SVG路径,因此将地图转换为SVG文件似乎是合理的。
      • 这样做的问题是,当这种事情似乎有很多框架时,我最终会以艰难的方式完成所有的工作。
    • Kartograph
      • La Bella Italia是一个很好的例子,可以作为一个很好的起点。我喜欢贸易路线动画和边框造型与发光滤镜。
      • 这里的奖励是我知道我可以制作一张svg地图,这就是启动和运行所需的全部内容。
      • 我的问题是,看起来Kartograph并不像D3.js那样富有平台。我不确定我是否可以使用kartograph事件双重延伸和链接一些D3的东西。如果可以,那可能就是解决方案。
    • D3.js
      • sliders, animations(悬停和选择),topojson看起来很完美。但我在这里的主要问题是将我的图像转换为GeoJson格式。据我所知,这些格式严格用于真实世界地图,使用经度/纬度。

    所以你有它!我希望有一些关于如何将我的地图图像转换为topojson的好消息,这样我就可以享受D3.js带来的好处了。如果没有,我想我可以尝试使用kartograph并用D3控件连接事件。

    思想?

1 个答案:

答案 0 :(得分:1)

我目前正在撰写我的硕士论文,我和你现在拥有的话题相同。我打电话给我的项目Arda Maps。如果有技术问题,请随时问我。

我在我的项目中使用以下框架/工具:

  • QGIS
  • JQuery的
  • D3.js
  • 以GeoJSON / TopoJSON
  • TimeGlider