Mailinglisten-Archive |
Hallo Gerd, das hört sich sehr interessant an. Nach meiner Erfahrung steckt in der Flächenzuordnung zur Koordinate ein rechenaufwändiges Geschäft. Eventuell wäre eine vereinfachende Annahme der Ansatzpunkt um den Rechenaufwand und damit die Suchzeit zu verkürzend. Ohnehin bezweifle ich, dass der Flächenzuordnungsalgorithmus in der Query Platz finden wird. Mein Ansatz wäre: 1. Berechne von jeder Fläche die Mittelpunktskoordinate. 2. Mit Deiner Datenbankabfrage suchst Du die TOP 20 der Zielkoordinate nächst gelegenen Grundstücke 3. Bei diesen checkst Du dann, ob die Zielkoordinate in der Fläche drinnen liegt. Das sollte zügig von statten gehen. Ein anderer Ansatz fällt mir gerade noch ein: 1. Speichere Alle Kanten der Grundstücke als Strecken mit den Koordinaten X1/Y1 , X2/Y2. Merke Dir dazu, ob die Fläche jeweils links/rechts/oben/unten zur Strecke liegt. 2. Zusätzlich speicherst Du bei der Strecke die ID der zugehörigen Fläche. 3. Wenn Du per SELECT über die Tabelle drüber huschst checkst Du zu jedem Streckenrecord, ob für die Zielkoordinate die Bedingung oben/rechts usw. erfüllt ist. Das ist dann nur noch kleine Geometrie. 4. Da Du ja über die ID weißt, zu welcher Fläche die Strecke gehört, kannst Du prüfen, ob alle Strecken richtig zur Zielkoordinate liegen. Hier sollte man die Daten in Reihenfolge der ID verarbeiten. Sobald eine Srecke nicht passt, kann man den Rest des Datenstroms zur ID überspringen. Und man merkt soforrt, ob alle Strecken zur ID die Bedingung erfüllen. So, das genügt zum frühen Samstag morgen. Hoffe, die Brötchen schmecken jetzt noch und ich habe Dich nicht zu sehr ins Grübeln gebracht. Beste Grüße, Hans-Jürgen -- Infos zur Mailingliste, zur Teilnahme und zum An- und Abmelden unter -->> http://www.4t2.com/mysql
php::bar PHP Wiki - Listenarchive