Quads

Kacheln bei Openstreetmap/Openlayers:

Ein Ausschnitt der Realität (MinLat…MaxLat, MinLon…MaxLon) wird abgebildet auf ein Quadrat [0..1[, [0..1[:

Das Quadrat wird in vier Unterquadrate aufgeteilt:

a b
c d

Die Unterquadrate können wieder aufgeteilt werden:

aa ab
ac ad
ba bb
bc bd
ca cb
cc cd
da db
dc dd

Mit einer Buchstabenfolge aus {a, b, c, d} gibt man eindeutig eine Zoomstufe und eine Kachel aus; die Länge der Buchstabenfolge entspricht der Zoomstufe.

osm.org verwendet die Zoomstufen 1..18. Mit einer Zeichenkette der Länge 18+8=26 kann auf höchster Zommstufe ein Pixel angegeben werden.

Eigenschaften

Wir haben eine Menge von POIs, deren Positionen auch als Positionszeichenkette angegeben wird. Die POIs liegen vollständig nach Positionszeichenketten sortiert vor und sind lückenlos beginnend mit 1 durchnummeriert. Wir definieren:

X.start:
erstes POI in Kachel X
X.end:
erstes POI nicht mehr in Kachel X
X.count:
Anzahl der POI in Kachel X

Dieses System hat elegante Eigenschaften (im folgenden stehen X, Y usw. für Zeichenketten aus a,b,c,d):

  • X enthält alle Quadranten XY
  • X.first = Xa.first
  • Xa.last = Xb.first
  • Xb.last = Xc.first
  • Xc.last = Xd.first
  • Xd.last = X.last
  • X.count = Xa.count + Xb.count +Xc.count +Xd.count
  • a.first = 1
  • d.last = Gesamtzahl der POIs + 1