Có thể kết nối với ArcSDE bằng QGIS không?


13

Có ai biết bất kỳ plugin nào, hoặc bất kỳ cách nào khác để kết nối và xem dữ liệu từ cơ sở dữ liệu ArcSDE trong máy tính để bàn của QGIS không?


Bạn có thể kết nối trực tiếp với cơ sở dữ liệu cơ bản (PostGIS, Oracle hoặc cơ sở dữ liệu địa lý cá nhân), không cần (và có thể không có cách nào) để sử dụng ArcSDE làm kho trung gian.
underdark

MapServer làm điều đó như thế nào? Nó dựa trên C và OGR, và QGIS cũng vậy. Có lẽ có một cách như Matt Wilkie nói.
Duarte Carreira

Nếu dữ liệu không gian được lưu trữ SDEBINARYthay vì các loại dữ liệu gốc SDO_GEOMETRYhoặc ST_GEOMETRYdữ liệu, tôi nghĩ cách duy nhất để đọc nó là thông qua ArcSDE? Chúng tôi gặp vấn đề này với Geoserver khi chỉ SDO_GEOMETRYcó thể xem thiết lập bảng với kết nối Oracle, đối với dữ liệu kế thừa khác của chúng tôi, chúng tôi phải sử dụng plugin ArcSDE.
kes

Câu trả lời:


4

Có thể xây dựng một cây cầu thông qua trình điều khiển ArcSDE của GDAL / OGR . Nó không được biên dịch theo mặc định và cần một số phần của API ESRI SDE C để kết nối. Vì vậy, để xây dựng trình điều khiển này, bạn cần có một bản sao của bộ phát triển API SDE C từ ESRI. Nếu bộ nhớ phục vụ, có một trình điều khiển sde được biên dịch sẵn có thể sử dụng ArcInfo Workstation được cài đặt trên máy cục bộ thay cho SDK.

Nguồn:


Tôi nghĩ rằng điều ArcInfo chỉ dành cho việc đọc các trang bìa nhị phân ArcInfo từ GDAL. Nó đã bị từ chối từ lâu.
Howard Butler

6

Tôi vui mừng nói rằng tôi có nó làm việc! Tôi đang sử dụng QGIS 1.7 từ OSGeo4W:

  1. lấy ogr_sde.dll(biên dịch nó từ Tamas, bạn cũng cần một số tệp SDK ArcSDE)
  2. thay thế gdal18.dllsử dụng bởi qgis bằng cái bạn đã biên dịch ở trên
  3. đưa ogr_sde.dllvàoC:\OSGeo4W\bin\gdalplugins\1.8
  4. tạo một .vrttệp với kết nối ArcSDE của bạn và tính năng chi tiết classe
  5. thêm vrt vào QGIS và voila!

Điều đó là, ogr mất nhiều thời gian để kết nối. Nhưng xem là OK. Chỉ cần phần kết nối là cách quá chậm. Có lẽ ai đó sẽ tìm ra một tham số cho kết nối để tăng tốc nó.

EDIT: quên bạn cũng phải sao chép các DLL sau từ phần tổng hợp của bạn trong bước 1 : xerces-c_28.dll, spatiallite.dllopenjpeg.dll. Bạn cũng cần libs ArcSDE: sde.dll, sg.dll, và pe.dll. Chỉ cần đặt chúng vào C:\OSGeo4W\bin.

EDIT 2: thông tin thêm ở đây: http://www.qgis.org/wiki/Connecting_to_ArcSDE_database .

EDIT 3: thời gian kết hợp không còn là vấn đề nữa. Chỉ là một vấn đề của chuỗi kết nối chính xác trong vrt. Xem các liên kết cho ví dụ.


Nếu bạn muốn các trình quét SDE, bạn cũng muốn gdal_sde.dll ...
Howard Butler

Để trả lời khiếu nại, tôi vừa xóa liên kết Tamas, nó đã đi đến một tài nguyên tốt khi nó được đăng ban đầu nhưng bây giờ đi đến một trang 404 quảng cáo một số nội dung phản cảm. Bạn có biết một trang web hiện tại cho nó?
Pops

2

Nếu bạn sử dụng Postgres làm DB phụ trợ của ArcSDE, bạn có tùy chọn lưu trữ dữ liệu không gian theo ST_Geometry (định dạng không gian SDE) hoặc PG_Geometry (định dạng không gian PostGIS). Nếu bạn lưu trữ dữ liệu trong DB kích hoạt PostGIS và chỉ định tùy chọn PG_Geometry khi bạn nhập dữ liệu (tùy chọn bạn có thể chỉnh sửa dbtune, tôi tin rằng, để đặt PG_Geometry làm mặc định), bạn sẽ có thể kết nối với dữ liệu qua kết nối SDE hoặc thông qua một máy khách để bàn có thể kết nối trực tiếp với PostGIS (chẳng hạn như QGIS)


-3

Hiện tại không có cách nào. Nếu bạn đã sử dụng một trong các công cụ FOSS4G dựa trên Java thì có thể sử dụng trình kết nối SDE trong geotools. Tôi nghĩ đây là cách máy chủ địa lý kết nối với SDE.

Hiện tại không có nhà cung cấp dữ liệu nào trong thế giới C ++ cắm vào QGIS


Hey folks - trước khi bạn downvote này nhiều hơn. Hãy nhìn vào ngày khi tôi trả lời này.
TheSteve0

Tôi nghi ngờ rằng điều này đang bị hạ thấp bởi vì nó là một câu trả lời dường như không còn giá trị. Nếu nó không còn hiệu lực, thì tôi khuyên bạn nên xóa nó. Nếu nó vẫn còn, hoặc có thể được sửa đổi để một lần nữa trở thành hiện tại thì điều đó sẽ giúp đảo ngược các downvote.
PolyGeo
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.