d3 でオンライン マッピングを実行しようとしていますが、2 点間に線をプロットしようとすると問題が発生します。
2 つのポリゴン (ソースとターゲット) の重心を計算しました
コード内:
var projection = d3.geo.mercator()
.scale(width)
.translate([0, 0]);
var path = d3.geo.path()
.projection(projection);
JS コンソールから:
> path({type: "LineString",
coordinates: [path.centroid(source_country), path.centroid(target_country)]});
"M277.05056877663407,121.67976219138909L-694.1792414247936,NaN"
それでも、セントロイドの計算はうまく機能しているようです (これらのポイントをプロットすると、マップ上に表示されます)。
> [path.centroid(source_country), path.centroid(target_country)]
[
Array[2]
0: 103.89396329123777
1: -41.453727169465765
length: 2
__proto__: Array[0]
,
Array[2]
0: -260.3172155342976
1: -245.57309459883245
length: 2
__proto__: Array[0]
LineString 用に生成されたパスの最後に NaN が表示される理由はありますか?