プライマリ キーによるフィーチャの更新

説明

フィーチャ コレクションを (オプションで 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"
            }
        }
    ]
}