คนส่วนใหญ่ทำผิดพลาดในการคิดถึง GeoDatabase เป็นเพียงรูปแบบเชิงพื้นที่ที่ช่วยให้คุณทำแบบสอบถามเชิงพื้นที่ นั่นคือการทำให้เข้าใจง่ายอย่างไม่น่าเชื่อ
เฮ็คฉันเคยทำผิดพลาดนี้เอง - จนกระทั่งวันหนึ่งฉันได้ยินสกอตต์มอร์เฮาส์อธิบายเหตุผลด้านหลังฐานข้อมูล Geo เขาเป็นหนึ่งในคนเหล่านั้นที่สามารถคิดในรูปแบบนามธรรมมากสูงวิธีทางขึ้นแล้วยังลงมาอย่างรวดเร็วและจะเป็นมากในทางปฏิบัติและทำให้ปัญหาการหลีกเลี่ยงการที่นักบินอวกาศสถาปัตยกรรมมี
เพื่อให้เข้าใจว่า GeoDatabase คืออะไรคุณต้องดูคำจำกัดความของโมเดลข้อมูล :
แบบจำลองข้อมูลในวิศวกรรมซอฟต์แวร์เป็นการแสดงถึงแนวคิดความสัมพันธ์ข้อ จำกัด กฎและการดำเนินงานเพื่อระบุความหมายของข้อมูลสำหรับโดเมนของวาทกรรมที่เลือก สามารถให้โครงสร้างความต้องการข้อมูลที่ชัดเจนร่วมกันมีเสถียรภาพและจัดระเบียบสำหรับบริบทโดเมน
GeoDatabase เป็นคำจำกัดความ ESRI ของรูปแบบข้อมูลที่สนับสนุนแนวคิดทางภูมิศาสตร์ ยกตัวอย่างเช่นข้อมูลแบบนี้สนับสนุนแนวคิดเช่นโทโพโลยี ; ด้วยกฎการดำเนินงานและความหมายของข้อมูลทั้งหมดที่เกี่ยวข้อง (เช่นสิ่งที่ได้รับอนุญาตให้ทับซ้อนกันบนสิ่งที่เกิดขึ้นหลังจากการแยกการแก้ไขส่งผลกระทบต่อคุณลักษณะอื่น ๆ ที่ใช้ขอบเดียวกัน ฯลฯ ) อย่างไร
มีการนำไปปฏิบัติต่าง ๆ ของรูปแบบข้อมูล ESRI GeoDatabase และสามารถแบ่งได้เป็นสองแบบ:
ฐานข้อมูลผู้ใช้ GeoD เดียว:
- GeoDatabase ส่วนบุคคล: อยู่ด้านบนของรูปแบบ ".mdb" MS Access
- FileGDB: สร้างขึ้นจากรูปแบบกรรมสิทธิ์ที่สร้างโดยโฟลเดอร์ ESRI (".gdb")
ฐานข้อมูลภูมิศาสตร์ผู้ใช้หลายคน (aka ฐานข้อมูลองค์กรทางภูมิศาสตร์):
เหล่านี้เป็นแหล่งข้อมูลที่ได้รับการสนับสนุนโดยมิดเดิลแวร์ ArcSDE
- PostgreSQL
- เซิร์ฟเวอร์ SQL
- คำพยากรณ์
- DB2
- Informix
- ฯลฯ
วัตถุประสงค์ของ ArcSDE ก็เช่นกัน "SDE" มักจะสับสนกับ GeoDatabase - และในกรณีที่แย่ที่สุดคำเหล่านี้จะถูกใช้สลับกันได้ ความผิดพลาดที่น่ากลัว ย้อนกลับไปในวันที่ ArcSDE (จึงเรียกว่าเพียงแค่ SDE) ถูกสร้างขึ้นเพื่อทำหน้าที่เป็นชั้นข้อมูลที่เป็นนามธรรม คุณสามารถหาคำอธิบายง่ายๆของArcSDE จากการโพสต์ข่าว USENET เก่าจริงๆจากสกอตต์มอร์เฮาส์ (1999) ตัวอย่างจากโพสต์นั้นพูดว่า:
SDE กำจัดการประมวลผลเชิงพื้นที่ไปยัง DBMS หากระบบฐานข้อมูลพื้นฐานไม่มีการสนับสนุนเชิงพื้นที่เลย SDE จะดำเนินการเกี่ยวกับการทำงานเชิงพื้นที่ทั้งหมด หากฐานข้อมูลพื้นฐานมีฟังก์ชันการทำงานบางส่วน SDE จะใช้งานบางฟังก์ชันและเลื่อนส่วนที่เหลือไปยังเอ็นจิ้นฐานข้อมูล เพื่อให้ได้ประสิทธิภาพที่ดีที่สุดและใช้ประโยชน์จากเทคโนโลยีฐานข้อมูลหลักเราพยายามที่จะเลื่อนการทำงานไปยังฐานข้อมูลให้ได้มากที่สุด
นั่นหมายความว่า ArcSDE ถูกใช้โดย geodatabase เมื่อมีปฏิสัมพันธ์กับพื้นฐานแหล่งข้อมูล แต่ก็ไม่ได้รู้อะไรเกี่ยวกับแนวคิดของ Geodatabase เช่นความสัมพันธ์โดเมนภูมิประเทศเกี่ยวกับที่ดินผ้า, Schematic ชุดข้อมูล ฯลฯ มันถูกใช้เพื่อทำให้การเขียนโปรแกรมง่ายขึ้นด้วยแหล่งข้อมูลที่หลากหลาย
นั่นเป็นเหตุผลที่ถ้าคุณกำลังจัดการกับ abstractions ระดับ GeoDatabase แล้วคุณพยายามทำสิ่งต่าง ๆ จาก ArcSDE (ผ่านทาง API หรือปฏิบัติการบรรทัดคำสั่ง arcsde) คุณอาจพบปัญหา (ฉันจะทำให้ประโยคนี้ใหญ่กว่าได้ไหม ???)
เท่าที่ข้อ จำกัด ของการนำ GeoDatabase ไปใช้งานที่แตกต่างกันนั้นขึ้นอยู่กับหน่วยเก็บข้อมูลพื้นฐาน
Personal GDB ถูก จำกัด ไว้ที่ 2GB mdb (Access) FileGDB ไม่มีปัญหานี้เนื่องจากมันถูกสร้างขึ้นเพื่อกำจัดข้อ จำกัด นี้และเข้ากันได้กับยูนิกซ์
ทั้ง GDB ส่วนบุคคลและ FileGDB เป็นผู้ใช้คนเดียว ดังนั้นคุณจึงไม่ได้รับการใด ๆเวอร์ชัน การจำลองแบบ GDB นั้นมีการใช้งานด้านบนของการกำหนดเวอร์ชันดังนั้นจึงเป็นคุณลักษณะของฐานข้อมูล GeoDatabase ผู้ใช้หลายคน (ArcSDE Datasources) เท่านั้น
โทโพโลยี, คำอธิบายประกอบ , คลาสตัวแทน , โดเมน , ภูมิประเทศ , ฯลฯ เป็นแนวคิด GeoDatabase ทั้งหมดที่ไม่ต้องการการสนับสนุนผู้ใช้หลายคน - ดังนั้นจึงมีอยู่ในทุกการใช้งานของโมเดลข้อมูล GeoDatabase
สำหรับการใช้งาน GDB แต่ละครั้งนั้นขึ้นอยู่กับความต้องการของคุณ ดังนั้นจึงมี GeoDatabase ประเภทหนึ่งสำหรับกรณีการใช้งานส่วนใหญ่ (แต่ไม่ทั้งหมด)
ฉันหวังว่านี่จะทำให้ชัดเจน