Rechercher des fonctionnalités via des requêtes SQL

Description

Renvoie des fonctions dans une table nommée du référentiel en fonction d'une requête MapInfo SQL. Pour obtenir des informations détaillées sur les fonctions MI SQL, reportez-vous au Guide de référence linguistique MapInfo SQL.
Remarque : Toutes les fonctions de MapInfo SQL sont prises en charge à l'exception des fonctions de grille MI_GridMinValue et MI_GridMaxValue.

Cette opération renvoie une collection de fonctions JSON qui peut être transmise à une demande d'affichage de carte ou de légende dans Mapping Service.

Flux d'autorisation ACL

Pour renvoyer des fonctions dans une table nommée du référentiel en fonction d'une requête SQL MapInfo, l'utilisateur (ou les rôles auxquels il appartient) aura besoin de l'autorisation Execute sur la table nommée de la manière suivante :

  • « EXECUTE » pour le type d'entité « Location Intelligence.Named Resources »
Remarque : Si la requête SQL fait référence à plusieurs tables, les autorisations EXECUTE sont requises sur toutes les tables incluses dans la requête. (please check with team)

Paramètres

Pour plus d'informations sur les types de paramètres répertoriés ci-dessous, reportez-vous à la section Types de données d'URL de requête.

Paramètre Type Obligatoire Description
rep Chaîne oui Représentation à renvoyer. La représentation prise en charge est json.
q=MI SQL query Chaîne oui Requête d'exécution au format MI SQL.
page=pagenumber Chaîne non Numéro de page à renvoyer.
pageLength=pagelength Chaîne non Nombre de fonctions renvoyées sur chaque page. Si le paramètre page est précisé dans la requête, vous devez définir pageLength.

Format d'URL GET HTTP

Les requêtes GET HTTP se présentent au format suivant :


HTTP GET /tables/features.rep;[q=SQL query]
&[page=pagenumber]&[pageLength=pagelength]
			

Résultat

Renvoie des fonctionnalités spécifiées dans une table nommée du référentiel.


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

Exemple

Renvoie les fonctions des enregistrements où le pays est CANADA pour la table WorldTable du répertoire /Samples/NamedTables du référentiel.


http://www.<website>.com/rest/Spatial/FeatureService/tables/features.json?q=SELECT * FROM 
"/Samples/NamedTables/WorldTable" WHERE Country='CANADA'
			

Format d'URL POST HTTP

Le format suivant est utilisé pour les requêtes POST HTTP Search by SQL à l'aide de paramètres de limite :


HTTP POST:  /FeatureService/tables/features.rep?
POST Data: [q=MI SQL query]
POST BODY: Content-Type:application/json {bound parameters}
			

{bound parameters} (paramètres de limite) est un corps POST json (type de contenu : application/json) de la requête MI SQL Search contenant un ou plusieurs paramètres à inclure. Les valeurs Null sont prises en charge ; toutefois, un type est tout de même requis.

Remarque : L'élément json de POST est facultatif ; il n'est requis que si la requête SQL utilise des paramètres de limite.

Résultat

Renvoie des fonctionnalités spécifiées dans une table nommée du référentiel.

Exemples

Rechercher des fonctions à l’aide des paramètres de limite :


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