Skip to main content

Включение пространственных функций в базе данных SQLite

Чтобы включить пространственные функции существующей базы данных SQLite, используйте один из следующих способов:

Добавление таблиц 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.

  1. Если необходимо, переименуйте файл этой базы данных и присвойте ему расширение .sqlite.

  2. Подключитесь к базе данных с помощью редактора SQL, например, sqlite3.exe.

  3. Загрузите библиотеку 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');

  4. Вызовите функцию CreateOGCTables для добавления таблиц ST_Geometry в базу данных.

    SELECT CreateOGCTables();

Создание GeoPackage

Для преобразования существующей базы данных SQLite в GeoPackage необходимо следующее:

  • Файл базы данных должен иметь расширение .gpkg; если у базы данных, которую вы будете использовать, другое расширение, переименуйте ее. Например, базу данных с именем study.db переименуйте в study.gpkg перед тем, как преобразовать ее в GeoPackage.

  • База данных не может содержать другой пространственный тип.

  1. Если необходимо, переименуйте файл этой базы данных и присвойте ему расширение .gpkg.

  2. Подключитесь к базе данных с помощью редактора SQL, например, sqlite3.exe.

  3. Загрузите библиотеку 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');

  4. Вызовите функцию CreateGpkgTables для добавления таблиц GeoPackage в базу данных.

    SELECT CreateGpkgTables();