Spatial Join bei sehr großen Datenmengen?

Hallo,

Habe als Ausgangsbasis einen 200m Raster (in Vektorform) mit etwa 2,1 Mio. Zellen. Von jeder Zelle ist ein Buffer (von den Seitenkanten) mit 3.000 m zu erstellen (schon geschehen) und die Spaltenwerte der darin liegenden Zellen (im Normalfall 777 Zellen) sind pro Buffer-Kreis zu summieren. Daten sind ein einer File Geodatabase gespeichert.
Siehe auch die angefügten Bilder. Ist das mit ArcMap oder ArcCatalog zu bewältigen?
Spatial Join (Rechtsklick Layer 'Joins and Relates') habe ich bereits probiert, nach ungefähr 10.000 Datensätzen wird abgebrochen. Spatial Join über die Toolbox in ArcCatalog habe ich auch schon probiert, dort werden nur die Daten eingelesen umd mehr tut sich nicht.

Ich habe das ganze auch rechnerisch über MySQL-Datenbank probiert, allerdings ist die Rechenzeit für eine Zelle 6 Sekunden, würde also über 140 Tage dauern.
Gibt es alternative Lösungsmethoden?
Danke!

mfg,
Mike


[imgs=http://img171.imageshack.us/img171/1443/buff erdetail.png http://img12.imageshack.us/img12/5935/bufferg.png ]Buffer für eine Zelle[/imgs]


[imgs=http://img171.imageshack.us/img171/1443/buff erdetail.png http://img12.imageshack.us/img12/5935/bufferg.png ]alle Bufferkreis Detail[/imgs]
zweites bild
"Ich habe das ganze auch rechnerisch über MySQL-Datenbank probiert, allerdings ist die Rechenzeit für eine Zelle 6 Sekunden, würde also über 140 Tage dauern."

Hast Du schon probiert, die Abfrage in MySQL zu optimieren? Du brauchst nicht jedesmal alle Zellen zu prüfen. Die fraglichen können ja nur in der bounding box des buffers liegen und das ist relative einfach zu prüfen, vor allem kann es durch einen Index der X- und Y-Werte sehr beschleunigt werden. Die rechenaufwendige Contains()-Prüfung läuft dann nur noch in einem vielfach kleineren Datensatz ab. 777 statt 2.100.000.

Ich habe nicht die geringste Ahnung über den spatial Dialekt von MySQL (und würde wohl PostGIS oder Manifold bevorzugen) aber generell würde ich ein Konstrukt verwenden wie

SELECT .... FROM "RasterPkts" INNER JOIN "Buffer" ON "RasterPkts"."X" BETWEEN "Buffer"."BBOX_Xmin" AND "Buffer"."BBOX_Xmax" AND ... <gleiches für Y> ... WHERE CONTAINS(...)

Das ist natürlich nur Pseudocode, weil ich - wie gesagt - keinen Schimmer über die MySQL Syntax habe. Du könntest es so ausdrücken, das jeder buffer-Kreis ein eigenes Area of Interest mit seiner bounding box umsonst mitbringt.
Danke für deinen Ansatz, werde das nächste Woche nach einer Dienstreise ausprobieren bzw. meinem Kollegen sagen, denn der kennt sich mit SQL besser aus.

mfg,
Mike
Ich lese gerade, dass die räumlichen Funktionen von MySQL sich sowieso immer nur auf die BoundingBox einer Geometrie beziehen. Damit scheidet dieser Spatial-SQL-Dialekt TMO für die Fragestellung aus, weil ich keine Möglichkeit sehe, die Ecken außerhalb des Kreispuffers zu eleminieren.