Включение пространственных функций в базе данных SQLite
Чтобы включить пространственные функции существующей базы данных SQLite, используйте один из следующих способов:
Установите SpatiaLite. См. документацию SpatiaLite для получения информации о добавлении SpatiaLite к базе данных SQLite.
Используйте SQL для загрузки библиотеки ST_Geometry и создайте тип ST_Geometry в существующей базе данных SQLite.
Используйте SQL для загрузки библиотеки ST_Geometry и создайте OGC GeoPackage.
Добавление таблиц ST_Geometry в SQLite
Чтобы добавить системные таблицы ST_Geometry в существующую базу данных SQLite, требуется следующее:
Файл базы данных должен иметь расширение
.sqlite; если у базы данных, которую вы будете использовать, другое расширение, переименуйте ее. Например, если база данных называетсяprojdata.d1, переименуйте ее вprojdata.sqlite, прежде чем добавить тип ST_Geometry.База данных не может содержать другой пространственный тип.
Библиотека Esri ST_Geometry должна быть доступна в редакторе SQL, из которого вы ее загружаете. Вы можете получить библиотеку в My Esri. Загрузите пакет ST_Geometry из файлов Поддержка базы данных и извлеките его содержимое.
Если вы храните базу данных SQLite на компьютере Linux, библиотека
libstdcc++.so.6.0.29или более нового выпуска должны присутствовать. Если это не так, поместите библиотекуlibstdcc++.so.6из распакованного пакета в ту же локальную папку Linux, что и библиотекаlibstgeometry_sqlite.
Если необходимо, переименуйте файл этой базы данных и присвойте ему расширение
.sqlite.Подключитесь к базе данных с помощью редактора SQL, например,
sqlite3.exe.Загрузите библиотеку ST_Geometry.
В этом примере библиотека ST_Geometry загружается в базу данных SQLite на компьютере с Microsoft Windows.
SELECT load_extension('stgeometry_sqlite.dll','SDE_SQL_funcs_init');В этом примере библиотека ST_Geometry загружается в базу данных SQLite на компьютере с Linux.
SELECT load_extension('libstgeometry_sqlite','SDE_SQL_funcs_init');Вызовите функцию
CreateOGCTablesдля добавления таблиц ST_Geometry в базу данных.SELECT CreateOGCTables();
Создание GeoPackage
Для преобразования существующей базы данных SQLite в GeoPackage необходимо следующее:
Файл базы данных должен иметь расширение
.gpkg; если у базы данных, которую вы будете использовать, другое расширение, переименуйте ее. Например, базу данных с именемstudy.dbпереименуйте вstudy.gpkgперед тем, как преобразовать ее в GeoPackage.База данных не может содержать другой пространственный тип.
Если необходимо, переименуйте файл этой базы данных и присвойте ему расширение
.gpkg.Подключитесь к базе данных с помощью редактора SQL, например,
sqlite3.exe.Загрузите библиотеку ST_Geometry.
В этом примере библиотека ST_Geometry загружается в базу данных SQLite на компьютере с Windows.
SELECT load_extension('stgeometry_sqlite.dll','SDE_SQL_funcs_init');В этом примере библиотека ST_Geometry загружается в базу данных SQLite на компьютере с Linux.
SELECT load_extension('libstgeometry_sqlite','SDE_SQL_funcs_init');Вызовите функцию
CreateGpkgTablesдля добавления таблиц GeoPackage в базу данных.SELECT CreateGpkgTables();