fonction ST_TIN

classic Classic list List threaded Threaded
12 messages Options
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

fonction ST_TIN

laurent
Bonjour

Je suis sur OrbiGIS 3.0.2.
Je souhaite utiliser utiliser la fonction ST_TIN.

J'ai au préalable chargé un shapefile (_2010.shp) puis créé le niveau z via la requête suivante :
create table no2_2010 as select ST_AddZ(the_geom, NO2) from _2010 b;

Jusqu'ici pas de souci, j'ai ensuite voulu appliqué la fonction de triangualtion :
create table tin_no2_2010 as SELECT * FROM ST_TIN(no2_2010);

Le message d'erreur suivant apparaît :
Cannot parse script
Caused by: Encountered " "(" "( "" at line 2, column 41.
Was expecting one of:
    "as" ...
    "where" ...
    <ID> ...
    ";" ...


Peut-être est-ce dû à ma version d'orbiGIS ?

En vous remerciant d'avance.
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: fonction ST_TIN

Gwendall Petit
Administrator
Bonjour Laurent et bienvenue sur cette liste de diffusion.

OrbisGIS ne peut pas exécuter votre script car il comporte quelque part (en fait à ligne 2 et au curseur 41) une erreur.

Pouvez-vous copier-coller l'ensemble de votre script ou bien juste la ligne n°2 ?

Cordialement,

Gwendall
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: fonction ST_TIN

Gwendall Petit
Administrator
Après vérification, je peux vous confirmer que votre problème vient du fait que la fonction ST_TIN n'est pas implémentée dans OrbisGIS V3.0.2.

Je vous invite donc à utiliser la V4.0 La Rochelle (disponible ICI), pour réaliser vos traitements.

En espérant que ça résolve votre problème.

Cordialement,

Gwendall
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: fonction ST_TIN

laurent
In reply to this post by Gwendall Petit
Bonjour Gwendall

La ligne 2 correspond en fait à la deuxième requête décrite dans mon message, j'utilise la console sql pour lancer les requêtes.

Par contre, je viens de résoudre mon problème. En recherchant dans les autres messages du forum, j'ai vu qu'il pouvait y avoir des modifications d'appel de fonction entre les version 3.x et 4.x d'Orbisgis. J'ai donc téléchargé et lancé la version 4.0, maintenant ma deuxième requête fonctionne correctement. Les requêtes utilisées étaient tirées d'une présentation powerpoint où apparaissait effectivement la version d'OrbisGis : 4.0 Beta.

Autre question : comment peut-on avoir de l'aide sur une fonction particulière, par exemple ST_TIN ? Je ne l'ai pas trouvé sur le site internet et je ne sais pas comment l'obtenir via l'interface graphique.

J'ai eu quelques soucis pour lancer OrbisGIS 4.0. Mais ceci est une autre question que je poserai dans un autre message.
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: fonction ST_TIN

laurent
In reply to this post by Gwendall Petit
Je viens de répondre sans avoir vu votre réponse. Merci pour l'information !
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: fonction ST_TIN

Gwendall Petit
Administrator
In reply to this post by laurent
laurent wrote
Autre question : comment peut-on avoir de l'aide sur une fonction particulière, par exemple ST_TIN ? Je ne l'ai pas trouvé sur le site internet et je ne sais pas comment l'obtenir via l'interface graphique.
A droite de la console SQL, vous avez un petit icone vert. Cliquez dessus et vous verrez apparaître la liste complète des (183) fonctions SQL (spatiales) disponibles. A l'aide du moteur de recherche, trouvez la fonction ST_TIN. Ensuite, glissez/déposez cette fonction dans la console SQL. A ce moment, vous verrez apparaître la syntaxe par défaut qui est utilisée pour la fonction.

Vous pouvez également vous servir de la complétion automatique (qu'on utilise à l'aide "Ctrl + Space") pour avoir des informations complémentaires --> dans la console, entrez
SELECT * FROM st_ti
puis tapez sur les touches "Ctrl + Space" --> vous verrez apparaître une petite fenêtre qui vous propose deux fonctions (en fait ici, il s'agit des mêmes, mais avec des options différentes) qui correspondent au terme "ST_TI". Là vous verrez une description de la fonction que vous recherchez.

Enfin, sachez que nous sommes actuellement en cours de migration de moteur SQL. Pour faire simple, le moteur SQL de la V4.0 se nomme GDMS2. Pour la V4.1, nous passons sur un moteur SQL plus puissant et plus "SQL compliant", nommé H2GIS. Nous mettons tous nos efforts actuellement pour documenter les fonctions qui sont implémentées dans ce nouveau moteur. Une bonne partie d'entre elles sont également utilisables dans la V4.0.
Le site d'H2GIS est accessible ICI, et la documentation associée est ICI ... avec la liste des fonctions ICI.

J'espère que ça répondra à vos attentes.

Cordialement,

Gwendall
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: fonction ST_TIN

laurent
Bonjour

Je vous remercie pour les nombreuses précisions.

Laurent
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: fonction ST_TIN

ebocher
Administrator
Bonjour Laurent,

Au plaisir de vous relire sur cette liste. N’hésitez pas à nous faire quelques retours ou nous envoyer des copies d’écran, cartographie de vos résultats avec OrbisGIS.

Bien cordialement.

Erwan Bocher.

--
Institut de recherche en sciences et techniques de la ville
École Centrale de Nantes
BP 92101
1 rue de la Noë, 44321 NANTES Cedex 3
France
Tél : 02 40 37 68 67
http://www.irstv.fr/


2014-05-12 8:47 GMT+02:00 laurent [via OrbisGIS] <[hidden email]>:
Bonjour

Je vous remercie pour les nombreuses précisions.

Laurent


If you reply to this email, your message will be added to the discussion below:
http://orbisgis.3871844.n2.nabble.com/fonction-ST-TIN-tp7575133p7575141.html
To start a new topic under OrbisGIS Users, email [hidden email]
To unsubscribe from OrbisGIS Users, click here.
NAML




Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: fonction ST_TIN

KatiaC
In reply to this post by Gwendall Petit
Bonjour !
j'essaie, avec l'aide d'OrbisGIS v4, de créer des isosurfaces grâce à un semis de points.

J'ai un fichier qui contient une géométrie puis différentes colonnes dont une contenant la variable avec laquelle je souhaite travailler (prof de nappe qui s'appelle AltNap).
J'ai utilisé la commande :
CREATE TABLE piezoZ as select ST_AddZ(the_geom, AltNap) from test b;
Mais il me crée une table avec une seule colonne nommée exp0 (normale puisque je ne lui pas dit comment nommer cette colonne). Mais je pensais obtenir une colonne the_geom et une colonne Z pour pouvoir ensuite utiliser la commande ST_TIN... D'ailleurs, pour info, la commande ST_TIN utilisée avec le fichier test (de départ) sans st_addz me donne bien les triangles...
Je sens que je n'ai pas bien compris cette commande ST_AddZ... Pouvez-vous m'aider?

Katia
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: fonction ST_TIN

Gwendall Petit
Administrator
Bonjour Katia,

Sans le jeu de donnée c'est un peu compliqué, mais peut-être devrais-tu essayer en écrivant :

CREATE TABLE piezoZ AS SELECT ST_AddZ(THE_GEOM, AltNap) as THE_GEOM, AltNap FROM test;
Ainsi tu aurais bien la géométrie, plus le champ AltNap qui porte l'altitude.

La fonction ST_AddZ permet de rajouter une valeur à la composante Z des coordonnées --> voir ici :http://www.h2gis.org/docs/dev/ST_AddZ/

Est-ce que cela répond à ta question ?

Cordialement,

Gwendall
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: fonction ST_TIN

Gwendall Petit
Administrator


Bonjour Katia,

Je viens de réaliser qu'il y avait un soucis avec la fonction ST_ADDZ sur la V4.0 que tu utilises, ce qui explique ton soucis je pense. Aussi je te propose de feinter en recréant une nouvelle géométrie, grâce à ST_MAKEPOINT et au passage à forcer la valeur Z avec ton champ "AltNap".
Voici le code complet pour générer les iso-surfaces.
-- FORCE the POINTS to be in 3D
DROP TABLE IF EXISTS Piezo_with_Z;
CREATE TABLE Piezo_with_Z AS SELECT ST_MAKEPOINT(ST_X(the_geom), ST_Y(the_geom), AltNap) as the_geom, AltNap FROM Piezo_map;

-- Create the trianglulation
DROP TABLE IF EXISTS Piezo_TIN;
CREATE TABLE Piezo_TIN AS SELECT * FROM  ST_TIN(Piezo_with_Z);

-- Create iso-surfaces
DROP TABLE IF EXISTS Piezo_isosurf;
CREATE TABLE Piezo_isosurf AS SELECT * FROM ST_TriangleContouring( Piezo_TIN, '14, 16, 18, 20, 22, 24, 26');
Ici, les plages d'iso-surfaces sont définies à la main (je les ai calquées sur la distribution de ton champ "AltNap".



J'espère que ça t'aidera.

Bonne journée

Cordialement,

Gwendall
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: fonction ST_TIN

KatiaC
C'est super! Merci beaucoup!

Bises

Katia
Loading...