我试图让一个地区分布与d3.js但还是刚刚开始stucked。 我发现了一个Shape文件,并从它产生的以GeoJSON和TopoJson文件,就像在这里 。 所述映射使用阿尔伯斯-西伯利亚投影。 我发现这个怎么样的投影:
投影:阿尔伯斯等面积圆锥
- 单位:米
- 球体:Krasovsky
- 中央子午线:105
- 标准平行1:52
- 标准并行2:64
- 参考纬度:0
- 东移假定:1850
- 北移假定:0
PROJ.4 + PROJ = AEA lat_1 + + lat_2 = 52 = 64 + 0 = lat_0 lon_0 + = 105 = 18500000 + X_0 y_0 + = 0 = + ellps单元KRASS + = M + towgs84 = 28,-130,-95 ,0,0,0,0 + no_defs
的MapInfo: “阿尔伯斯-西伯利亚”,9,1001,7,105,0,64,52,1850万,0。
所以,我得到这个代码,最后和它不得而知(甚至FREEZ了),有什么不对?
<!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文件在这里 。
还有一个问题:我如何参考区域字段的值在我 TopoJson文件。