При создании таблицы или добавлении столбца в таблицу базы данных вы указываете определенный тип данных для столбца. Типы данных определяются, исходя из следующего:
- Какие значения можно хранить в столбце
- Какие операции можно применять к данным этого столбца
- Как данные этого столбца хранятся в базе данных
ArcGIS работает с определенными типами данных. При осуществлении доступа к таблице базы данных через Подключения к базам данных, слой запроса или веб-сервис, ArcGIS отфильтровывает любые неподдерживаемые типы данных. ArcGIS не отображает неподдерживаемые типы данных, и вы не сможете редактировать их в ArcGIS. Аналогично, если при помощи ArcGIS копировать и вставлять таблицы, содержащие неподдерживаемые типы данных, из одной базы в другую, ArcGIS вставит только те столбцы, которые используют поддерживаемые типы данных.
В первом столбце в следующей таблице перечислены типы данных ArcGIS. Во втором столбце перечислены типы данных Oracle, создаваемые ArcGIS. В третьем столбце показано, какие другие типы данных Oracle (если они имеются) сопоставляются типам данных ArcGIS при просмотре таблицы, созданной вне ArcGIS (не зарегистрированной в базе геоданных). В последнем столбце при необходимости предоставляется дополнительная информация.
Тип данных ArcGIS | Созданные типы данных Oracle | Другой тип данных Oracle, которые можно просматривать | Примечания |
---|---|---|---|
Большое целое | number(p) | number(p) | Значение точности (p) может находиться в диапазоне от 11 до 18. Если не указать точность при создании большого целочисленного поля в ПО ArcGIS или ArcObjects SDK, будет создано поле Oracle number(38). |
Blob | BLOB | ||
Дата | timestamp | ||
Только дата | Не применяется | Не поддерживается | |
Double |
number(38,8) | number(p,s) |
Точность (p) и масштаб (s), указанные в ArcGIS, могут повлиять на тип полученных данных. Для получения более подробной информации см. раздел Типы данных полей ArcGIS. |
Float | number(38,8) | number(p,s) | Точность (p) и масштаб (s), указанные в ArcGIS, могут повлиять на тип полученных данных. Для получения более подробной информации см. раздел Типы данных полей ArcGIS. |
Геометрия |
ST_Geometry или SDO_Geometry | Тип создаваемых данных Oracle зависит от указанного при создании класса пространственных объектов хранилища геометрии. Oracle Spatial = SDO_Geometry или spatial type = ST_Geometry. Чтобы использовать ST_Geometry в базе данных (не в базе геоданных), вам нужно установить эту библиотеку. Примечание:В ArcGIS Pro следующие пространственные типы являются устаревшими:
Если они присутствуют в базе геоданных, то в базе данных они отображаются как числовые типы данных. Нельзя создать классы пространственных объектов, которые использовали бы эти типы хранилищ. В настоящее время можно просматривать классы пространственных объектов, использующие эти типы геометрии хранилищ, но эта функциональность будет удалена в будущем релизе. Используйте инструмент геообработки Изменить условия хранения, чтобы перенести классы пространственных объектов на поддерживаемые типы данных для обеспечения дальнейшего доступа к данным. | |
Global ID | char or nchar (UUID len) | Поддерживается только в базах геоданных. Поле уникального идентификатора будет создано как nchar, если для параметра UNICODE_STRING ключевого слова конфигурации, с которым была создана таблица, было указано значение TRUE. | |
GUID |
char or nchar (UUID len) | Поле уникального идентификатора будет создано как nchar в базе геоданных, если для параметра UNICODE_STRING ключевого слова конфигурации, с которым была создана таблица, было указано значение TRUE. | |
Long integer |
number(10) | число(p) | Значение точности (p) может находиться в диапазоне от 6 до 10. При создании с помощью ПО ArcGIS или ArcObjects SDK, если при этом значение точности не задано, в базе данных создается number(38); в ином случае используется заданная точность. Точность может повлиять на тип полученных данных ArcGIS. Для получения более подробной информации см. раздел Типы данных полей ArcGIS. |
Object ID |
number(38) при создании в многопользовательской базе геоданных number(38) с последовательностью при регистрации существующей таблицы базы данных базой геоданных. number(38) всегда создается в качестве идентификатора при использовании ArcGIS для создания класса пространственных объектов или таблицы в базе данных Oracle либо при работе с инструментом геообработки Добавить прирастающее поле ID для добавления поля ID field к таблице базы данных Oracle. | Тип данных ArcGIS ObjectID соответствует столбцу с идентификаторами записей (ID) таблицы (или класса объектов). В таблице может быть только один. | |
Растр | BLOB or number(38) | Тип растровых данных ArcGIS поддерживается только в базах геоданных. Используемый тип данных для поля растра зависит от ключевого слова конфигурации, указанного при создании набора данных мозаики или набора растровых данных. | |
Short integer |
number(5) | number(p) | Значение точности (p) может находиться в диапазоне от 1 до 5. Но в столбцах short integer могут храниться только значения в диапазоне от -32 768 до 32 767. Даже если точность числа равна 5, вы не можете хранить в столбце short integer значение, большее 32 767 или меньшее -32 768. При создании с помощью ПО ArcGIS или ArcObjects SDK, если при этом значение точности не задано, в базе данных создается number(5); в ином случае используется заданная точность. Точность может повлиять на тип полученных данных ArcGIS. Для получения более подробной информации см. раздел Типы данных полей ArcGIS. |
Текст |
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.
ST_Geometry
Тип данных ST_Geometry использует спецификацию пользовательских типов данных SQL 3 (UDT), что позволяет создавать столбцы, в которых могут храниться пространственные данные, например, улицы, земельные участки, достопримечательности. В соответствии со стандартами International Organization for Standards (ISO) и Open Geospatial Consortium (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.
Типы растровых данных
Используйте ключевое слово конфигурации, содержащее параметр RASTER_STORAGE со значением RASTERBLOB, при создании наборов растровых данных и наборов данных мозаики в базах геоданных в Oracle.
Прежние версии:
Хотя вы можете использовать ключевое слово конфигурации, содержащее параметр RASTER_STORAGE со значением BLOB, это менее эффективно и поддерживается в основном на устаревших системах.