นี่คือคำสั่ง v.db.reconnect.allgrass ที่สามารถเรียกใช้ในผู้ให้บริการโฮสต์ฟรีของ OnWorks โดยใช้หนึ่งในเวิร์กสเตชันออนไลน์ฟรีของเรา เช่น Ubuntu Online, Fedora Online, โปรแกรมจำลองออนไลน์ของ Windows หรือโปรแกรมจำลองออนไลน์ของ MAC OS
โครงการ:
ชื่อ
v.db.reconnect.all - เชื่อมต่อตารางแอตทริบิวต์อีกครั้งสำหรับแผนที่เวกเตอร์ทั้งหมดจากปัจจุบัน
mapset ไปยังฐานข้อมูลใหม่
KEYWORDS
เวกเตอร์, ตารางแอตทริบิวต์, ฐานข้อมูล
เรื่องย่อ
v.db.reconnect.all
v.db.reconnect.all --ช่วยด้วย
v.db.reconnect.all [-cd] [old_database=พร้อมชื่อ] [old_schema=พร้อมชื่อ] [ใหม่_ไดรเวอร์=เชือก]
[ใหม่_ฐานข้อมูล=พร้อมชื่อ] [ใหม่_สคีมา=พร้อมชื่อ-ช่วย-ละเอียด-เงียบสงบ-ui]
ธง:
-c
คัดลอกตารางแอตทริบิวต์ไปยังฐานข้อมูลเป้าหมายหากไม่มีอยู่
-d
ลบตารางแอตทริบิวต์จากฐานข้อมูลต้นทาง
--ช่วยด้วย
พิมพ์สรุปการใช้งาน
--รายละเอียด
เอาต์พุตโมดูล verbose
--เงียบ
เอาต์พุตโมดูลเงียบ
--UI
บังคับให้เปิดใช้กล่องโต้ตอบ GUI
พารามิเตอร์:
old_database=พร้อมชื่อ
ชื่อของฐานข้อมูลต้นทาง
old_schema=พร้อมชื่อ
ชื่อของสคีมาฐานข้อมูลต้นทาง
อย่าใช้ตัวเลือกนี้หากเซิร์ฟเวอร์ไดรเวอร์/ฐานข้อมูลไม่รองรับสกีมา
ใหม่_ไดรเวอร์=เชือก
ชื่อไดรเวอร์เป้าหมาย
ใหม่_ฐานข้อมูล=พร้อมชื่อ
ชื่อฐานข้อมูลเป้าหมาย
ใหม่_สคีมา=พร้อมชื่อ
ชื่อสคีมาฐานข้อมูลเป้าหมาย
อย่าใช้ตัวเลือกนี้หากเซิร์ฟเวอร์ไดรเวอร์/ฐานข้อมูลไม่รองรับสกีมา
DESCRIPTION
v.db.reconnect.all เปลี่ยนการเชื่อมต่อฐานข้อมูลของทุกเลเยอร์ของแผนที่เวกเตอร์ทั้งหมดใน
ชุดแผนที่ปัจจุบันจากแหล่งที่มา (old_database) ไปยังเป้าหมาย (ใหม่_ฐานข้อมูล) ฐานข้อมูล ถ้า
ลิงค์ไม่ตรงกับ old_database มันถูกทิ้งไว้โดยไม่มีใครแตะต้อง
หากไม่ได้ให้ฐานข้อมูลใหม่ datase เริ่มต้นของชุดแผนที่จะถูกใช้ตามที่พิมพ์โดย
db.connect -g. หากไม่มีฐานข้อมูลเก่า ทุกชั้นไม่มีลิงค์ในฐานข้อมูลใหม่
จะถูกเชื่อมโยงไปยังฐานข้อมูลใหม่ หากให้ฐานข้อมูลเก่า ให้ลิงก์ในฐานข้อมูลเก่าเท่านั้น
ฐานข้อมูลจะถูกเปลี่ยน
เลือกแอตทริบิวต์ตารางใน ใหม่_ฐานข้อมูล สร้างขึ้นได้หากไม่มีอยู่โดย -c ธง. ใน
กรณีนี้ v.db.reconnect.all ยังพยายามสร้างดัชนีในคอลัมน์หลัก (โดยปกติคือ "cat"
คอลัมน์).
หมายเหตุ
ค่าของ old_database ตัวเลือกต้องเป็นสตริงที่ถูกต้องซึ่งปรากฏเป็น
ฟิลด์ที่สี่พิมพ์โดย v.db.connect -g
v.db.connect -g map=สำมะโน
1/สำมะโน|สำมะโน|แมว|/home/user/grassdata/nc_spm_base/ถาวร/dbf/|dbf
v.db.reconnect.all เคารพตัวแปรที่จะแทนที่ด้วย ในตัวอย่างข้างต้น
ฐานข้อมูล /home/user/grassdata/nc_spm_base/PERMANENT/dbf/ ยังสามารถกำหนดเป็น
'$GISDBASE/$LOCATION_NAME/$MAPSET/dbf/' (ดูตัวอย่าง)
ตารางแอตทริบิวต์จาก old_database อยู่หลังจากเชื่อมต่อใหม่โดยไม่ถูกแตะต้อง
v.db.reconnect.all ลบตารางเหล่านั้นโดยอัตโนมัติเฉพาะเมื่อ -d ธงจะได้รับ
นอกจากนี้โปรดทราบว่า v.db.reconnect.all ไม่เปลี่ยนไดรเวอร์ฐานข้อมูลเริ่มต้นหรือฐานข้อมูล
(db.connect -p) การตั้งค่าการเชื่อมต่อฐานข้อมูลเริ่มต้นสำหรับข้อมูลแอตทริบิวต์ที่สร้างขึ้นใหม่สามารถ
ถูกกำหนดโดย db.เชื่อมต่อ.
ตัวอย่าง
ในตัวอย่างด้านล่างจะถือว่า ตารางแอตทริบิวต์นั้นเชื่อมโยงกับแผนที่เวกเตอร์
ผ่านไดรเวอร์ฐานข้อมูล DBF
เชื่อมต่อ ทบ คุณลักษณะ ตาราง ไปยัง SQLite ฐานข้อมูล
เชื่อมต่อตารางแอตทริบิวต์ DBF อีกครั้งที่เชื่อมโยงกับแผนที่เวกเตอร์ในชุดแมปปัจจุบันกับSQLite
ฐานข้อมูล:
v.db.reconnect.all old_database='$GISDBASE/$LOCATION_NAME/$MAPSET/dbf/' \
new_driver=sqlite new_database='$GISDBASE/$LOCATION_NAME/$MAPSET/sqlite/sqlite.db'
หากไม่มีตารางแอตทริบิวต์ในฐานข้อมูลเป้าหมาย (ใหม่_ฐานข้อมูล) จากนั้นโมดูล
พิมพ์ข้อความแสดงข้อผิดพลาด
แปลง ทบ คุณลักษณะ ตาราง ไปยัง SQLite ฐานข้อมูล
สำหรับการจัดการกับตาราง DBF กับฐานข้อมูล SQLite และเชื่อมต่อใหม่อีกครั้งสำหรับแผนที่เวกเตอร์ทั้งหมดใน
ต้องกำหนดชุดแผนที่ปัจจุบันด้วย -c ธง.
v.db.reconnect.all -c old_database='$GISDBASE/$LOCATION_NAME/$MAPSET/dbf/' \
new_driver=sqlite new_database='$GISDBASE/$LOCATION_NAME/$MAPSET/sqlite/sqlite.db'
หรืออีกทางหนึ่ง
# ตั้งค่าการเชื่อมต่อเริ่มต้น (sqlite)
db.เชื่อมต่อ -d
# ตรวจสอบการเชื่อมต่อเริ่มต้น
db.connect-g
#เชื่อมต่อใหม่
v.db.reconnect.all -c old_database='$GISDBASE/$LOCATION_NAME/$MAPSET/dbf/'
หากต้องการลบตารางแอตทริบิวต์ DBF เดิมโดยอัตโนมัติหลังจากเชื่อมต่อแผนที่เวกเตอร์อีกครั้ง
ใช้ -d ธง. โปรดทราบว่าตารางแอตทริบิวต์จะถูกลบ อย่างถาวร จากต้นทาง
ฐานข้อมูล ควรใช้ตัวเลือกนี้อย่างระมัดระวัง!
แปลง GRASS 6 เวกเตอร์ แผนที่ ไปยัง GRASS 7 รวมทั้ง คุณลักษณะ โอน จาก ทบ ไปยัง SQLite
เพื่อให้ใช้งานได้ใน GRASS 7 จำเป็นต้องอัปเดตแผนที่เวกเตอร์ทั้งหมดในชุดแผนที่:
# สร้างโทโพโลยีใหม่ครั้งแรกสำหรับแผนที่เวกเตอร์ทั้งหมด
v.สร้าง.ทั้งหมด
# ตั้งค่าการเชื่อมต่อ db เริ่มต้นใหม่ (เป็นค่าเริ่มต้นของ SQLite)
db.เชื่อมต่อ -d
# คัดลอกตารางแอตทริบิวต์จาก DB เก่าไปยัง SQLite DB ใหม่ ลบตารางเก่าในรูปแบบ DBF
v.db.reconnect.all -cd
ใช้ v.db.reconnect.allgrass ออนไลน์โดยใช้บริการ onworks.net