Если ваше программное обеспечение не поддерживает функции, состоящие из нескольких частей, вам, возможно, придется пойти на необычные и сложные шаги для выполнения пространственных операций. Например, пересечение двух многоугольников, как правило, может иметь более одного связного компонента. Как алгоритмически, так и концептуально удобно предположить, что такое пересечение возвращает один объект (многоугольник), а не произвольное число многоугольников. (По тем же причинам полезно поддерживать различные формы нулевых и вырожденных объектов - например, полигоны, имеющие экстент, но нулевую площадь, или даже полигоны с местоположениями, но не экстент или площадь. Эти вещи могут возникнуть в результате геометрических операций; их поддержка устраняет много суетной постобработки и может предотвратить исчезновение полезной информации.)
С точки зрения реляционной базы данных многокомпонентные функции делают возможной нормализацию: когда атрибут неотделим от коллекции полигонов, вы хотите представить эту коллекцию как один объект. Хорошим примером может служить функция, представляющая практически любую страну в мире, имеющую береговую линию, поскольку эта страна, вероятно, включает в себя несколько островов. Вы действительно хотите заставить свою СУРБД делать одну копию атрибутов страны для каждого маленького острова? Скорее всего нет. Вы даже не хотите (или не нуждаетесь) поддерживать несколько копий указателя на атрибуты.
Как бы вы представили сеть или ветвящееся дерево, если бы не координированная мультиполилиния?
С точки зрения математики или алгоритмических структур данных, использование многокомпонентной функции является упрощением, а не усложнением. Чтобы поддерживать многосвязные многоугольники (кольца и многоугольники с «дырками»), вам уже нужен аппарат для представления многочастных многоугольников.
Наконец, «векторные» объекты и их типичное «представление спагетти» берут свое начало в теории симплициальных комплексов . (Только благодаря этой несколько сомнительной связи с теорией топологии термин «топология» превратил ее в ГИС, которая в остальном практически ничего не использует из этой теории.) Эта теория требует и извлекает пользу из многокомпонентных функций. Фактически наличие только одного компонента не является частью определения симплициального комплекса, а скорее оказывается особым свойством, которым обладают некоторые из них (что определяется рангом их нулевой группы гомологий).). Таким образом, «одиночная часть» не является определяющим свойством, а представляет собой просто топологическое качество в том же смысле, что наличие кольца или «дыры» в многоугольнике является топологическим качеством (связанным с рангом первой группы гомологий). ,
Представьте себе, что данные о населении объединяются в таблицу, состоящую из отдельных полигонов, представляющих страны. В зависимости от того, как вы выполняете объединение, либо каждый остров получит полное население этой страны, либо только один полигон из множества получит полное население. Не представляя страну как многоугольник, состоящий из нескольких частей, вы должны либо распределить население (излишне сложное и неточное), либо собрать многоугольники вместе, прежде чем присоединиться, и в этом случае вы по существу получите многоугольник снова.
источник