Hi ihr,
so lange Firebird noch keine zwei-dimensionalen Indizes unterstützt (ist das überhaupt geplant?), muss ich zwei-dimensionale Werte in einen ein-dimensionalen Wert umwandeln. Nur wie erledigt man das am Besten, wenn man folgende Rahmenbedingungen hat:
- Das Koordinatensystem hat als höchsten Wert (39136/39136), keine Nachkommastellen und keine negativen Werte
- Es sollten von...bis Abfragen möglich sein. ("Gib mir alles von (3/4) bis (4/5)*")
Meine Idee wäre gewesen, einen ausreichend großen Datentyp (wohl Integer in diesem Falle) zu nehmen, und die X-Koordinaten z.B. in den oberen 2 Byte zu speichern und die Y-Koordinaten in den unteren 2 Byte.
Allerdings funktioniert dann Punkt 2 nicht mehr.
Hat jemand eine andere Idee?
*Die X und Y Werte sind mit anderen Eigenschaften verknüpft. Daher ist so eine Abfrage möglich. So stehen X und Y eigentlich nicht für Punkte, sondern für einen Bereich mit einer Größe von 512*512 Punkten.