Страница 1 из 1

Записать GPS-координаты в отдельный столбец

Добавлено: 18 июл 2023, 07:55
chet2
Здравствуйте. Ищу способ создания в полигональном слое (EPSG:4326) нового столбца с GPS-координатами объектов.
Я хотел бы, чтобы внутри столбца запись выглядела следующим образом:
55.797211, 49.098879

Какие тут особенности:
1. Обе координаты сразу в одном столбце (не в двух столбцах)
2. Между координатами – запятая, а потом пробел
3. Внутри каждой координаты градусы отделены точкой (не запятой)

Я знаю, как с помощью калькулятора полей получить два столбца, где градусы будут отделены запятой:
Сначала применяем выражение x(centroid($geometry)), а потом y(centroid($geometry)).

Потом можно сделать замену запятой на точку.
Далее можно соединить два столбца.

Но я ищу лаконичный способ с наименьшим количеством шагов.
Подскажите пожалуйста, как можно сократить количество шагов?
Можно ли сразу записать координаты в один столбец через запятую с разделителем-точкой?

В интернете я нашел выражение x(centroid($geometry)), y(centroid($geometry)), но QGIS ругается на ошибочное выражение.

Re: Записать GPS-координаты в отдельный столбец

Добавлено: 18 июл 2023, 08:00
trir

Re: Записать GPS-координаты в отдельный столбец

Добавлено: 18 июл 2023, 08:14
ustreb
Добрый день!

можно сделать в excel (A2&" "&B2), после загрузить по координатам и удалить (при необходимости) столбцы

Re: Записать GPS-координаты в отдельный столбец

Добавлено: 19 июл 2023, 07:25
chet2
ustreb, спасибо! Вполне рабочий вариант, но у меня таких слоев много и мне нужно будет повторять процедуру время от времени. Поэтому ищу максимально лаконичный вариант решения с минимальным количеством шагов.

trir, спасибо большое за ответ!
Не пойму в чем ошибся...
Использую выражение x(centroid($geometry)) + ', ' + y(centroid($geometry))
Пишет "Ошибочное выражение". QGIS 3.28.5

Re: Записать GPS-координаты в отдельный столбец

Добавлено: 19 июл 2023, 07:28
trir
заверни в concat

Re: Записать GPS-координаты в отдельный столбец

Добавлено: 19 июл 2023, 07:41
chet2
trir, все равно пишет "Ошибочное выражение". Где-то я по-прежнему ошибаюсь.

Re: Записать GPS-координаты в отдельный столбец

Добавлено: 19 июл 2023, 07:58
gamm
chet2 писал(а):
19 июл 2023, 07:41
Где-то я по-прежнему ошибаюсь
похоже, плюсы - см. тыц. И в concat вместо плюсов запятые, я полагаю. А если concat не кушает больше двух аргументов, то его нужно нарисовать два раза.

Re: Записать GPS-координаты в отдельный столбец

Добавлено: 19 июл 2023, 08:13
AlexRomantsov
В калькуляторе, корректнее выражение:
x(centroid($geometry)) || ', ' || y(centroid($geometry))
Ну и лучше сократить дробную избыточную часть:
format_number( x(centroid($geometry)),6) || ', ' || format_number(y(centroid($geometry)),6)
Результат: 57.211065, 60.659890

Re: Записать GPS-координаты в отдельный столбец

Добавлено: 19 июл 2023, 15:19
chet2
gamm, спасибо! Буду знать.
AlexRomantsov, все получилось. Спасибо Вам большое!