プライマリ キーによるフィーチャの更新
説明
フィーチャ コレクションを (オプションで commitInterval とともに) 引き渡すことによって、テーブル内のフィーチャを更新します。コレクション内の各フィーチャは、ID (プライマリ キー) を持つ必要があります。この ID は、入力フィーチャと、テーブル内のフィーチャとのマッチングに使用されます。リクエスト本体にはフィーチャー コレクションの JSON 表現が含まれますが、一部の要素は指定する必要がありません。レスポンスには、正しく更新されたフィーチャ数が含まれます。
本体の JSON 表現は GeoJSON 形式です。GeoJSON の詳細については、geojson.org/geojson-spec.html を参照してください。
注: 書き込み可能テーブルに対して挿入、更新、および削除の操作を実行するには、名前付きテーブルに対する表示権限、および名前付きテーブルの関連するデータセットに対する作成/変更/削除権限が必要です。詳細については、「管理」セクションの ユーザと役割を参照してください。
注: 更新は、PostGIS、Oracle、SQL Server、SAP HANA、GeoPackage、および汎用 JDBC の各テーブルでサポートされます。Windows システムに限り、MapInfo ネイティブ TAB およびネイティブ拡張 TAB (NativeX) ファイルでもサポートされます (commitInterval は無視されます)。テーブルにプライマリ キーがない場合、そのテーブルは読み取り専用であるとみなされます。複合プライマリ キーを持つ名前付きテーブルは、書き込み可能ではありません。
HTTP POST URL 形式
HTTP POST リクエストには次の形式を使用します。
HTTP POST: /tables/tablename/features.rep?
POST Data: action=update;[commitInterval=c]
POST BODY: Content-Type:application/json {table update}
table update は、更新する 1 つ以上のフィーチャを含むテーブル更新の POST json 本体 (Content-Type: application/json) です。
パラメータ
以下のパラメータのタイプについては、リクエスト URL のデータ タイプを参照してください。
パラメータ | Type | 必須 | 説明 |
---|---|---|---|
tablename | 文字列 | はい | フィーチャを更新するテーブルの名前。テーブルは、リポジトリ内の名前付きテーブルの場所に基づく、名前付きテーブルの完全修飾名で指定します。名前付きテーブルの名前は、URL の /tables 部と URL の /features.rep 部の間で定義します。例えば、リポジトリ内の /Samples/NamedTables/WorldTable にある名前付きテーブルでフィーチャーを更新するには、次のような URL を使用します。.../FeatureService/tables/Samples/NamedTables /WorldTable/features.json;... |
rep | 文字列 | はい | 戻り値の表現。サポートされている表現は json です。 |
action=update | 文字列 | はい | テーブル内のフィーチャを更新するアクション。 |
commitInterval=c | Integer | いいえ | 1 回のトランザクションで処理される更新の数。例えば、テーブル内の 50 個のフィーチャを更新するときに commitInterval が 20 に設定されている場合、トランザクションは 3 つ (20、20、10) になります。デフォルト値は 50。commitInterval はネイティブ TAB および NativeX ファイルでは無視されます。 |
戻り値
テーブル内で更新された各フィーチャのプライマリ キーを返します。
例
MyTable 内の 2 つのフィーチャを更新します。フィーチャはそれぞれ、ジオメトリ列にポイント、Column1 に 456 と 123 の値、Column2 に "four five six" と "one two three" の値を含みます。
http://www.pbbi.com/rest/Spatial/FeatureService/tables/MyTable/features.json
?action=update&commitInterval=2
{
"type": "FeatureCollection",
"features": [
{
"type": "Feature",
"id": "1",
"geometry": {
"type": "Point",
"coordinates": [
-73,
41
]
},
"properties": {
"Column1": 456,
"Column2": "four five six"
}
},
{
"type": "Feature",
"id": "2",
"geometry": {
"type": "Point",
"coordinates": [
-72,
42
]
},
"properties": {
"Column1": 123,
"Column2": "one two three"
}
}
]
}