การติดตั้ง File Geodatabase (* .gdb) รองรับใน QGIS หรือไม่


158

ฉันใช้เวลาประมาณ 2 วันเพื่อหาวิธีเปิด GDB (Esri geodatabase) ใน QGIS (หรือซอฟต์แวร์โอเพนซอร์ซอื่น ๆ ) แต่ก็ยังไม่ประสบความสำเร็จ

ฉันได้ดาวน์โหลดตัวติดตั้ง OSGeo4W ใหม่ล่าสุดแล้วลองตั้งค่า - ติดตั้งแบบด่วนบนเดสก์ท็อป - แพ็คเกจทั้งหมดรวมถึงการติดตั้งขั้นสูงรวมถึง gdal-filegdb

คุณสามารถอธิบายขั้นตอนเพิ่มเติมโดยละเอียดรวมถึงการติดตั้งและวิธีเปิด. gdb ใน QGIS (การติดตั้ง OSGeo4W) ได้หรือไม่


1
คุณใช้ gdal รุ่นใด
นาธาน W

ครั้งแรกที่ฉันติดตั้ง osgeo4w-setup - ติดตั้งบนเดสก์ท็อปด่วน - ซึ่งฉันเดาว่าจะดาวน์โหลดไลบรารี่ใหม่ล่าสุดสำหรับการติดตั้ง ใน "ติดตั้งขั้นสูง" ฉันพยายามGDAL 1.9.1-RC2-1 และ 1.9.0-3 พูดคุยเกี่ยวกับgdal-filegdbมีเพียง1.9.0-1รุ่นในขณะนี้
Miro

ArcGIS รุ่นใดที่คุณสร้างไฟล์ GDB อยู่?
Spatial

2
นี่อาจเป็นปัญหา - "ไฟล์ GDB ต้องเป็น ArcGIS เวอร์ชัน 10, 9.3.1 ไม่รองรับ" - ฉันไม่รู้รุ่นของ ESRI File Geodatabase (FileGDB) ฉันเพิ่งได้รับข้อมูล จะค้นหาและทดสอบข้อมูลบางอย่างในเวอร์ชัน 10 ด้วยการติดตั้งของฉันและแจ้งให้ทราบ
มิโร

2
คุณลองทำตามขั้นตอนและดูว่าคุณไปได้ไกลแค่ไหน? เพียงเพราะลิงก์มีอายุสองปีไม่ได้หมายความว่าลิงก์นั้นยังไม่เกี่ยวข้อง เท่าที่ฉันจำได้ว่าการติดตั้งสำหรับ 2.0.1 นั้นคล้ายกันมากหากไม่เหมือนกับคำแนะนำในคำตอบ
MAJ742

คำตอบ:


178

อัปเดตธันวาคม 2560

ตอนนี้คุณสามารถลากและวางไฟล์. gdb (ไดเรกทอรี) ลงใน QGIS นี่คือการเข้าถึงแบบอ่านไปยังฐานข้อมูลไฟล์ภูมิศาสตร์เท่านั้น หากคุณต้องการสิทธิ์การเขียนโปรดอ่านเพิ่มเติม

อัปเดตกรกฎาคม 2558

เป็นเวลาที่จะทำให้คำตอบนี้เป็นปัจจุบันขึ้นเล็กน้อยเนื่องจากองค์ประกอบบางอย่างของการสนับสนุน FileGDB ใน QGIS มีการเปลี่ยนแปลง ตอนนี้ฉันกำลังใช้งาน QGIS 2.10.0 - Pisa มันถูกติดตั้งโดยใช้ตัวติดตั้ง OSGeo4W

