小编kel*_*ins的帖子

解释d3js投影基础知识

我试图理解d3中地理投影的基础知识,这样我就可以有效地旋转,缩放和平移坐标.

投影的结果是否在默认的svg坐标系中,原点在左上方,正y值在网格中向下移动?或者结果是笛卡尔坐标,正y值向上移动?

我跑了这个测试.点a位于SF的西北部.点b位于SF的东南部.我期望点a的投影的x值更小(在左侧)的点b的投影.同样地,我预期点a的投影的y值小于(高于)点b的投影.

p = d3.geo.transverseMercator()
a = [-122.490402, 37.786453]
b = [-122.389809, 37.72728]
ap = p(a) // [359.30926341688723, -76.50496169565764]
bp = p(b) // [358.9636503828066, -76.46080714063936]
Run Code Online (Sandbox Code Playgroud)

相反,指向a的投影x值大于b,因此a将在svg画布上的b下方结束.

[更新#1]

我一直在调查测试套件.在其中我看到了这些价值观:

(在albers-test.js中)

"San Francisco, CA": [[-122.42000000,   37.78000000], [ 107.44485839,  214.04820561]]
Run Code Online (Sandbox Code Playgroud)

(在azimuthal-equal-area-test.js和其他几个)

"San Francisco, CA": [[ -46.16620803,   77.04946507], [ 448.09318291,   57.65281089]]
Run Code Online (Sandbox Code Playgroud)

这告诉我,我很困惑.

为什么在测试中SF有2种不同的经度/纬度值?

我明显不喜欢杂草了.请帮我回到正轨.

-Kelly

d3.js

6
推荐指数
1
解决办法
6080
查看次数

标签 统计

d3.js ×1