phpbar.de logo

Mailinglisten-Archive

AW: Daten verorten

AW: Daten verorten

Hans-Jürgen Schwarzer hjs at schwarzer.de
Sam Okt 9 09:42:57 CEST 2004


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