ArcGIS Desktop

  • ArcGIS Pro
  • ArcMap

  • My Profile
  • Справка
  • Sign Out
ArcGIS Desktop

ArcGIS Online

Картографическая платформа вашей организации

ArcGIS Desktop

Полноценная профессиональная ГИС

ArcGIS Enterprise

ГИС предприятия

ArcGIS Developers

Инструменты для встраивания приложений с местоположениями

ArcGIS Solutions

Бесплатные шаблоны карт и приложений для отрасли

ArcGIS Marketplace

Получение приложения и данных для вашей организации.

  • Документация
  • Поддержка
Esri
  • Войти
user
  • Мой профиль
  • Выход

ArcMap

  • На главную
  • Начало работы
  • Карта
  • Анализ
  • Управление данными
  • Инструменты
  • Дополнительные модули

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

  • Правила проверки для точечных форм (point shapes)
  • Правила проверки для простых линий или последовательностей линий
  • Правила проверки для линий или слабо структурированных последовательностей линий
  • Правила проверки и операции для форм площадей (area shapes)
  • Идентификатор пространственной привязки (SRID)

Проверка геометрии производится при помощи типа данных ST_Geometry посредством библиотек st_shapelib (Oracle) и st_geometry в PostgreSQL, IBM DB2 и Informix. После создания таблицы проверка выполняется при вставке или обновлении данных.

Существует два основных способа вставки данных в пространственные таблицы:

  • Использование функций конструктора (constructor) или приложений, построенных на основе этих функций
  • Использование ArcGIS API или приложений, построенных на основе этого интерфейса

Функции конструктора определяются реализацией каждого пространственного типа, и они могут применять для проверки геометрии данных различные методы. Функции конструктора Esri и IBM ST_Geometry, а также ArcGIS API, используют для проверки геометрии данных библиотеку геометрии Esri. Другие пространственные типы, такие как SDO_Geometry, PostGIS geometry или geography и Microsoft SQL Server geometry, имеют собственные функции конструктора и используют собственные правила проверки геометрии. Поэтому, следует изучить соответствующую документацию по Oracle, PostGIS или SQL Server, чтобы узнать, какие правила применяются при вставке или обновлении этих пространственных типов вне ArcGIS.

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

Следующие правила проверки геометрии применяются к функциям конструктора Esri API, ST_Geometry, а также при чтении геометрии в ArcGIS:

Правила проверки для точечных форм (point shapes)

  • Площадь и длина точек равны 0,0.

  • Конверт одной точки равен значениям X, Y этой точки.

  • Конверт формы из нескольких точек равен минимальному прямоугольнику, ограничивающему точки.

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

  • Удаляются последовательные дублированные точки.
  • Каждая часть линии должна иметь, по меньшей мере, две различные точки.
  • Каждая часть линии не должна пересекать сама себя. Начальная и конечная точка линии могут быть одинаковыми, но полученное замкнутое кольцо (ring) не будет считаться формой площади (area shape).
  • Части линии могут касаться друг друга в конечных точках.
  • Длина линии равна сумме длин всех ее частей.

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

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

Правила проверки и операции для форм площадей (area shapes)

  • Удаляются последовательные повторы одной координатной точки.
  • Удаляются висячие объекты (dangles).
  • Сегменты линий должны быть замкнуты (при этом координаты Z начальной и конечной точки также должны совпадать) и не должны перекрещиваться.
  • Если форма площади имеет пробелы (holes), они должны полностью располагаться внутри внешней границы площади. Все пробелы, находящиеся за пределами внешней границы, в ArcGIS удаляются.
  • Пробел, имеющий одну общую точку с внешней границей, преобразуется в точки внешней границы формы площади.
  • Несколько пробелов, имеющих общие точки, объединяются в один пробел.
  • Части составной формы площади не могут перекрываться. Однако две части могут касаться в одной общей точке.
  • Части составной формы площади не могут иметь общих границ. Общие границы расформировываются.
  • Если два кольца имеют общую границу, они сливаются в одно кольцо.
  • В качестве длины геометрии рассчитывается общий периметр, включая границы всех пробелов в полигонах с пробелами.
  • Вычислена площадь.
  • Вычислен конверт.
  • Точки формы площади хранятся в базе по направлению против часовой стрелки, хотя клиенты 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.

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

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

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

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

  • Нулевые формы (Nil shapes) выступают как заменители реальных форм – так можно вывести атрибутивную строку без соответствующей геометрии. Например, нулевая форма может появиться как результат запроса пересечения двух непересекающихся площадей.

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

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

  • Формы имеют измерения. Форма, имеющая только координаты X и Y, считается двухмерной. Форма, имеющая координаты Z или другие измерения (значения M), считается трехмерной. Форма также может иметь нулевое измерение.

Идентификатор пространственной привязки (SRID)

Для классов объектов, использующих тип ST_Geometry, при попытке вставить значение с координатами, лежащими вне пределов идентификатора пространственной привязки (SRID), с которым была создана таблица, оператор INSERT даст сбой с подобным сообщением об ошибке:

СУБДСообщение об ошибке

Oracle

ERROR at line 1:
ORA-20004: Error generating shape from text (-112)
ORA-06512: at "SDE.ST_GEOMETRY_SHAPELIB_PKG", line 42
ORA-06512: at "SDE.ST_POLYGON", line 69
ORA-06512: at line 1

PostgreSQL

ERROR: ESRI: error generating shape [-112]:

Informix

SQL Error (-937): Coordinates out of bounds in ST_PolyFromText.

DB2

GSE3416N Coordinate out of bounds

SQLite

Error: ST_Geometry failed with SDE error -139:
'The specified coordinate exceeds the valid coordinate range':[4]

Связанные разделы

  • Функции пространственного доступа

ArcGIS Desktop

  • На главную
  • Документация
  • Поддержка

ArcGIS

  • ArcGIS Online
  • ArcGIS Desktop
  • ArcGIS Enterprise
  • ArcGIS
  • ArcGIS Developer
  • ArcGIS Solutions
  • ArcGIS Marketplace

Об Esri

  • О нас
  • Карьера
  • Блог Esri
  • Конференция пользователей
  • Саммит разработчиков
Esri
Расскажите нам, что вы думаете.
Copyright © 2021 Esri. | Конфиденциальность | Правовая информация