Closed 0e1 closed 2 years ago
Se não for possível evitar o abort da ingestão, criar no YAML uma lista (array) de exclusão.
gid_ignore: 123,456,789
O parser pode levar do YAML para o SQL com '{123,456,789}'::bigint[]
. No SQL o filtro é direto,
WHERE NOT( gid = ANY (gid_ignore) )
.
A função ST_IsClosed captura as geometrias. Permitindo descartá-las.
O detalhe é que para inserir em ingest.feature_asis_discarded
apliquei ST_MakeValid na geometria, para poder aplicar ST_PointOnSurface e então a ST_Geohash.
Se não aplicar ST_MakeValid retorna o erro:
ERROR: lwgeom_pointonsurface: GEOS Error: IllegalArgumentException: Points of LinearRing do not form a closed linestring
Como é uma tabela de descartados, não vejo problema em aplicar a ST_MakeValid.
make block
de VilaVelha/ES emake parcel
de SaoBernardoCampo/SP retornam:ERROR: Geometry could not be converted to GEOS: IllegalArgumentException: Points of LinearRing do not form a closed linestring.
Averiguar melhor maneira de descartar essas geometrias.