Suchen nach Features mit SQL-Abfragen
Beschreibung
Dieser Vorgang gibt ein Feature-Sammlungs-JSON zurück, das an eine Render-Karten- oder Render-Legendenanforderungen im Mapping-Dienst weitergeleitet werden kann.
ACL-Autorisierungsfluss
Um Features in einer benannten Tabelle im Repository basierend auf einer MapInfo-SQL-Abfrage zurückzugeben, benötigt der Benutzer (oder alle Rollen, zu denen er gehört) wie folgt die Ausführungsberechtigung für die benannte Tabelle:
- „EXECUTE“ für den Entitätstyp „Location Intelligence.Named Resources“
Parameter
Weitere Informationen über die unten aufgeführten Parametertypen finden Sie unter URL-Anforderungsdatentypen.
Parameter | Typ | Erforderlich | Beschreibung |
---|---|---|---|
rep | Zeichenfolge | ja | Die zurückzugebende Darstellung. Die unterstützte Darstellung ist JSON. |
q=MI SQL-Abfrage | Zeichenfolge | ja | Die durchzuführende Abfrage im MI SQL-Format. |
page=pagenumber | Zeichenfolge | no | Die Seitennummer, die zurückgegeben werden soll. |
pageLength=pagelength | Zeichenfolge | no | Die Anzahl der Features, die auf den einzelnen Seiten zurückgegeben werden. Wenn der Parameter Seite in der Anforderung angegeben ist, müssen Sie pageLength definieren. |
URL-Format von HTTP-GET-Anforderungen
Das folgende Format wird für HTTP-GET-Anforderungen verwendet:
HTTP GET /tables/features.rep;[q=SQL query]
&[page=pagenumber]&[pageLength=pagelength]
Gibt zurück:
Gibt angegebene Features in einer benannten Tabelle im Repository zurück.
{
"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"}]
}
Beispiel
Gibt die Features der Datensätze zurück, bei denen das Land für die Tabelle „WorldTable“, die sich im Verzeichnis „/Samples/NamedTables“ im Repository befindet, KANADA lautet.
http://www.<website>.com/rest/Spatial/FeatureService/tables/features.json?q=SELECT * FROM
"/Samples/NamedTables/WorldTable" WHERE Country='CANADA'
URL-Format von HTTP-POST-Anforderungen
Für HTTP-POST-Anforderungen wird zum Suchen nach SQL mithilfe von gebundenen Parametern das folgende Format verwendet:
HTTP POST: /FeatureService/tables/features.rep?
POST Data: [q=MI SQL query]
POST BODY: Content-Type:application/json {bound parameters}
{gebundene Parameter} ist ein POST-JSON-Textkörper (Content-Type: application/json) für die MI SQL-Suchabfrage, der mindestens einen einzuschließenden Parameter enthält. Nullwerte werden unterstützt; es ist jedoch weiterhin ein Typ erforderlich.
Gibt zurück:
Gibt angegebene Features in einer benannten Tabelle im Repository zurück.
Beispiele
Suche nach Features mithilfe von gebundenen Parametern:
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"
}
}
}
}]
}