9

我有一些日本的 geojson 数据,我设法在墨卡托投影上正确定位,但我对如何使用阿尔伯斯投影正确定位它有点迷茫,除了反复试验。

有没有好的工具可以使用?

块示例:http ://bl.ocks.org/4043986

长,日本的纬度(维基百科):

  • 纬度 24° - 46°N,
  • 经度 122° - 146°E。

geojson 链接:https ://gist.github.com/raw/4043986/f53b85ab0af1585cd0461b4865ca4acd1fb79e9f/japan.json

4

2 回答 2

18

截至目前,它是 D3.js 的第 3 版。可能值得查看 github 上的原始源albers.js,其中包含:

d3.geo.albers = function() {
    return d3.geo.conicEqualArea()
      .parallels([29.5, 45.5])
      .rotate([98, 0])
      .center([0, 38])
      .scale(1000);
};

现在,d3.js 使用projection.rotate和的组合projection.center将投影中心放置在西经 98°、北纬 38°(在堪萨斯州哈钦森附近)。

Geo Projections API中,d3.geo.conicEqualArea() .parallels([29.5, 45.5])分别设置 Albers 投影的两个标准平行纬度 29.5°N 和 45.5°N。但是什么是两个标准平行线?

要了解平行设置是什么,需要知道阿尔伯斯投影是一种圆锥投影。

圆锥投影将球面地球的信息投影到一个圆锥体上,该圆锥体要么在一个平行线上与地球相切,要么在两个标准平行线上相割。

在此处输入图像描述

选择最佳标准平行线设置似乎是一项微妙的任务,其目标是在曲面之间映射时最小化投影失真。无论如何,选择两个值来接近一个国家的顶部/底部边缘在直觉上是好的,因为它有助于最小化包围一个国家的[圆锥/球体]表面之间的距离。 在此处输入图像描述

于 2013-04-05T16:16:48.910 回答
6

我通过存储库找到了答案——工具就在那里!

  1. 从github 存储库克隆d3.js。
  2. 编辑/d3/examples/albers.html 第 53 行以指向您的 GEOJSON 文件:
  3. 将原点长/纬度滑块放在您所在国家/地区的中心(对我来说,它是 134° / 25°)
  4. 将平行线更改为尽可能靠近您所在国家/地区的边缘。
  5. 将比例和偏移调整到一个不错的大小和位置。

其他预测也有类似的工具。

编辑:存储库已更改(并且不断更改),因此我创建了一个要点来保留示例:https ://gist.github.com/4552802

这些示例不再是 github 存储库的一部分。

于 2012-11-09T07:08:22.593 回答