สิ่งที่เปลี่ยนแปลงคือเมื่อติดตั้ง QGIS ขั้นพื้นฐานการเข้าถึงแบบอ่านอย่างเดียวไฟล์ GDB จะถูกเปิดใช้งานตามค่าเริ่มต้นโดยใช้ไดรเวอร์ Open FileGDB เครดิตสำหรับการสังเกตครั้งแรกจะต้องมอบให้กับ @SaultDon
การเข้าถึงแบบอ่าน / เขียนอาจเปิดใช้งานโดยใช้ไดรเวอร์ FileGDB ติดตั้งผ่านห้องสมุด OGR_FileGDB ต้องเปิดใช้งานไลบรารีโดยใช้กระบวนการด้านล่างนี้เมื่อคุณติดตั้ง QGIS หรือแยกทีละรายการ รายละเอียดเพิ่มเติมเกี่ยวกับไดรเวอร์ด้านล่าง:

  • ไดรเวอร์ FileGDB : ใช้ FileDB API SDK จาก ESRI - อ่าน / เขียนไปยัง FGDB ของ ArcGIS 10 ขึ้นไป
  • ไดรเวอร์ OpenFleGDB : มีให้ใน GDAL> = 1.11 - การเข้าถึงแบบอ่านอย่างเดียวกับ ArcGIS 9 และ FGDB ของ FGDB

เมื่อคุณเพิ่ม Vector Layer คุณเพียงแค่เลือกSource Typeไดรเวอร์ที่คุณต้องการใช้
ไดรเวอร์ ESRI FileGDB Esri FileGDB ไดรเวอร์

เปิดไดรเวอร์ FileGDB เปิดไดรเวอร์ FileGDB

กระบวนการด้านล่างแสดงรายละเอียดขั้นตอนการติดตั้ง QGIS จากตัวติดตั้ง OSGeo4W ให้แน่ใจว่าติดตั้งไลบรารี OGR_FileGDB จากนั้นโหลดเลเยอร์จากไฟล์ Geodatabase

  1. ดาวน์โหลดและเรียกใช้osgeo4w-setup-x86.exeสำหรับ 32bit หรือosgeo42-setup-x86_64.exeสำหรับ 64bit จากOSGeo4W

  2. เลือกการติดตั้งขั้นสูงจากนั้นติดตั้งจากอินเทอร์เน็ต เลือกไดเรกทอรีแพคเกจรากและท้องถิ่นของคุณแล้วประเภทการเชื่อมต่อของคุณในกรณีของฉัน "การเชื่อมต่อโดยตรง" เมื่อคุณคลิกถัดไประบบจะแสดงหน้าจอที่มีเมนูที่ยุบตัวจำนวนหนึ่ง เลือกแพ็คเกจการติดตั้ง

  3. ขยายเมนู "เดสก์ท็อป" ค้นหารายการสำหรับ "qgis: Quantum GIS (desktop)" ในคอลัมน์ "ใหม่" เปลี่ยนรายการจาก "ข้าม" เพื่อแสดงเวอร์ชัน 2.10.0-1 เลือกรายการติดตั้ง QGIS

  4. ขยายเมนู "Libs" ค้นหารายการสำหรับ "gdal-filegdb: OGR FileGDB Driver" ในคอลัมน์ "ใหม่" เปลี่ยนรายการจาก "ข้าม" เพื่อแสดงเวอร์ชัน 1.11.2-1 เลือกไดรเวอร์ GDB ของไฟล์ GDAL

  5. เมื่อคุณคลิกถัดไปมันจะติดตั้ง QGIS และไลบรารีที่เกี่ยวข้องทั้งหมด เมื่อดำเนินการเสร็จสิ้นให้เปิด Quantum GIS แล้วเลือก "เพิ่มข้อมูลเวกเตอร์" เปลี่ยนตัวเลือกเป็น "Directory" นี่คือที่ที่คุณเลือกไดรเวอร์ดังที่แสดงด้านบน เลือกไดเรกทอรี FileGDB และไดรเวอร์

  6. เรียกดูไฟล์ Geodatabase และเลือกไดเรกทอรี คลิก "เปิด" เลือกตำแหน่งไฟล์ GDB

  7. เลือก Vector Layer แล้วกด "Ok" โปรดทราบว่า FileGDB API ไม่รองรับภาพแรสเตอร์ เลือก Vector Layer

  8. อย่างที่คุณเห็นเลเยอร์ที่เลือกจะโหลดโดยใช้ไดรเวอร์ Esri สามารถแก้ไขได้ หากคุณใช้ไดรเวอร์ Open FileGDB ข้อมูลจะอ่านได้อย่างเดียว โหลดเวกเตอร์เลเยอร์ใน QGIS

  9. สำหรับการอ้างอิงของคุณนี่คือหน้าต่าง "เกี่ยวกับ" จากการติดตั้ง QGIS ของฉันแสดงเวอร์ชันของซอฟต์แวร์และไลบรารี GDAL / OGR ที่ใช้อยู่ QGIS เกี่ยวกับหน้าต่าง

