Cài đặt hỗ trợ tệp Geodatabase (* .gdb) trong QGIS?


158

Tôi đã dành khoảng 2 ngày để tìm cách mở GDB (Cơ sở dữ liệu địa lý Esri) trong QGIS (hoặc bất kỳ phần mềm nguồn mở nào khác) nhưng vẫn không thành công.

Tôi đã tải xuống trình cài đặt OSGeo4W mới nhất và đã thử cài đặt - cài đặt máy tính để bàn - tất cả các gói, cũng như cài đặt nâng cao bao gồm gdal-filegdb.

Bạn có thể mô tả một quy trình chi tiết hơn, bao gồm cài đặt và cách mở .gdb trong QGIS (cài đặt OSGeo4W) không?


1
Phiên bản nào của gdal bạn đang sử dụng?
Nathan W

Đầu tiên tôi đã cài đặt osgeo4w-setup - Cài đặt máy tính để bàn Express - mà tôi đoán là tải xuống thư viện mới nhất để cài đặt. Trong "Cài đặt nâng cao", tôi đã thử gdal 1.9.1-RC2-1 và 1.9.0-3 . Nói về gdal-filegdb chỉ có phiên bản 1.9.0-1 tại thời điểm này.
Miro

Phiên bản ArcGIS nào là Tệp GDB của bạn được tạo trong?
Nhận không gian

2
Vâng, đây có thể là vấn đề - "Tệp GDB phải là ArcGIS phiên bản 10, 9.3.1 không được hỗ trợ." - Tôi không biết phiên bản ESRI File Geodatabase (FileGDB), tôi vừa nhận được dữ liệu. Đi tìm và kiểm tra một số dữ liệu trong phiên bản 10 với cài đặt của tôi và cho biết.
Miro

2
Bạn đã thử làm theo các bước và xem bạn nhận được bao xa? Chỉ vì liên kết đã hai năm tuổi không có nghĩa là nó vẫn không liên quan. Theo như tôi có thể nhớ lại thì cài đặt cho 2.0.1 rất giống nhau nếu không giống với hướng dẫn trong câu trả lời.
MAJ742

Câu trả lời:


178

Cập nhật tháng 12 năm 2017

Bây giờ bạn có thể chỉ cần kéo và thả tệp .gdb (thư mục) vào QGIS. Đây chỉ là quyền truy cập đọc vào Cơ sở dữ liệu tệp địa lý. Nếu bạn yêu cầu quyền truy cập viết xin vui lòng đọc thêm.

Cập nhật tháng 7 năm 2015

Đã đến lúc đưa câu trả lời này thêm một chút hiện tại vì một số yếu tố hỗ trợ FileGDB trong QGIS đã thay đổi. Tôi hiện đang chạy QGIS 2.10.0 - Pisa. Nó được cài đặt bằng trình cài đặt OSGeo4W.

Điều đã thay đổi là khi cài đặt cơ bản của QGIS, quyền truy cập chỉ đọc tệp GDB được bật theo mặc định, sử dụng trình điều khiển Open FileGDB. Tín dụng cho lần đầu tiên ghi nhận điều này phải được trao cho @SaultDon.
Quyền truy cập Đọc / Ghi có thể được bật bằng trình cài đặt trình điều khiển FileGDB thông qua thư viện OGR_FileGDB. Thư viện cần phải được kích hoạt bằng cách sử dụng quy trình dưới đây, khi bạn cài đặt QGIS hoặc riêng lẻ. Chi tiết hơn về các trình điều khiển dưới đây:

Khi bạn thêm Lớp Vector, bạn chỉ cần chọn Source Typedựa trên trình điều khiển bạn muốn sử dụng.
Trình điều khiển ESRI FileGDB Trình điều khiển FileGDB của Esri

Mở trình điều khiển FileGDB Mở trình điều khiển FileGDB

