Я пробую PostgreSQL с расширением Postgis, чтобы получить геометрию gps_trace, которая пересекает прямоугольник, затем я хочу получить по одной строке для каждой отдельной части следа в поле. В следующий пример с 1 трассой и 1 прямоугольником , это будет означать, что ST_intersection возвращает мне мультистроку с 2 строками внутри, так что я могу извлечь каждую из них с помощью ST_Dump ()
Геометрии находятся в epsg 4326, я использую запрос SELECT ST_Intersection(gps_traces.geom, grid.box)
FROM gps_traces, grid
Но в результате я получаю мультистроку с 34 геометриями внутри. После небольшого увеличения я обнаружил, что, когда линия самопересекается, кажется, что каждая часть рассматривается и регистрируется как отдельная линия, хотя в начале трасса была строкой в одной go.
Я очень удивлен такому поведению и не нашел ни документации по этому вопросу, ни тем, в которых говорилось бы об этом, поэтому я спрашиваю здесь, как построить геометрию, полученную в результате пересечения, и почему я получаю это поведение?
Я впервые использую stackoverflow, поэтому прошу прощения, если некоторые элементы отсутствуют