111{
115 int hasz, hasm, srid;
116
117
118 if (!lwline)
119 return NULL;
120
121
125
126 if (hasm)
127 {
128
130 }
131 else
132 {
136 }
137
138
139 if (!opa)
141
142
145 return mp;
146}
int32_t lwgeom_get_srid(const LWGEOM *geom)
Return SRID number.
LWMPOINT * lwmpoint_construct(int32_t srid, const POINTARRAY *pa)
LWLINE * lwline_measured_from_lwline(const LWLINE *lwline, double m_start, double m_end)
Add a measure dimension to a line, interpolating linearly from the start to the end value.
int lwgeom_has_z(const LWGEOM *geom)
Return LW_TRUE if geometry has Z ordinates.
LWGEOM * lwline_as_lwgeom(const LWLINE *obj)
void ptarray_free(POINTARRAY *pa)
LWMPOINT * lwmpoint_construct_empty(int32_t srid, char hasz, char hasm)
int lwgeom_has_m(const LWGEOM *geom)
Return LW_TRUE if geometry has M ordinates.
void lwline_free(LWLINE *line)
static POINTARRAY * ptarray_locate_along(const POINTARRAY *pa, double m, double offset)