Am Raster ausrichten ist die Maßnahme der Positionierung der Punkte in einer Geometrie, um sie an Schnittpunkten in einem Raster auszurichten. Bein Ausrichten eines Punkt am Raster werden die X- und Y-Werte möglicherweise geringfügig verschoben - ähnlich der Rundung. In Bezug auf räumliche Daten ist ein Raster eine Struktur aus Linien, die über eine zweidimensionale Darstellung eines räumlichen Bezugssystems gelegt wird. SQL Anywhere verwendet ein quadratisches Raster.
Einfaches Beispiel für die Ausrichtung am Raster: Wenn die Rastergröße 0,2 ist, wird die Linie von Point( 14.2321, 28.3262 ) zu Point( 15.3721, 27.1128 ) an der Linie von Point( 14.2, 28.4 ) zu Point( 15.4, 27.2 ) ausgerichtet. Die Rastergröße ist normalerweise viel kleiner als in diesem einfachen Beispiel, sodass der Präzisionsverlust wesentlich geringer ist.
Standardmäßig setzt SQL Anywhere automatisch die Rastergröße so fest, dass 12 signifikante Stellen für jeden Punkt innerhalb der X- und Y-Grenzen eines räumlichen Bezugssystems gespeichert werden können. Beispiel: Wenn der Bereich der X-Werte von -180 bis 180 und der Bereich der Y-Werte von -90 bis 90 reicht, legt der Datenbankserver die Rastergröße auf 1e-9 (0.000000001) fest. Das heißt, die Entfernung zwischen horizontalen und vertikalen Rasterlinien beträgt 1e-9. Die Schnittpunkte der Rasterlinie stellen alle Punkte dar, die im räumlichen Bezugssystem dargestellt werden können. Wenn eine Geometrie erstellt oder geladen wird, werden die X- und Y-Koordinaten jedes Punkts an den nächst gelegenen Punkten im Raster ausgerichtet.
Toleranz definiert die Entfernung, innerhalb der zwei Punkte oder Teile von Geometrien als gleichwertig angesehen werden. Dies ist vergleichbar mit der Darstellung von Geometrien, deren Punkte und Linien mit einem dicken Marker nachgezogen werden, wobei die Dicke des Markers der Toleranz entspricht. Alle Teile, die sich bei der Darstellung mit diesem dicken Marker berühren, werden innerhalb der Toleranz als gleich betrachtet. Wenn zwei Punkte genau um den Toleranzwert voneinander getrennt sind, werden sie als nicht als gleichwertig innerhalb der Toleranz betrachtet.
Einfaches Beispiel für Toleranz: Bei einer Toleranz von 0,5 werden Point( 14.2, 28.4) und Point( 14.4, 28.2) als gleichwertig angesehen. Dies liegt daran, dass die Entfernung zwischen den beiden Punkten (in denselben Einheiten wie X und Y) etwa 0,283 beträgt und somit kleiner ist als die Toleranz. Die Toleranz ist jedoch normalerweise viel kleiner als in diesem einfachen Beispiel.
Beachten Sie, dass die Toleranz dazu führen kann, dass extrem kleine Geometrien ungültig werden. Linien, die kürzer sind als der Toleranzwert, sind ungültig (da die Punkte einander entsprechen), und Polygone, deren Punkte alle innerhalb des Toleranzwerts liegen, sind ebenfalls ungültig.
Die Ausrichtung am Raster und die Toleranz werden im räumlichen Bezugssystem festgelegt und verwenden immer die gleichen Einheiten wie die X- und Y-Koordinaten (oder Längengrad und Breitengrad). Mithilfe der Anpassung an das Raster und der Toleranz können Probleme mit nicht exakten arithmetischen und ungenauen Daten gelöst werden. Allerdings sollten Sie berücksichtigen, wie sich ihr Verhalten auf die Ergebnisse von Operationen mit räumlichen Daten auswirken kann.
Bei planaren räumlichen Referenzsystemen wird ein Einstellen der Rastergröße auf 0 nicht empfohlen, weil es zu falschen Ergebnissen von räumlichen Vorgänge führen kann. Bei räumlichen Bezugssystemen mit gewölbter Erddarstellung muss die Rastergröße und die Toleranz auf 0 gesetzt sein. SQL Anywhere verwendet eine feste Rastergröße und Toleranz auf einer internen Projektion, wenn Vorgänge mit gewölbter Erddarstellung durchgeführt werden.
Die folgenden Beispiele veranschaulichen die Auswirkungen von Rastergrößen- und Toleranzeinstellungen auf räumliche Berechnungen.
![]() |
Kommentieren Sie diese Seite in DocCommentXchange.
|
Copyright © 2012, iAnywhere Solutions, Inc. - SQL Anywhere 12.0.1 |