Si votre logiciel ne prend pas en charge les fonctionnalités en plusieurs parties, vous devrez peut-être aller à des longueurs extraordinaires et compliquées pour exécuter des opérations spatiales. Par exemple, l'intersection de deux polygones peut, en général, avoir plus d'un composant connecté. Il est commode, à la fois algorithmiquement et conceptuellement, de supposer qu'une telle intersection renvoie un seul objet (un polygone à plusieurs parties) plutôt qu'un nombre arbitraire de polygones. (Pour les mêmes raisons, il est utile de prendre en charge diverses formes d'entités nulles et dégénérées - par exemple, des polygones ayant une étendue mais une aire nulle ou même des polygones avec des emplacements mais aucune étendue ni aire. Ces choses peuvent provenir d'opérations géométriques; les soutenir élimine beaucoup de post-traitement pointilleux au cas par cas et peut empêcher la disparition d'informations utiles.)
Du point de vue de la base de données relationnelle, les fonctionnalités à parties multiples rendent la normalisation possible: lorsqu'un attribut est inséparable d'une collection de polygones, vous voulez représenter cette collection comme un objet unique. Un bon exemple serait une caractéristique représentant presque tous les pays du monde ayant un littoral, car le pays comprend probablement certaines îles. Voulez-vous vraiment forcer votre SGBDR à faire une copie des attributs du pays pour chaque petite île? Préférablement pas. Vous ne voulez même pas (ou n'avez pas besoin) de conserver plusieurs copies d'un pointeur sur les attributs.
Comment représenteriez-vous un réseau ou un arbre de branchement sinon comme une multi-polyligne coordonnée?
Du point de vue des structures de données mathématiques ou algorithmiques, autoriser une fonctionnalité en plusieurs parties est une simplification, pas une complication. Afin de prendre en charge plusieurs polygones connectés (anneaux et polygones avec "trous"), vous avez déjà besoin de l'appareil pour représenter les polygones en plusieurs parties.
Enfin, les objets "vectoriels" et leur "représentation spaghetti" typique trouvent leur origine dans la théorie des complexes simpliciaux . (Ce n'est que grâce à ce lien quelque peu ténu avec la théorie de la topologie que le terme "topologie" en a fait un SIG, qui autrement n'utilise pratiquement rien de cette théorie.) Cette théorie nécessite et bénéficie de fonctionnalités en plusieurs parties. En fait, avoir un seul composant ne fait pas partie de la définition d'un complexe simplicial, mais se révèle plutôt être une propriété spéciale dont certains d'entre eux bénéficient (comme le révèle le rang de leur groupe d'homologie zéro). En tant que tel, la "pièce unique" n'est pas une propriété déterminante, mais est juste une qualité topologique dans le même sens que le fait d'avoir un anneau ou un "trou" dans un polygone est une qualité topologique (liée au rang du premier groupe d'homologie) .
Imaginez joindre des données de population à un tableau de polygones en une seule partie représentant des pays. Selon la façon dont vous effectuez la jointure, soit chaque île obtiendrait la population complète de ce pays, soit un seul polygone de l'ensemble obtiendrait la population complète. Sans représenter le pays comme un polygone à plusieurs parties, vous devez soit répartir la population (inutilement complexe et inexacte), soit rassembler les polygones ensemble avant de les rejoindre, auquel cas vous vous retrouvez essentiellement avec un polygone à plusieurs parties.
la source