Ich habe eine große Anzahl von Shapefiles, die Bereiche von Interesse für eine Analyse darstellen, die unter Verwendung verschiedener Quellen von Satellitenbildern (IKONOS, RapidEye usw.) durchgeführt wird. Leider verwenden die Bilder kein Pfadpflegesystem wie beispielsweise Landsat, sodass die Ausmaße sehr unterschiedlich sind.
Ich habe Shapefiles an jedem AOI abgeschnitten, die den Umfang verschiedener Bilderfassungen darstellen, die alle bereits als akzeptabel eingestuft wurden. Einige dieser Shapefiles haben 500 oder mehr Polygone.
Ich muss einen Ansatz finden, vorzugsweise einen, der automatisiert werden kann (Python und ArcInfo 10, vorzugsweise wäre auch FOSS akzeptabel), um die geringste Anzahl von Polygonen zu bestimmen, die jeden meiner Interessenbereiche abdecken.
quelle
Antworten:
Wie bereits erwähnt, wäre es schwierig, diese Art von Problem zu verallgemeinern, um eine qualitativ hochwertige Lösung zu finden, aber dieser Ansatz könnte Sie ohne viel Arbeit nahe genug bringen. Hier ist ein Pseudocode, der auf den folgenden Annahmen basiert:
Satz von Polygonen Y, die A vollständig abdecken
Die Idee ist, dass Sie Ihren Interessenbereich iterativ mit der Satellitenausdehnung reduzieren, die die größte Überlappung mit dem verbleibenden Interessenbereich aufweist. Der AOI wird mit jeder Iteration kleiner, bis nichts mehr übrig ist. Dies wird wahrscheinlich keine optimale Lösung sein, sollte aber vernünftig sein und ziemlich schnell laufen.
quelle
Ok, Sie haben also Bereich A, der einen Bereich darstellt, und eine Reihe von Bildbereichen, die als Satz Y definiert werden können.
Wenn ich das richtig habe, können Sie eine Reihe verschiedener Funktionen ausführen:
Sie können dann die Bereiche der einzelnen Bereiche untersuchen und feststellen, ob Sie selbst auswählende Polygone haben, indem Sie eine räumliche Geometriesortierung mit ArcPy und Cursorn durchführen.
Ich hoffe das hilft.
quelle