コンテンツにスキップ

球面シェイプ

これらのシェイプジェネレーターは、geoPathで使用する球面GeoJSONを返します。

ヒント

大円弧(大円のセグメント)を生成するには、GeoJSON LineStringジオメトリオブジェクトをgeoPathに渡します。D3の投影法は、中間点に測地線補間を使用します。

geoGraticule()

ソース · 投影の歪みを表すための子午線緯線の均一なグリッドである経緯線を作成するためのジオメトリジェネレーターを構築します。デフォルトの経緯線は、緯度±80°の間で10°ごとに子午線と緯線があります。極地域では、90°ごとに子午線があります。

graticule()

ソース · この経緯線のすべての子午線と緯線を表すGeoJSON MultiLineStringジオメトリオブジェクトを返します。

graticule.lines()

ソース · この経緯線の各子午線または緯線ごとに1つずつ、GeoJSON LineStringジオメトリオブジェクトの配列を返します。

graticule.outline()

ソース · この経緯線の輪郭、つまりその範囲を定義する子午線と緯線に沿って、GeoJSONポリゴンジオメトリオブジェクトを返します。

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ジオメトリオブジェクトを返します。 *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;
}

小円は大円弧に従わないため、生成されたポリゴンは近似値にすぎません。精度角度を小さく指定すると、近似ポリゴンの精度が向上しますが、生成とレンダリングのコストも増加します。