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 Mon 17 July 2017 00:32

wilyfe
Juste Inscrit !
Date d'inscription: 16 Jul 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 (Mon 17 July 2017 10:42)

Hors ligne

 

#2 Mon 17 July 2017 12:20

Florent LUQUET
Participant occasionnel
Lieu: Vallet
Date d'inscription: 24 Mar 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 Mon 17 July 2017 12:31

wilyfe
Juste Inscrit !
Date d'inscription: 16 Jul 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 Mon 17 July 2017 13:24

Florent LUQUET
Participant occasionnel
Lieu: Vallet
Date d'inscription: 24 Mar 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 Mon 17 July 2017 13:45

MathieuR
Membre
Lieu: aix-en-provence
Date d'inscription: 16 Feb 2009
Messages: 1690
Site web

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 ?


geodata au cerema et petits billets en géomatique

Hors ligne

 

#6 Tue 18 July 2017 09:50

Florent LUQUET
Participant occasionnel
Lieu: Vallet
Date d'inscription: 24 Mar 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 Tue 18 July 2017 10:52

wilyfe
Juste Inscrit !
Date d'inscription: 16 Jul 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 Tue 18 July 2017 11:00

wilyfe
Juste Inscrit !
Date d'inscription: 16 Jul 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