Вы можете использовать ST_LineInterpolatePoint
.
Так как он занимает часть линии, первым шагом является ее вычисление: преобразовать 2 фута в метры, разделить на длину Линия в метрах, полученная путем преобразования в географию.
WITH src(geom) AS (values (ST_GeomFromText('LINESTRING(-97.83396022 29.98609860,-97.83391790 29.98613790)',4326)))
SELECT ST_AsText(ST_LineInterpolatePoint(geom, 2 * 0.3048/ st_length(geom::geography)))
FROM src;
st_astext
-------------------------------------------
POINT(-97.8339558996568 29.9861026120389)
Чтобы создать линию длиной 2 фута от начала, вы можете использовать st_lineSubstring
вместо
SELECT st_lineSubstring(geom, 0, 2 * 0.3048/ st_length(geom::geography))