d3.jsでコロプレスを作ろうとしていますが、最初だけ行き詰まりました。Shapefile を見つけて、そこから GeoJSON および TopoJson ファイルを生成しました。地図はアルベルス-シベリア図法を使用しています。この投影について私が見つけたもの:
投影法: アルバース正積円錐図法
- 単位: メートル
- スフェロイド:クラソフスキー
- 中央子午線: 105
- 標準パラレル 1:52
- 標準パラレル2:64
- 基準緯度: 0
- 偽東: 18500000
- 偽北距離: 0
PROJ.4: +proj=aea +lat_1=52 +lat_2=64 +lat_0=0 +lon_0=105 +x_0=18500000 +y_0=0 +ellps=クラス +units=m +towgs84=28,-130,-95 ,0,0,0,0 +no_defs
MapInfo: "アルベルス-シベリア", 9, 1001, 7, 105, 0, 64, 52, 18500000, 0.
それで、私は最終的にこのコードを取得しましたが、何もしません (そしてフリーズすることさえあります)。何が問題なのですか?
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>Choropleth</title>
<script type="text/javascript" src="d3/d3.v3.js"></script>
<script type="text/javascript" src="d3/queue.v1.min.js"></script>
<script type="text/javascript" src="d3/topojson.v0.min.js"></script>
</head>
<body>
<h1>My Choropleth</h1>
<script type="text/javascript">
var width = 960,
height = 500;
var svg = d3.select("body").append("svg")
.attr("width", width)
.attr("height", height);
var pr = d3.geo.albers()
.center([105,0])
.parallels([52, 64])
.scale(1000);
var path = d3.geo.path().projection(pr);
d3.json("map_rus_topo.json", function(error, map) {
svg.append("path")
.datum(topojson.object(map, map.objects.map_rus))
.attr("d", path);
});
</script>
</body>
ここで
すべての JSON ファイルを見つけることができます。もう 1 つの質問: TopoJsonファイルのregionフィールド
の値を参照するにはどうすればよいですか。