【发布时间】:2012-03-09 03:03:41
【问题描述】:
我正在尝试使用 d3 绘制纽约市地图。我从http://www.nyc.gov/html/dcp/html/bytes/dwndistricts.shtml 下载了一堆 shapefile。我已经使用http://converter.mygeodata.eu/ 将它们转换为geoJSON,这样它们就在WGS 84 中(我认为,也就是纬度和经度)。
我很确定 geoJSON 是有效的:我可以使用 matplotlib 绘制它,它看起来像 NYC,并且数字似乎在有效范围内。这是我的javascript:
var path = d3.geo.path()
d3.select("body")
.append("svg")
.attr("height", 1000)
.attr("width", 1000)
.append("g")
.selectAll("path")
.data(data.features)
.enter()
.append("path")
.attr("d", path)
.style("stroke","black")
.style("stroke-width","1px")
正如所宣传的那样,这绘制了纽约市的阿尔伯斯投影。问题是,我认为,投影比例的选择是为了让美国适合一个漂亮的网页,使纽约市的路径在屏幕右侧有点弯曲。
缩放geo.path() 以使我的纬度/经度范围扩展到我的 SVG 的宽度和高度的“正确”方式是什么(我试图声称自己是第一个说 d3onic)?
(小小的免责声明:如果我遗漏了一些明显的东西,我深表歉意,这是针对我试图在一天结束时完成的项目)
【问题讨论】:
标签: geospatial d3.js