Quá trình bên dưới hiển thị chi tiết hơn các bước để cài đặt QGIS từ trình cài đặt OSGeo4W, đảm bảo thư viện OGR_FileGDB được cài đặt, sau đó tải các lớp từ Cơ sở dữ liệu địa lý tệp.

  1. Tải xuống và chạy osgeo4w-setup-x86.exevới 32 bit hoặc osgeo42-setup-x86_64.exe64 bit từ OSGeo4W .

  2. Chọn Cài đặt nâng cao, sau đó Cài đặt từ Internet. Chọn thư mục gói gốc và gói cục bộ, sau đó chọn loại kết nối của bạn, trong trường hợp của tôi, "Kết nối trực tiếp". Khi bạn nhấp vào tiếp theo, nó sẽ hiển thị một màn hình với một số menu được thu gọn. Chọn gói cài đặt

  3. Mở rộng menu "Máy tính để bàn". Tìm mục nhập cho "qgis: Quantum GIS (máy tính để bàn)". Trong cột "Mới", thay đổi mục nhập từ "Bỏ qua", để hiển thị phiên bản 2.10.0-1. Chọn mục cài đặt QGIS

  4. Mở rộng menu "Libs". Tìm mục nhập cho "gdal-filegdb: Trình điều khiển FileGDB OGR". Trong cột "Mới", thay đổi mục nhập từ "Bỏ qua", để hiển thị phiên bản 1.11.2-1. Chọn trình điều khiển GDB tệp GDB

  5. Khi bạn nhấp vào Tiếp theo, nó sẽ cài đặt QGIS và tất cả các thư viện liên quan. Khi điều này được hoàn thành, hãy mở Lượng tử GIS và chọn "Thêm dữ liệu vectơ". Thay đổi tùy chọn thành "Thư mục". Đây là nơi bạn chọn trình điều khiển như hình trên. Chọn thư mục và trình điều khiển FileGDB

  6. Duyệt đến Cơ sở dữ liệu địa lý tệp và chọn thư mục. Nhấp vào "Mở" Chọn vị trí tệp GDB

  7. Chọn một lớp Vector và nhấn "Ok". Xin lưu ý rằng API FileGDB không hỗ trợ Ảnh raster . Chọn lớp Vector

  8. Như bạn có thể thấy, lớp đã chọn tải vào. Sử dụng trình điều khiển Esri, có thể chỉnh sửa. Nếu bạn sử dụng trình điều khiển Open FileGDB, dữ liệu chỉ được đọc. Đã tải lớp vectơ trong QGIS

  9. Để bạn tham khảo, đây là cửa sổ "Giới thiệu" từ bản cài đặt QGIS của tôi, hiển thị các phiên bản của phần mềm và thư viện GDAL / OGR đang được sử dụng. Giới thiệu về QGIS

Cài đặt này được thực hiện trên máy tính Windows 7 64 bit. Với các trình cài đặt trước, có một số kết quả không nhất quán. Điều này có thể đã thay đổi khi chuyển sang trình cài đặt 32 hoặc 64 bit. Chủ đề này tại OSGeo thảo luận về một số vấn đề cũ mà mọi người đang gặp phải: Chủ đề


1
FileGDBAPI.dlllà một phần của gdal-filegdbgói và đã được cài đặt %osgeo4w_root%\bin. Thật không may, điều đó thôi cũng không đủ trên hệ thống của tôi.
matt wilkie

