Suchen nach Features mit SQL-Abfragen

Beschreibung

Gibt Features in einer benannten Tabelle im Repository basierend auf einer MapInfo SQL-Abfrage zurück. Ausführliche Informationen zu MI SQL-Funktionen finden Sie unter MapInfo SQL-Sprachreferenz.
Anmerkung: Mit Ausnahme von den Rasterfunktionen „MI_GridMinValue“ und „MI_GridMaxValue“ werden alle MapInfo SQL-Funktionen unterstützt.

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“
Anmerkung: Wenn die SQL-Abfrage mehr als eine Tabelle referenziert, sind Ausführungsberechtigungen für alle in der Abfrage enthaltenen Tabellen erforderlich. (bitte mit dem Team klären)

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.

Anmerkung: Das JSON in der POST-Anforderung ist optional; es ist nur erforderlich, wenn in der SQL-Abfrage gebundene Parameter verwendet werden.

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"
                       }
                 }
                             }
             }]
}