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 12 May 2021 08:48

zak_geom34
Juste Inscrit !
Date d'inscription: 27 Jan 2021
Messages: 8

QGIS: Geometrie tronquee PyQgis

Bonjour à tous,

J'ai développé une extension sensée permettre d'exporter des shapes présents dans Qgis dans un fichier kml, selon un style particulier en fonction du nom de chaque couche. Je sais qu'il existe des plug-ins fait pour l'export shp > kml, mais ça ne correspondait pas à ce que je souhaitais.

Pour la récupération de la géométrie des objets j'utilise QgsFeature.geometry() qui renvoie un objet QgsGeometry que je convertis en chaîne de caractère pour l'écrire dans mon fichier kml (en xml). Pendant le développement, je travaillais sur des lignes comportant quelques points, et tout se passait très bien.
Problème : Aujourd'hui, en testant sur une ligne un peu plus conséquente, patacrac tout va mal. Au delà d'un certain nombre de points (et donc de caractères), la chaine qui reprend la géométrie de ma ligne est tronquée brutalement. Et donc dans mon kml je me retrouve avec une ligne à la géométrie incomplète. De plus, lorsque j'affiche les QgsGeometry dans la console python (avant la conversion en chaine de caractère donc), qgis indique "..." à la fin comme pour dire "Eh oh là c'est trop long, j'affiche po." Je me dis que ça a sûrement un lien avec mon problème.

Géométrie d'une petite ligne :
<QgsGeometry: MultiLineString ((5.88131271874996209 45.61147108174863263, 5.88283077353444295 45.60949321958122482))>

Géométre d'une grande ligne :
<QgsGeometry: MultiLineString ((5.88374200129087122 45.6150206885275793, [... UNE VINGTAINE DE POINTS ...] 45.60891952832256635, 5.88768419004663812 ...>

La fin est bien différente... Mais je ne sais pas du tout comment forcer la récupération de la chaîne complète, et elle doit bien être écrite quelque part vu que, dans le canvas qgis tout se passe bien. Si quelqu'un a déjà été confronté au problème, je suis tout ouï.

Merci pour votre lecture.

Dernière modification par zak_geom34 (Wed 12 May 2021 08:53)

Hors ligne

 

#2 Wed 12 May 2021 09:22

zak_geom34
Juste Inscrit !
Date d'inscription: 27 Jan 2021
Messages: 8

Re: QGIS: Geometrie tronquee PyQgis

Problème résolu. J'ai remplacé str(myFeature.geometry()) par myFeature.geometry().asWkt() (en important osgeo.ogr).

Hors ligne

 

Pied de page des forums

Powered by FluxBB