Вы можете подключаться из ArcGIS for Desktop к базе данных SQLite для создания карт и выполнения пространственного анализа.
ArcGIS поддерживает пространственные данные в базах данных SQLite, которые имеют один из следующих типов хранения:
- Esri ST_Geometry – для использования с ArcGIS, файл базы данных должен иметь расширение .sqlite.
- SpatiaLite – для использования с ArcGIS файл базы данных должен иметь расширение .sqlite.
- GeoPackages – Для использования с ArcGIS, файл GeoPackage должен иметь расширение .gpkg.
В каждой базе данных SQLite можно использовать только один тип пространственного хранения. См. Включение пространственных функций в базе данных SQLite для получения сведений о добавлении пространственного типа хранения в имеющуюся базу данных.
Для создания базы данных SQLite с типом пространственных данных ST_Geometry или SpatiaLite, или для создания GeoPackage используйте функцию ArcPy CreateSQLiteDatabase.
Данные SQLite в ArcGIS
Доступ к данным
Управление доступом к базе данных SQLite или GeoPackage осуществляется с помощью разрешений для папки, в которой она хранится. В отличие от других баз данных, вы не создаете пользователей, которые аутентифицируются базой данных и не предоставляете прав на доступ к определенным наборам данных для других пользователей.
SQLite и GeoPackage могут читаться многими пользователями, но вы не можете обновлять базу данных, если другой пользователь выполняет редактирование. Например, не присоединяйте данные в имеющуюся таблицу и не создавайте новую таблицу в базе данных пока другой пользователь делает то же самое.
Типы данных
SQLite также отличается от других баз данных тем, что полям не присваиваются различные типы данных, а определения типов данных задаются не жестко. Вместо этого SQLite использует несколько классов, в которых могут храниться значения различных типов данных.
Однако ArcGIS может работать только с одним типом данных в поле и жестко ограничивает типы данных. Следует учитывать эти различия в обработке типов данных при просмотре данных SQLite в ArcGIS.
В следующем примере создается таблица с целочисленными и текстовыми полями:
CREATE TABLE mytable (
id INTEGER PRIMARY KEY NOT NULL,
item TEXT,
weight INTEGER,
store TEXT;
Несмотря на то, что поле weight целочисленное, SQLite позволяет хранить в нем десятичные значения. Он даже позволяет хранить текст. Например, можно ввести следующие записи:
INSERT INTO mytable (id, item, weight, store) VALUES( 1, “magnetic dual elliptical trainer with seat”, 75, “CardioPlus Equipment”
);
INSERT INTO mytable (id, item, weight, store) VALUES( 2, “superfit treadmill4000”, 81.2, “Sports Pit”
);
INSERT INTO mytable (id, item, weight, store) VALUES( 3, “serenity yoga mat”, .4588, “Aerobic Angels Sporting Goods”
);
INSERT INTO mytable (id, item, weight, store) VALUES( 4, “swim fins”, "two", “The Plunge”
);
Однако поскольку поле weight считается целочисленным, эти значения в ArcGIS будут отображаться так:
id | элемент | вес | магазин |
---|---|---|---|
1 | magnetic dual elliptical trainer with seat | 75 | CardioPlus Equipment |
2 | superfit treadmill4000 | 81 | Sports Pit |
3 | serenity yoga mat | 0 | Aerobic Angels Sporting Goods |
4 | swim fins | 0 | The Plunge |
Список соответствия типов данных SQLite и ArcGIS находится в разделе Типы данных DBMS, которые поддерживаются ArcGIS.