在d3.js中从MultiPoints Topojson创建弧

时间:2014-02-17 21:26:52

标签: map d3.js geojson topojson

我是d3的新手并且遇到以下问题:我想显示各种船只的位置和路径。数据采用topojson格式:每艘船都有一个lat / lon形式的仓位数组。我想用弧线连接这些位置。

这是我的代码显示船只在他们的最后位置,这很好(见图)。为了获得路径,我有一个嵌套的for循环,这可能不是最好的选择,虽然我能打印出正确的纬度/经度。我不知道如何从那里开始绘制连接这些位置的圆弧。

任何帮助表示赞赏!

d3.json("ships/container-topo.json", function(error, collection) {

//latest position as point (works)
ships.append("path")
     .datum(topojson.feature(collection, collection.objects.collection))
     .attr("class", "points")
     .style("fill", "black")
     .style( "opacity", ".9" )
     .attr("d", path)

    features = collection.objects.collection.geometries

    for (var k = 0; k < features.length; k++){
        for (var i = 0; i < features[i].coordinates.length0; i++){
            cx = features[k].coordinates[i][0];
                    cy = features[k].coordinates[i][1];
                    var p_coords = projection( [cx, cy] );
                    console.log( cx );
                            //WHAT TO DO HERE?

                }
    }

});

数据采用以下格式

{
"type": "Topology",
"objects": {
    "collection": {
        "type": "GeometryCollection",
        "geometries": [{
            "type": "MultiPoint",
            "coordinates": [

            ]

0 个答案:

没有答案