Opened 3 months ago

Last modified 3 months ago

#5762 new defect

ST_LocateBetween with offset drops ZM

Reported by: pramsey Owned by: pramsey
Priority: medium Milestone: PostGIS Fund Me
Component: postgis Version: master
Keywords: Cc:

Description

select ST_AsText(ST_LocateBetween('LINESTRING ZM (10 10 10 10, 100 100 20 20)', 12,18 ,0));

Change History (1)

comment:1 by pramsey, 3 months ago

Milestone: PostGIS 3.5.0PostGIS Fund Me

Ah, this is harder than it appears. The order of operations is

  • first clip the input line at the appropriate measure points
  • second offset the clipped line if necessary

The second step is accomplished by GEOS, which does not preserve Z or M through the offsetting routine (or, frankly, preserve any of the original vertices, the resultant geometry can be entirely net-new).

So this is not an easy fix, it's a very deep improvement in the offset routines of GEOS.

Note: See TracTickets for help on using tickets.