Vorteile mehrteiliger Funktionen?

27

Mehrteilige Punkte, Linien und Polygone werden in fast jedem GIS implementiert. Welche Vorteile bieten sie jedoch, wenn überhaupt?

In einer relationalen Datenbank können Attribute, die von verschiedenen Features gemeinsam genutzt werden, einmal gespeichert und mithilfe von IDs mit separaten Geometriedatensätzen verknüpft werden. Sind Multipart-Funktionen ein Erbe des Flat File-Datenspeichers?

Alt-Text

geographika
quelle

Antworten:

34

Wenn Ihre Software keine mehrteiligen Funktionen unterstützt, müssen Sie möglicherweise außergewöhnliche und komplizierte Schritte ausführen, um räumliche Operationen auszuführen. Beispielsweise kann der Schnittpunkt zweier Polygone im Allgemeinen mehr als eine verbundene Komponente aufweisen. Sowohl algorithmisch als auch konzeptionell ist es zweckmäßig anzunehmen, dass eine solche Schnittmenge ein einzelnes Objekt (ein mehrteiliges Polygon) und keine willkürliche Anzahl von Polygonen zurückgibt. (Aus den gleichen Gründen ist es hilfreich, verschiedene Formen von Null- und entarteten Features zu unterstützen - zum Beispiel Polygone mit einer Ausdehnung ohne Fläche oder sogar Polygone mit Positionen ohne Ausdehnung oder Fläche. Diese Dinge können sich aus geometrischen Operationen ergeben und sie unterstützen.) eliminiert eine Menge umständlicher Nachbearbeitung von Fall zu Fall und kann verhindern, dass nützliche Informationen verschwinden.)

Aus relationaler Datenbanksicht ermöglichen mehrteilige Features die Normalisierung: Wenn ein Attribut nicht von einer Sammlung von Polygonen zu trennen ist, möchten Sie diese Sammlung als ein einzelnes Objekt darstellen. Ein gutes Beispiel wäre ein Merkmal, das fast jedes Land der Welt mit einer Küste darstellt, da das Land wahrscheinlich einige Inseln umfasst. Möchten Sie Ihr RDBMS wirklich zwingen, eine Kopie der Attribute des Landes für jede kleine Insel zu erstellen? Höchst wahrscheinlich nicht. Sie möchten (oder müssen) auch nicht mehrere Kopien eines Zeigers auf die Attribute verwalten.

Wie würden Sie ein Netzwerk oder einen Verzweigungsbaum darstellen, wenn nicht als koordinierte Multipolylinie?

Aus Sicht der Mathematik oder algorithmischen Datenstrukturen ist das Zulassen eines mehrteiligen Features eine Vereinfachung, keine Komplikation. Um mehrfach verbundene Polygone (Ringe und Polygone mit "Löchern") zu unterstützen, benötigen Sie bereits die Vorrichtung zur Darstellung mehrteiliger Polygone.

Schließlich haben "Vektor" -Objekte und ihre typische "Spaghetti-Darstellung" ihren Ursprung in der Theorie der simplizialen Komplexe . (Nur durch diese etwas schwache Verbindung zur Topologietheorie gelangte der Begriff "Topologie" in das GIS, das ansonsten im Wesentlichen nichts von dieser Theorie verwendet.) Diese Theorie erfordert und profitiert von mehrteiligen Merkmalen. Tatsächlich ist es nicht Teil der Definition eines simplizialen Komplexes, nur eine einzige Komponente zu haben, sondern es stellt sich heraus, dass einige von ihnen eine besondere Eigenschaft besitzen (was sich aus dem Rang ihrer nullten Homologiegruppe ergibt)). Als solches ist "Einzelteil" keine definierende Eigenschaft, sondern lediglich eine topologische Eigenschaft in dem Sinne, dass das Vorhandensein eines Rings oder eines "Lochs" in einem Polygon eine topologische Eigenschaft ist (bezogen auf den Rang der ersten Homologiegruppe). .

