Wenn die Speichernutzung Ihr Hauptanliegen ist, werden Ihnen wahrscheinlich viele kleine Funktionen (niedrige Scheitelpunktzahl) mehr gefallen als einige sehr große Funktionen (hohe Scheitelpunktzahl). Möglicherweise stellen Sie jedoch fest, dass "zu viele Features" möglicherweise sogar "zu viele Eckpunkte" für die Verarbeitungsgeschwindigkeit überfordern.
Wenn Sie darüber nachdenken, wie die Algorithmen strukturiert sein müssen, um alle Features gegen alle Features zwischen zwei Feature-Classes zu verarbeiten, arbeiten Sie mit mehrfach verschachtelten Schleifen (für Features in FC1 und FC2 sowie für die Eckpunkte in Feature1 und Feature2). Bei Operationen wie Zeichnung, die Anzahl der Ziehanforderungen ist oft größere Sorge als die Ecken in jeder Anforderung, aber mit Thema-on-Thema Operationen, sind die wichtigsten Algorithmen wahrscheinlich in jedem F1 auf der Grundlage der Zählungen von Eckpunkten zu / F2 Paar mit einer " großen O-Notation " von "O (N * M)" (die Zeit zum Abschließen der Operation hängt vom Faktor der Anzahl der beteiligten Scheitelpunkte ab), die für große Merkmale in beiden Datensätzen nahe genug liegt O (N ^ 2), damit Sie sich Sorgen machen, dass der Job jemals abgeschlossen wird.
Ich habe Erfolg gehabt, indem ich massive Features (wie Russland, Kanada, USA, Australien, Brasilien, Norwegen) mit einem 5-Grad-Raster (Fischnetz) überlagert habe, um die Komplexität von Features für die Zwischenverarbeitung zu reduzieren. Ich habe Point-in-Polygon-Operationen auf einer 1: 15m COUNTRIES-Ebene mit Scheitelpunktbeschränkung gesehen, die 100-1000-mal schneller als die ursprüngliche Tabelle ausgeführt wurden (mit nur einer 20-fachen Erhöhung der Feature-Anzahl). Sie müssen jedoch in Ihrer Verarbeitungslogik vorsichtig sein, um Eins-zu-Viele- und Viele-zu-Viele-Beziehungen korrekt zu behandeln, insbesondere in Fällen, in denen eine falsche Grenze besteht.
Die Einsparungen bei der Arbeit mit kleineren Features haben auch einen Aspekt der "sinkenden Rendite": Ich habe mich für ein 5-Grad-Raster entschieden, indem ich die Schnittleistung mit 90, 45, 30, 20, 15, 10, 5, 3, 2 und getestet habe 1-Grad-Gitter, die eine alarmierende Zunahme der Verarbeitungszeit zeigten, als die Anzahl der Gesamtmerkmale im Ballon aufstieg.
Es gibt Zeiten, in denen weniger Features mit mehr Scheitelpunkten effizienter sind. Daher lohnt es sich wahrscheinlich, einige Tests in der Reihenfolge des Betriebs mit realen Daten (nicht vereinfachten Testteilmengen) durchzuführen, bevor Sie sich auf einen Ansatz über den anderen festlegen (Ausgleich der RAM-Auslastung mit) Laufzeit).
HINWEIS: Ich habe die Rasterübung mit moderner Hardware wiederholt und mit einer 30-Grad-Überlagerung eine optimale Leistung erzielt, um das Risiko zu kleiner Features zu erhöhen und die Bedeutung der Auswertung mit Produktionsdaten zu erhöhen.