Как удалить массовые строки дублированных символов из строки в Postgres или SQLAlchemy?

Я нашел метод лучевого литья ненадежным, но в итоге я использовал PolyUtil из карт google.

Вам нужна зависимость compile 'com.google.maps.android:android-maps-utils:0.5'

. И тогда метод выглядит это

PolyUtil.containsLocation(userLocation, polyPointsList, false);

EDIT

Это описание этого метода найдено в исходном коде

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

0
задан user2771708 17 February 2019 в 16:49
поделиться

1 ответ

Я думаю, что вы могли бы улучшить дизайн, сохраняя эти идентификаторы в другой таблице по одному идентификатору на строку со ссылкой на внешний ключ table_name.primary_key.

Также хранение данных Array в виде текстовых строк кажется странным.

В любом случае, вот один из способов сделать это: я обернул набор, возвращенный UNNEST, внутренним подвыбором, чтобы иметь возможность применить функцию aggregate_function, необходимую для повторного объединения строк.

UPDATE table_name 
SET ids = new_ids
FROM LATERAL (
    SELECT primary_key, array_agg(elem)::text AS new_ids
    FROM (SELECT DISTINCT primary_key, UNNEST(ids::text[]) as elem 
          FROM table_name ) t_inner  
          GROUP by primary_key )t_sub  
WHERE t_sub.primary_key = table_name.primary_key
0
ответ дан clamp 17 February 2019 в 16:49
поделиться
Другие вопросы по тегам:

Похожие вопросы: