Пока у меня есть следующее:
select WKT, column1, column2
from table
where REGEXP_CONTAINS(WKT, r"-?(?:\.\d+|\d+(?:\.\d*)?)") is true
Это решает большинство случаев, но я все еще получаю следующую ошибку:
ST_GeogFromText failed: Linestring should have at least two unique points, but had 1
Как я могу использовать regex
для отфильтровывания всех недействительных ЛИНЕЙНГРОВ в Google BigQuery? Я не могу использовать ST_NUMPOINTS()
, потому что он принимает объект GEOGRAPHY
, и я не могу преобразовать строку в GEOGRAPHY
, если она недействительна.
Редактировать: LINKSTRING WKT имеют следующий формат: LINESTRING (x1 y1, x2 y2, x3 y3, ..., xn yn)
, где каждая пара (xn, yn)
представляет n-ю пару Lat / Long.