I wonder how to create PolylineM-Geometries in Postgis.
CREATE TABLE tabm (oid integer primary key);
SELECT AddGeometryColumn ('public','tabm','geom',25832,'MULTILINESTRING',3);
insert into tabm(oid,geom) values(
1,
ST_GeomFromText('MULTILINESTRINGM ((572929 5831262 300, 572929 5831562 400))')
);
Above code results in
ERROR: FEHLER: Column has Z dimension but geometry does not
SQL state: 22023
(PosgreSQL 13.3)
The geom
column isn't of type MULTILINESTRINGM
. Change the column and you'll be able to perform inserts:
SELECT AddGeometryColumn ('public','tabm','geom',25832,'MULTILINESTRINGM',3);
Demo: db<>fiddle
CREATE TABLE tabm (oid integer primary key);
SELECT AddGeometryColumn ('public','tabm','geom',25832,'MULTILINESTRINGM',3);
INSERT INTO tabm(oid,geom) VALUES
(1,'SRID=25832;MULTILINESTRINGM ((572929 5831262 300, 572929 5831562 400))'::geometry);
SELECT ST_AsText(i.geom),ST_M(i.geom) FROM tabm,
LATERAL ST_DumpPoints(geom) i(j);
st_astext st_m
-----------------------------------
POINT M (572929 5831262 300) 300
POINT M (572929 5831562 400) 400