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

GEODATA DAYS 2024

#1 Mon 07 November 2011 15:00

saphy
Participant occasionnel
Date d'inscription: 7 Nov 2011
Messages: 11

QGIS : comment tracer des points automatiquement dans une shape ?

j'utilise QGIS et je cherche à positionner des points automatiquement alignés avec un espace prédéfini et une orientation sur une shape existante.

existe-t-il une extention qui réponde à cette opération dans QGIS?

Ou bien, plus simplement un parametrage particulier lors de la création d'une shape de type point.

ex : aligner deux ligne de 10 d'arbustes à 3m X 1 m dans une shape qui défini un jardin particulier.

par avance merci de vos solutions

Bruno

Hors ligne

 

#2 Tue 08 November 2011 08:18

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

Re: QGIS : comment tracer des points automatiquement dans une shape ?

au départ, tu as donc un secteur: le jardin (polygone) et des rangées d'arbres au sein de ce dernier (lignes)?

Dernière modification par baobazz (Tue 08 November 2011 08:19)


geodata au cerema et petits billets en géomatique

Hors ligne

 

#3 Tue 08 November 2011 08:47

saphy
Participant occasionnel
Date d'inscription: 7 Nov 2011
Messages: 11

Re: QGIS : comment tracer des points automatiquement dans une shape ?

oui j'ai effectivement un jardin que je délimite avec une shape sans difficulté, mais cela pourrait être un espace plus grand où je veux implanter un verger avec un espacement prédéfini entre les arbres.

MAis, je souhaite positionner automatiquement des rangées d'arbres ou d'arbustes avec un écartement prédéfini d'ans l'emprise de la shape .
je pensais que cette fonction pourrait être une option parmi les styles de la shape, mais je ne peux pas parametrer l'espace entre les points ni l'orientation des rangs (ex: ecartement 5m  X 3m avec un angle de 20°)

Y a-t-il une fonction pour cela ?

merci d'avance

Hors ligne

 

#4 Tue 08 November 2011 09:33

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

Re: QGIS : comment tracer des points automatiquement dans une shape ?

Ah ok, donc les données en entrée sont au nombre de 4: le secteur, l'orientation des rangs, l'espacement entre rangées et entre chaque arbre?

qgis ne fonctionnera pas pour ce type de cas ou bien en utilisant GRASS. Il faudra sans doute utiliser R pour une méthode optimale et automatyisée. Une interface à R existe sous QGIS. Voir http://www.forumsig.org/showthread.php?t=32657

On a deux possibilités:

Tu dessines manuellement une rangée bien orientée et tu la dupliques autant de fois qu'il faut. Pour plus de précisions, tu peux utiliser le plugin qgsaffine pour une translation de x mètres (espace inter-rangées). Pour l'orientation, CADTools
Ensuite, tu crées les arbres sous QGIS>GRASS avec la commande v.to.points

Pour la génération automatique de segments, on peut faire ça sous R, en particulier spatstat
- La technique consisterait à créer un rectangle de l'étendue de ton secteur.

Code:

Utilise la fonction bbox du paquet sp, puis as.owin de spatstat

- Puis de créer un segment à partir des coordonnées des points gauches de ton rectangle

Code:

psp() de spatstat

- Tu le tournes:

Code:

spatstat:rotate.psp

- Tu dupliques ce segment autant de fois qu'il faut jusqu'à dépasser l'extrêmité droite du rectangle avec une boucle.

Code:

Etape: créer une liste de segments, puis les assembler avec rbind

- Enfin, tu fais une intersection spatiale de tes rangées d'arbres avec ton secteur auquel tu aurais préalablement pu appliquer un tampon de -X mètres

Code:

rgeos::gIntersection
rgeos::gBuffer pour le tampon

Tu vois, c'est peu trivial...

Une méthode automatique sera nécessaire dans le cas où beaucoup de rangées doivent être générées, sinon tu peux te contenter de la saisie manuelle des rangées.

Dernière modification par baobazz (Tue 08 November 2011 10:00)


geodata au cerema et petits billets en géomatique

Hors ligne

 

#5 Tue 08 November 2011 10:22

saphy
Participant occasionnel
Date d'inscription: 7 Nov 2011
Messages: 11

Re: QGIS : comment tracer des points automatiquement dans une shape ?

Merci pour toutes ces précisions,

je pense que j'aurai besoin de connaître les deux méthodes car j'aurai à traiter plusieurs cas de figures.

pour l'information, j'ai réussi partiellement avec QGIS et la fonction v.mkgrid de Grass qui permet de créer une couche de points (arbres) superposée à la shape.
ensuite avec les fonctions interserction vectorielles de QGIS j'ai pu créer une autre couche qui a le nombre d'arbre voulu avec la bonne orientation et le bon écartement.

merci encore

je vais tester aussi ta méthode manuelle, je voudrais tester la méthode automatique sous R, mais c'est quoi R ??

Hors ligne

 

#6 Tue 08 November 2011 11:05

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

Re: QGIS : comment tracer des points automatiquement dans une shape ?

R est un outil de statistiques libre


geodata au cerema et petits billets en géomatique

Hors ligne

 

#7 Tue 08 November 2011 11:45

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

Re: QGIS : comment tracer des points automatiquement dans une shape ?

Peux-tu poster ta méthode complète avec v.mkgrid?


geodata au cerema et petits billets en géomatique

Hors ligne

 

#8 Tue 08 November 2011 11:50

saphy
Participant occasionnel
Date d'inscription: 7 Nov 2011
Messages: 11

Re: QGIS : comment tracer des points automatiquement dans une shape ?

Dans grass (inclus avec Qgis) tu peux utiliser la routine v.mkgrid qui fait cela. Il te faut ensuite exporter le résultat en shape si tu souhaites ce format.
Pour accéder à cela il te faut
- créer un espace de travail grass (extension->grass->nouveau jeu de donnée-répertoire et projection)
- aller dans les outils grass (extension->grass->ouvrir les outils)
- lancer le shell grass (c'est le premier module)
- taper v.mkgrid
- saisir les options (Exemple ci dessous créer une pommeraie de 20 lignes et 25 colonnes à partir de la coordonnée 450000,1850000 avec 5m dans le rang et 4m d’inter-rang et 12° par rapport à l'horizontale)
Puis dans qgis extension->grass->ajouter une couche vecteur
Puis clic-droit sur le nom de la couche, "sauvegarder sous" et sauver en shape

Hors ligne

 

#9 Tue 08 November 2011 13:16

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

Re: QGIS : comment tracer des points automatiquement dans une shape ?

ah ok, ben j'étais allé vraiment dans les choses compliquées :p


geodata au cerema et petits billets en géomatique

Hors ligne

 

Pied de page des forums

Powered by FluxBB