Diagramme de Voronoï

Postez ici vos questions, réponses, commentaires ou suggestions - Les sujets seront ultérieurement répartis dans les archives par les modérateurs

Modérateur : Groupe des modérateurs

Kévin Dubois
Messages : 97
Enregistré le : 25 Mar 2019, 12:07

Diagramme de Voronoï

Messagepar Kévin Dubois » 09 Nov 2020, 21:46

Bonjour.

Je dispose d'un fichier de points géoréférencés au format geopackage (.gpkg), nommé "data". J'aimerais réaliser un diagramme de Voronoi de ces points.

Pour cela, je me base sur l'excellent tuto que j'ai trouvé grâce à mes recherches : https://rspatial.org/raster/analysis/4- ... ation.html
Malheureusement, il semblerait que la géométrie qu'utilise la couche de ce tuto ne soit pas la même que la mienne :

La couche du tuto :

Code : Tout sélectionner

head(d)
##      ID                 NAME   LAT    LONG ALT  JAN FEB MAR APR MAY JUN
## 1 ID741         DEATH VALLEY 36.47 -116.87 -59  7.4 9.5 7.5 3.4 1.7 1.0
## 2 ID743  THERMAL/FAA AIRPORT 33.63 -116.17 -34  9.2 6.9 7.9 1.8 1.6 0.4
## 3 ID744          BRAWLEY 2SW 32.96 -115.55 -31 11.3 8.3 7.6 2.0 0.8 0.1
## 4 ID753 IMPERIAL/FAA AIRPORT 32.83 -115.57 -18 10.6 7.0 6.1 2.5 0.2 0.0
## 5 ID754               NILAND 33.28 -115.51 -18  9.0 8.0 9.0 3.0 0.0 1.0
## 6 ID758        EL CENTRO/NAF 32.82 -115.67 -13  9.8 1.6 3.7 3.0 0.4 0.0


Ma couche :

Code : Tout sélectionner

> class(data$geom)
[1] "sfc_POINT" "sfc" 


De cette manière, si je ceci, je reçois l'erreur suivante :

Code : Tout sélectionner

library(sf)
library(dismo)
data = st_read("data.gpkg")

v <- voronoi(data)

Error in deldir::deldir(xy[, 1], xy[, 2], rw = ext, eps = eps, suppressMsge = TRUE) :
  Lengths "x" and "y" do not match.


Comment pourrais-je m'y prendre ? Le projet R avec mon fichier .gpkg est en pièce jointe.

https://drive.google.com/file/d/1-kZs6r ... sp=sharing

Merci.

Serge Rapenne
Messages : 1426
Enregistré le : 20 Aoû 2007, 15:17
Contact :

Re: Diagramme de Voronoï

Messagepar Serge Rapenne » 09 Nov 2020, 22:07

Bonjour,

ta couche est au format sfc_point , dans ton tuto les données sont dans un data.frame. Il faut que tu transformes le sfc-point en df.
Je n'ai pas pu ouvrir tes données, j'ai une erreur à la décompression du rar mais la fonction st_coordinates devrait te permettre d'extraire les coordonnées de l'objet sfc point et de reconstituer un df.

Serge

Edit Apres avoir lu l'aide de la fonction voronoi, je pense que voronoi(st_coordinate(data)) devrait faire l'affaire


Retourner vers « Questions en cours »

Qui est en ligne

Utilisateurs parcourant ce forum : Aucun utilisateur enregistré et 1 invité