ນີ້ແມ່ນຄໍາສັ່ງ v.db.connectgrass ທີ່ສາມາດດໍາເນີນການໄດ້ໃນ OnWorks ຜູ້ໃຫ້ບໍລິການໂຮດຕິ້ງຟຣີໂດຍໃຊ້ຫນຶ່ງໃນຫຼາຍໆບ່ອນເຮັດວຽກອອນໄລນ໌ຂອງພວກເຮົາເຊັ່ນ Ubuntu Online, Fedora Online, Windows online emulator ຫຼື MAC OS online emulator
ໂຄງການ:
NAME
v.db.connect - ພິມ / ກໍານົດການເຊື່ອມຕໍ່ DB ສໍາລັບແຜນທີ່ vector ກັບຕາຕະລາງຄຸນລັກສະນະ.
KEYWORDS
vector, attribute table, database, layer
ສະຫຼຸບສັງລວມ
v.db.connect
v.db.connect - ຊ່ວຍ
v.db.connect [-pgcod] ແຜນທີ່=ຊື່ [ຄົນຂັບ=ຊື່] [ຖານຂໍ້ມູນ=ຊື່] [ຕາຕະລາງ=ຊື່]
[ທີ່ສໍາຄັນ=ຊື່] [ຊັ້ນ=string] [separator=ລັກສະນະ] [--ຂຽນທັບ] [--ຊ່ວຍເຫຼືອ] [--ຄຳເວົ້າ]
[--ງຽບ] [--ui]
ທຸງ:
-p
ພິມຕົວກໍານົດການເຊື່ອມຕໍ່ແຜນທີ່ທັງຫມົດແລະອອກ
-g
ພິມຕົວກໍານົດການເຊື່ອມຕໍ່ແຜນທີ່ທັງຫມົດໃນຮູບແບບ shell script ແລະອອກ
ຮູບແບບ: layer[/layer name] table key database driver
-c
ພິມປະເພດ/ຊື່ຂອງຖັນຕາຕະລາງສຳລັບຊັ້ນຂໍ້ມູນທີ່ລະບຸ ແລະອອກ
-o
ຂຽນທັບຕົວກໍານົດການເຊື່ອມຕໍ່ສໍາລັບຊັ້ນຂໍ້ມູນສະເພາະ
-d
ລຶບການເຊື່ອມຕໍ່ສໍາລັບຊັ້ນຂໍ້ມູນສະເພາະ (ບໍ່ແມ່ນຕາຕະລາງ)
--ຂຽນທັບ
ອະນຸຍາດໃຫ້ໄຟລ໌ຜົນຜະລິດຂຽນທັບໄຟລ໌ທີ່ມີຢູ່ແລ້ວ
- ຊ່ວຍ
ພິມສະຫຼຸບການນຳໃຊ້
-- verbose
ຜົນຜະລິດໂມດູນ Verbose
--ງຽບ
ຜົນຜະລິດໂມດູນງຽບ
--ui
ບັງຄັບໃຫ້ເປີດກ່ອງໂຕ້ຕອບ GUI
ຕົວກໍານົດການ:
ແຜນທີ່=ຊື່ [ຕ້ອງການ]
ຊື່ຂອງແຜນທີ່ vector
ຫຼືແຫຼ່ງຂໍ້ມູນສໍາລັບການເຂົ້າເຖິງ OGR ໂດຍກົງ
ຄົນຂັບ=ຊື່
ຊື່ຂອງໄດເວີຖານຂໍ້ມູນ
ຕົວເລືອກ: mysql, odbc, sqlite, ຫນ້າ, ogr, dbf
ມາດຕະຖານ: sqlite
ຖານຂໍ້ມູນ=ຊື່
ຊື່ຂອງຖານຂໍ້ມູນ
ມາດຕະຖານ: $GISDBASE/$LOCATION_NAME/$MAPSET/sqlite/sqlite.db
ຕາຕະລາງ=ຊື່
ຊື່ຂອງຕາຕະລາງຄຸນລັກສະນະ
ທີ່ສໍາຄັນ=ຊື່
ຊື່ຖັນຫຼັກ
ຕ້ອງອ້າງອີງໃສ່ຖັນຈຳນວນເຕັມ
ມາດຕະຖານ: cat
ຊັ້ນ=string
ເລກຊັ້ນ ຫຼືຊື່
ຮູບແບບ: ເລກຊັ້ນ[/ຊື່ຊັ້ນ]
ມາດຕະຖານ: 1
separator=ລັກສະນະ
ຕົວຂັ້ນຊ່ອງຂໍ້ມູນສໍາລັບການສົ່ງອອກຮູບແບບສະຄຣິບຂອງແກະ
ລັກສະນະພິເສດ: ທໍ່, ເຄື່ອງໝາຍຈຸດ, ຍະຫວ່າງ, ແຖບ, ແຖວໃໝ່
ມາດຕະຖານ: ທໍ່
ລາຍລະອຽດ
v.db.connect ພິມຫຼືກໍານົດການເຊື່ອມຕໍ່ຖານຂໍ້ມູນສໍາລັບແຜນທີ່ vector. ຜູ້ໃຊ້ສາມາດເພີ່ມຫຼື
ເອົາລິ້ງໄປຫາຕາຕະລາງຄຸນລັກສະນະໃນຊັ້ນສະເພາະ.
ຫມາຍເຫດ
ຂໍ້ມູນການເຊື່ອມຕໍ່ (ໄດເວີ, ຖານຂໍ້ມູນ, ຕາຕະລາງ, ຄີ) ຖືກເກັບໄວ້ສໍາລັບແຕ່ລະແຜນທີ່, ໃນໄຟລ໌
/ / /vector/ /dbln
ຖ້າພາລາມິເຕີສໍາລັບການເຊື່ອມຕໍ່ຖານຂໍ້ມູນຖືກຕັ້ງໄວ້ແລ້ວກັບ db.connect, ພວກມັນຈະຖືກປະຕິບັດເປັນ
ຄ່າເລີ່ມຕົ້ນ ແລະບໍ່ຈໍາເປັນຕ້ອງລະບຸແຕ່ລະຄັ້ງ.
ເມື່ອພິມການເຊື່ອມຕໍ່ຖານຂໍ້ມູນ (p or g flag) ພາລາມິເຕີ ຊັ້ນ ຖືກລະເລີຍ, ie ທັງຫມົດ
ການເຊື່ອມຕໍ່ຖືກພິມອອກໄປຫາຜົນໄດ້ຮັບ.
ເອົາໃຈໃສ່: ການລຶບແຜນທີ່ vector ຈະລຶບທຸກຕາຕະລາງທີ່ເຊື່ອມໂຍງກັບມັນອອກນຳ! ຖ້າທ່ານໃຊ້
v.db.connect ເພື່ອເຊື່ອມຕໍ່ຕາຕະລາງເພີ່ມເຕີມກັບແຜນທີ່ຂອງທ່ານ, ມັນແມ່ນແນະນໍາໃຫ້ເຮັດສໍາເນົາຈາກເຫຼົ່ານັ້ນ
ຕາຕະລາງທໍາອິດແລະເຊື່ອມຕໍ່ຕາຕະລາງທີ່ຄັດລອກກັບແຜນທີ່ vector (ເບິ່ງ v.overlay).
EXAMPLE
ຫມາຍເຫດ: ການຕັ້ງຄ່າ backend ຖານຂໍ້ມູນເລີ່ມຕົ້ນແມ່ນ SQLite.
ພິມ ຖານຂໍ້ມູນ ການເຊື່ອມຕໍ່
ພິມຕົວກໍານົດການເຊື່ອມຕໍ່ຖານຂໍ້ມູນທັງຫມົດສໍາລັບແຜນທີ່ vector.
v.db.connect -p map=roads
ພິມປະເພດຖັນ ແລະຊື່ຂອງຕາຕະລາງທີ່ເຊື່ອມຕໍ່ກັບແຜນທີ່ vector.
v.db.connect -c map=roads
ເຊື່ອມຕໍ່ vector ແຜນທີ່ to ຖານຂໍ້ມູນ (DBF ຄົນຂັບ)
ເຊື່ອມຕໍ່ແຜນທີ່ vector ກັບຕາຕະລາງ DBF ໂດຍບໍ່ມີຫຼືມີຕົວແປ.
ໃຊ້ການເຊື່ອມຕໍ່ DB ເລີ່ມຕົ້ນ:
v.db.connect map=vectormap table=ຕາຕະລາງ
ການນໍາໃຊ້ເສັ້ນທາງ hardcoded ໄປຫາໄດເລກະທໍລີ DBF (ບໍ່ແນະນໍາ):
v.db.connect map=vectormap table=ຕາຕະລາງ \
database=/home/user/grassdata/spearfish60/PERMANENT/dbf
ການນໍາໃຊ້ຕົວແປເປັນຄໍານິຍາມໄດເລກະທໍລີ DBF, ວົງຢືມດຽວຕ້ອງຖືກນໍາໃຊ້:
v.db.connect map=vectormap table=ຕາຕະລາງ \
database='$GISDBASE/$LOCATION_NAME/$MAPSET/dbf/'
ເຊື່ອມຕໍ່ vector map layer 2 ແລະ key ID ກັບຖານຂໍ້ມູນທີ່ມີຕົວແປ (ຫມາຍເຫດ: ຖ້າຕ້ອງການ, ດຽວ
ວົງຢືມຕ້ອງຖືກນໍາໃຊ້ສໍາລັບການ ຖານຂໍ້ມູນ ພາລາມິເຕີ):
v.db.connect map=vectormap table=table layer=2 key=ID
ເຊື່ອມຕໍ່ vector ແຜນທີ່ to ຖານຂໍ້ມູນ (SQLite ຄົນຂັບ)
ຄ້າຍຄືກັນກັບຕົວຢ່າງຂອງໄດເວີ DBF ຂ້າງເທິງ.
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=vectormap
ເຊື່ອມຕໍ່ vector ແຜນທີ່ to ຖານຂໍ້ມູນ (MySQL ຄົນຂັບ)
# ໝາຍເຫດ: ການເຊື່ອມຕໍ່ທີ່ຕ້ອງການລະຫັດຜ່ານ
db.connect driver=mysql database="host=dbserver.foo.org,dbname=my_database"
db.login user=joshua [ລະຫັດຜ່ານ=xxx]
# ... ຫຼືໃສ່ລະຫັດຜ່ານແບບໂຕ້ຕອບ.
db.tables -p
# ເຊື່ອມຕໍ່ຕາຕະລາງພາຍນອກກັບຊັ້ນ 2:
v.db.connect map=my_map table=my_mysql_table key=baz layer=2
v.db.connect -p my_map
ເຊື່ອມຕໍ່ vector ແຜນທີ່ to ຖານຂໍ້ມູນ (PostgreSQL ຄົນຂັບ)
# ໝາຍເຫດ: ການເຊື່ອມຕໍ່ໂດຍບໍ່ມີການຖາມລະຫັດຜ່ານ
v.db.connect map=vectormap table=table layer=1 key=oid driver=pg \
database="host=myserver.itc.it,dbname=mydb,user=name" \
table=mytable key=id
Store ເລຂາຄະນິດ in GRASS ແຕ່ attributes in PostgreSQL
ຕົວຢ່າງນີ້ສະແດງໃຫ້ເຫັນເຖິງການເກັບຮັກສາຂໍ້ມູນແບບປະສົມກັບຄວາມເປັນໄປໄດ້ຂອງຄຸນລັກສະນະການປັບປຸງສູງສຸດໃນ
ຖານຂໍ້ມູນ PostgreSQL ພາຍນອກ:
# ກວດເບິ່ງການຕັ້ງຄ່າປະຈຸບັນສໍາລັບການເກັບຮັກສາຄຸນລັກສະນະ:
db.connect -p
# ນໍາເຂົ້າຕາຕະລາງຈາກ PostgreSQL ໄປຫາແຜນທີ່ໃຫມ່
# (ໝາຍເຫດ: ຊື່ແຜນທີ່ຜົນຜະລິດຕ້ອງແຕກຕ່າງຈາກຊື່ຕາຕະລາງໃນ
# ກໍລະນີທີ່ GRASS ເຊື່ອມຕໍ່ກັບ PostgreSQL):
v.in.db driver=pg database="host=localhost,dbname=meteo" \
table=mytable x=lon y=lat key=cat out=mytable
v.db.connect map=mytable -p
# ຍົກເລີກການເຊື່ອມຕໍ່ຕາຕະລາງລະຫວ່າງແຜນທີ່ແລະຕາຕະລາງຄຸນລັກສະນະ:
v.db.connect map=mytable -d
v.db.connect map=mytable -p
# ຕາຕະລາງການຫຼຸດລົງທີ່ຖືກຈໍາລອງເນື່ອງຈາກການນໍາເຂົ້າ:
db.tables -p
echo "Drop TABLE mytable" | db. ປະຕິບັດ
db.tables -p
# ເຊື່ອມຕໍ່ແຜນທີ່ກັບຕາຕະລາງໃນ PostgreSQL:
v.db.connect map=mytable driver=pg database="host=localhost,dbname=meteo" \
table=mytable key=cat
# ຕອນນີ້ເລຂາຄະນິດຖືກເກັບໄວ້ໃນ GRASS ໃນຂະນະທີ່ຄຸນລັກສະນະຖືກເກັບໄວ້
# ໃນ PostgreSQL.
ທາງເລືອກແມ່ນເພື່ອສ້າງ "ເບິ່ງ" ຂອງພຽງແຕ່ ID, x, y [,z] ຄໍລໍາແລະການນໍາໃຊ້ v.in.db ໃນ.
ມຸມເບິ່ງນີ້, ຫຼັງຈາກນັ້ນເຊື່ອມຕໍ່ຕາຕະລາງຕົ້ນສະບັບກັບເລຂາຄະນິດ. ນີ້ຈະໄວຂຶ້ນຖ້າຫາກວ່າ
ຕາຕະລາງຕົ້ນສະບັບມີຂະຫນາດໃຫຍ່ຫຼາຍ.
Store ເລຂາຄະນິດ in GRASS ແຕ່ attributes in PostGIS
ຕົວຢ່າງນີ້ສະແດງໃຫ້ເຫັນເຖິງການເກັບຮັກສາຂໍ້ມູນແບບປະສົມກັບຄວາມເປັນໄປໄດ້ຂອງຄຸນລັກສະນະການປັບປຸງສູງສຸດໃນ
ຖານຂໍ້ມູນ PostGIS ພາຍນອກ:
# ກວດເບິ່ງການຕັ້ງຄ່າປະຈຸບັນສໍາລັບການເກັບຮັກສາຄຸນລັກສະນະ:
db.connect -p
# ຕາຕະລາງນໍາເຂົ້າຈາກ PostGIS ໄປຫາແຜນທີ່ໃຫມ່
# (ໝາຍເຫດ: ຊື່ແຜນທີ່ຜົນຜະລິດຕ້ອງແຕກຕ່າງຈາກຊື່ຕາຕະລາງໃນ
# ກໍລະນີທີ່ GRASS ເຊື່ອມຕໍ່ກັບ 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=mytable -p
# ຍົກເລີກການເຊື່ອມຕໍ່ຕາຕະລາງລະຫວ່າງແຜນທີ່ແລະຕາຕະລາງຄຸນລັກສະນະ:
v.db.connect map=mytable -d
v.db.connect map=mytable -p
# ຕາຕະລາງການຫຼຸດລົງທີ່ຖືກຈໍາລອງເນື່ອງຈາກການນໍາເຂົ້າ:
db.tables -p
echo "Drop TABLE mytable" | db. ປະຕິບັດ
db.tables -p
# ເຊື່ອມຕໍ່ແຜນທີ່ກັບຕາຕະລາງໃນ PostGIS:
v.db.connect map=mytable driver=pg database="host=localhost,dbname=meteo" \
table=mytable key=cat
# ຕອນນີ້ເລຂາຄະນິດຖືກເກັບໄວ້ໃນ GRASS ໃນຂະນະທີ່ຄຸນລັກສະນະຖືກເກັບໄວ້
# ໃນ PostGIS.
ໃຊ້ v.db.connectgrass ອອນລາຍໂດຍໃຊ້ບໍລິການ onworks.net