Как создать многоугольник из географических точек в google bigquery - PullRequest
1 голос
/ 11 июля 2020

У меня есть таблица в bigquery, которая содержит 11 географических точек с их идентификаторами. Я хочу создать из этих точек многоугольник. Я использую запрос ниже для создания многоугольника. но появляется ошибка ST_MakePolygon failed: Invalid polygon loop: Edge 2 has duplicate vertex with edge 7, как правильно создать многоугольник?

Запрос:

Select ST_MAKEPOLYGON(ST_MAKELINE(ARRAY_AGG(ST_GEOGFROMTEXT(wkt_geom)))) as polygons from bd.wari_lockdown_area

Таблица bd.wari_lockdown_area:

wari_lockdown_area

1 Ответ

1 голос
/ 11 июля 2020

Ниже для BigQuery Standard SQL

Вы можете использовать ST_CONVEXHULL - как в примере ниже

#standardSQL 
SELECT 
    ST_CONVEXHULL(ST_UNION_AGG(ST_GEOGFROMTEXT(wkt_geom))) AS polygons  
FROM 
  `bd.wari_lockdown_area`

Если применимо к образцам данных в вашем вопросе - результат

введите описание изображения здесь

...