SQL クエリを使用したフィーチャの検索
説明
MapInfo SQL クエリに基づいて、リポジトリ内の名前付きテーブルのフィーチャを返します。MI SQL 関数の詳細については、『MapInfo SQL 言語リファレンス』を参照してください。
注: MI_GridMinValue および MI_GridMaxValue グリッド関数を除くすべての Mapinfo SQL 関数がサポートされています。
この操作は、Mapping Service におけるマップのレンダリングや凡例のレンダリングのリクエストに引き渡すことのできる、フィーチャ コレクション JSON を返します。
パラメータ
以下のパラメータのタイプについては、リクエスト URL のデータ タイプを参照してください。
パラメータ | Type | 必須 | 説明 |
---|---|---|---|
rep | 文字列 | はい | 戻り値の表現。サポートされている表現は json です。 |
q=MI SQL query | 文字列 | はい | 実行するクエリ (MI SQL 形式)。 |
page=pagenumber | 文字列 | いいえ | 返されるページ番号。 |
pageLength=pagelength | 文字列 | いいえ | 各ページに返されるフィーチャの数。page パラメータがリクエストに指定されている場合は、pageLength を定義する必要があります。 |
HTTP GET URL 形式
HTTP GET リクエストには次の形式を使用します。
HTTP GET /tables/features.rep;[q=SQL query]
&[page=pagenumber]&[pageLength=pagelength]
戻り値
リポジトリ内の名前付きテーブルの指定されたフィーチャを返します。
{
"type":"FeatureCollection","Metadata":[{"type":"Geometry","name":"Obj",
"style":{},"styleColumn":"MI_Style"},{"type":"String","name":"Country"},
{"type":"String","name":"Capital"},{"type":"String","name":"Continent"},
{"type":"Integer","name":"Numeric_code"},{"type":"String","name":"FIPS"},
{"type":"String","name":"ISO_2"},{"type":"String","name":"ISO_3"},
{"type":"Integer","name":"Pop_1994"},{"type":"Decimal","name":"Pop_Grw_Rt",
"fractionalDigits":1,"totalDigits":6},{"type":"Integer","name":"Pop_Male"},
{"type":"Integer","name":"Pop_Fem"},{"type":"Integer","name":"Pop_0_14"},
{"type":"Integer","name":"Pop_15_64"},{"type":"Integer","name":"Pop_65Plus"},
{"type":"Integer","name":"Male_0_14"},{"type":"Integer","name":"Male_15_64"},
{"type":"Integer","name":"Male_65Plus"},{"type":"Integer","name":"Fem_0_14"},
{"type":"Integer","name":"Fem_15_64"},{"type":"Integer","name":"Fem_65Plus"},
{"type":"Integer","name":"Pop_Urban"},{"type":"Integer","name":"Pop_Rural"},
{"type":"Integer","name":"Pop_Urb_Male"},{"type":"Integer","name":"Pop_Urb_Fem"},
{"type":"Integer","name":"Pop_Rur_Male"},{"type":"Integer","name":"Pop_Rur_Fem"},
{"type":"Decimal","name":"Arable_Pct","fractionalDigits":1,"totalDigits":6},
{"type":"Decimal","name":"Literacy","fractionalDigits":1,"totalDigits":4},
{"type":"Decimal","name":"Inflat_Rate","fractionalDigits":1,"totalDigits":4},
{"type":"Decimal","name":"Unempl_Rate","fractionalDigits":1,"totalDigits":4},
{"type":"Decimal","name":"Indust_Growth","fractionalDigits":1,"totalDigits":4},
{"type":"Integer","name":"ColorCode"},{"type":"Style","name":"MI_Style"}]
}
例
リポジトリ内の /Samples/NamedTables ディレクトリにあるテーブル WorldTable から、country が CANADA のレコードのフィーチャを返します。
http://www.<website>.com/rest/Spatial/FeatureService/tables/features.json?q=SELECT * FROM
"/Samples/NamedTables/WorldTable" WHERE Country='CANADA'
HTTP POST URL 形式
バウンド パラメータを使った SQL による検索の HTTP POST リクエストには、次の形式を使用します。
HTTP POST: /FeatureService/tables/features.rep?
POST Data: [q=MI SQL query]
POST BODY: Content-Type:application/json {bound parameters}
{bound parameters} は、含められる 1 つ以上のパラメータを含む MI SQL 検索クエリの POST json 本体 (Content-Type: application/json) です。Null 値がサポートされていますが、その場合もタイプは必須です。
注: POST では json はオプションです。SQL クエリでバウンド パラメータを使用する場合にのみ必要です。
戻り値
リポジトリ内の名前付きテーブルの指定されたフィーチャを返します。
例
バウンド パラメータを使ってフィーチャを検索します。
SELECT WORLD.Capital FROM "/WORLD" as WORLD WHERE MI_CONTAINS(Obj, @geomParam)
{
"parameters": [{
"name": "geomParam",
"value": {
"type": "Point",
"coordinates": [-72, 42],
"crs": {
"type": "name",
"properties": {
"name": "epsg:4326"
}
}
}
}]
}