Можете ли вы сказать мне, как я могу загрузить данные базы геоданных в PostGIS без необходимости установки приложений Esri?
Решение, которое я нашел в Интернете, говорило об использовании ArcGIS для преобразования GDB в SHP, а затем об импорте SHP в PostGIS.
postgis
esri-geodatabase
spatial-etl
Герсон Галанг
источник
источник
Ответы:
Я делаю это все время для своих клиентов.
Сохраните ваши данные в FileGDB или Shapefiles и выполните следующую команду:
Для шейп-файлов ESRI:
Для файла GDB:
Для FileGDB необходимо убедиться, что драйвер FileGDB установлен. Вы делаете это с:
который должен показать FileGDB где-нибудь, чтобы сказать вам, что он установлен.
источник
ogr2ogr -f "PostgreSQL" PG:"dbname=mydbname user=postgres" SanDiegoData.gdb -sql "GetLayerDefinition Parcels"
Я не пробовал этого, поэтому не могу проверить, работает ли он, но API файловой базы геоданных может позволить вам экспортировать данные из файловой базы геоданных в SHP (и, следовательно, в PostGIS). В документации сказано:
источник
API файловой базы геоданных Esri работает только с файловыми базами геоданных, созданными с использованием 10.x - более старые версии не будут работать с GDAL, QGIS или чем-то еще, что зависит от API открытой файловой базы геоданных . Старые персональные базы геоданных зависят от MS Access, и есть доступные читатели и код.
Если у вас есть файловая база геоданных 10.x, вы можете прочитать слой из FileGDB и загрузить в PostGIS с помощью одной команды ogr2ogr ( см. Документацию ):
Для этого мне также пришлось скачать экспресс-версию VS2010 и собрать свой собственный GDAL, плагин ogr и API-интерфейс открытой файловой базы геоданных 1.3.
Чего я не смог сделать, так это перенести старую файловую базу геоданных 9.x без использования программного обеспечения esri (недоступно для меня) - я не могу пройти через ...
... при попытке открыть 9.x "gdb" с открытым API, который поддерживает только 10.x "gdb".
источник
Хотя я сам еще не пробовал, я только что наткнулся на это руководство (шейп-файл -> PostGIS), в котором используется программное обеспечение geoETL с открытым исходным кодом под названием « Spatial Data Integrator ». Я не уверен, поддерживает ли он Esri GDB или нет, но, возможно, стоит дополнительно изучить вопрос, можете ли вы использовать этот продукт для аналогичного преобразования из GDB в PostGIS без использования продуктов ESRI.
Другие пакеты ETL, о которых я слышал, это FME от Safe Sofware ($, очень популярный) и GeoKettle (с открытым исходным кодом), а также много других ссылок на странице Википедии Spatial ETL .
РЕДАКТИРОВАТЬ : При копании немного дальше, похоже, что SDI не поддерживает чтение EsriGDB напрямую , но может читать доступные форматы файлов OGR .
источник
Продолжается работа по созданию GDB для постгис-загрузчика. Это зависит от последней магистрали GDAL, которая имеет привязки GDB. У меня не было возможности скомпилировать и попробовать себя, но надеюсь до выхода PostGIS 2.0.
проверить - http://trac.osgeo.org/postgis/browser/spike/pramsey/postgis2fgdb
Вероятно, вы можете дать Полу жужжание в группе новостей PostGIS, чтобы узнать, где он с этим. http://www.postgis.org/mailman/listinfo/postgis-users
Что касается формата Personal GeoDatabase, GDAL может прочитать это отлично, и это то, что я обычно использую для экспорта данных из личного geodb.
источник
Отвечая на мой собственный вопрос здесь, который я отправил здесь некоторое время назад ...
Другой вариант, который я нашел в Интернете (в дополнение к приведенным выше предложениям), - это использование pgdbf ( https://github.com/kstrauser/pgdbf ), который выводит сценарий SQL, который затем можно использовать для загрузки в postgres вручную.
источник