【发布时间】:2013-08-22 08:40:21
【问题描述】:
我处理了 SRTM 栅格数据以生成 shapefile -> geojson -> topojson,因此我可以为 D3js 提供合适的格式。
结果如下所示(蓝色区域是我的超大 svg 画布):
给定地理边界地理区域(西部边界、北部、东部、南部)和中心:
// India geo-frame borders in decimal ⁰
var WNES = { "W": 67.0, "N":37.5, "E": 99.0, "S": 5.0 };
// India geo-center :
var latCenter = (WNES.S + WNES.N)/2,
lonCenter = (WNES.W + WNES.E)/2;
// HTML expected frame dimensions
var width = 713,
height = 724;
// Projection: projection, center coord, scale(?), translate:
var projection = d3.geo.mercator()
.center([lonCenter, latCenter])
.scale(width)
.translate([width/2, height/2]); // this push into the center of the html frame
// SVG injection:
var svg = d3.select("body").append("svg")
.attr("width", width)
.attr("height", height);
地理维度、svg 维度和比例之间的关系是什么?
如何尽可能简化“自动对焦”?
【问题讨论】:
-
您需要计算比例以使投影区域充满框架。
-
是的,但我看不到我可以利用的关系。
-
你见过this question吗?
-
好的。非常感谢这个提示。我很早就上路了,但是很好。似乎 Bostock 先生从
path.bounds(state)获得了特征尺寸值(以 ⁰ 为单位)。为了适应我不需要那部分的情况。