#1 Mon 24 November 2014 09:51
- sed.recherche
- Participant occasionnel
- Date d'inscription: 20 Nov 2014
- Messages: 19
QGIS : polygone, position
J'ai une requette à faire, j'ai un ensemble de polygones conenctés (ayant des cotés en commun) je voudrai faire un petit algorithme ( ou si ya une fonction tant mieux) qui detecte la position du polygone par raport à son voisin, genre polygone au mieu ( entre deux polygones), polygones dans le coin genre deux principales libre, et polygone angle genre une facade bloquée!? SVP c'est urgent......
sachant que les polygones ont une forme bizarre non uniforme...
merci beaucoup de votre aide.
Hors ligne
#2 Mon 24 November 2014 10:14
Re: QGIS : polygone, position
Bonjour,
Il s'agirait d'établir le réseau de tes polygones.
Il y a un plugin appelé networks / Réseaux qui, apparemment, permet de réaliser des graphes. A voir s'il le fait depuis des fichiers polygone.
Sinon, tu peux t'appuyer sur le tutoriel suivant qui comprend une étape permettant de constituer une matrice de contiguité de tes polygones en utilisant R::spdep dans QGIS
http://datagistips.blogspot.fr/2012/08/ … t-for.html
C'est assez loin d'être trivial mais si tu as des questions, je peux essayer de t'aider.
Bon courage
geodata au cerema et petits billets en géomatique
Hors ligne
#3 Mon 24 November 2014 10:20
- sed.recherche
- Participant occasionnel
- Date d'inscription: 20 Nov 2014
- Messages: 19
Re: QGIS : polygone, position
ah merci beaucoup, je vais essayer ça, je suis pas expert en QGIS
Je vous mettrez au courant de la suite
Hors ligne
#4 Mon 24 November 2014 10:24
- sed.recherche
- Participant occasionnel
- Date d'inscription: 20 Nov 2014
- Messages: 19
Re: QGIS : polygone, position
J'ai essayé dernièrement la fonction voisinage sur Arc-gis, j'ai pu identifié les polygones environnant, mais mon objectif c'est pas ça, c'est plutot pouvoir identifier leur position au sein du bloc automatiquement, vous voyez un peu ma requette ?
Merci par avance:)
Hors ligne
#5 Mon 24 November 2014 10:57
Re: QGIS : polygone, position
Je pense qu'on peut aboutir à quelque chose en utilisant la théorie des graphes et en déterminant certaines caractéristiques inhérentes aux noeuds telles que leur centralité, etc...
Pour déterminer les polygones qui sont au bord, vous pourriez faire une intersection entre l'enveloppe linéaire de vos polygones et vos polygones.
Pour déterminer ceux qui sont au milieu, vous pourriez faire une matrice des distances : QGIS > Outils d'analyse et calculer la distance totale qui sépare un noeud de tous les autres. Et faire ça pour chaque noeud.
Voir http://en.wikipedia.org/wiki/Centrality et les mesures de la centralité. Ici, c'est l'indicateur de centralité de Friedman.
La centralité peut être aussi le nombre de voisins qu'un noeud a.
geodata au cerema et petits billets en géomatique
Hors ligne
#6 Mon 24 November 2014 11:24
- sed.recherche
- Participant occasionnel
- Date d'inscription: 20 Nov 2014
- Messages: 19
Re: QGIS : polygone, position
J'ai bien compris le principe, c'est une idée très intéressante, vous pouvez bien me dire quelle fonction pourrai tracer l’enveloppe extérieure des polygones connectés que je puisse faire la démarche?
Hors ligne
#7 Mon 24 November 2014 11:37
- sed.recherche
- Participant occasionnel
- Date d'inscription: 20 Nov 2014
- Messages: 19
Re: QGIS : polygone, position
est il possible de prendre contact avec vous pour que ça soit plus claire pour moi ?
car je pense que je me suis mal exprimé! les polygones dont je parle ce sont des bâtiments et quand je dis milieu c'est pas genre à l’intérieur du bloc, mais plutôt un polygone qui a un voisin à gauche à droite et par derrière (possible aussi), donc la notion de l'intersection n'est pas une solution à a ma requette car elle me sortira tous les polygones périphériques et dans ce cas là tous les bâtiments car ya pa de bâtiment à l’intérieur des bloc! tous les bâtiments ont une façade, dommage je peux pas joindre une figure pour être vraiment explicite...
Hors ligne
#8 Mon 24 November 2014 12:34
Re: QGIS : polygone, position
pour faire l'enveloppe, vous pouvez faire un tampon de vos bâtiments avec une valeur positive +Xm puis faire une érosion de -Xm
par la suite, vous convertissez votre tampon polygonal en ligne.
geodata au cerema et petits billets en géomatique
Hors ligne
#9 Mon 24 November 2014 15:05
- sed.recherche
- Participant occasionnel
- Date d'inscription: 20 Nov 2014
- Messages: 19
Re: QGIS : polygone, position
J'ai essayé ce que vous m'avez dit mais malheureusement, il fait pas de différence entre polygone milieu et polygone coin ou angle, car tous les polygone touche le polygone enveloppe, j'ai essayé de calculer la distance minimale entre les nœuds du réseau routier (intersection) et les polygones pour reconnaître ceux formant le coin ou angles, mais malheureusement j'ai pas une couche route complète (mise à jour)..
Hors ligne
#11 Mon 24 November 2014 15:59
- sed.recherche
- Participant occasionnel
- Date d'inscription: 20 Nov 2014
- Messages: 19
Re: QGIS : polygone, position
voila, les polygones représentent des batiments.
Dernière modification par sed.recherche (Mon 24 November 2014 16:30)
Hors ligne
#12 Tue 25 November 2014 11:00
- sed.recherche
- Participant occasionnel
- Date d'inscription: 20 Nov 2014
- Messages: 19
Re: QGIS : polygone, position
Vous avez pu la télécharger ?
Hors ligne
#13 Wed 26 November 2014 11:28
Re: QGIS : polygone, position
Oula, c'est un véritable défi, votre projet.
On peut considérer qu'un bâtiment mitoyen de deux et seulement deux autres sur deux faces orthogonales est dans un coin.
Du coup, je déterminerais les faces qui touchent d'autres voisines pour chaque bâtiment et calculerais leur angle.
Si l'angle est proche de 0, bâtiment enserré au milieu de deux autres.
Si proche de 90, alors dans un coin.
Concrètement, sous QGIS :
- Transformer polygones en lignes
- Eclater les lignes
- voir celles qui touchent d'autres (sans doute nécessité de programmation)
- Déterminer l'angle des faces d'un bâtiment : fonction xat et trigonométrie : arctan
Ou sinon, on peut considérer qu'un bâtiment est dans un coin s'il est distant du milieu du groupe de bâtiments auquel il appartient. Du coup, je proposerais ceci :
- créer les groupes de bâtiments par tampons érodés ou méthode sus-citée sous R
- rasteriser le centroïde du groupe
- créer raster de distance
- calculer pour chaque bâtiment la valeur maximale de distance au centre du groupe : statistiques de zone
- l'écart par rapport à la moyenne, l'utilisation d'un écart type donnerait un score.
Bon, tout ça, c'est du bricolage et cela mériterait d'être mis en oeuvre effectivement afin de vérifier les résultats et, si besoin, optimiser la méthode.
Dans tous les cas, c'est loin d'être simple à mettre en oeuvre..
Quoi qu'il en soit, vous pourriez déjà déterminer si un bâtiment est au bord ou pas selon la méthode que je vous avais décrite précédemment.
geodata au cerema et petits billets en géomatique
Hors ligne
#14 Wed 26 November 2014 16:24
- sed.recherche
- Participant occasionnel
- Date d'inscription: 20 Nov 2014
- Messages: 19
Re: QGIS : polygone, position
Merci de votre retour, effectivement c'est un projet assez compliqué, rajoutons le fait que je sois pas un expert en GIS!..
Je vais essayé ce que vous m'avez proposé en espérant que j'y arriverai.
Merci beaucoup pour tous ces conseils.
Hors ligne
#15 Wed 26 November 2014 17:06
- sed.recherche
- Participant occasionnel
- Date d'inscription: 20 Nov 2014
- Messages: 19
Re: QGIS : polygone, position
En fait il y a un problème à considérer, quand vous parlez des deux faces orthogonales des deux bâtiments mitoyens, vous considérez que les bâtiments sont des rectangles ! sauf qu'en réalité tous les polygones ont une forme aléatoire!!
J'ai déjà réfléchi en façades consécutives et angles! mais elle est vraiment limitée.. car souvent on peut pas généraliser sur le reste et en faire un algorithme pour toute la problématique...
Hors ligne
#17 Thu 27 November 2014 09:41
- sed.recherche
- Participant occasionnel
- Date d'inscription: 20 Nov 2014
- Messages: 19
Re: QGIS : polygone, position
En fait j'ai une question, dans la quelle je bloque vraiment, je vois que beaucoup de solutions s'offre à nous pour trouver ce que je cherche mais souvent, il s'agit de tracer l'enveloppe extérieur des polygones ayant des faces en commun ! et donc ma question est:
Comment tracer cette enveloppe sous ArcGIS, sachant que le script R dont vous m'avez parler ça n'a pas fonctionné, ni sur Arcgis ni QGIS, y-a t il une autre alternative pour tracer les enveloppes des polygones connectés ensemble ? (concrètement, ces polygones connectés représentent les blocs de bâtiments "agrégat").
Merci beaucoup de votre aide.
Hors ligne
#18 Thu 27 November 2014 09:47
Re: QGIS : polygone, position
Oui, vous pouvez faire un tampon de 5m autour des bâtiments avec agrégation puis faire un tampon négatif de -5m (érosion) pour avoir une sorte d'enveloppe.
Le script R fourni fontionne sous QGIS avec la Sextante Toolbox. Peut-être avez vous mal configuré Sextante, c'est pour cela que ça ne marche pas.
geodata au cerema et petits billets en géomatique
Hors ligne
#19 Thu 27 November 2014 09:51
- sed.recherche
- Participant occasionnel
- Date d'inscription: 20 Nov 2014
- Messages: 19
Re: QGIS : polygone, position
ah d'accord je vois,
Est il possible de me dire concrètement ce que je suis sensé faire sur QGIS pour configurer Sextante (les étapes et les commandes à utiliser)?
Hors ligne
#21 Mon 01 December 2014 13:01
- sed.recherche
- Participant occasionnel
- Date d'inscription: 20 Nov 2014
- Messages: 19
Re: QGIS : polygone, position
J'ai pu avancé dans ma requette, j'ai opté pour l'option de la distance des polygones par rapport aux centroides des enveloppes, quand je les classes par ordre décroissant y a un autre détail qui s'impose! combien faut t'il considérer de polygones dans le classement ? (les plus distant sont les bâtiments coin ou angle)
quand on a une enveloppe de 4 coins, dans ce cas là il faut considérer les 4 premiers!! dans une enveloppe triangle il y a trois coins donc on ne considère que les 3 premiers! comment automatiser ce calcul sachant que j'ai 29 000 enveloppe avec des formes très variables ?
Dernière modification par sed.recherche (Mon 01 December 2014 13:07)
Hors ligne