空間関数

空間関数を使用して、マップチャートを作成できるようにデータを変換します。

シェープファイルにマップ情報が含まれる場合は、空間関数を使用する必要はありません。ただし、WKB (Well-Known Binary) データを含む BLOB カラムのその他の種類の地理情報がある場合、この情報は、以下の 7 つのカラムに抽出されます。

  • 図形座標
  • XMax
  • XMin
  • YMax
  • YMin
  • XCenter
  • YCenter
注: Geometry カラムは、元のバイナリ カラムです。

図形座標のバウンディング ボックスはエンベロープと呼ばれます。これは、XMax、XMin、YMax、および YMin の 4 つの座標によって指定します。図形座標の中心は、XCenter と YCenter の 2 つの座標によって指定します。これらの座標カラムは、バイナリの WKB カラムを引数とする空間関数を使用してバイナリの WKB カラムから算出できます。マップチャートがこれらのカラムを識別できるようにするには、mapchart.columntypeidプロパティに必要なプロパティ値 (上記のカラム名と同じ) を設定する必要があります。これは、次の空間関数を適用する際に自動的に実行されます。

関数 説明
GreatCircleDistance(Arg1, Arg2, Arg3, Arg4) 単位球面の表面上で計算した 2 点間の最短距離を返します。引数は、度数で表された座標の緯度と経度 (lat1、long1、lat2、long2) です。

特定の単位で結果を得るには、GreatCircleDistanceメソッドの結果を関心のある球の半径 (希望する単位) で乗算します。たとえば、地球の半径は約 6371 km (3959 マイル) であるため、2 都市間の距離が、次の最初の例ではキロメートル単位、2 番目の例ではマイル単位で得られます。

例:

6371*GreatCircleDistance(57.717829, 11.990509, 42.355145, -71.057892)

3959*GreatCircleDistance(57.717829, 11.990509, 42.355145, -71.057892)

6371*GreatCircleDistance([Latitude], [Longitude], 42.355145, -71.057892)

WKBEnvelopeXCenter(Arg1) 図形座標エンベロープの X 方向の中心値を計算して、mapchart.columntypeidプロパティに XCenter 値を設定します。この引数はバイナリ WKB カラムです。

例:

WKBEnvelopeXCenter([WKB])

WKBEnvelopeXMin(Arg1) 図形座標エンベロープの X 方向の最小値を計算して、mapchart.columntypeidプロパティに XMin 値を設定します。この引数はバイナリ WKB カラムです。

例:

WKBEnvelopeXMin([WKB])

WKBEnvelopeXMax(Arg1) 図形座標エンベロープの X 方向の最大値を計算して、mapchart.columntypeidプロパティに XMax 値を設定します。この引数はバイナリ WKB カラムです。

例:

WKBEnvelopeXMax([WKB])

WKBEnvelopeYCenter(Arg1) 図形座標エンベロープの Y 方向の中心値を計算して、mapchart.columntypeidプロパティに YCenter 値を設定します。この引数はバイナリ WKB カラムです。

例:

WKBEnvelopeYCenter([WKB])

WKBEnvelopeYMin(Arg1) 図形座標エンベロープの Y 方向の最小値を計算して、mapchart.columntypeidプロパティに YMin 値を設定します。この引数はバイナリ WKB カラムです。

例:

WKBEnvelopeYMin([WKB])

WKBEnvelopeYMax(Arg1) 図形座標エンベロープの Y 方向の最大値を計算して、mapchart.columntypeidプロパティに YMax 値を設定します。この引数はバイナリ WKB カラムです。

例:

WKBEnvelopeYMax([WKB])

関数」も参照してください。