whuber
quelle
1
Sehr nette Antwort. Ich bin nicht zu 100% davon überzeugt, dass eine Datenbank mit mehrteiligen Features normalisiert werden kann - jedes Polygon verfügt immer noch über eindeutige Eigenschaften wie Fläche und Länge, und eine Frage wie "Wie viel von Griechenlands Fläche besteht aus Inseln" ist nur schwer zu beantworten jedes Polygon Attribute geben.
Geographika
2
@geographika Yours ist ein gutes Beispiel dafür, warum man Flexibilität bei der Darstellung von (räumlichen oder nicht räumlichen) Entitäten mit Datenbanken benötigt. Um es weiter auszudehnen, könnte man auch argumentieren, dass einzelne Polygone in ihre äußeren und inneren Ringe "aufgelöst" werden müssen, um Fragen wie "Wie viel von Griechenlands Gebiet besteht aus Seen?" Zu beantworten. Jede gegebene Datenbankstruktur macht bestimmte Abfragen einfach und andere schwieriger. Ein Teil des guten Datenbankdesigns muss daher die Berücksichtigung der vorgesehenen Verwendungszwecke der Datenbank umfassen. Ein gutes (räumliches) DBMS bietet Mechanismen zur Konvertierung zwischen verschiedenen Strukturen.
Whuber
2
+1 Gute Antwort. Es könnte sich jedoch lohnen, die Leistungsnachteile von mehrteiligen Funktionen zu erörtern. Nehmen Sie eine Polylinien-Feature-Class von US-Autobahnen, bei denen Autobahn-Features an Staatsgrenzen aufgeteilt sind. Erstellen Sie eine zweite Feature-Class, indem Sie den Autobahnnamen auflösen, sodass I-10 den Kontinent umspannt. Vergleichen Sie nun die Leistung des Identify-Tools. Sofern sich die räumliche Indizierungsstrategie von ESRI nicht geändert hat, wird sie in der mehrteiligen Feature-Class langsamer sein, da sich viel mehr MBRs überlappen. Jede Koordinate jedes Features, dessen MBR den Punkt überlappt, wird untersucht.
Kirk Kuykendall
@ Kirk Guter Punkt. Ihre Beispiele verweisen jedoch eher auf Mängel in der ESRI-Technologie als auf grundsätzliche Probleme. Die Identifizierung eines Merkmals mittels einer einigermaßen effizienten, aber einfachen räumlichen Datenstruktur, wie beispielsweise eines Quadtrees, sollte eine O-Leistung (log (N)) aufweisen (nach dem anfänglichen Zwischenspeichern einer gespeicherten Datenstruktur). Das Aufteilen jedes der N Merkmale (angenommen groß) in einen Durchschnitt von K Stücken (angenommen mäßig oder klein im Vergleich zu N) erhöht log (N) auf log (N) + log (K), was - unter den gegebenen Voraussetzungen - praktisch ist unbemerkt.
Whuber
1
@Dandy Vielen Dank, dass Sie den Unterschied zwischen einer mehrteiligen Geometrie und einer bloßen Sammlung von Teilen hervorgehoben haben. Ich denke nicht, dass alle mehrteiligen Feature-Typen ihre Komponenten notwendigerweise "einschränken" müssen. dies ist wahrscheinlich implementierungsabhängig - was darauf hinweist, dass das Konzept "mehrteilig" einige subtile Variationen enthält.
whuber
12

Stellen Sie sich vor, Sie fügen Bevölkerungsdaten zu einer Tabelle aus einteiligen Polygonen zusammen, die Länder darstellen. Abhängig davon, wie Sie beitreten, erhält jede Insel die volle Bevölkerung dieses Landes, oder nur ein Polygon der Gruppe erhält die volle Bevölkerung. Ohne das Land als mehrteiliges Polygon darzustellen, müssen Sie entweder die Bevölkerung aufteilen (unnötig komplex und ungenau) oder die Polygone vor dem Zusammenfügen zusammenfassen. In diesem Fall erhalten Sie im Wesentlichen wieder ein mehrteiliges Polygon.

Sean
quelle