テーブルへのフィーチャーの挿入
説明
1 つ以上のレコードをテーブルに挿入します。リクエスト本体にはフィーチャー コレクションの JSON 表現が含まれますが、一部の要素は指定する必要がありません。それぞれのフィーチャーには、0 個以上の列の値が含まれます。列を 1 つも指定しない場合、null 値が挿入されます。データベースで処理されない値を持つプライマリ キーの一部である場合には、(自動インクリメントの制約またはシーケンスによって) 列の値を指定する必要があります。プライマリ キーを判断するには、describeTable レスポンスのキー定義を調べます。レスポンスには、正しく挿入されたフィーチャーのプライマリ キーが含まれます。
本体の JSON 表現は GeoJSON 形式です。GeoJSON の詳細については、geojson.org/geojson-spec.html を参照してください。
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"
}
}]
}