我是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": [
]