Nous utilisons des cookies pour vous garantir la meilleure expérience sur notre site. Si vous continuez à utiliser ce dernier, nous considèrerons que vous acceptez l'utilisation des cookies. J'ai compris ! ou En savoir plus !.
banniere

Le portail francophone de la géomatique


Toujours pas inscrit ? Mot de passe oublié ?
Nom d'utilisateur    Mot de passe              Toujours pas inscrit ?   Mot de passe oublié ?

Annonce

Suite à un problème technique intervenu entre le 22 et le 23 mars, nous avons du procéder dans la soirée du 25 mars, à la restauration de la base de données du 24 mars (matinée).

En clair, nous avons perdu vos contributions et inscriptions du dimanche 24 et du lundi 25 mars.
Nous vous prions de nous excuser.

#1 Wed 04 February 2015 22:51

Jean-Marc68
Participant occasionnel
Lieu: Rimouski
Date d'inscription: 24 Jan 2015
Messages: 18

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: 1129

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: 18

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

 

Pied de page des forums

Powered by FluxBB