osm-codes / GGeohash

Generalized Geohash Algorithms of the OSM.codes
Apache License 2.0
0 stars 0 forks source link

Avaliar ST_Transform_resilient em encode. #17

Closed 0e1 closed 2 months ago

0e1 commented 1 year ago

O processo de encode de geouri usa o cache geom_4326 para obter a respectiva célula da cobertura nacional:

ST_Contains(geom_srid4326,ST_SetSRID(ST_MakePoint(latLon[2],latLon[1]),4326))

CREATE TABLE osmc.coverage (
  id            bigint NOT NULL,
  isolabel_ext  text,     -- used only in de-para, replace with 14bit in id
  prefix        text,     -- used only in de-para, cache
  bbox          float[],  -- used      in l0cover and de-para
  geom          geometry, -- used      in l0cover and de-para
  geom_srid4326 geometry  -- used only in l0cover
);

Em https://github.com/osm-codes/GGeohash/issues/2 relata-se problemas ao usar ST_Transform.

A figura a seguir evidencia problema no processo de encode no limite entre células da cobertura brasileira, resultando no marcador fora da célula e célula de cobertura cortando uma célula.

Captura de tela de 2023-01-12 17-01-11

Avaliar o impacto de aplicar ST_Transform_resilient no cache geom_4326 ao gerar a cobertura nacional em, por exemplo, https://github.com/osm-codes/GGeohash/blob/main/src/step04def-ini.sql#L35.

0e1 commented 2 months ago

Ver https://github.com/osm-codes/GGeohash/issues/10