d3.js v4.5.0とtopojson v2を使用して、https://d3js.org/us-10m.v1.jsonにあるtopojsonファイルから米国の郡をプロットしようとしています。 d3のデフォルトプロジェクトはAlbers(私は思う)です。d3.geoMercator()に投影するとエラーが発生する
:それはタイプの799のエラーを生成var projection = d3.geoMercator()
.scale(500)
.translate([width/2, height/2]);
var path = d3.geoPath()
.projection(projection);
:にvar path
を変更する際に、しかし
var width = 1000,
height = 600;
var svg = d3.select("#us-county-map").append("svg")
.attr("width", width)
.attr("height", height);
var path = d3.geoPath();
d3.json("data/us_counties.json", function(error, us) {
if (error) return console.error(error);
svg.append("g")
.attr("class", "counties")
.selectAll("path")
.data(topojson.feature(us, us.objects.counties).features)
.enter().append("path")
.attr("d", path);
});
:次のコードを使用して
は標準の投影マップを生成します
Error: <path> attribute d: Expected number, "…61.126408983549,NaNL1559.4690422…"
と次の図(はい、ブラックボックス)です。
エラーを作成して何、および投影を適用行うための適切な方法はありますか?
ありがとうございます。だから私はそれを変換する前にjsonデータの元の投影を知る必要がありますか? – James
これは役に立ちますが、これは非常にユニークで複雑なタイプの投影法であり、複数の投影法を組み合わせて投影します。他の地域の郡データを見つけてtopojsonまたはgeojsonに変換する方が簡単かもしれません。問題でテストしたあなたのmercator投影法では、データが確実に表示されるように、アメリカの中心近くの中心座標を使用してください。これは '.center([ - 100,40])のようなものですが、心のアラスカとハワイは見えないかもしれません。 –