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.

Связанные темы

5/12/2014