Quand on lit un fichier shp ou fichier shapefile, on lit un fichier de cartographie de type vecteur. On utilisera le package {sf}
pour lire ces fichiers de carte. En réalité, une couche spatiale au format shapefile doit être distribuée avec au minimum 4 fichiers du même nom, avec les extension shp, shx, dbf, prj. Sans ces 4 fichiers, vous ne pourrez probablement pas afficher votre carte correctement.
Regardons les fichiers inclus dans le package {sf}
, vous remarquerez qu’ils viennent tous par 4 :
list.files(system.file("shape", package="sf"))
[1] "nc.dbf" "nc.prj"
[3] "nc.shp" "nc.shx"
[5] "olinda1.dbf" "olinda1.prj"
[7] "olinda1.shp" "olinda1.shx"
[9] "storms_xyz_feature.dbf" "storms_xyz_feature.shp"
[11] "storms_xyz_feature.shx" "storms_xyz.dbf"
[13] "storms_xyz.shp" "storms_xyz.shx"
[15] "storms_xyzm_feature.dbf" "storms_xyzm_feature.shp"
[17] "storms_xyzm_feature.shx" "storms_xyzm.dbf"
[19] "storms_xyzm.shp" "storms_xyzm.shx"
Voici comment on lirait les fichiers nommés nc.*
s’ils étaient dans le même dossier que notre script R. En réalité, on ne lit que le fichier nommé nc.shp
, les autres sont lus en même temps par la fonction st_read()
:
nc <- st_read("nc.shp")
Ensuite, vous pourrez directement afficher la carte avec la méthode plot()
:
plot(nc)
Pour tester sur votre ordinateur un exemple reproductible, vous pouvez tester ce script :
library(sf)
nc = st_read(system.file("shape/nc.shp", package="sf"))
plot(nc)