Skip to content
Snippets Groups Projects
Commit 7bd4f757 authored by ronan.vignard's avatar ronan.vignard
Browse files

Ajout des tests pour import_geopackage () + modification de la fonction

parent 729af192
No related branches found
No related tags found
1 merge request!58Ajout des tests pour import_geopackage () + modification de la fonction
......@@ -28,17 +28,17 @@ import_geopackage <- function(filepath) {
donnees_sf <- sf::st_read(filepath)
# Convertir les données spatiales en un dataframe
donnees_dataframe <- as.data.frame(donnees_sf)
# donnees_sf <- as.data.frame(donnees_sf)
# Formater les noms des colonnes
colnames(donnees_dataframe) <- format_colnames(colnames(donnees_dataframe))
colnames(donnees_sf) <- format_colnames(colnames(donnees_sf))
# Renommer la colonne de géométrie en "the_geom" si elle est nommée "geometry" ou "geom"
if ("geometry" %in% colnames(donnees_dataframe)) {
colnames(donnees_dataframe)[colnames(donnees_dataframe) == "geometry"] <- "the_geom"
} else if ("geom" %in% colnames(donnees_dataframe)) {
colnames(donnees_dataframe)[colnames(donnees_dataframe) == "geom"] <- "the_geom"
# Renommer la colonne de géométrie en "the_geom" si nécessaire
nom_geom <- attr(donnees_sf, "sf_column") # Trouver la colonne de géométrie
if (!is.null(nom_geom) && nom_geom %in% colnames(donnees_sf)) {
colnames(donnees_sf)[colnames(donnees_sf) == nom_geom] <- "the_geom"
sf::st_geometry(donnees_sf) <- "the_geom" # Mise à jour du slot sf
}
return(donnees_dataframe)
return(donnees_sf)
}
......@@ -82,6 +82,7 @@ usethis::use_r("download_and_extract_wfs")
usethis::use_r("format_colnames")
usethis::use_r("format_filepath")
usethis::use_r("get_variable_completion_rate")
usethis::use_r("import_geopackage")
usethis::use_r("import_shapefile")
usethis::use_r("modify_column_type")
usethis::use_r("remove_special_chars")
......@@ -101,6 +102,7 @@ usethis::use_test("download_and_extract_wfs")
usethis::use_test("format_colnames")
usethis::use_test("format_filepath")
usethis::use_test("get_variable_completion_rate")
usethis::use_test("import_geopackage")
usethis::use_test("import_shapefile")
usethis::use_test("modify_column_type")
usethis::use_test("remove_special_chars")
......
test_that("import_geopackage works", {
# Import du fichier Shapefile
aerodrome <- import_geopackage(system.file("aerodrome.gpkg", package = "collectr"))
# Vérification de la présence d'un objet sf
expect_s3_class(aerodrome, "sf")
# Vérification que le champs the_geom a été créé
expect_true("the_geom" %in% colnames(aerodrome))
# Vérification que le nombre d'enregistrements correspond
expect_equal(nrow(aerodrome), 1239)
# Vérification de l'affichage d'un message d'erreur en cas d'absence du fichier
expect_error(
object = import_geopackage(system.file("routes.gpkg", package = "collectr")),
regexp = "Le fichier Geopackage n\'existe pas."
)
})
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment