Данные из баз данных и облачных хранилищ данных и ArcGIS

ArcGIS применяет правила присвоения имен и проверки геометрии при подключении к источнику данных или создании данных в поддерживаемых базах данных, как описано в следующих разделах.

Подсказка:

ArcGIS не поддерживает создание объектов в облачных хранилищах данных или в базах данных документов.

Имена объектов

База данных и облачные хранилища данных имеют различные требования к символам, используемым для названий объектов. Иногда база данных позволяет вам использовать неподдерживаемые символы в именах объектов, если вы предоставляете имя объекта, заключенное в разделители, такие как двойные кавычки. Однако ArcGIS не разграничивает имена объектов при запросе к базе данных, поэтому ArcGIS не может распознать эти имена.

Длина имени

ArcGIS может считывать и (в некоторых случаях) создавать объекты базы данных, такие как таблицы, виды и пользователи. Максимальная длина имени, которую ArcGIS допускает для этих объектов, указана в следующей таблице вместе с исключениями, когда они могут применяться.

Примечание:

Если база данных позволяет использовать меньше символов, чем разрешает ArcGIS, вы будете ограничены количеством символов, разрешенным базой данных. Информацию об ограничениях на имена объектов см. в документации по используемой вами платформе базы данных.

Указанное ниже число знаков предполагает использование однобайтовых символов.

Тип объектаМаксимальное число символов, создаваемых ArcGISМаксимальное число символов, считываемых ArcGISИсключения

Имя базы данных

Не применимо ни к какой базе данных, кроме SQLite.

250 при создании в SQLite.

Вплоть до ограничения системы управления базами данных или облачного хранилища данных.

ArcGIS может считать имя базы данных, максимально допускаемое Oracle.

Значения имен баз данных не применимы для SAP HANA, Elasticsearch и OpenSearch.

Имя базы данных для SQLite состоит из пути к файлу, имени файла и расширения файла. Если база данных SQLite настроена на использование ST_Geometry или пространственного типа SpatiaLite, то расширение файла будет (.sqlite). Если база данных SQLite настроена как OGC GeoPackage, то расширение файла будет (.gpkg).

Имя таблицы, класса объектов или представления

128

158 при создании в SQLite.

Для баз данных с ограничением длины имен объектов не более 128 символов вы можете создавать имена таблиц, видов и классов пространственных объектов в соответствии с ограничением базы данных.

128

158 при чтении из SQLite.

127 при считывании из Redshift или SAP HANA.

255 при чтении из Elasticsearch или OpenSearch.

Имя индекса

128

Для баз данных с ограничением длины имен объектов не более 128 символов вы можете создавать имена индексов в соответствии с ограничением базы данных.

До ограничения базы данных.

Имена индексов не применяются в облачных хранилищах данных, Elasticsearch или OpenSearch.

Имя поля (столбца)

128

Для баз данных с ограничением длины имен объектов не более 128 символов вы можете создавать имена полей в соответствии с ограничением базы данных.

Вплоть до ограничения базы данных или облачного хранилища данных.

Имя пользователя

ArcGIS создает пользователей только в следующих базах данных, и создаются имена, соответствующие тем, которые поддерживаются базой данных.

  • Oracle
  • PostgreSQL
  • SAP HANA
  • SQL Server

Вплоть до ограничения базы данных или облачного хранилища данных.

Значения имен пользователей не применимы для SQLite или BigQuery.

Пароль

ArcGIS создает пароли для пользователей только в следующих базах данных. Показана максимальная длина пароля.

  • Oracle - 30
  • PostgreSQL - 75
  • SAP HANA - 31
  • SQL Server - 128

256 для всех поддерживаемых баз данных и облачных хранилищ данных, за исключением следующих:

  • Elasticsearch и OpenSearch - 72 символа
  • Redshift - 64 символа
  • Teradata - 31 символ

Значения паролей не применимы для SQLite или BigQuery.

Для BigQuery максимальная поддерживаемая длина имени набора данных по умолчанию составляет 31 символ. Максимальная поддерживаемая длина имени проекта - 30 символов.

Проверка геометрии

Когда вы создаете данные в базе с помощью клиента ArcGIS, ArcGIS проверяет геометрию на основе определенных правил. Если создаваемая в клиенте ArcGIS геометрия является недопустимой, ArcGIS не позволит разместить ее в базе данных.

Функции конструктора Esri и IBM ST_Geometry, а также ArcGIS API, используют для проверки геометрии данных библиотеку геометрии Esri. Поэтому даже если вы создаете геометрию Esri или IBM ST_Geometry с помощью SQL, применяются правила проверки и недопустимая геометрия не будет размещена в базе.

Другие пространственные типы, такие как SDO_Geometry, PostGIS geometry или geography и Microsoft SQL Server geometry или geography, имеют собственные функции конструктора и используют собственные правила проверки геометрии. Эти правила могут не совпадать с правилами ArcGIS. Клиенты ArcGIS проверяют геометрию при чтении данных и не отображают такую геометрию, которая нарушает правила проверки ArcGIS. Если вы подключаетесь к базе данных, которая содержит данные, созданные не в ArcGIS, необходимо помнить о применении правил ArcGIS.

Правила проверки для точек

Следующие правила проверки будут применяться к точечным объектам:

  • Площадь и длина точек равны 0,0.
  • Конверт одной точки равен значениям X, Y этой точки.
  • Конверт из нескольких точек равен минимальному прямоугольнику, ограничивающему точки.

Правила проверки для простых линий или последовательностей линий

Следующие правила проверки будут применяться к простым линейным объектам:

  • Каждая часть линии должна иметь, по меньшей мере, две различные точки.
  • Каждая часть линии не должна пересекать сама себя. Начальная точка и конечная точка линии могут быть одинаковыми, но полученное замкнутое кольцо не будет считаться полигоном.
  • Части линии могут касаться друг друга в конечных точках.
  • Длина линии равна сумме длин всех ее частей.

Правила проверки для линий или слабо структурированных последовательностей линий

Следующие правила проверки будут применяться к более сложным линейным объектам:

  • Линии могут пересекать сами себя.
  • Каждая часть линии должна иметь, по меньшей мере, две различные точки.
  • Длина линии равна сумме длин всех ее частей.

Правила проверки и операции для полигонов

Ниже приведены правила проверки и операции для полигонов:

  • Висячие узлы недопустимы.
  • Сегменты линий, составляющие полигон, должны быть замкнуты (при этом z-координаты начальной точки и конечной точки также должны совпадать) и не должны перекрещиваться.
  • Если полигоны содержат пробелы, они должны полностью располагаться внутри внешней границы площади. Пробелы, находящиеся за пределами внешней границы, недопустимы.
  • Пробел, имеющий одну общую точку с внешней границей, преобразуется в полигон.
  • Несколько пробелов, имеющих общие точки, объединяются в один пробел.
  • Составные полигоны не могут перекрываться. Однако две части могут касаться в одной общей точке.
  • Составные полигоны не могут иметь общих границ.
  • Если два кольца имеют общую границу, они сливаются в одно кольцо.
  • В качестве длины геометрии рассчитывается общий периметр, включая границы всех пробелов в полигонах с пробелами.
  • Вычислена площадь.
  • Вычислен конверт.
  • Точки полигона хранятся в базе по направлению против часовой стрелки, хотя клиенты ArcGIS могут обратить точки в любом направлении. Если создается полигон, содержащий координаты в направлении по часовой стрелке, ArcGIS изменяет это направление и записывает координаты против часовой стрелки.

    Вершины полигона хранятся по направлению против часовой стрелки

    В этом примере начальная точка – a, и координаты должны быть перечислены в порядке a,b,c,d,a.

  • Полигон может иметь выемки, в тех местах, где пустоты внутри полигона касаются внешней границы.

    Порядок следования вершин полигона с выемками

  • Полигоны с выемками имеют внутреннее кольцо, касающееся внешней границы. Они не считаются полигонами с пробелами.
  • Если в полигоне имеется пробел, в первую очередь считывается внешняя граница. Точки пробелов хранятся в направлении, противоположном направлению внешней границы.

    В примере на следующем рисунке внешняя граница описана в порядке a,b,c,d,a, а пробел – в порядке e,f,g,h,e. Весь полигон, как объект, хранится в виде a,b,c,d,a,e,f,g,h,e.

    Порядок следования вершин полигона с выемкой

  • Если два пробела касаются в одной общей точке, они считаются за один пробел, а не за два.

    Порядок следования вершин полигона с двумя пробелами, имеющими общую точку

    В приведенном примере две внутренние области являются единым пробелом, так как они имеют общую точку g.

  • Как показано на следующем рисунке, сочетания обычных полигонов и полигонов с пробелами могут иметь достаточно сложную структуру. Внешняя граница представляет озеро с островом. На острове тоже есть небольшое озеро.

    Вложенные полигоны

    Можно представить такие полигоны как один, два или три объекта. Каждый полигон может храниться как отдельный объект. Большое озеро является полигоном с пробелом. Граница большого озера является внешней границей формы, тогда как остров представлен границей ее единственного пробела. Остров также является полигоном с пробелом. Граница острова является внешней границей, тогда как маленькое озеро представлено пробелом. Маленькое озеро является одним полигоном.

    Если озера являются важными объектами, один полигон с пробелом может представлять большое озеро, а второй полигон – малое озеро. Также для отображения объектов можно использовать составные полигоны. Первой частью полигона будет большое озеро с пробелом, представляющим остров. Второй частью будет малое озеро.

  • Нулевая геометрия допустима и действует как заполнитель. Они позволяют хранить атрибутивную строку без соответствующей геометрии. Например, нулевая геометрия может появиться как результат запроса пересечения двух непересекающихся полигонов.

    Непересекающиеся полигоны приводят к появлению нулевой геометрии.

    Так как площади A и B не касаются друг друга, в результате запроса их пересечения будет возвращена пустая геометрия.

  • Объекты обладают размерами. Объект, обладающий только координатами x и y, считается двухмерным. Объекты с z-координатами и измерениями являются трехмерными. Объект также может иметь нулевое измерение.

Пространственные метаданные

База геоданных хранит информацию о пространственных данных, которые в ней содержатся. Клиенты ArcGIS могут считывать информацию о типе классов объектов (например, точки, линии и полигоны), размерности (x-, y-, z- и m-координаты), пространственной привязке, уникальном идентификаторе и экстенте класса объектов из системных таблиц базы геоданных. Эти системные таблицы недоступны, если ArcGIS подключается к классу объектов в базе данных. Поэтому ArcGIS должен получать эти сведения из других источников.

При перетаскивании класса объектов (пространственной таблицы) на карту в ArcGIS Pro создается слой запроса. Определение слоя запроса в ArcGIS Pro происходит следующим образом:

  1. В базе данных запрашивается информация о пространственной таблице, в частности, размерность, пространственная привязка и тип геометрии.
  2. Если эта информация не определена для всей таблицы, ArcGIS Pro считывает первую строку таблицы и использует информацию, указанную для этого объекта.
  3. Если пространственная привязка, тип геометрии или размерность таблицы не могут быть определены по запросу первой строки – например, таблица является пустой, или эта строка имеет пользовательскую пространственную привязку – нужная информация для определения слоя будет запрошена у пользователя.
  4. ArcGIS Pro запрашивает базу данных, чтобы найти непустую колонку для использования ее данных в качестве уникального идентификатора записей в таблице. Если подходящий столбец не найден, определение ObjectID таблицы будет запрошено у вас.
  5. Наконец, ArcGIS Pro вычислит экстент данного слоя при добавлении его на карту.

Поскольку данные, отображаемые на карте, зависят от запроса, можно открыть определение слоя запросов и изменить его. Например, если класс пространственных объектов содержит как точечные, так и полигональные объекты, можно выбрать нужный тип геометрии, открыв определение слоя запросов. Кроме того, если класс пространственных объектов содержит несколько пространственных столбцов, можно открыть определение слоя запроса и изменить запрос так, чтобы использовался другой столбец. Имейте в виду, что путем изменения запроса нельзя отобразить не поддерживаемые типы данных.