Konstruktorsyntax
Wenn Sie die räumliche Funktionsreferenz nachschlagen, werden Sie sehen
Point(x, y)
Constructs a Point using its coordinates
Das ist nicht ganz richtig. Alle GIS-Implementierungen müssen (x,y)
für projizierte Koordinaten ausgeführt werden (long,lat)
. Bei geodidischen Koordinatensystemen gibt es jedoch einige Meinungsverschiedenheiten darüber, was zu tun ist. MySQL (und SQL Server) tun dies, (lat,long)
aber PostGIS wird (long,lat)
überall verwaltet.
Dies wird in der Spezifikation OpenGIS® Implementation Standard für geografische Informationen - Einfacher Funktionszugriff - Teil 2: SQL-Option ,
- Für geodätische CRS mit einem ellipsoidalen 2-D-Koordinatensystem sind die Achsen des zweidimensionalen ellipsoidalen Koordinatensystems geodätischer Breitengrad positiv nach Norden und geodätischer Längengrad positiv nach Osten. Die Achsenrichtung muss "Nord" bzw. "Ost" sein.
- Bei geodätischen CRS mit einem dreidimensionalen Ellipsoidkoordinatensystem müssen der Name und die Abkürzung der horizontalen Achsen in einer WKT-Zeichenfolge den Anforderungen in (ii) entsprechen. Der Name der vertikalen Achse lautet „Ellipsoidhöhe“. Die Abkürzung für die vertikale Achse muss "h" sein und sollte enthalten sein, wenn Abkürzungen für die horizontalen Achsen enthalten sind.
Beachten Sie, dass die obigen Wörter wörtlich in Geografische Informationen - Bekannte Textdarstellung von Koordinatenreferenzsystemen enthalten sind
Schon in der 1.1-Spezifikation
Ein räumliches Bezugssystem, auch als Koordinatensystem bezeichnet, ist ein geografisches (Längen- und Breitengrad) , ein projiziertes (X, Y) oder ein geozentrisches (X, Y, Z) Koordinatensystem.
Es scheint jedoch, dass PostGIS und Oracle sowie viele Bibliotheken von Drittanbietern (x,y,[z])
für alle Arten von Punkten verwaltet werden. Dies verstößt gegen die Spezifikation für WKT, ist jedoch eine weit verbreitete Konvention. Zum Beispiel macht GeoJSON dies auch,
Punktkoordinaten sind in x-, y-Reihenfolge (Ost, Nord für projizierte Koordinaten, Längen- und Breitengrad für geografische Koordinaten)
Die (lat, long) Reihenfolge wird von EPSG für SRSID 4326 explizit definiert .
Ein 2D- oder 3D-Koordinatensystem, bei dem die Position durch geodätische Breite, geodätische Länge und (im dreidimensionalen Fall) ellipsoidale Höhe angegeben wird und in geografischen CRS verwendet wird.
Sie können auch den Blog von Paul Ramsey (Captain PostGIS) zu diesem Thema mit dem Titel "Let's Call the Whole Thing Off" lesen.
Schönheiten
Als besonderen Hinweis bringt MySQL zwei neue Funktionen in den Mix:
Diese Funktionen stehen neben ST_X()
und ST_Y()
und erfordern eine geographische SRS oder sie werfen eine Ausnahme und Irrtum.
Lager
Aus den Dokumenten
Intern speichert MySQL Geometriewerte in einem Format, das weder mit dem WKT- noch mit dem WKB-Format identisch ist. (Internes Format ist wie WKB, jedoch mit anfänglichen 4 Bytes zur Angabe der SRID.)
Das Speichern wird hier definiert .
Table 11.1 WKB Components Example
Component Size Value
Byte order 1 byte 01
WKB type 4 bytes 01000000
X coordinate 8 bytes 000000000000F03F
Y coordinate 8 bytes 000000000000F0BF