[Résolu] Intégration polygone shp

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

Laëtitia VIBERT
Messages : 42
Enregistré le : 16 Avr 2019, 10:13

[Résolu] Intégration polygone shp

Messagepar Laëtitia VIBERT » 17 Mar 2021, 07:07

Bonjour,

Je suis à la recherche d'un tutoriel accessible ou d'une personne pour m'expliquer comment, à partir d'un polygone shp créé sous QGIS, je peux créer une nouvelle variable binaire dans mon dataset, indiquant pour tous les points s'ils sont présents ou absents de ce polygone (sachant que j'ai les latitudes/longitudes de tous les points)
Quels sont les paramètres à prendre en compte des deux côtés ? La projection ? Le format des lat/long ?
J'imagine qu'il faut utiliser le package sp et la library rgdal, mais je n'en sais pas plus.

Je sais que ce forum est préférentiellement utilisé lorsqu'on a des questions plus précises, mais cela me serait vraiment d'une grande aide !

Merci à tous

Laëtitia
L.

Sébastien Rochette
Messages : 54
Enregistré le : 03 Juil 2020, 12:43
Contact :

Re: intégration polygone shp

Messagepar Sébastien Rochette » 17 Mar 2021, 07:32

Bonjour,

En ce qui concerne la cartographie avec R, je vous conseille plutôt de vous orienter vers le package {sf}. Les autres sont obsolètes de l'aveu même des développeurs.
J'ai rédigé un article de blog pour faire vos premiers pas dans ce domaine. J'y parle des projections, des objets, des jointures spatiales. Ce dont vous avez besoin pour votre projet.
Retrouvez cet article ici : https://statnmap.com/fr/2018-07-14-initiation-a-la-cartographie-avec-sf-et-compagnie/
Sébastien
Dev, Consult, Formateur
ThinkR

Laëtitia VIBERT
Messages : 42
Enregistré le : 16 Avr 2019, 10:13

Re: intégration polygone shp

Messagepar Laëtitia VIBERT » 17 Mar 2021, 07:39

Super, merci beaucoup Sébastien, je vais lire votre article tout de suite !
L.

Laëtitia VIBERT
Messages : 42
Enregistré le : 16 Avr 2019, 10:13

Re: intégration polygone shp

Messagepar Laëtitia VIBERT » 21 Mar 2021, 14:32

[EDIT]
Merci Sébastien pour l'article. Grâce à quelques recherches complémentaires, j'ai pu bien avancer !
Pour toute personne intéressée, voici un aperçu du code utilisé

Code : Tout sélectionner

## load csv coordinate file ##
loc <- structure(list(ID = c("A", "B", "C", "D", "E"),
                      Longitude = c(3.5, 2.8, 1.1, 2.2, 4.3),
                      Latitude = c(3, 4.1, 2.3, 3.0, 3.6)),
                      row.names = c(NA, -5L), class = c("tbl_df", "tbl", "data.frame"))
                 
## transform as sf object ##
GPS_loc <- st_as_sf(loc, coords = c("Longitude", "Latitude"), dim = "XY", crs = 4326)
                 
## load shp file of study zone ##
study_zone <- data.frame(lon = c(2, 4, 4, 2, 2), lat = c(2, 2, 4, 4,2), var = 1) %>%
  st_as_sf(coords = c("lon", "lat"), dim = "XY") %>% st_set_crs(4326) %>%
  summarise(var = sum(var), do_union = F) %>% st_cast("POLYGON")
plot(st_geometry(GPS_loc))
plot(st_geometry(study_zone), add = T)
                 
## look for points within the polygon ##
is_within_SZ <- st_within(GPS_loc, study_zone) %>%
  lapply(FUN = function(x) data.frame(ind = length(x))) %>%
  bind_rows()
                 
## add to the tbl ##
loc %>%
  mutate(inside = is_within_SZ$ind) ->
  loc2
loc2    #points inside the study zone noted 1, outside noted 0


Ce n'est peut-être pas la méthode la plus propre ni la plus rapide, mais c'est tout ce que j'ai trouvé, et avec mon gros jeu de données et mes 6 polygones, ça tourne en une vingtaine de minutes, donc ça reste raisonnable =)
L.


Retourner vers « Questions en cours »

Qui est en ligne

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