При создании таблицы или добавлении столбца в таблицу базы данных вы указываете определенный тип данных для столбца. Типы данных определяются, исходя из следующего:
- Какие значения можно хранить в столбце
- Какие операции можно применять к данным этого столбца
- Как данные этого столбца хранятся в базе данных
ArcGIS работает с определенными типами данных. При осуществлении доступа к таблице базы данных через Подключения к базам данных, слой запроса или веб-сервис, ArcGIS отфильтровывает любые неподдерживаемые типы данных. ArcGIS не отображает неподдерживаемые типы данных, и вы не сможете редактировать их в ArcGIS. Аналогично, если при помощи ArcGIS копировать и вставлять таблицы, содержащие неподдерживаемые типы данных, из одной базы в другую, ArcGIS вставит только те столбцы, которые используют поддерживаемые типы данных.
В первом столбце в следующей таблице перечислены типы данных ArcGIS. Во втором столбце перечислены Oracle типы данных, создаваемые ArcGIS. В третьем столбце показано, какие другие Oracle типы данных (если имеются) сопоставляются типам данных ArcGIS при просмотре таблицы, созданной вне ArcGIS. В последнем столбце при необходимости предоставляется дополнительная информация.
Типы данных ArcGIS | Созданные типы данных Oracle | Другие типы данных Oracle, которые можно просматривать | Примечания |
---|---|---|---|
BLOB | BLOB | ||
Date | timestamp | дата | |
Double | number(38,8) | number(p,s) | Точность и количество знаков, указанные в ArcGIS, могут повлиять на тип полученных данных, создаваемых в базе данных. Более подробно см. Типы данных полей ArcGIS. |
Float | number(38,8) | number(p,s) | Точность и количество знаков, указанные в ArcGIS, могут повлиять на тип полученных данных, создаваемых в базе данных. Более подробно см. Типы данных полей ArcGIS. |
Geometry | ST_Geometry, number(38), or SDO_Geometry | Тип создаваемых данных Oracle зависит от указанного при создании класса пространственных объектов хранилища геометрии. Сжатый двоичный или двоичный well-known (только для баз геоданных) = number(38); Oracle Spatial = SDO_Geometry; spatial type = ST_Geometry. Чтобы использовать ST_Geometry в базе данных (не в базе геоданных), вам нужно установить эту библиотеку. | |
Global ID | char or nchar (UUID len) | Поддерживается только базами геоданных. Поле уникального идентификатора будет создано как nchar, если для параметра UNICODE_STRING ключевого слова конфигурации, с которым была создана таблица, было указано значение TRUE. | |
GUID | char or nchar (UUID len) | Поле уникального идентификатора будет создано как nchar в базе геоданных, если для параметра UNICODE_STRING ключевого слова конфигурации, с которым была создана таблица, было указано значение TRUE. | |
Long Integer | number(38) | number(n) | n может принимать значения из диапазона от 5 до 10. При создании с помощью ArcGIS Desktop или ArcObjects и при значении точности, равном 0, в базе данных создается number(38); в ином случае используется заданная точность. |
Object ID | number(38) при создании в многопользовательской базе геоданных number(38) с последовательностью и триггером при создании со следующими условиями:
number(38) всегда создается в качестве идентификатора при использовании ArcGIS для создания класса пространственных объектов или таблицы в базе данных Oracle 12c либо при работе с инструментом геообработки Добавить прирастающее поле ID для добавления поля ID field к таблице базы данных Oracle 12c. | В ArcGIS тип ObjectID соответствует столбцу с идентификаторами записей (ID) таблицы (или класса объектов). В таблице может быть только один. | |
Raster | BLOB or number(38) | Растры поддерживаются только базами геоданных. Используемый тип данных для поля растра зависит от ключевого слова конфигурации, указанного при создании набора данных мозаики или набора растровых данных. | |
Short Integer | number(5) | number(n) | n может принимать значения из диапазона от 1 до 5. Но в столбцах short integer могут храниться только значения в диапазоне от -32 768 до 32 767. Даже если точность числа равна 5, вы не можете хранить в столбце short integer значение, большее 32 767 или меньшее -32 768. При создании с помощью ArcGIS Desktop n = 5. Это позволит вам сохранять значения short integer, попадающие в допустимый интервал. |
Text | varchar2, CLOB, nvarchar2 или NCLOB |
Текстовые типы данных
Если вы собираетесь включить текстовое поле в таблицу, создаваемую с помощью ArcGIS, используется тип данных varchar2, если в базе данных не выбрана кодировка Unicode. Если установлен размер текстового поля, больший 4000, а для базы данных не выбрана кодировка Unicode, тип данных Oracle будет CLOB.
Если для вашей базы данных выбрана кодировка Unicode, будет создано текстовое поле nvarchar2. (Это настройка, используемая по умолчанию для баз геоданных в Oracle.) Если установлен размер текстового поля, больший 2000, а для базы данных выбрана кодировка Unicode, тип данных Oracle будет NCLOB.
Геометрические типы данных
ArcGIS создает и использует в Oracle три типа геометрических данных: Esri ST_Geometry, Oracle SDO_Geometry и сжатый двоичный. Хранение геометрии Compressed binary может использоваться только в базах геоданных.
ST_Geometry
Тип данных ST_Geometry использует спецификацию пользовательских типов данных SQL 3 (UDT), что позволяет создавать столбцы, в которых могут храниться пространственные данные, например, улицы, земельные участки, достопримечательности. В соответствии со стандартами International Organization for Standards (ISO) и Open Geospatial Consortium, Inc., (OGC) он обеспечивает поддержку SQL-доступа к базам геоданных и базам данных Данный вид хранения расширяет возможности базы данных, обеспечивая хранение для объектов (точек, линий и полигонов), которые представляют графические объекты. Оно было разработано для эффективного использования ресурсов баз данных, для совместимости с объектами баз данных, такими, как реплики и разделы, и для предоставления быстрого доступа к пространственным данным.
Дополнительные сведения см. в разделе ST_Geometry в Oracle.
SDO_Geometry
SDO_Geometry реализован с помощью системы расширяемых типов реляционных объектов Oracle. Тип SDO_Geometry предлагается компанией Oracle с двумя основными опциями:
- Oracle Spatial – это дополнительный компонент Oracle Database Enterprise Edition. Кроме предоставления типа SDO_Geometry, Oracle Spatial предоставляет ряд дополнительных геопространственных возможностей.
- Oracle Locator поддерживает поднабор возможностей Oracle Spatial. Он включается как стандартный компонент Oracle Database в версиях Standard и Enterprise. Помимо прочих возможностей, в нем содержится тип геометрии Oracle Spatial (который называется SDO_Geometry) и интерфейс SQL API, предназначенный для этого содержимого.
ArcGIS поддерживает SDO_Geometry в качестве дополнительного метода хранения пространственных данных. В частности геометрия Oracle Spatial или Locator может использоваться для хранения и управления объектами и содержанием растровых наборов данных в многопользовательских базах геоданных или базах данных Oracle.
Для получения сведений о SDO_Geometry, обратитесь к документации Oracle.
Сжатый бинарный формат
Тип Esri compressed binary использует механизм бинарного хранения для хранения геометрии пространственных объектов. Сжатый двоичный класс пространственных объектов состоит из трех таблиц: бизнес-таблицы, таблицы объектов и таблицы пространственного индекса.
После проверки геометрии клиентское приложение сжимает и отсылает ее в базу геоданных, где она хранится в сжатом бинарном формате в таблице пространственных объектов, или F-таблице. Сжатие геометрии клиентским приложением снимает эту задачу с сервера базы данных и сокращает время на пересылку этой геометрии. Оно также обеспечивает эффективное хранение и извлечение пространственных данных, экономя пространство, необходимое для хранения данных, на целых 40 процентов.
В бизнес-таблице находятся атрибуты и пространственный столбец. Пространственный столбец является ключом к таблице объектов и таблице пространственного индекса.
Отношения между бизнес-таблицей и таблицей объектов управляются через пространственный столбец и столбец ID объектов (FID). Данный ключ, который поддерживается ArcGIS, является уникальным.
Растровые типы данных
Следует использовать ключевое слово конфигурации, содержащее параметр RASTER_STORAGE со значением RASTERBLOB, при создании наборов растровых данных и наборов данных мозаики в базах геоданных на Oracle.