テーブルへのフィーチャーの挿入

説明

1 つ以上のレコードをテーブルに挿入します。リクエスト本体にはフィーチャー コレクションの JSON 表現が含まれますが、一部の要素は指定する必要がありません。それぞれのフィーチャーには、0 個以上の列の値が含まれます。列を 1 つも指定しない場合、null 値が挿入されます。データベースで処理されない値を持つプライマリ キーの一部である場合には、(自動インクリメントの制約またはシーケンスによって) 列の値を指定する必要があります。プライマリ キーを判断するには、describeTable レスポンスのキー定義を調べます。レスポンスには、正しく挿入されたフィーチャーのプライマリ キーが含まれます。

本体の JSON 表現は GeoJSON 形式です。GeoJSON の詳細については、geojson.org/geojson-spec.html を参照してください。

注: 書き込み可能テーブルに対して挿入、更新、および削除の操作を実行するには、名前付きテーブルに対する表示権限、および名前付きテーブルの関連するデータセットに対する作成/変更/削除権限が必要です。詳細については、「管理」セクションの ユーザと役割を参照してください。
注: 挿入は、PostGreSQL/PostGIS、Oracle、SQL Server、SAP HANA、GeoPackage、および汎用 JDBC の各テーブルでサポートされます。Windows システムに限り、MapInfo ネイティブ TAB およびネイティブ拡張 TAB (NativeX) ファイルでもサポートされます。テーブルにプライマリ キーがない場合、そのテーブルは読み取り専用であるとみなされます。複合プライマリ キーを持つ名前付きテーブルは、書き込み可能ではありません。

HTTP POST URL 形式

HTTP POST リクエストには次の形式を使用します。


HTTP POST:  /tables/tablename/features.rep?
POST Data: action=insert&[commitInterval=c]
POST BODY: Content-Type:application/json {table insert}
			

table insert は、挿入する 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=insert 文字列 はい テーブル内のフィーチャを更新するアクション。
commitInterval=c Integer いいえ トランザクションで処理される挿入の数。例えば、テーブル内の 50 個のフィーチャを更新し、commitInterval が 20 に設定されている場合、トランザクションは 3 つ (20、20、10) になります。デフォルトは 50 です。commitInterval はネイティブ TAB および NativeX ファイルでは無視されます。

戻り値

テーブルに追加された各フィーチャーのプライマリ キーを返します。ネイティブおよび NativeX TAB ファイルでは、正常に挿入された行の数を示す SuccessfulInserts 応答が代わりに返されます。

2 つの新しいフィーチャーを MyTable に追加します。フィーチャーはそれぞれ、ジオメトリ列にポイント、Column1 に 456 と 123 の値、Column2 に "four five six" と "one two three" の値を含みます。


http://www.pbbi.com/rest/Spatial/FeatureService/tables/MyTable/features.json
?action=insert&commitInterval=1
{
    "type": "FeatureCollection",
    "features": [
    {
        "type": "Feature",
        "geometry": {
            "type": "Point",
            "coordinates": [-73, 41]
        },
        "properties": {
            "Column1": 456,
			"Column2": "four five six"
        }
    },
    {
        "type": "Feature",
        "geometry": {
            "type": "Point",
            "coordinates": [-72, 42]
        },
        "properties": {
            "Column1": 123,
			"Column2": "one two three"
        }
    }]
}