1

我正在尝试使用 d3 实现一些映射。在我从使用命令 d3.svg.line() 转移到 d3.geo.path() 并重组为 Geojson 之后发生了一些问题。

我在 UTM 坐标区 48N 上绘制了线串部分,如下所示

{"type":"FeatureCollection","features":[
{"type":"Feature","id":"02","properties":{"name":"LMC1"},"geometry":{"type":"LineString","coordinates":[
[375221,1.92031e+06],[375287,1.92027e+06],..]}},..]}

我使用墨卡托设置投影

var projection = d3.geo.mercator(),
path = d3.geo.path().projection(projection);

此结果显示复杂的行字符串 JavaScript 控制台

Error: Problem parsing d="M521120.2777777778,111.9000492736892L620.2810464730694,...

我在投影上做错了吗?还是 geo.path 还不支持 UTM?有谁有想法吗?

您还可以在http://jsfiddle.net/agadoo/qNCcV/上看到我的此代码示例

4

1 回答 1

0

您不能将 UTM 坐标与d3.geo(还)一起使用。在将数据传递给 d3 之前,您必须将它们转换为例如墨卡托投影。Mike 的教程中介绍了这个(以及更多)。

于 2013-03-15T10:59:41.510 回答