跳到内容

球形

这些形状生成器返回用于 geoPath 的球形 GeoJSON。

提示

要生成一个 大圆弧(大圆的一部分),将 GeoJSON LineString 几何对象传递给 geoPath。D3 的投影使用大地测量插值来计算中间点。

geoGraticule()

源代码 · 构造一个用于创建经纬网的几何生成器:一个均匀的 经线纬线 网格,用于显示投影失真。默认的经纬网在 ±80° 纬度之间每 10° 有经线和纬线;对于极地地区,每 90° 有经线。

graticule()

源代码 · 返回一个 GeoJSON MultiLineString 几何对象,它表示此经纬网的所有经线和纬线。

graticule.lines()

源代码 · 返回一个 GeoJSON LineString 几何对象数组,每个经线或纬线对应一个对象。

graticule.outline()

源代码 · 返回一个 GeoJSON Polygon 几何对象,它表示此经纬网的轮廓,即沿定义其范围的经线和纬线。

graticule.extent(extent)

源代码 · 如果指定了 extent,则设置此经纬网的主范围和次范围。如果没有指定 extent,则返回当前次范围,默认值为 ⟨⟨-180°, -80° - ε⟩, ⟨180°, 80° + ε⟩⟩。

graticule.extentMajor(extent)

源代码 · 如果指定了 extent,则设置此经纬网的主范围。如果没有指定 extent,则返回当前主范围,默认值为 ⟨⟨-180°, -90° + ε⟩, ⟨180°, 90° - ε⟩⟩。

graticule.extentMinor(extent)

源代码 · 如果指定了 extent,则设置此经纬网的次范围。如果没有指定 extent,则返回当前次范围,默认值为 ⟨⟨-180°, -80° - ε⟩, ⟨180°, 80° + ε⟩⟩。

graticule.step(step)

源代码 · 如果指定了 step,则设置此经纬网的主步长和次步长。如果没有指定 step,则返回当前次步长,默认值为 ⟨10°, 10°⟩。

graticule.stepMajor(step)

源代码 · 如果指定了 step,则设置此经纬网的主步长。如果没有指定 step,则返回当前主步长,默认值为 ⟨90°, 360°⟩。

graticule.stepMinor(step)

源代码 · 如果指定了 step,则设置此经纬网的次步长。如果没有指定 step,则返回当前次步长,默认值为 ⟨10°, 10°⟩。

graticule.precision(angle)

源代码 · 如果指定了 precision,则以度为单位设置此经纬网的精度。如果没有指定 precision,则返回当前精度,默认值为 2.5°。

geoGraticule10()

源代码 · 一个方便的方法,可以直接生成默认的 10° 全球经纬网作为 GeoJSON MultiLineString 几何对象。等效于

js
function geoGraticule10() {
  return d3.geoGraticule()();
}

geoCircle()

源代码 · 返回一个新的圆形生成器。

circle(...arguments)

源代码 · 返回一个新的 GeoJSON 几何对象,类型为“Polygon”,它近似于球体表面上的一个圆,具有当前的 中心半径精度。任何 arguments 都将传递给访问器。

circle.center(center)

源代码 · 如果指定了 center,则将圆形中心设置为指定点 [longitude, latitude](以度为单位),并返回此圆形生成器。中心也可以指定为函数;此函数将在生成圆形时被调用,并将传递给圆形生成器的任何参数传递给它。如果没有指定 center,则返回当前中心访问器,默认值为

js
function center() {
  return [0, 0];
}

circle.radius(radius)

源代码 · 如果指定了 radius,则将圆形半径设置为指定角度(以度为单位),并返回此圆形生成器。半径也可以指定为函数;此函数将在生成圆形时被调用,并将传递给圆形生成器的任何参数传递给它。如果没有指定 radius,则返回当前半径访问器,默认值为

js
function radius() {
  return 90;
}

circle.precision(angle)

源代码 · 如果指定了 precision,则将圆形精度设置为指定角度(以度为单位),并返回此圆形生成器。精度也可以指定为函数;此函数将在生成圆形时被调用,并将传递给圆形生成器的任何参数传递给它。如果没有指定 precision,则返回当前精度访问器,默认值为

js
function precision() {
  return 2;
}

小圆不遵循大圆弧,因此生成的图形只是一个近似值。指定较小的精度角度可以提高近似图形的精度,但也增加了生成和渲染它的成本。