Типы данных PostgreSQL, поддерживаемые в ArcGIS
При создании таблицы или добавлении столбца в таблицу базы данных столбцы создаются с конкретным типом данных. Типы данных представляют собой классификации, которые позволяют определить возможные значения, операции, которые могут быть выполнены для этих данных, а также каким образом данные этого поля будут храниться в базе данных.
При осуществлении доступа к таблицам баз данных через ArcGIS вы можете работать со специфическими типами данных. При осуществлении доступа к таблице базы данных через узел Подключения баз данных в дереве Каталога или слой запроса в ArcMap ArcGIS отбирает все неподдерживаемые типы данных. Если вы работаете с таблицей базы данных непосредственно, неподдерживаемые типы данных не будут отображены в интерфейсе ArcGIS и вы не сможете редактировать их в ArcGIS. Кроме того, при копировании таблиц, содержащих неподдерживаемые типы данных с использованием ArcGIS, скопированы будут только данные поддерживаемых типов. Если вы вставляете таблицу в другую базу данных или базу геоданных, колонки неподдерживаемых типов данных представлены в ней не будут.
При создании класса пространственных объектов или таблицы в ArcGIS или при добавлении столбца к существующей таблице (классу объектов) в ArcGIS, для каждого столбца существует возможность выбора 11 различных типов данных. Типы данных, не соответствующие этим типам, не могут напрямую использоваться в приложениях ArcGIS.
В первом столбце перечислены типы данных, доступные в ArcGIS. Во втором столбце отображается тип данных PostgreSQL, который будет создан в базе данных. В третьем столбе показано, какие еще типы данных PostgreSQL соответствуют типам данных ArcGIS при их просмотре в ArcGIS.
Типы данных ArcGIS |
Создаваемые типы данных PostgreSQL | Другие типы данных PostgreSQL, которые можно просматривать |
Примечания |
---|---|---|---|
BLOB |
BYTEA |
||
DATE |
TIMESTAMP WITHOUT ZONE |
TIMESTAMP | |
DOUBLE |
NUMERIC(p) |
BIG SERIAL, DOUBLE PRECISION | Точность и масштаб, указанные в ArcGIS, могут повлиять на тип полученных данных, создаваемых в базе данных. Для получения более подробной информации см. раздел Типы полей ArcGIS. |
FLOAT |
NUMERIC(p) |
Точность и масштаб, указанные в ArcGIS, могут повлиять на тип полученных данных, создаваемых в базе данных. Для получения более подробной информации см. раздел Типы полей ArcGIS. |
|
GEOMETRY |
ST_GEOMETRY or GEOMETRY |
В многопользовательской базе геоданных настройка GEOMETRY_STORAGE ключевого слова конфигурации, использующаяся при создании класса пространственных объектов, определяет тип данных, создаваемых в базе данных. ST_Geometry и geometry являются суперклассами. При создании классов объектов в ArcGIS for Desktop, классы точечных объектов, создаваемые как ST_Geometry, используют подтип ST_Point, а классы точечных объектов, создаваемые как PostGIS, используют подтип Point. Для всех остальных классов объектов, создаваемых в ArcGIS for Desktop, используется суперкласс. Если вы создаете пространственные столбцы, используя SQL, текущий подтип данных зависит от типа заданного подтипа. Для того чтобы применять хранение ST_Geometry в базе данных, сначала необходимо установить его. Для получения подробной информации см. раздел Добавление типа геометрии ST_Geometry к базе данных PostgreSQL. Для использования типа геометрии PostGIS необходимо установить PostGIS в кластер базы данных PostgreSQL и активировать работу с PostGIS в самой базе данных. Более подробная информация находится в документации по PostgreSQL. |
|
GUID |
VARCHAR(38) |
||
LONG INTEGER |
INTEGER |
SERIAL | |
OBJECTID |
INTEGER в базе геоданных SERIAL в базе данных |
В ArcGIS тип ObjectID соответствует столбцу с идентификаторами записей (ID) таблицы (или класса объектов). В таблице может быть только один. Для таблиц, созданных вне ArcGIS, столбцы интерпретируются как ObjectID только после регистрации в базе геоданных. |
|
RASTER |
BYTEA or ST_RASTER |
Растры поддерживаются только многопользовательскими базами геоданных, а тип создаваемых данных PostgreSQL зависит от используемого при создании каталога растров, набора растровых данных или набора данных мозаики ключевого слоя конфигурации DBTUNE. Вам надо отдельно настроить ST_Raster в базе геоданных, если вы собираетесь его использовать. Инструкции см. в разделе Установка типа ST_Raster в PostgreSQL. |
|
SHORT INTEGER |
SMALLINT |
REAL | |
ТЕКСТ |
CHARACTER VARYING |
CHARACTER, VARCHAR, TEXT |
Если в таблице имеется столбец с типом данных, который не поддерживается в ArcGIS, можно преобразовать этот столбец в текст. Однако, это следует делать, только если вы хотите увидеть значения в этом столбце; если вы собираетесь использовать эти значения в анализе, этого делать нельзя. Например, можно выполнить выражение SELECT, чтобы выбрать столбцы в tableb и преобразовать десятичный столбец "total" в текст:
SELECT id, name, total::text
FROM me.mydb.tableb;