如何从D3 svg转换为topojson/geojson?

如何从D3 svg转换为topojson/geojson?,svg,d3.js,geojson,topojson,Svg,D3.js,Geojson,Topojson,D3允许转换点坐标的geojson/topojson数组 [ [x,y],[x,y],[x,y],...] // aka, a geojson arc. 并通过投影到svg路径中 <path d="M x,y x,y x,y ..."></path> // aka, an svg-xml path //aka,一个svg xml路径 注意:这些值实际上是变化的。Topojson点通过投影([x,y])转换为svg路径的新值 因此,如果我们

D3允许转换点坐标的geojson/topojson数组

[ [x,y],[x,y],[x,y],...]    // aka, a geojson arc.
并通过投影到svg路径中

<path d="M x,y x,y x,y ..."></path>  // aka, an svg-xml path
//aka,一个svg xml路径
注意:这些值实际上是变化的。Topojson点通过投影([x,y])转换为svg路径的新值

因此,如果我们存储在svg中:

  • 投影名称

  • 相对于svg原点0,0(已存储在路径中)的点绝对坐标

  • 使用
    projection.invert()

  • 我们可以将xml svg转换回topojson/shp,包括手动添加的形状和层

    到目前为止,我还不知道有任何开源工具这样做

    问题变成了:我应该在svg中存储哪些最低要求,以便它保持转换回GIS格式的潜力?(我可能错过了一些要点)


    编辑:虽然知道这一点,但处理
    线串
    多边形
    多点
    多多边形
    的复杂性目前还不是问题。只需满足最低要求,就可以进行反向转换


    Edit2:由于svg和geojson的数据结构更为相似,因此转换回geojson可能会更容易。

    @StephenThomas:我知道,我刚刚开始讨论“需要什么才能使这些功能工作”。