D3.js d3js-如何正确设置反照率投影?

D3.js d3js-如何正确设置反照率投影?,d3.js,D3.js,我有一些关于日本的geojson数据,我设法在墨卡托投影上正确定位了这些数据,但是我有点不知道如何使用阿尔伯斯投影正确定位它,而不是尝试和错误 有好的工具可以使用吗 块示例: 长,日本lat(): 北纬24°-46° 经度122°-146°E geojson链接:我在存储库中找到了答案-工具就在那里 从中克隆d3.js 编辑以指向GEOJSON文件: 将origin long/lat滑块放在您所在国家/地区的中心(对我来说,是134°/25°) 将平行线更改为尽可能靠近您所在国家/地区的边缘

我有一些关于日本的geojson数据,我设法在墨卡托投影上正确定位了这些数据,但是我有点不知道如何使用阿尔伯斯投影正确定位它,而不是尝试和错误

有好的工具可以使用吗

块示例:

长,日本lat():

  • 北纬24°-46°
  • 经度122°-146°E

geojson链接:

我在存储库中找到了答案-工具就在那里

  • 从中克隆d3.js
  • 编辑以指向GEOJSON文件:
  • 将origin long/lat滑块放在您所在国家/地区的中心(对我来说,是134°/25°)
  • 将平行线更改为尽可能靠近您所在国家/地区的边缘
  • 将比例和偏移调整到合适的大小和位置
  • 其他预测也有类似的工具

    编辑:存储库已经发生了变化(并且一直在变化),因此我创建了一个要点来保留示例:


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

    现在,它是D3.js的第3版。 值得一看github的原始源代码,其中包含:

    d3.geo.albers = function() {
        return d3.geo.conicEqualArea()
          .parallels([29.5, 45.5])
          .rotate([98, 0])
          .center([0, 38])
          .scale(1000);
    };
    
    现在,d3.js结合使用
    投影。旋转
    投影。中心
    将投影中心放置在长98°W,纬度38°N(大约)的位置

    From,
    d3.geo.conicEqualArea()
    .平行线([29.5,45.5])
    设置阿尔伯斯投影的两条标准平行线纬度29.5°N和 分别为45.5°N。但什么是两个标准的平行线

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

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

    选择最佳标准平行线设置似乎是一项微妙的任务,其目标是最小化曲面之间映射时的投影失真。无论如何,从直觉上看,选择两个接近国家顶部/底部边缘的值是好的,因为这有助于最小化包围国家的[conic/sphere]曲面之间的距离。

    非常感谢您对设置内容进行如此详细的了解。我一直在做这件事。。感觉到目前为止。嗨,上面的链接都不起作用。我更新了链接,指向文件的旧版本。另外,检查我链接的要点。请更新正确的jquery etc链接,因为我尝试的链接在呈现albers.html时只显示一个圆圈。我只做了你们提到的步骤1,2,思考了页面呈现后我需要做的rest。我正在尝试使用places.json步骤创建印度地区和geojson。