การติดตั้งนี้ดำเนินการบนคอมพิวเตอร์ Windows 7 64 บิต ด้วยโปรแกรมติดตั้งก่อนหน้านี้มีผลลัพธ์บางอย่างที่ไม่สอดคล้องกัน สิ่งนี้อาจมีการเปลี่ยนแปลงโดยเปลี่ยนเป็นตัวติดตั้ง 32 หรือ 64 บิต เธรดที่ OSGeo นี้กล่าวถึงปัญหาเก่า ๆ ที่ผู้คนกำลังประสบ: Thread


1
FileGDBAPI.dllเป็นส่วนหนึ่งของgdal-filegdbแพ็คเกจและควรติดตั้งไว้%osgeo4w_root%\binแล้ว โชคไม่ดีที่ระบบของฉันก็ไม่เพียงพอ
matt wilkie

4
พบข้อบกพร่องและเป็นสิ่งที่ใหญ่โต: FileGDB SDK ไม่สนับสนุนระบบพิกัดที่กำหนดเอง ( gdal # 4578 ) หนึ่งความหวังที่ไม่ จำกัด อายุการใช้งานที่ยาวนาน ลงคะแนนให้แก้ไขได้ที่ideas.arcgis.com/ideaView?id=087E00000004DpoIAE
matt wilkie

5
@danagerous - คำตอบนี้เขียนเมื่อ QGIS 1.8เป็นเวอร์ชันการติดตั้งปัจจุบัน 2.2.0ในขณะที่คุณได้แสดงให้เห็นในเวอร์ชั่นปัจจุบันคือตอนนี้ขึ้นไป กระบวนการและขั้นตอนต่าง ๆ เพื่อให้แน่ใจว่าติดตั้งไลบรารียังคงเหมือนเดิม แต่คุณต้องการใช้เวอร์ชันล่าสุดที่มีอยู่สำหรับทั้งสองQGISและgdal-fgdbไลบรารี
Spatial

1
เยี่ยมมากขอบคุณ .... เอกสารเช่นนี้มีความสำคัญเมื่อคุณเพียงแค่ต้องเปิดใช้งานทันที
T. Wayne Whitley

1
นอกจากนี้คุณยังสามารถลากและวางไฟล์. gdb ลงใน QGIS
tudorbarascu

42

ถ้าคุณมี QGIS ทำงานและเรียบเรียงกับ GDAL 1.11.0 ได้ในขณะนี้มีการสนับสนุน FileGDB พื้นเมืองผ่านทางคนขับ OpenFileGDB

หากต้องการเปิดฐานข้อมูลภูมิศาสตร์ใน QGIS โปรดเลือก "เพิ่มเลเยอร์เวกเตอร์", "ประเภทแหล่งที่มา = ไดเรกทอรี" และแหล่งที่มาควรเป็น "OpenFileGDB" หรือ "ESRI FileGDB" จากนั้นเพียงเรียกดูโฟลเดอร์ * .gdb ที่ต้องการกด "เปิด" และเลเยอร์จะถูกโหลดลงในสารบัญของคุณ

มีข้อ จำกัดในปัจจุบันบางอย่างเช่นไม่สามารถเขียนไปยัง FileGDB ได้ แต่รองรับ FileGDB <= 10.0 ซึ่งค่อนข้างเป็นโบนัสและ "การคาดการณ์ที่กำหนดเอง"

สเปคที่ได้รับการออกแบบทางวิศวกรรมย้อนกลับที่กำลังดำเนินการอยู่มีอยู่ใน GitHub สำหรับไดรเวอร์ OpenFileGDB


1
ขอบคุณสำหรับการโพสต์นี้ ... มันสั้นกว่าคำตอบอื่น ๆ (ซึ่งฉันขอบคุณเช่นกัน แต่ถ้าไม่จำเป็นที่จะต้องทำตามขั้นตอนเหล่านี้อีกต่อไปฉันรู้สึกขอบคุณที่รู้ว่ามัน!)
LarsH

16

ถ้าคุณอยู่บน Mac คุณสามารถรวบรวมคนขับ filegdb ตั้งแต่เริ่มต้นโดยใช้คำแนะนำเหล่านี้

อัปเดต:เป็นเวลา 2 ปีแล้วตั้งแต่คำตอบนี้คุณอาจต้องการลองตอนนี้: https://github.com/OSGeo/homebrew-osgeo4macนอกจากนี้หลาย ๆ คนบอกว่าตอนนี้คุณสามารถใช้ไดรเวอร์ OpenFileGDB ซึ่งไม่ได้ใช้ ไบนารี ESRI เพื่อบรรลุเป้าหมายนี้ โปรดทราบว่ามันเป็นโครงการที่มีการปรับเปลี่ยนวิธีการทำงานของข้อมูลจำเพาะไม่ใช่การอนุมัติของ ESRI (ยังดีที่มีทางเลือกและแสดงถึงการทำงานที่น่าทึ่ง)


1
เพจที่เชื่อมโยงอาศัยลิงค์แรก ("ดาวน์โหลด SDK จากเว็บไซต์ของ ESRI") ซึ่งตอนนี้เสียชีวิตแล้ว
Pavel V.

คำตอบคือจากปี 2012 :) ในช่วงสามปีที่ผ่านมามีการเปลี่ยนแปลงเกิดขึ้นมากมาย คุณสามารถรวบรวมได้โดยไม่ต้องใช้เวทย์มนตร์พิเศษใด ๆ โดยใช้ homebrew และมันก็มีอยู่ใน OSGeo Windows เช่นกัน
Ragi Yaser Burhum

