« Accès à une BDD PostgreSQL » : différence entre les versions

Aller à la navigation Aller à la recherche
m
aucun résumé des modifications
mAucun résumé des modifications
mAucun résumé des modifications
Ligne 58 : Ligne 58 :
</syntaxhighlight>ou pour une table comprenant des géométries:<syntaxhighlight lang="r">
</syntaxhighlight>ou pour une table comprenant des géométries:<syntaxhighlight lang="r">
sf::st_read(dsn=conn,layer="StudyArea_reach_zone")
sf::st_read(dsn=conn,layer="StudyArea_reach_zone")
</syntaxhighlight>Pour des tables plus volumineuses, il peut être pertinent de réaliser un filtre (en SQL) avant de récupérer la donné
</syntaxhighlight>Pour des tables plus volumineuses, il peut être pertinent de réaliser un filtre (en SQL) avant de récupérer la donnée (voir section suivante).


Les fonctions suivante (du package glourbi, disponible ici :https://github.com/lvaudor/glourbi ) permettent de réaliser cette opération en filtrant les lignes relatives à une ville donnée (on lui fournit un citycode).
=== Quelques fonctions utiles en R pour interagir avec la BDD glourb ===


Pour une table sans géométries<syntaxhighlight lang="r">
Pour interagir avec la BDD glourb depuis R, quelques fonctions utiles sont disponibles dans le package glourbi, installable via la commande suivante:
 
<syntaxhighlight lang="r">
devtools::install_github("lvaudor/glourbi")
</syntaxhighlight>
 
Les identifiants uniques de villes dans la BDD glourb sont sous forme de citycode (par exemple "596477_20972" pour Lyon).
 
On peut passer du nom de ville au citycode et inversement par les fonctions suivantes:
 
<syntaxhighlight lang="r">
glourbi::to_citycode("Lyon") # renverra "596477_20972"
glourbi::to_cityname("596477_20972")  # renverra "Lyon"
</syntaxhighlight>
 
 
La fonction glourbi::connect_to_glourb() permet de créer une connexion à la base de données. On peut l'appeler de cette façon (une fois que les paramètres d'accès à la BDD sont enregistrés dans .Renviron)
<syntaxhighlight lang="r">
conn=glourbi::connect_to_glourb()
</syntaxhighlight>
 
 
Les fonctions suivante (du package glourbi, disponible ici :https://github.com/lvaudor/glourbi ) permettent de filtrer les lignes relatives à une ville donnée dans une table(on lui fournit un citycode en entrée).
 
Pour une table sans géométries
 
<syntaxhighlight lang="r">
get_city_tib <- function (name, thisCityCode, conn)  
get_city_tib <- function (name, thisCityCode, conn)  
{
{
Ligne 78 : Ligne 104 :
     return(result)
     return(result)
}
}
</syntaxhighlight>
On peut donc s'en servir de la manière suivante:
<syntaxhighlight lang="r">
conn=connect_to_glourb()
gsw_patches_Denver=get_city_sf(name="gsw_patches",
                              thisCityCode=glourbi::to_citycode("Denver-Aurora"),
                              conn=conn)
txt_page_Douala=get_city_tib(name="txt_page",
                            thisCityCode=glourbi::to_citycode("Douala"),
                            conn=conn)
</syntaxhighlight>
</syntaxhighlight>
[[Catégorie:Tutoriel]]
[[Catégorie:Tutoriel]]
[[Catégorie:Outils]]
[[Catégorie:Outils]]
[[Catégorie:Données]]
[[Catégorie:Données]]

Menu de navigation