Bandeau haut

Outils pour utilisateurs

Outils du site


fonctions:structuration:principes:orbisgis

Ceci est une ancienne révision du document !


A propos des requêtes

L'utilisation des requêtes nécessitent l'affichage de deux fenêtres : SQL console, la fenêtre d'exécution, et SQL Repository, la fenêtre de saisie de requêtes.

Dans le répertoire Orbisgis se trouve 4 sous-dossiers : IO, Alphanumeric, geometry, et other. IO permet d'enregistrer des tables, des bases de données dans le système. Alphanumeric permet de faire des calculs, geometry, de faire des traitements sur l'aspect géométrique des données, other, de faire d'autres traitements comme d'afficher une table ou d'afficher un zoom du geomark.

Si nous glissons une requête dans la console SQL, nous remarquons que les requêtes SQL sont toutes préformatées. Par exemple, la requête pour faire des sommes : SELECT sum(myField) FROM myTable demande un nom de champ (ou de colonne) à l'emplacement de “myfield” et un nom de table à l'emplacement de “myTable”. Le mieux est alors de glisser la table du TOC en question dans la console et à l'emplacement adéquat.

Quand une requête est mal écrite, elle va s'écrire en rouge ou en vert, et quand elle respecte la syntaxe demandée, elle devient noire, avec des arguments textes en bleu, et des arguments numériques en marron.

Il est possible d'enregistrer la requête et, pour l'exécuter, il suffit d'appuyer sur la touche “play”. A l'exécution de la requête, la fenêtre “job status” se met en route, et à la suite de cela, si la requête a été bien écrite, soit une fenêtre de données va afficher le résultat, soit une nouvelle couche de forme gdms et un numéro va s'afficher dans le TOC. Cette dernière procédure permet de différencier les requêtes d'interrogation et les requêtes de transformation.

Notons aussi qu'à chaque requête dans le “SQL repository” existe une info-bulle permettant de savoir à quoi sert la requête en question.

Utiliser le BEAN-SHELL

Le Bean-Shell correspond au mode d'utilisation de script sous OrbiGIS. Cette méthode permet de mettre en place des scripts d'automatisation de taches qui permettront de réaliser des opérations répétitives.

Exemple 1 : Comment lister toutes les fonctions SQL ?

import org.gdms.sql.function.FunctionManager;

t = FunctionManager.nameFunction.keySet().toArray(new String[0]);

Arrays.sort(t);

for(Object f: t)

{ print(f); }

Exemple 2 : Comment évaluer la coordonnée en Z d'une couche ?

import com.vividsolutions.jts.geom.Coordinate;

sds = gc.getLayerModel().getLayerByName(”gdms1215009158660″).getDataSource();

for (int rowIndex = 0 ; rowIndex < sds.getRowCount() ; rowIndex++) {

geom = sds.getGeometry(rowIndex);

print(rowIndex + ” ” + geom.getClass().getSimpleName());

s = “tz :: “;

for (Coordinate c : geom.getCoordinates())

{ s = s + ” ” + c.z; }

print(s);

fonctions/structuration/principes/orbisgis.1298486852.txt.gz · Dernière modification : //06/04/2011 12:11// (modification externe)

Bandeau bas