Вы можете подключиться из клиентов ArcGIS и работать с данными в системах управления базами данных, файлах базы данных или устройствах хранения данных, перечисленных здесь. Описание функциональности, доступной при работе с базами данных в ArcGIS, см. в разделе Базы данных и ArcGIS.
Системы управления базами данных отличаются своей реализацией и предоставляемой функциональностью. В результате иногда они выдают предупреждения или устанавливают необходимые правила, которые необходимо учитывать при работе с каждым типом баз данных в ArcGIS. Они перечислены в следующих разделах.
Dameng
Пространственные данные хранятся в Dameng с помощью типа geometry. Обычная установка Dameng включает пространственный тип; однако чтобы его использовать, его необходимо инициализировать.
См. какие версии Dameng поддерживаются в ArcGIS.
IBM Db2
Db2 проверяет подлинность подключения к базе данных при помощи учетных записей операционной системы. Однако при подключении к Db2 из диалогового окна Подключения к базам данных или при помощи инструмента геообработки Создать подключение базы данных можно задать опцию Аутентификация базы данных. Это позволит сохранить определенное имя пользователя и пароль учетной записи, которая необходима, если подключение к базе данных будет регистрироваться в ArcGIS Server.
См. какие версии Db2 поддерживаются в ArcGIS.
Microsoft SQL Server
Несмотря на то что Microsoft позволяет учетным записям пользователей SQL Server записывать данные в схему под любым именем, для ArcGIS необходимо, чтобы пользовательские учетные записи, под которыми создаются таблицы, представления или другие объекты базы данных, имели одинаковые имена пользователей и имена схем. Например, нельзя подключиться из ArcGIS как elmer и вести запись в схему с названием dataowner.
См. какие версии SQL Server поддерживаются в ArcGIS.
Oracle
ArcGIS поддерживает пространственные типы Oracle SDO_Geometry и Esri ST_Geometry в базах данных Oracle. SDO_Geometry – это отдельный продукт сторонней разработки. Если для хранения пространственных данных вы хотите использовать тип Esri ST_Geometry, копируйте библиотеку ST_Geometry на ваш компьютер Oracle и запустите инструмент геообработки Создать пространственный тип, чтобы получить тип, подтипы и функции ST_Geometry.
См. какие версии Oracle поддерживаются в ArcGIS.
PostgreSQL
ArcGIS поддерживает пространственные типы PostGIS geometry и geography, а также пространственные типы Esri ST_Geometry в базах данных PostgreSQL. PostGIS – это отдельный продукт сторонней разработки. Если для хранения пространственных данных вы хотите использовать тип ST_Geometry от Esri, копируйте библиотеку st_geometry в директорию установки PostgreSQL и запустите инструмент геообработки Создать пространственный тип, чтобы создать тип, подтипы, представления и функции ST_Geometry.
Несмотря на то, что PostgreSQL позволяет учетным записям пользователей записывать данные в схему под любым именем, для ArcGIS необходимо, чтобы пользовательские учетные записи, под которыми создаются таблицы, представления или другие объекты базы данных, имели одинаковые имена пользователей и имена схем. Например, нельзя подключиться из ArcGIS как vlad и вести запись в схему с названием public.
См. какие версии PostgreSQL и PostGIS поддерживаются в ArcGIS.
SAP HANA
При использовании SAP HANA необходимо принимать во внимание следующее:
- SAP HANA использует столбчатый формат хранения данных, который служит собственным индексом. Поэтому пространственные столбцы в таблицах SAP HANA не требуют пространственного индекса для запросов.
- Поскольку SAP HANA не применяет пользовательские индексы, вам не нужно обслуживать и перестраивать индексы для таблиц в SAP HANA.
- При загрузке данных в SAP HANA пространственная привязка, используемая данными, должна существовать в системной таблице SAP HANA.
- SAP HANA переопределяет их систему пространственной привязки EPSG ID 4326 из представления WGS84 на плоскости в представление на сфере. Таблицы, хранящие пространственные данные в SAP HANA с системой пространственной привязки 4326, в ArcGIS могут повести себя неожиданно.
Представление WGS84 на сфере (EPSG ID: 4326) в SAP HANA содержит важные ограничения, делающие его неприемлемым при работе с определенными типами данных. Например, глобальные наборы данных, выходящие за границы полушария, или линии, пересекающие границы полушария, приводят к противоречивым результатам. Данные, созданные или загруженные при помощи ArcGIS, продолжают храниться в версии системы координат WGS84 на плоскости (EPSG ID 1000004326), чтобы в ArcGIS можно было работать со всеми типами данных. Тем не менее ArcGIS может считывать данные WGS на сфере, которые созданы в SAP HANA, при помощи SQL или сторонних продуктов.
- SAP HANA хранит информацию о системе пространственной привязки в системном представлении ST_SPATIAL_REFERENCE_SYSTEMS. Пространственные данные, загружаемые в SAP HANA, должны или иметь пустую пространственную привязку, или использовать пространственную привязку, существующую в системном представлении ST_SPATIAL_REFERENCE_SYSTEMS. Если это представление не содержит пространственную привязку загружаемых данных, используйте выражение SAP HANA CREATE SPATIAL REFERENCE SYSTEM, чтобы обновить представление необходимой системой пространственной привязки.
Подсказка:
Подробную информацию можно найти на странице CREATE SPATIAL REFERENCE SYSTEM в документации SAP HANA Пространственная привязка.
Если у импортируемых или копируемых в базу данных SAP HANA пространственных данных нет определенной пространственной привязки, по умолчанию SAP HANA назначит SRID значение 0, Декартову систему координат для работы с данными на двумерной плоскости.
См. какие версии SAP HANA поддерживаются в ArcGIS.
SQLite и OGC GeoPackage
SQLite - это автономный формат файла базы данных, который обеспечивает доступ к простым объектам и поддерживает один редактор. Файл OGC GeoPackage строится из файла базы данных SQLite.
Будучи автономными, файлы SQLite и GeoPackage используются для обмена данными между программными пакетами и встраивания в них данных.
Оба эти типа файлов существенно отличаются от других баз данных, поддерживаемых ArcGIS.
- Это файлы, поэтому доступ к ним контролируется через папку, в которой вы храните файл. Настройте права доступа для папки, чтобы ограничить доступ к ее содержимому.
- Чтобы получить доступ к базе данных SQLite, ArcGIS требует, чтобы у файла базы данных было расширение .sqlite. Вы можете использовать Esri ST_Geometry или SpatiaLite, чтобы хранить и получать доступ к пространственным данным в файле базы данных с расширением .sqlite.
- Чтобы получить доступ к GeoPackage, ArcGIS требует, чтобы у файла базы данных было расширение .gpkg.
- В каждой базе данных SQLite можно использовать только один тип пространственного хранения. См. раздел Включение пространственных функций в базе данных SQLite для получения сведений о добавлении пространственного типа хранения в имеющуюся базу данных.
- Определения типов данных полей не одобрены ни SQLite, ни OGC GeoPackage.
- Вы не сможете публиковать данные в файлах SQLite и GeoPackage.
Для создания базы данных SQLite, использующей ST_Geometry или SpatiaLite и для создания GeoPackage используйте инструмент геообработки Создать базу данных SQLite.
Доступ к данным
Управление доступом к базе данных SQLite или GeoPackage осуществляется с помощью разрешений для папки, в которой они хранятся. В отличие от других баз данных, вы не создаете пользователей, которые аутентифицируются базой данных, или не предоставляете права на доступ к определенным наборам данных для других пользователей.
Когда вы выполняете подключение из 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"
);
Однако поскольку поле Вес считается целочисленным, эти значения в ArcGIS будут отображаться так:
id | item | weight | хранилище |
---|---|---|---|
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 |
См. раздел Типы данных СУБД, которые поддерживаются ArcGIS, чтобы ознакомиться со списком соответствия типов данных SQLite и ArcGIS.
Teradata Data Warehouse Appliance
Чтобы подключиться из ArcGIS к Teradata Data Warehouse Appliance, необходимо установить клиент Teradata GSS, библиотеку ICU и драйвер ODBC на компьютере клиента ArcGIS в определенном порядке. Более подробно см. в разделе Подключение к Teradata.
Ниже приведен перечень доступных руководств пользователя по использованию Teradata Data Warehouse Appliance в ArcGIS:
- Имена пространственных столбцов в таблицах должны называться shape или в представлении иметь псевдоним shape.
Базовое хранение для Teradata ST_Geometry это CLOB; поэтому, имя или псевдоним столбца (shape) – единственный способ для ArcGIS определить, что в столбце содержатся пространственные данные.
- Когда вы добавляете таблицы в Teradata из клиента ArcGIS, ArcGIS всегда создает таблицы в базе данных, которой владеет пользователь. ArcGIS не поддерживает создание таблиц в базе данных, которая пользователю не принадлежит. (У пользователя и базы данных должны быть одинаковые имена.) На таблицы, добавленные за пределами ArcGIS, это правило не распространяется, и пользователи, подключенные к Teradata в ArcGIS, могут просматривать и публиковать данные. Если вы публикуете редактируемый сервис объектов, пользователи смогут редактировать данные.
- Необходимо использовать функции замощения, предоставляемые Teradata для создания и поддерживания пространственного индекса в столбце ST_Geometry Teradata.
Teradata использует пространственный индекс замощения с заданной областью интереса. Поэтому индекс замощения не может использоваться пространственными операциями ArcGIS, основанными на динамичных входных данных, такими как масштабирование и перемещение. Однако индекс замощения может использоваться в слое запроса, если SQL-выражение для задания слоя запроса используется исключительно с индексом замощения для запроса поднабора данных, основанных на области интереса.
- Для запроса данных об объектах и публикации веб-сервисов ArcGIS требуется, чтобы таблица содержала поле уникального идентификатора. ArcGIS Pro предложит указать это поле ID при добавлении пространственной таблицы на карту.
Инструменты ArcGIS не вставляют новые значения в поля уникальных идентификаторов базы данных; наоборот, они опираются на базу данных для вставки значений в поле. Поскольку в Teradata отсутствует тип данных или встроенный механизм заполнений значений в поле идентификатора ID, инструменты ArcGIS, которые создают новые строки в базе данных, не могут использоваться для Teradata.
- Как пользователь Teradata вы знаете, что Teradata 14.x ST_Geometry поддерживает только двухмерные пространственные данные, поэтому вы не можете вставить пространственные данные, содержащие z- или m-координаты, в Teradata 14.x. Teradata 15.0 ST_Geometry поддерживает только z-координаты, но не m-координаты, поэтому вы не можете вставить пространственные данные, содержащие m-координаты, в Teradata 15.0.
- Как правило, в Teradata Data Warehouse Appliance хранится очень большой объем информации. Чтобы использовать клиент ArcGIS для визуализации, выполнения анализа или публикации данных, воспользуйтесь поднабором данных. Способ выполнения предопределяется тем, что вы будете делать с данными.
- Если вы добавляете данные в ArcGIS Pro для их просмотра и анализа на карте, добавьте слой запроса и задайте выражение слоя запроса, чтобы выбрать поднабор данных.
- Если вы добавляете данные в ArcGIS Pro для публикации слоя изображений карты, который ссылается на зарегистрированные данные, задайте представление базы данных, содержащее только поднабор данных. Представления базы данных хранятся в базе данных. Можно воспользоваться инструментом геообработки Создать представление базы данных или клиентским приложением SQL, чтобы задать представление.
- Если вы добавляете данные в ArcGIS Pro для публикации векторного слоя, который ссылается на зарегистрированные данные, снимите отметку Делать вновь добавляемые слои видимыми по умолчанию перед добавлением данных на карту. Далее создайте Определяющий запрос для слоя, указывающий поднабор данных при помощи SQL. После того как вы ограничили данные, которые отобразятся на карте, сделайте слой видимым и подготовьте свою карту к публикации.
Внимание:
Не перетаскивайте на карту данные из раздела подключений к базам данных, если вы заранее не задали поднабор данных, или если для вашей карты не настроено автоматическое отображение данных после их добавления. Большие объемы данных, которые, как правило, хранятся в подобных хранилищах, будут прорисовываться на карте чрезвычайно долго.
- Если вы используете ArcGIS для добавления класса объектов в базу данных Teradata, и пространственная привязка для класса объектов отсутствует в системной таблице Teradata, ArcGIS добавит запись в таблицу Teradata SPATIAL_REF_SYS и, соответственно, в таблицу GEOMETRY_COLUMNS.
Это позволяет использовать больше пространственных привязок, чем предлагается в Teradata по умолчанию. Однако обновления большинства версий Teradata приводит к сбросу и перепостроению этих таблиц со значениями по умолчанию.
Перед обновлением Teradata следует всегда создавать резервную копию базы данных. Убедитесь, что в нее включены записи этих таблиц, чтобы вы могли восстановить их, если понадобится, после обновления Teradata. Вы можете следовать этой процедуре архивации и восстановления записей SPATIAL_REF_SYS и GEOMETRY_COLUMNS во время обновления базы данных:
- Создайте резервную копию базы данных.
- Подключитесь к базе данных, в которой вы будете делать копии таблиц SPATIAL_REF_SYS и GEOMETRY_COLUMNS.
В этом примере база данных называется mybackupdb.
database mybackupdb;
- Создайте резервные копии таблиц.
В этом примере исходные таблицы находятся в базе данных sysspatial.
CREATE TABLE mybackupdb.spatial_ref_sys AS sysspatial.spatial_ref_sys WITH DATA; CREATE TABLE mybackupdb.geometry_columns AS sysspatial.geometry_columns WITH DATA;
- Обновите исходную базу данных Teradata.
- Подключитесь к базе данных, в которую вы скопировали таблицы.
- Восстановите таблицы в обновленную базу данных.
--Restore the geometry columns table. INSERT INTO sysspatial.geometry_columns SELECT * FROM mybackupdb.geometry_columns; --Restore the spatial_ref_sys table. INSERT INTO sysspatial.spatial_ref_sys SELECT * FROM mybackupdb.spatial_ref_sys MINUS SELECT * FROM sysspatial.spatial_ref_sys;
- После восстановления таблиц можно удалить архивные копии.
DROP TABLE mybackupdb.spatial_ref_sys; DROP TABLE mybackupdb.geometry_columns;
- Если необходимо, снова предоставьте права доступа к этим таблицам для пользователей, которые будут создавать данные в базе данных.
См. какие версии Teradata Data Warehouse Appliance и клиентских библиотек поддерживаются в ArcGIS.
Облачные базы данных, как сервис
ArcGIS поддерживает несколько ресурсов облачных баз данных, как сервис. Для получения списка поддерживаемых сервисов ознакомьтесь с требованиями к использованию ArcGIS с базами данных в облаке.
Всегда размещайте свои клиентские приложения ArcGIS в том же облаке и в том же месте (регионе), в котором находятся и ваши облачные базы данных.
Подсказка:
Esri предоставляет образы для Microsoft Azure и Amazon Web Services (AWS) с ArcGIS Enterprise и ArcGIS Pro. См. Справку ArcGIS Enterprise на Microsoft Azure и ArcGIS Enterprise на AWS для получения подробной информации.