Il s'agit de la commande v.db.connectgrass qui peut être exécutée dans le fournisseur d'hébergement gratuit OnWorks en utilisant l'un de nos multiples postes de travail en ligne gratuits tels que Ubuntu Online, Fedora Online, l'émulateur en ligne Windows ou l'émulateur en ligne MAC OS
PROGRAMME:
Nom
v.db.connect - Imprime/définit la connexion à la base de données pour une carte vectorielle à la table attributaire.
MOTS-CLÉS
vecteur, table attributaire, base de données, couche
SYNOPSIS
v.db.connect
v.db.connect --Aidez-moi
v.db.connect [-pgcod] Localisation=prénom [driver=prénom] [base de données=prénom] [table=prénom]
[clé=prénom] [couche=un magnifique] [séparateur=caractère] [--écraser] [--vous aider] [--verbeux]
[--calme] [--ui]
Drapeaux:
-p
Imprimer tous les paramètres de connexion à la carte et quitter
-g
Imprimer tous les paramètres de connexion de carte dans le style de script shell et quitter
Format : pilote de base de données de clés de table layer[/layer name]
-c
Imprimer les types/noms des colonnes du tableau pour la couche spécifiée et quitter
-o
Ecraser le paramètre de connexion pour certaines couches
-d
Supprimer la connexion pour certaines couches (pas la table)
--écraser
Autoriser les fichiers de sortie à écraser les fichiers existants
--Aidez-moi
Imprimer le récapitulatif d'utilisation
--verbeux
Sortie du module verbeux
--silencieux
Sortie module silencieuse
--interface utilisateur
Forcer le lancement de la boîte de dialogue GUI
Paramètres:
Localisation=prénom [obligatoire]
Nom de la carte vectorielle
Ou source de données pour un accès OGR direct
driver=prénom
Nom du pilote de base de données
Options: mysql ODBC, sqlite page, ogr, dbf
Valeur par défaut: sqlite
base de données=prénom
Nom de la base de données
Valeur par défaut: $GISDBASE/$LOCATION_NAME/$MAPSET/sqlite/sqlite.db
table=prénom
Nom de la table attributaire
clé=prénom
Nom de la colonne clé
Doit faire référence à une colonne entière
Valeur par défaut: cat
couche=un magnifique
Numéro ou nom de la couche
Format : numéro de couche[/nom de couche]
Valeur par défaut: 1
séparateur=caractère
Séparateur de champs pour la sortie de style de script shell
Caractères spéciaux : barre verticale, virgule, espace, tabulation, nouvelle ligne
Valeur par défaut: pipe
DESCRIPTION
v.db.connect imprime ou définit la connexion à la base de données pour une carte vectorielle. L'utilisateur peut ajouter ou
supprimer le lien vers la table attributaire sur la certaine couche.
REMARQUE
Les informations de connexion (pilote, base de données, table, clé) sont stockées pour chaque carte, dans le fichier
/ / /vecteur/ /dbln
Si les paramètres de connexion à la base de données sont déjà définis avec db.connect, ils sont pris comme
valeurs par défaut et n'ont pas besoin d'être spécifiés à chaque fois.
Lors de l'impression de la connexion à la base de données (p or g flag) le paramètre couche est ignoré, c'est-à-dire tous
les connexions sont imprimées sur la sortie.
Attention : Supprimer une carte vectorielle supprimera également toutes les tables qui lui sont liées ! Si tu utilises
v.db.connect pour lier d'autres tables à votre carte, il est conseillé d'en faire une copie
tables d'abord et connectez les tables copiées à la carte vectorielle (voir aussi v.overlay).
EXEMPLE
Remarque : le paramètre par défaut du backend de la base de données est SQLite.
Imprimé base de données connexion
Imprimez tous les paramètres de connexion à la base de données pour la carte vectorielle.
v.db.connect -p map=routes
Imprimer les types de colonnes et les noms de table liés à la carte vectorielle.
v.db.connect -c map=routes
Connectez vecteur Localisation à base de données (DBF conducteur)
Connectez la carte vectorielle à la table DBF sans ou avec des variables.
Utilisation de la connexion DB par défaut :
v.db.connect map=table de carte vectorielle=table
Utilisation d'un chemin codé en dur vers le répertoire DBF (non recommandé) :
v.db.connect map=map vectorielle table=table \
base de données=/home/user/grassdata/spearfish60/PERMANENT/dbf
En utilisant une variable comme définition de répertoire DBF, des guillemets simples doivent être utilisés :
v.db.connect map=map vectorielle table=table \
base de données='$GISDBASE/$LOCATION_NAME/$MAPSET/dbf/'
Connectez la couche de carte vectorielle 2 et l'ID de clé à la base de données avec des variables (remarque : si nécessaire, un seul
les guillemets doivent être utilisés pour base de données paramètre):
v.db.connect map=table de carte vectorielle=couche de table=2 clé=ID
Connectez vecteur Localisation à base de données (SQLite conducteur)
Très similaire à l'exemple de pilote DBF ci-dessus.
db.connect driver=sqlite database='$GISDBASE/$LOCATION_NAME/$MAPSET/sqlite/sqlite.db'
db.tables -p
v.db.connect map = vectormap table = table driver = sqlite \
database='$GISDBASE/$LOCATION_NAME/$MAPSET/sqlite/sqlite.db'
v.db.connect -p map=carte vectorielle
Connectez vecteur Localisation à base de données (MySQL conducteur)
# note : connexion qui nécessite un mot de passe
db.connect driver=mysql database="host=dbserver.foo.org,dbname=my_database"
db.login user=joshua [mot de passe=xxx]
# ... ou entrez le mot de passe de manière interactive.
db.tables -p
# connecter la table externe à la couche 2 :
v.db.connect map=my_map table=my_mysql_table key=baz layer=2
v.db.connect -p ma_carte
Connectez vecteur Localisation à base de données (PostgreSQL conducteur)
# note : connexion sans mot de passe demandé
v.db.connect map = vectormap table = table layer = 1 key = oid driver = pg \
database="host=myserver.itc.it,dbname=mydb,user=name" \
table=matable key=id
Boutique géométrie in GRASS mais attributs in PostgreSQL
Cet exemple illustre un stockage de données mixte avec possibilité d'attributs de mise à jour supérieurs dans
base de données PostgreSQL externe :
# Vérifiez les paramètres actuels pour le stockage des attributs :
db.connect -p
# Importer une table de PostgreSQL vers une nouvelle carte
# (REMARQUE : le nom de la carte de sortie doit être différent du nom de la table dans
# cas où GRASS est connecté à PostgreSQL) :
v.in.db driver=pg database="host=localhost,dbname=meteo" \
table=matable x=lon y=lat key=cat out=matable
v.db.connect map=matable -p
# Annulation de la connexion de la table entre la carte et la table attributaire :
v.db.connect map=matable -d
v.db.connect map=matable -p
# Supprimer la table qui a été répliquée en raison de l'importation :
db.tables -p
echo "DROP TABLE matable" | db.execute
db.tables -p
# reconnectez la carte à la table dans PostgreSQL :
v.db.connect map=mytable driver=pg database="host=localhost,dbname=meteo" \
table=mytable key=chat
# Maintenant, la géométrie est stockée dans GRASS tandis que les attributs sont stockés
# dans PostgreSQL.
Une alternative consiste à créer une "vue" des colonnes ID, x, y [,z] uniquement et d'utiliser v.in.db sur
cette vue, puis connectez la table d'origine à la géométrie. Ce sera plus rapide si le
la table d'origine est très grande.
Boutique géométrie in GRASS mais attributs in PostGIS
Cet exemple illustre un stockage de données mixte avec possibilité d'attributs de mise à jour supérieurs dans
base de données PostGIS externe :
# Vérifiez les paramètres actuels pour le stockage des attributs :
db.connect -p
# Importer une table de PostGIS vers une nouvelle carte
# (REMARQUE : le nom de la carte de sortie doit être différent du nom de la table dans
# cas où GRASS est connecté à PostGIS) :
v.in.db driver=pg database="host=localhost,dbname=meteo" \
table=mytable x="x(geom)" y="y(geom)" key=cat out=mytable
v.db.connect map=matable -p
# Annulation de la connexion de la table entre la carte et la table attributaire :
v.db.connect map=matable -d
v.db.connect map=matable -p
# Supprimer la table qui a été répliquée en raison de l'importation :
db.tables -p
echo "DROP TABLE matable" | db.execute
db.tables -p
# reconnectez la carte à la table dans PostGIS :
v.db.connect map=mytable driver=pg database="host=localhost,dbname=meteo" \
table=mytable key=chat
# Maintenant, la géométrie est stockée dans GRASS tandis que les attributs sont stockés
# dans PostGIS.
Utilisez v.db.connectgrass en ligne en utilisant les services onworks.net