4
đã tìm thấy lỗi và đó là một lỗi: SDK FileGDB không hỗ trợ các hệ tọa độ tùy chỉnh ( gdal # 4578 ). Một người hy vọng đó không phải là một giới hạn sống lâu; bỏ phiếu để sửa nó tại idea.arcgis.com/ideaView?id=087E00000004DpoIAE
matt wilkie

5
@danagerous - Câu trả lời này được viết khi QGIS 1.8là phiên bản cài đặt hiện tại. Như bạn đã chỉ ra, phiên bản hiện tại đã được cập nhật 2.2.0. Quá trình và các bước để đảm bảo rằng thư viện được cài đặt vẫn giống nhau, nhưng bạn sẽ luôn muốn sử dụng phiên bản mới nhất có sẵn cho cả QGISgdal-fgdbthư viện.
Nhận không gian

1
Rất tốt, cảm ơn bạn .... những tài liệu như thế này rất cần thiết khi bạn chỉ cần khởi động và chạy ngay lập tức.
T. Wayne Whitley

1
Bạn cũng có thể chỉ cần kéo và thả tệp .gdb vào QGIS.
tudorbarascu

42

Nếu bạn có QGIS đang chạy và được biên dịch dựa trên GDAL 1.11.0, thì bây giờ nó có hỗ trợ FileGDB riêng thông qua trình điều khiển OpenFileGDB .

Để mở một cơ sở dữ liệu địa lý trong QGIS, hãy đảm bảo chọn "Thêm lớp vectơ", "Loại nguồn = Thư mục" và nguồn phải là "OpenFileGDB" hoặc "ESRI FileGDB". Sau đó chỉ cần duyệt đến thư mục * .gdb, nhấn "Mở" và các lớp sẽ được tải vào Mục lục của bạn.

Có một số hạn chế hiện tại như không thể ghi vào FileGDB, nhưng nó hỗ trợ FileGDB <= 10.0, đây là một phần thưởng và "dự đoán tùy chỉnh".

Đặc tả kỹ thuật đảo ngược công việc đang thực hiện có sẵn trên GitHub cho trình điều khiển OpenFileGDB.


1
Cảm ơn bạn đã đăng bài này ... nó ngắn hơn nhiều so với câu trả lời khác (điều mà tôi cũng đánh giá cao, nhưng nếu không còn cần thiết phải trải qua tất cả các bước đó, tôi rất biết ơn khi biết điều đó!)
LarsH

16

Nếu bạn đang sử dụng máy Mac, bạn có thể biên dịch trình điều khiển filegdb từ đầu bằng các hướng dẫn này .

CẬP NHẬT: Đã 2 năm kể từ câu trả lời này, bạn có thể muốn thử ngay bây giờ: https://github.com/OSGeo/homebrew-osgeo4mac Ngoài ra, như nhiều người nói bây giờ, bạn có thể sử dụng trình điều khiển OpenFileGDB không sử dụng Các tệp nhị phân ESRI để thực hiện điều này. Xin lưu ý rằng đây là một dự án đã đảo ngược cách thức hoạt động của thông số kỹ thuật và không bị ESRI xử phạt (vẫn rất tuyệt khi có các lựa chọn thay thế và nó đại diện cho công việc tuyệt vời).


1
Trang được liên kết dựa trên liên kết đầu tiên của nó ("Tải xuống SDK từ trang web của ESRI"), hiện đã chết.
Pavel V.

Vâng, câu trả lời là từ năm 2012. :) Trong ba năm qua, nhiều thay đổi đã xảy ra. Bạn có thể biên dịch mà không cần bất kỳ phép thuật đặc biệt nào bằng cách sử dụng homebrew và nó cũng có sẵn trong bản phân phối Windows OSGeo.
Ragi Yaser Burhum

1
Bạn có thể chỉnh sửa và đưa ra hướng dẫn về cách biên dịch bằng homebrew không? Cụ thể - cài đặt homebrew có tương thích với trình cài đặt hoàn thành gdal KyngChaos không?
Simbamangu

Nếu bạn đang sử dụng homebrew, bạn nên tránh xa các nhị phân KyngChaos hoặc bạn có thể gặp sự cố trong quá trình biên dịch vì bạn sẽ kết thúc với nhiều phiên bản của gdal.
Ragi Yaser Burhum

5
  • Tải xuống và chạy thiết lập OSGEO4W (Tôi muốn đề xuất phiên bản 32 bit)

  • Chạy nó một lần bằng tùy chọn Cài đặt máy tính để bàn, để cài đặt QGIS (và bất kỳ chương trình máy tính để bàn nào khác bạn muốn).

  • Sau khi hoàn tất, hãy chạy lại thiết lập OSGEO4W từ menu Bắt đầu, chọn Cài đặt nâng cao và tiến hành phần thiết lập nơi bạn chọn gói. Cuộn xuống gói "gdal-filegdb" và nhấp vào nơi ghi "Giữ" trong ảnh chụp màn hình này:

nhập mô tả hình ảnh ở đây

