Quelle est la différence entre l'outil Créer des polygones de Thiessen (ArcGIS) et l'outil Polygones de Voronoï (QGIS)?


12

Les polygones de Thiessen sont-ils la même chose que les polygones de Voronoi? J'utilise ArcMap 10 et également QGIS 2.4 et j'aimerais connaître la différence exacte (le cas échéant) entre les deux méthodes.


Pourriez-vous, s'il vous plaît, décrire les recherches que vous avez faites sur le sujet et sur quoi en particulier vous avez besoin de clarifications?
Aaron

1
Nous étions en train d'avoir une discussion sur l'opportunité de combiner les deux balises sur meta: meta.gis.stackexchange.com/questions/3677/…
Chris W

Réponses:


20

Oui, il s'agit de la même chose. Dans le domaine des SIG, nous avons tendance à les désigner sous le nom de polygones de Thiessen, d'après le météorologue américain qui a fréquenté leur utilisation. Dans d'autres domaines, en particulier les mathématiques et l'informatique, ils sont généralement appelés diagrammes de Voronoi, en l'honneur du mathématicien Georgy Voronyi. Les deux utilisations sont acceptables.


Bien que le concept soit le même, je me demande si l'implémentation dans chaque logiciel est ...
Chris W

@ChrisW C'est une question valable mais plutôt difficile à répondre, je suppose. Je pense que, comme la plupart des problèmes spatiaux, il existe plus d'une façon de résoudre le problème, ce qui suggère qu'il existe différentes implémentations.
WhiteboxDev

Désolé, j'étais plutôt rhétorique. Je voulais juste souligner que, bien que les concepts soient les mêmes et que vous obtiendrez généralement le même résultat (ou du moins le type de résultat) dans les deux logiciels, la façon dont ils s'y prennent pourrait ne pas être la même et les résultats pourraient pas exactement la même chose. Fondamentalement, choisir de lire plus dans la question que cela ne serait vraiment nécessaire, mais pourrait avoir de l'importance si vous êtes allé assez loin.
Chris W du

@ChrisW Oui, c'est ainsi que j'ai interprété votre question. Et c'est un point vraiment valable que vous soulevez. Je pense que les détails de mise en œuvre dans deux SIG offrant un outil polygonal Thiessen entraîneraient de légères différences de la même manière qu'un outil d'accumulation de flux ou de bassin versant appliqué aux mêmes données dans deux SIG différents pourrait différer légèrement. Il y a beaucoup de différence entre le fonctionnement théorique d'un algorithme et son implémentation de code informatique.
WhiteboxDev

@ChrisW Soit dit en passant, c'est exactement votre question qui m'a conduit à la notion de logiciel «en libre accès» et de Whitebox GAT en premier lieu. Si l'OP avait demandé comment fonctionne l'outil polygone Thiessen de Whitebox GAT, la réponse serait aussi simple que d'appuyer sur le bouton «Afficher le code» dans la boîte de dialogue de l'outil. Voir le blog lié pour plus de détails sur ce que je veux dire: whiteboxgeospatial.wordpress.com/2014/05/04/…
WhiteboxDev

9

Nous ne pouvons pas connaître la différence exacte car nous ne pouvons pas voir le code source de l'implémentation d'ESRI. Cependant, il apparaît d'un coup d'œil que les deux implémentations utilisent en fait la même méthode qui est une traduction approximative de l' algorithme sweepline classique de Steven Fortune .

Ici, vous pouvez voir le code source réel utilisé dans QGIS. Il comprend la description suivante:

For programmatic use two functions are available:

   computeVoronoiDiagram(points)

        Takes a list of point objects (which must have x and y fields).
        Returns a 3-tuple of:

           (1) a list of 2-tuples, which are the x,y coordinates of the
               Voronoi diagram vertices
           (2) a list of 3-tuples (a,b,c) which are the equations of the
               lines in the Voronoi diagram: a*x + b*y = c
           (3) a list of 3-tuples, (l, v1, v2) representing edges of the
               Voronoi diagram.  l is the index of the line, v1 and v2 are
               the indices of the vetices at the end of the edge.  If
               v1 or v2 is -1, the line extends to infinity.

   computeDelaunayTriangulation(points):

        Takes a list of point objects (which must have x and y fields).
        Returns a list of 3-tuples: the indices of the points that form a
        Delaunay triangle.

Maintenant, nous ne pouvons pas voir le code propriétaire d'ESRI qui pilote leur outil , mais la description de leur documentation révèle immédiatement que la base derrière les deux outils est la même:

Ces polygones proximaux sont construits comme suit:

Tous les points sont triangulés en un réseau irrégulier triangulé (TIN) qui répond au critère de Delaunay. Les bissectrices perpendiculaires pour chaque bord de triangle sont générées, formant les bords des polygones de Thiessen. L'emplacement auquel les bissectrices se croisent déterminent les emplacements des sommets du polygone de Thiessen.

Les nuances réelles du code pilotant les deux sont évidemment différentes, car il a été démontré que la traduction de Bill Simon a connu des bogues qui ne sont pas présents dans la version d'ESRI.

Il y a (comme cela a été indiqué dans les commentaires ci-dessus) plusieurs autres façons différentes de générer des diagrammes de Voronoi, même dans les SIG, comme cette méthodologie basée sur les trames . Il existe également d'autres méthodes vectorielles pour générer des diagrammes de Voronoi dans le SIG.

Il y a plusieurs avantages et inconvénients à chacune des méthodes. Par exemple, l'algorithme de Fortune est relativement rapide et bien documenté, mais il n'existe actuellement aucun moyen connu de générer des diagrammes de Voronoi pondérés multiplicativement en utilisant son implémentation directe.

Les méthodes raster sont généralement beaucoup plus lentes sur le plan du calcul, mais permettent la création de différents types de diagrammes de Voronoi ( tels que les diagrammes de Voronoi les plus éloignés ) sans réinventer complètement la méthodologie.

Divulgation complète: J'ai travaillé comme assistant de recherche pour le professeur qui a écrit le document sur la méthodologie basée sur les rasters pour générer des diagrammes de Voronoi.


TL; DR: Bien que les implémentations réelles diffèrent légèrement, elles sont basées sur le même algorithme et les deux devraient produire le même résultat (à part les quelques cas marginaux qui produisent les bogues notés dans la question de Dan Patterson liée ci-dessus).

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.