Можно ли подключиться к ArcSDE с помощью QGIS?

13

Кто-нибудь знает какие-либо плагины или какой-либо другой способ подключения и просмотра данных из базы данных ArcSDE на рабочем столе QGIS?

Zachary
источник
Вы можете напрямую подключиться к базовой базе данных (PostGIS, Oracle или персональной базе геоданных), поэтому не должно быть необходимости (и, возможно, нет) использования ArcSDE в качестве промежуточного программного обеспечения.
Подземье
Как MapServer это делает? Он основан на C и OGR, так же как и QGIS. Может быть, есть способ, как говорит Мэтт Уилки.
Дуарте Каррейра
Если пространственные данные хранятся в , SDEBINARYа не родной оракула SDO_GEOMETRYили ST_GEOMETRYтипов данных я думаю , что единственный способ , чтобы прочитать это было бы через ArcSDE? У нас есть эта проблема с Geoserver, когда SDO_GEOMETRYс подключением Oracle можно просматривать только настройки таблиц , для других наших устаревших данных мы должны использовать плагин ArcSDE.
Kes

Ответы:

4

Это может быть возможным , чтобы построить мост через GDAL / OGR «s водителя ArcSDE . Он не скомпилирован по умолчанию и требует для подключения некоторых частей API ESRI SDE C. Поэтому для создания этого драйвера вам потребуется копия комплекта разработчика SDE C API от ESRI. Если память используется, то существует предварительно скомпилированный драйвер sde, который может использовать ArcInfo Workstation, установленный на локальном компьютере вместо SDK.

Источники:

Мэтт Уилки
источник
Я думаю, что ArcInfo была предназначена только для чтения двоичных покрытий ArcInfo из GDAL. Это давно устарело.
Говард Батлер
6

Я рад сказать, что у меня это работает! Я использую QGIS 1.7 из OSGeo4W:

  1. получить ogr_sde.dll(скомпилируйте его из Tamas, вам также понадобятся файлы ArcSDE SDK)
  2. замените gdal18.dllиспользуемый qgis на тот, который вы скомпилировали выше
  3. положить ogr_sde.dllвC:\OSGeo4W\bin\gdalplugins\1.8
  4. создайте .vrtфайл с вашим подключением ArcSDE и информацией о классе объектов
  5. добавить VRT в QGIS, и вуаля!

Дело в том, что ogr требует много времени для подключения. Но просмотр в порядке. Просто соединительная часть слишком медленная. Может быть, кто-то найдет параметр для соединения, чтобы ускорить его.

EDIT: забыл , что вы также должны скопировать следующие библиотеки DLL из проекта на этапе 1: xerces-c_28.dll, spatiallite.dllи openjpeg.dll. Кроме того, необходимо ArcSDE LIBS: sde.dll, sg.dll, и pe.dll. Просто вставьте их C:\OSGeo4W\bin.

РЕДАКТИРОВАТЬ 2: более подробную информацию здесь: http://www.qgis.org/wiki/Connecting_to_ArcSDE_databases .

РЕДАКТИРОВАТЬ 3: время соединения больше не проблема. Просто вопрос правильной строки подключения в VRT. Смотрите ссылку для примеров.

Дуарте Каррейра
источник
Если вы хотите растры SDE, вы также хотите gdal_sde.dll ...
Говард Батлер
В ответ на жалобу я только что удалил ссылку Tamas, которая шла на хороший ресурс, когда она была первоначально размещена, но теперь переходит на страницу 404, на которой размещается нежелательный контент. Знаете ли вы о текущем сайте для него?
Поп
2

Если вы используете Postgres в качестве внутренней базы данных ArcSDE, у вас есть возможность сохранять пространственные данные в ST_Geometry (пространственный формат SDE) или PG_Geometry (пространственный формат PostGIS). Если вы сохраните данные в базе данных с поддержкой PostGIS и укажете опцию PG_Geometry при импорте данных (я думаю, что вы можете отредактировать dbtune, чтобы установить PG_Geometry по умолчанию), вы сможете подключиться к данным через соединение SDE. или через настольный клиент, который может напрямую подключаться к PostGIS (например, QGIS)

wilsongis
источник
-3

Там в настоящее время нет способа. Если бы вы использовали один из инструментов FOSS4G на основе Java, это было бы возможно при использовании SDE-коннектора в geotools. Я думаю, что именно так геосервер подключается к SDE.

В настоящее время в мире C ++ нет поставщика данных, который подключался бы к QGIS.

TheSteve0
источник
Эй, ребята, прежде чем вы понизите это больше. Пожалуйста, посмотрите на дату, когда я ответил на это.
TheSteve0
Я подозреваю, что это получает отрицательное отношение, потому что это - ответ, который, кажется, больше не действителен. Если он больше не действителен, я бы порекомендовал удалить его. Если это все еще, или могло быть пересмотрено, чтобы снова стать текущим, тогда это должно помочь полностью изменить понижающие голоса.
PolyGeo