Skip to content

extract_distance

トランザクションテーブル中の各地点間の距離を計算します。

実行方式は JSON-RPC v2.0 を利用します。

リクエスト例

extract_distance は分析 API の一種であり、プロべナンス API の process メソッドに api_method="extract_distance" を指定することで実行できます。 以下は、プロべナンスのセッションを開始して、extract_distance を実行し、セッションを終了する例です。

import xdata_prov.client import Api
api = Api()
api.begin_session()

api.process(api_method="extract_distance", api_params={
    "output_ddc": "ddc:jartic_xrain_distances",
    "input_ddc": "ddc:jartic_xrain_transaction",
    "mesh_ddc": "ddc:jisx0410_mesh5",
    "code_column_name": "meshcode",
    "distance_method": "geography",
    "max_distance": 1000
})

api.commit()
api.end_session()

パラメータ

process メソッドを api_method="extract_distance" として呼び出す場合、api_params は以下のキーを含む dict を受け取ります。 既定値が空欄のものは必須のパラメータとなります。

キー 説明 既定値
output_ddc 登録先 ddc
output_mode 出力モード (overwrite または error) error
input_ddc 入力データ ddc
mesh_ddc メッシュ定義 ddc
code_column_name input_ddc においてメッシュコードを表すカラム
distance_method 距離計算方式 (geometry または geography)
max_distance output_ddc に出力する距離の上限

入力データ

トランザクションテーブル

input_ddc で指定される入力 ddc は、「トランザクションテーブル」です。 このテーブルは、以下のスキーマを持つ必要があります。

カラム名 データ型 説明
id integer トランザクションを一意に識別する ID
start_datetime timestamp with time zone 開始日時
end_datetime timestamp with time zone 終了日時
location geometry 空間範囲
(meshcode) character varying メッシュコード
* 任意のテーマ属性

通常、トランザクションテーブルは meshcode カラムにメッシュコードを格納します。 ただし、extract_distance 関数では code_column_name パラメータによって、このカラム名を指定可能です。

メッシュ定義テーブル

mesh_ddc で指定される入力 ddc は、「メッシュ定義テーブル」です。 このテーブルは、以下のスキーマを持つ必要があります。

カラム名 データ型 説明
code text メッシュコード
geom geometry 領域
center geometry 中心座標

ただし extract_distance 関数では geom カラムは利用されません。 center カラムで示される中心座標間の距離を計算します。

出力データ

距離テーブル

output_ddc で指定される出力先 ddc に、「距離テーブル」が出力されます。 このテーブルは、以下のスキーマを持ちます。

カラム名 データ型 説明
item1 text メッシュコード
item2 text メッシュコード
distance double precision メッシュコード間の距離

戻り値

extract_distance は、出力先 ddc の ddc 情報を戻します。 これは、プロべナンス API の process メソッドの仕様で定められた動作です。