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 !.
Nom d'utilisateur    Mot de passe              Toujours pas inscrit ?   Mot de passe oublié ?

Annonce

GeoRezo est partenaire média de la Conférence Francophone SIG 2017 organisée par ESRI.

Les bénévoles de l'association seront présents les 11 et 12 Octobre aux Docks de Paris.

Le programme est riche, mais vous trouverez bien un  moment pour venir faire une pause au stand GeoRezo, et rencontrer les animateurs du portail francophone de la géomatique.

Nous serons à votre écoute pour partager avec vous notre passion pour l’animation du portail GeoRezo.

L'équipe GeoRezo

#1 lun. 17 juillet 2017 00:32

wilyfe
Membre
Date d'inscription: 16 juil. 2017
Messages: 9

QGIS: Transformer 1 ligne discontinue en N lignes discontinues

Bonjour à tous,

Dans le cadre de mon travail de fin d'étude je dois réaliser une analyse grâce à QGIS. Je travail avec la version 2.18.10.

J'ai des polygones qui représentent des zones dans lesquelles j'ai des passages de cerf représentés par des lignes discontinues. je dois déterminer le nombre de lignes disjointes par polygones. Je m'explique:

J'ai un shapefile composé d'une entité (une ligne discontinue). j'aimerais que pour chaque bout de ligne discontinu qui compose ma ligne discontinue, une entité soit créée. Seulement, l'outil  de géométrie "morceaux multiples à morceaux unique"QGIS me crée des bouts de ligne aléatoirement et non des entités pour chaque bout de ligne discontinu. je me retrouve donc avec plus d'entité que ce qu'il m'en faut.

Auriez-vous une idée pour réaliser l'opération souhaitée ?

Si vous avez besoin de plus de précision pour comprendre mon problème n'hésitez pas.

Merci d'avance

Dernière modification par wilyfe (lun. 17 juillet 2017 10:42)

Hors ligne

 

#2 lun. 17 juillet 2017 12:20

Florent LUQUET
Membre
Lieu: Vallet
Date d'inscription: 24 mars 2016
Messages: 12

Re: QGIS: Transformer 1 ligne discontinue en N lignes discontinues

Bonjour,

Si j'ai bien compris, il faut assembler les morceaux de lignes qui ont un points de contact entre elles.

Voici une solution qui fait appel à postgis :

1) Scinder en entités uniques avec la commande de QGIS (celle utilisée dans votre message).

2) Sous Postgis, on utilisera les commandes suivantes :

Code:

ST_ClusterWithin

qui assemble les entités à une distance inférieure à x

Code:

unnest

pour convertir en ligne le tableau de géométries obtenu avec la commande précédente.

Puis

Code:

ST_CollectionExtract

pour convertir la "geometrie collection" en mutilignes.

Soit :

Code:

WITH clusters  AS 
(
    SELECT 
        unnest(ST_ClusterWithin(geom, 1e-8)) AS geom 
    FROM 
        public.morceaux
)

    SELECT 
        row_number() OVER () AS id, 
        ST_CollectionExtract(geom, 2) AS geom 
    FROM 
        clusters

Et ça marche plutôt bien.

Bonne continuation


Florent LUQUET
www.maply.fr

Hors ligne

 

#3 lun. 17 juillet 2017 12:31

wilyfe
Membre
Date d'inscription: 16 juil. 2017
Messages: 9

Re: QGIS: Transformer 1 ligne discontinue en N lignes discontinues

Merci pour votre réponse.
Cependant, je me pose une question : ne risque t'il pas d'y avoir des interférences lorsque des lignes se croisent ?
Le codage que vous avez détaillez dans votre réponse est à mettre dans la fenêtre "Query editor" de l'extension "postgisSQL" ?

Merci

Hors ligne

 

#4 lun. 17 juillet 2017 13:24

Florent LUQUET
Membre
Lieu: Vallet
Date d'inscription: 24 mars 2016
Messages: 12

Re: QGIS: Transformer 1 ligne discontinue en N lignes discontinues

Oui effectivement en cas de croisements ça va prendre les deux lignes...
Personnellement j'utilise le gestionnaire BD de QGIS, il y aune fenêtre d’exécution de requêtes SQL avec affichage direct sur la carte. Plutôt pratique.


Florent LUQUET
www.maply.fr

Hors ligne

 

#5 lun. 17 juillet 2017 13:45

MathieuR
Moderateur
Lieu: aix-en-provence
Date d'inscription: 16 févr. 2009
Messages: 1284

Re: QGIS: Transformer 1 ligne discontinue en N lignes discontinues

Bonjour,

Que signifie aléatoirement ?

Si vous avez une polyligne composée de 3 morceaux disjoints et que utilisez la fonction "morceaux multiples à morceaux unique", il devrait vous sortir 3 lignes.

Auriez-vous un échantillon de vos données, que l'on pourrait examiner ?

Hors ligne

 

#6 mar. 18 juillet 2017 09:50

Florent LUQUET
Membre
Lieu: Vallet
Date d'inscription: 24 mars 2016
Messages: 12

Re: QGIS: Transformer 1 ligne discontinue en N lignes discontinues

Bonjour,

Surement une piste pour éviter les intersections.

A tester :
https://gis.stackexchange.com/questions … 269#177269


Florent LUQUET
www.maply.fr

Hors ligne

 

#7 mar. 18 juillet 2017 10:52

wilyfe
Membre
Date d'inscription: 16 juil. 2017
Messages: 9

Re: QGIS: Transformer 1 ligne discontinue en N lignes discontinues

Bonjour,
Merci pour votre réponse.
De quoi auriez-vous besoin quand vous parlez d'échantillons ? Du shapefile ?

Hors ligne

 

#8 mar. 18 juillet 2017 11:00

wilyfe
Membre
Date d'inscription: 16 juil. 2017
Messages: 9

Re: QGIS: Transformer 1 ligne discontinue en N lignes discontinues

Quand je dis aléatoirement, je veux dire par là que certaines lignes qui sont continues sont divisées en plusieurs entités

Hors ligne

 

Pied de page des forums

Powered by FluxBB

Partagez  |