Ich glaube, ich verstehe, wie (x, y) oder (lat, log) gespeichert werden können, um alle Punkte innerhalb eines bestimmten Bereichs bei der Verwendung von Bereichsabfragen für sortierte Daten abrufen zu können. Geohash erreicht dies durch Alternieren von Lat (ungerade Bits) und Log (gerade Bits). Auf diese Weise erhöht sich die Auflösung von x, wenn die Auflösung von x zunimmt. Andere Methoden wie Hilbert-Kurven beruhen ebenfalls auf diesem Grundprinzip, das die Auflösung beider Dimensionen erhöht. Allerdings kann ich nicht nachvollziehen, was das Hinzufügen einer zusätzlichen zeitlichen Dimension bewirkt. Zum Beispiel GeoMesa uses index which look like this "YXTTYXTTYX" acconding to their site. Was ich nicht verstehe, ist, wie TT-Bits erlauben, Fragen wie "bekomme alle Punkte innerhalb X, Y-Bereich innerhalb min < t < max Intervall" zu stellen. Missverstehe ich den Zweck dieser Bits und zusätzlichen Dimensionen bei der geospatialen Indexierung?Wie werden Bereichsabfragen für geotemporale Daten ohne Filterung durchgeführt?
Die Art, wie ich es verstehe, macht die zeitliche Auflösung mit zunehmender räumlicher Auflösung größer. Nehmen wir an, wir haben Bits wie [10] [00] wo Ts sind. Das erste Bit teilt den Raum in zwei Teile, Null bedeutet weniger als die Hälfte und 1 mehr als die Hälfte, also erhalten wir für eine imaginäre Menge von viertausend Jahren 0 = year < 2000, 1 = year > 2000
. Diese [10]
führt zu 2000 < t < 2500
, und das nächste Bit 0
führt zu 2000 < t < 2250
und 0
zu 2000 < t < 2125
. Mit diesem Ansatz sehe ich nicht, wie man alle Ereignisse innerhalb eines bestimmten Zeitbereichs innerhalb eines bestimmten räumlichen Bereichs abruft, und es ist nicht klar, wofür sonst diese verwendet werden können. Alle geospacialen Papiere und Präsentationen, die ich bisher gesehen habe, konzentrieren sich hauptsächlich auf räumliches Hashing und diskutieren nicht die Verwendung von zusätzlichen Dimensionen im Detail.
Aber wenn Sie 3D in 1D glätten, bedeutet das nicht, dass die Auflösung in allen 3 Dimensionen gleichzeitig zunimmt? Mit anderen Worten, bedeutet es nicht, dass der zeitliche Bereich an den räumlichen Bereich gebunden ist und umgekehrt? So wie ich es jetzt sehe, wenn Sie zeitlich weit voneinander entfernte Punkte suchen wollen, müssen sie auch räumlich weit auseinander liegen, und ich verstehe nicht, wie das für die Indexierung nützlich sein kann. – CoolCodeBro
Mit x, y, z gibt es keine Grenze, die ich weiß, außer zum Beispiel ein sfc in 3d ist die Potenz 3. In 2d hast du Dreiecksungleichheit! Auch ein sfc durchquert einen Punkt (x, y, z) nur einmal in einem Octree. Sie können viele Punkte in einem Blatt haben! – Bytemain
Ich verstehe nicht, wie es keine Grenze geben kann. Wenn z. B. beim geohashing der Breitengrad "-90 bis +90" ist, dann sagt das erste Bit, ob lat -90 bis 0 oder 0 bis +90 ist. Das zweite Bit gibt an, ob die Länge -180 bis 0 oder 0 bis +180 ist. Nimmt man an, dass das erste Bit 1 ist, dann sagt das dritte Bit, ob der Breitengrad 0 bis 45 oder 45 bis 90 ist, ebenso sagt das vierte Bit, dass lon 0 bis 90 oder 90 bis 180 ist. Nun, wenn ich einen Bereich abfragen möchte, dann – CoolCodeBro