Итак, у меня есть столбец в базе данных PostgreSQL, который содержит объекты POINT и объекты LINESTRING. Теперь моя конечная цель - извлечь широту и долготу из этих объектов. Для объектов POINT это я могу просто сделать, сделав запрос:
SELECT ST_X(records.primary_location) AS latitude,
ST_Y(records.primary_location) AS longitude
FROM records
Теперь я получу все значения широты и долготы, если это просто объекты POINT в базе данных. Тем не менее, есть также LINESTRING. Из них я хочу извлечь первую точку, а затем извлечь широту и долготу для каждой из этих точек. Чтобы добиться получения широты и долготы от POINTS и LINESTRING, я попытался:
SELECT ST_X(ST_PointN(records.primary_location, 1)) AS latitude,
ST_Y(ST_PointN(records.primary_location, 1)) AS longitude
FROM records
. Я предположил, что ST_PointN()
извлечет первую точку из LINESTRING и просто сохранит одну точку из объекта POINT. Однако это не работает.
Кто-нибудь знает, как я могу одновременно получать координаты широты / долготы из этих двух типов объектов в одном столбце? Кроме того, я бы предпочел, чтобы это происходило с одним запросом.