#1 Wed 24 April 2013 15:49
- CGuillaume
- Participant actif
- Lieu: Annecy
- Date d'inscription: 3 Aug 2011
- Messages: 59
[PostGIS] Table prenant en charge toutes les géométries
Bonjour,
Actuellement en stage je développe une application métier pour la gestion des sentiers de randonnée à l’aide du générateur d’applications « Aigle Générateur ». Dans cette application j’utilise des tables stockées dans PostGIS.
Le problème que je rencontre actuellement est que j’aimerais avoir une table qui prend en charge toutes les géométries (ligne, point, polygone) et du texte.
J’arrive à obtenir une table prenant en charge toutes les géométries avec la contrainte suivante :
Code:
ADD CONSTRAINT All_geometry CHECK (geometrytype(geom) = 'GEOMETRY'::text OR geometrytype(geom) = 'POLYGON'::text OR geometrytype(geom) = 'MULTIPOLYGON'::text OR geometrytype(geom) = 'POINT'::text OR geometrytype(geom) = 'LINESTRING'::text OR geometrytype(geom) = 'MULTILINESTRING'::text OR geom IS NULL);
Mais lorsque j’ajoute du texte à cette table dans mon application, ma zone de texte est automatiquement transformée en ponctuel lors de l’enregistrement.
Après avoir épluché la doc PostGIS sur les « geometrytype » je viens vers vous pour voir si quelqu’un a une solution.
Merci d’avance pour votre aide.
Guillaume
Hors ligne
#2 Wed 24 April 2013 16:31
- Nicolas Ribot
- Membre
- Lieu: Toulouse
- Date d'inscription: 9 Sep 2005
- Messages: 1554
Re: [PostGIS] Table prenant en charge toutes les géométries
Bonjour,
Vous pouvez faire plus simple en ne mettant pas de contrainte
Sinon, vous etes bien sur de vouloir stocker toutes les geométries dans une meme table ? Quel est le but recherché ou le modèle sous-tendant cette approche ?
Typiquement, stocker des objets simples et des objets MULTI ne sert pas a grand chose: autant ne stocker que des MULTI.
Ca sera inexploitable a l'affichage et tres probablement aussi en gestion: les fonctions spatiales marchent pour certaines types de données, rarement pour tous (area, st_numpoint, geometryN, etc.)
Vous pouvez eventuellement créer des vues qui representent un type donné: vue_points, vue_ligne, etc.
Comment inserez-vous les donnees ? Je ne comprends pas bien comment du texte est transformé en point.
Nicolas
Hors ligne
#3 Wed 24 April 2013 17:17
- CGuillaume
- Participant actif
- Lieu: Annecy
- Date d'inscription: 3 Aug 2011
- Messages: 59
Re: [PostGIS] Table prenant en charge toutes les géométries
Bonjour,
Tout d'abord merci pour votre réponse rapide !
Cette table qui pourra supporter toutes les géométries n'aura qu'un rôle visuel dans mon application avec aucune gestion à faire dessus c'est pour cela que je permet de mélanger les géométries. Le but est d'en faire une couche de "dessin" qui permet de faire des croquis de carrefours à l'intersection des sentiers avec des flèches, annotations, etc. qui seront visible qu'à fort grossissement. (Je vous met un exemple en pièce jointe)
Pour ce qui est de l'insertion des données, j'utilise un outil "de modification géométrique" déployé pour mon application à partir du générateur et qui permet de faire des points, lignes, polygones et d'insérer des zones de textes.
Merci encore.
Guillaume
Hors ligne