SQLite и ArcGIS
Вы можете подключаться из ArcGIS к базе данных SQLite для создания карт и пространственного анализа данных.
Вы можете подключиться непосредственно к файлу базы данных SQLite из клиента ArcGIS. Подробные инструкции см. в разделе Подключение к SQLite.
Для хранения пространственных данных, необходимо установить в базу данных SQLite тип Esri ST_Geometry или SpatiaLite. Необходимо использовать только один из них; использовать оба типа в одной базе данных SQLite нельзя. Можно использовать функцию ArcPy CreateSQLiteDatabase для создания базы данных SQLite с любым из этих типов пространственных данных.
Данные SQLite в ArcGIS
Доступ к данным
Управление доступом к базе данных SQLite осуществляется с помощью разрешений для папки, в которой хранится база SQLite. В отличие от других баз данных, вы не создаете пользователей, которые аутентифицируются базой данных и не предоставляете прав на доступ к определенным наборам данных для других пользователей.
Данные SQLite могут читаться многими пользователями, но вы не можете обновлять базу данных, если это делает другой пользователь. Например, не присоединяйте данные в имеющуюся таблицу и не создавайте новую таблицу в базе данных пока другой пользователь делает то же самое.
Типы данных
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 будут отображаться так:
Идентификатор | элемент | вес | store |
---|---|---|---|
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.