1
คุณสามารถแก้ไขและให้คำแนะนำในการคอมไพล์โดยใช้ homebrew ได้หรือไม่? โดยเฉพาะ - การติดตั้ง homebrew เข้ากันได้กับตัวติดตั้ง KyngChaos gdal-complete หรือไม่?
Simbamangu

หากคุณใช้ homebrew คุณควรอยู่ห่างจาก KyngChaos ไบนารีหรือคุณอาจมีปัญหาในระหว่างการรวบรวมเพราะคุณจะจบลงด้วย gdal หลายรุ่น
Ragi Yaser Burhum

5
  • ดาวน์โหลดและเรียกใช้การตั้งค่า OSGEO4W (ฉันแนะนำรุ่น 32 บิต)

  • รันเพียงครั้งเดียวโดยใช้ตัวเลือกการติดตั้งเดสก์ท็อปเพื่อติดตั้ง QGIS (และโปรแกรมเดสก์ท็อปอื่น ๆ ที่คุณต้องการ)

  • หลังจากเสร็จสิ้นให้เรียกใช้การตั้งค่า OSGEO4W อีกครั้งจากเมนูเริ่มเลือกการติดตั้งขั้นสูงและดำเนินการต่อในส่วนของการตั้งค่าที่คุณเลือกแพ็คเกจ เลื่อนลงไปที่แพ็คเกจ "gdal-filegdb" และคลิกที่ชื่อ "Keep" ในภาพหน้าจอนี้:

ป้อนคำอธิบายรูปภาพที่นี่

มีข้อความว่า "Keep" อยู่ที่นั่นเพราะฉันได้ติดตั้งแพ็คเกจแล้วคุณจะต้องคลิกมันจนกว่าข้อความจะตรงกับหมายเลข "ปัจจุบัน" ทางด้านซ้ายของมัน

  • คลิกถัดไปคุณจะต้องยอมรับข้อกำหนดสิทธิการใช้งานจากนั้นจึงติดตั้งให้เสร็จสิ้น

เฮ้ขอบคุณฉันควรใช้ 32 ถึงแม้ว่าฉันใช้ 64 บิต windows?
pitcherofnectar

การติดตั้ง OSGEO 32 บิตจะทำงานได้ดีบน Windows รุ่น 64 บิตนั่นคือสิ่งที่ฉันใช้กับ Win7 x64 และทุกอย่างทำงานได้ การติดตั้ง OSGEO แบบ 64 บิตอาจทำงานได้เช่นกัน แต่แพ็คเกจจำนวนมากแตกต่างกันและฉันมีปัญหากับบางอย่าง
Dan C

