3

私は d3.js を試しており、さまざまな都市を表すポイントを持つ世界地図を持っています。LineString と d3.geo.path() を使用して行っている都市間に直線 (っぽい) 線を引きたいと思います。次のブロックでわかるように、ヨーロッパから太平洋の島の 1 つに向かう線が弧を描いているのがわかります。

http://bl.ocks.org/whatsthebeef/6360703

この問題は、ラインがマップの一方の側から外れ、もう一方の側から外れている場合に発生するようです。ドキュメントの一部を、線が時計回りに描かれていると解釈したので、ポイントの順序を切り替えてみましたが、同じままです。

私はこのようなものをもっと探しています

http://mbostock.github.io/d3/talk/20111116/airports.html

この例では、mbostock が greatArc を使用していることがわかりますが、ドキュメントにはこれは不要であると記載されており、廃止されたように見えるため、大きなアークに関するドキュメントはありません。

このアーク放電を防ぐ方法はありますか?

4

1 に答える 1

1

直線を描くには、次を使用します。

d3.svg.line()

使用している投影法を使用して座標を変換する必要があります

var trcoords_o = projection(r.coordinates[0]);
var trcoords_d = projection(r.coordinates[1]);

これはまた、マップの片側を出て反対側に入る線を引くことを許可していないようです.

于 2013-08-28T18:42:15.257 に答える