Nó ghi "Keep" ở đó vì tôi đã cài đặt gói, bạn sẽ muốn nhấp vào nó cho đến khi văn bản ở đó khớp với số "Hiện tại" ở bên trái của gói.

  • Nhấp vào Tiếp theo, bạn sẽ cần phải đồng ý với một số điều khoản cấp phép, sau đó hoàn tất cài đặt và bạn đã hoàn tất.

này cảm ơn, tôi có nên sử dụng 32 ngay cả khi tôi đang sử dụng các cửa sổ 64 bit không?
pitcherofnectar

Cài đặt OSGEO 32 bit sẽ hoạt động tốt trên các phiên bản Windows 64 bit, đó là những gì tôi đang sử dụng trên Win7 x64 và mọi thứ đều hoạt động. Bản cài đặt OSGEO 64 bit cũng có thể hoạt động, nhưng rất nhiều gói cho nó khác nhau và tôi đã gặp vấn đề với một số trong số chúng.
Dan C

Tôi hy vọng bạn đã báo cáo vấn đề của bạn trong bugtracker . FYI, Có một số vấn đề chỉ có 32 bit (ví dụ do các thư viện Qt cũ hơn có một số vấn đề với hình học phức tạp). YMMV
Matthias Kuhn

5

tôi đã có một vấn đề / câu hỏi liên quan khoảng 3 tháng trước (xem: qgis 2.8.1 arcgis filegdb danh sách không đầy đủ trong phiên bản win )

Cách đây vài ngày, tôi đã chuyển từ 2.8.x sang 2.10.1-Pisa với hy vọng thoát khỏi các vấn đề về cơ sở dữ liệu địa lý trong câu hỏi của tôi. tiếc là không nuôi ong thành công.

những gì tôi đã tìm ra từ đó là: dường như vẫn còn một vấn đề với các hệ tọa độ tùy chỉnh! các thử nghiệm của tôi với filegdb được tạo bằng arcgis 10.1 và một thử nghiệm khác với arcgis 10.3 trên các máy khác nhau cho thấy việc cố gắng mở filegdb chỉ chứa các lớp đối tượng với CRS tùy chỉnh trả về lỗi sau:
" Nguồn dữ liệu không hợp lệ: D: \ xxxx \ yyy \ zzzz.gdb không phải là nguồn dữ liệu hợp lệ hoặc được công nhận "

... cả trình điều khiển (trình điều khiển FileGDB , trình điều khiển OpenFileGDB ) đều trả về cùng một lỗi!
trong khi FileGDB SDK có thể được tạo để hỗ trợ các hệ tọa độ tùy chỉnh không? bài viết và một số ý kiến ​​/ câu trả lời ở đây nói rằng hỗ trợ CRC tùy chỉnh thông qua OpenFileGDB được triển khai - nó không hoạt động trên các hệ thống của tôi (gdal-filegdb: Trình điều khiển OGR FileGDB 1.11.2-1)

nếu filegdb chứa bất kỳ bảng nào - chỉ những bảng này được hiển thị trong danh sách "chọn các lớp vectơ để thêm ..." và trộn dữ liệu CRC- và không tùy chỉnh với dữ liệu như thế này

hồ quang:

filegdb nội dung arccatalog

qgis 2.10:

filegdb nội dung qgis (Trình điều khiển FileGDB và trình điều khiển OpenFileGDB)

kết luận cá nhân của tôi: luôn luôn sử dụng CRC tiêu chuẩn! ! !


1

Thật tuyệt, năm 2019, bạn không cần làm ở trên, nó đã được hỗ trợ trong qgis 3.6.

Đơn giản và dễ dàng bằng 3 bước:

Bước 1: nhấp vào nút thêm vectơ (vòng tròn màu đỏ)

nhập mô tả hình ảnh ở đây


Bước 2: chọn thư mục, openFileGDB và đường dẫn tệp (mũi tên màu đỏ)

nhập mô tả hình ảnh ở đây


Bước 3: chọn tất cả các lớp (vòng tròn màu đỏ) nhập mô tả hình ảnh ở đây


Làm xong!!!!! Bạn chỉ cần thêm tất cả các lớp vào qgis

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.