Rechercher des fonctionnalités via des requêtes SQL
Description
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 »
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.
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"
}
}
}
}]
}