ฉันหวังว่าคุณรายงานปัญหาของคุณในbugtracker FYI, มีปัญหาบางอย่างที่เป็นแบบ 32 บิตเท่านั้น (เช่นเนื่องจากห้องสมุด Qt รุ่นเก่าซึ่งมีปัญหาเกี่ยวกับรูปทรงเรขาคณิตที่ซับซ้อน) YMMV
แมทเทียสคุห์

5

ฉันมีปัญหา / คำถามที่เกี่ยวข้องประมาณ 3 เดือนที่ผ่านมา (ดู: qgis 2.8.1 arcgis filegdb รายการไม่สมบูรณ์ในรุ่น win )

ไม่กี่วันที่ผ่านมาฉันได้เปลี่ยนจาก 2.8.x เป็น 2.10.1-Pisa หวังว่าจะกำจัดปัญหาฐานข้อมูลทางภูมิศาสตร์ของไฟล์ที่ถูกตัดทิ้งในคำถามของฉัน น่าเสียดายที่ไม่ประสบความสำเร็จ

สิ่งที่ฉันได้คิดออกมาคือ: ยังดูเหมือนว่าจะมีปัญหากับระบบพิกัดที่กำหนดเอง! การทดสอบของฉันกับ filegdb ที่สร้างขึ้นด้วย arcgis 10.1 และอีกอันหนึ่งกับ arcgis 10.3 บนพีซีที่แตกต่างกันแสดงว่าพยายามเปิด filegdb ที่เพิ่งมีคลาสคุณลักษณะที่มี CRS ที่กำหนดเองส่งคืนข้อผิดพลาดต่อไปนี้:
" แหล่งข้อมูลไม่ถูกต้อง: D: \ xxxx \ yyy \ zzzz.gdb ไม่ใช่แหล่งข้อมูลที่ถูกต้องหรือเป็นที่รู้จัก "

... ไดรเวอร์ทั้งสอง (ไดรเวอร์FileGDB , ไดรเวอร์ OpenFileGDB ) ส่งคืนข้อผิดพลาดเดียวกัน!
ในขณะที่FileGDB SDK สามารถสร้างให้รองรับระบบพิกัดที่กำหนดเองได้หรือไม่? บทความและข้อคิดเห็น / คำตอบที่นี่ระบุว่ามีการใช้งานการสนับสนุน CRC แบบกำหนดเองผ่าน OpenFileGDB - ไม่ทำงานบนระบบของฉัน (gdal-filegdb: OGR FileGDB Driver 1.11.2-1)

ถ้า filegdb มีตารางใด ๆ - เพียงตารางเหล่านี้จะปรากฏในรายการ "เลือกเลเยอร์เวกเตอร์เพื่อเพิ่ม ... " และผสม CRC แบบกำหนดเอง - และข้อมูลที่ไม่ได้กำหนดเองด้วยลักษณะเช่นนี้

ArcCatalog:

arccatalog เนื้อหา filegdb

qgis 2.10:

filegdb เนื้อหา qgis (ไดรเวอร์ FileGDB และไดรเวอร์ OpenFileGDB)

ข้อสรุปส่วนตัวของฉัน: ใช้ CRC มาตรฐานเสมอ! ! !


1

เป็นสิ่งที่ดีในปี 2019 คุณไม่จำเป็นต้องทำข้างต้นได้รับการสนับสนุนแล้วใน qgis 3.6

ง่ายและสะดวกโดย 3 ขั้นตอน:

ขั้นตอนที่ 1: คลิกปุ่มเพิ่มเวกเตอร์ (วงกลมสีแดง)

ป้อนคำอธิบายรูปภาพที่นี่


ขั้นตอนที่ 2: เลือกไดเร็กทอรี openFileGDB และพา ธ ไฟล์ (ลูกศรสีแดง)

ป้อนคำอธิบายรูปภาพที่นี่


ขั้นตอนที่ 3: เลือกเลเยอร์ทั้งหมด (วงกลมสีแดง) ป้อนคำอธิบายรูปภาพที่นี่


เสร็จสิ้น !!!!! คุณเพียงเพิ่มเลเยอร์ทั้งหมดลงใน qgis

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.