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
メソッドの仕様で定められた動作です。