#1 Wed 04 February 2015 22:51
- Jean-Marc68
- Participant occasionnel
- Lieu: Rimouski
- Date d'inscription: 24 Jan 2015
- Messages: 23
PostGIS et Curvepolygon en c#
Salut à toutes et à tous,
Dans une table PostGIS je dois ajouter des lignes contenant des géométries sous forme de CURVEPOLYGON (je dois garder les arcs).
Je me retrouve à avoir plusieurs questions auxquelles je ne trouve pas de réponse (mauvaises clefs de recherche ?)
Je travaille en c#.
Tout d'abord je dois créer des polygones en maintenant les arcs (d'où le CURVEPOLYGON).
Je dois tout d'abord "polygoniser" des lignes et des arcs (ils sont "propres" dans le sens où il n'y a pas d'intersection ni de "dangle". Chaque ligne ou arc se termine exactement là où un autre commence).
Je n'ai pas trouvé de fonction qui polygonise avec des arcs (si qqn en connait, je suis preneur).
Vu que je n'ai pas trouvé de polygonisation avec arcs et que je ne dois mettre dans PostGIS que les polygones (le résultat), j'ai "polygonisé" moi-même en créant des dbgeometry. Cela fonctionne bien, toutefois, j'ai des superpositions là où se trouves des polygones enclavés, ce qui est normal, puisqu'à priori on ne sait pas si le polygone est enclavé dans un autre.
Comment fait-on pour soustraire un dbgeometry d'un autre ? Si je fais dbgeometry(du polygone enclavant).difference(géométrie du polygone enclavé), il semble l'avoir enlevé, mais lorsque je "pousse" le résultat dans PostGIS pour avoir un visuel via QGIS, le polygone enclavé n'est pas soustrait du polygone enclavant.
Aussi, connaissez vous un programme d'affichage (type QGIS) qui affiche les géométries CURVEPOLYGON de PostGIS ? Actuellement, pour pouvoir les afficher, je fois d'abord passer par une colonne intermédiaire qui simplifie les CURVEPOLYGON en POLYGON (st_curvetoline) pour pouvoir être affichés dans QGIS, car il semble ne pas reconnaître une colonne géométrique qui contient des curvepolygon.
Je travaille actuellement avec npgsql pour extraire ou insérer mes données, mais existe-t-il une référence que je pourrais ajouter dans mon code pour pouvoir créer des tables postGIS ou utiliser des fonctions PostGIS en mémoire ?
Merci de vos z'avis z'avisés,
JM
Hors ligne
#2 Thu 05 February 2015 09:55
- tumasgiu
- Membre
- Lieu: Ajaccio
- Date d'inscription: 5 Jul 2010
- Messages: 1159
Re: PostGIS et Curvepolygon en c#
Pour ce qui est de la polygonisation, ce sujet devrait vous interesser :
http://gis.stackexchange.com/questions/ … ologysuite
Hors ligne
#3 Thu 05 February 2015 20:57
- Jean-Marc68
- Participant occasionnel
- Lieu: Rimouski
- Date d'inscription: 24 Jan 2015
- Messages: 23
Re: PostGIS et Curvepolygon en c#
Oui je l'avais vu et lu. Toutefois, a moins que je n'aie mal compris un point, il me semble comprendre qu'il accepte les Linestring mais pas les CircularString, comme tous ceux que j'ai trouvés jusque maintenant.
Mon problème réside là. Je dois utiliser des circularstring (ou autre moyen de garder les courbes sans les simplifier en succession de droites), et donc monter des Curvepolygon, et non des polygon.
Mais merci quand-même du temps passé à la recherche et la réponse.
Hors ligne