ST_M

Definition

ST_M akzeptiert einen Eingabeparameter vom Typ ST_Point und gibt dessen Messwert-Koordinate (M) zurück.

In SQLite kann ST_M auch zum Aktualisieren von Messwerten verwendet werden.

Syntax

Oracle und PostgreSQL

sde.st_m (point1 sde.st_point)

SQLite

st_m (point1 geometryblob)
st_m (point1 geometryblob, new_Mvalue double)

Rückgabetyp

Oracle und PostgreSQL

Zahl

SQLite

Doppelte Genauigkeit beim Abfragen eines Messwertes, geometryblob beim Aktualisieren eines Messwertes.

Beispiele

Oracle

Die Tabelle "m_test" wird erstellt und es werden drei Punkte in sie eingefügt. Alle drei Punkte enthalten Messwerte. Eine SELECT-Anweisung wird mit der ST_M-Funktion ausgeführt, um die Messwerte für jeden Punkt zurückzugeben.

CREATE TABLE m_test (
 id integer,
 geometry sde.st_point);

INSERT INTO M_TEST VALUES (
 1,
 sde.st_point (2, 3, 32, 5, 4322)
);

INSERT INTO M_TEST VALUES (
 2,
 sde.st_point (4, 5, 20, 4, 4326)
);

INSERT INTO M_TEST VALUES (
 3,
 sde.st_point (3, 8, 23, 7, 4326)
);

SELECT id, sde.st_m (geometry) M_COORD
 FROM M_TEST; 

        ID    M_COORD

         1          5
         2          4
         3          7

PostgreSQL

Die Tabelle "m_test" wird erstellt und es werden drei Punkte in sie eingefügt. Alle drei Punkte enthalten Messwerte. Eine SELECT-Anweisung wird mit der ST_M-Funktion ausgeführt, um die Messwerte für jeden Punkt zurückzugeben.

CREATE TABLE m_test (
 id serial,
 geometry sde.st_point
);

INSERT INTO m_test (geometry) VALUES (
 sde.st_point (2, 3, 32, 5, 4326)
);

INSERT INTO m_test (geometry) VALUES (
 sde.st_point (4, 5, 20, 4, 4326)
);

INSERT INTO m_test (geometry) VALUES (
 sde.st_point (3, 8, 23, 7, 4326)
);

SELECT id, sde.st_m (geometry) 
 AS M_COORD
 FROM m_test; 

        id    m_coord

         1          5
         2          4
         3          7

SQLite

Im ersten Beispiel wird die Tabelle "m_test" erstellt, in die drei Punkte eingefügt werden. Alle drei Punkte enthalten Messwerte. Eine SELECT-Anweisung wird mit der ST_M-Funktion ausgeführt, um die Messwerte für jeden Punkt zurückzugeben.

CREATE TABLE m_test (
 id integer primary key autoincrement not null
);

SELECT AddGeometryColumn (
 NULL,
 'm_test',
 'geometry',
 4326,
 'pointzm',
 'xyzm',
 'null'
);

INSERT INTO m_test (geometry) VALUES (
 st_point (2, 3, 32, 5, 4326)
);

INSERT INTO m_test (geometry) VALUES (
 st_point (4, 5, 20, 4, 4326)
);

INSERT INTO m_test (geometry) VALUES (
 st_point (3, 8, 23, 7, 4326)
);

SELECT id, st_m (geometry) 
 AS M_COORD
 FROM m_test; 

id    m_coord

1     5.0
2     4.0
3     7.0

Im zweiten Beispiel wird der Messwert für Datensatz 3 in der Tabelle "m_test" aktualisiert.

SELECT st_m (geometry, 7.5)
 FROM m_test
 WHERE id = 3;

Verwandte Themen

5/10/2014