osmc:Metodologia/Algoritmo SQL/Lib/Cpp: mudanças entre as edições
Sem resumo de edição |
Sem resumo de edição |
||
Linha 51: | Linha 51: | ||
IMMUTABLE ou LANGUAGE C STRICT em wrap para funções c++? referencia de alta performance Postrgesql https://github.com/madlib | IMMUTABLE ou LANGUAGE C STRICT em wrap para funções c++? referencia de alta performance Postrgesql https://github.com/madlib | ||
Curiosidade: implementação em Scala, sugere uso das funções Contains e Overlaps, https://github.com/locationtech/geomesa/blob/main/geomesa-z3/src/main/scala/org/locationtech/geomesa/zorder/sfcurve/Z2.scala |
Edição das 21h05min de 20 de agosto de 2024
Funções já feitas em https://github.com/osm-codes/NaturalCodes/blob/main/src-c:
interleaveBits
deinterleaveBits
xy_to_cover
deinterleaveBitsOdd
deinterleaveBitsEven
neighbors_raw
para as proximas, da uma olhada nas "oficiais" em https://wiki.addressforall.org/doc/osmc:Metodologia/Algoritmo_SQL/Lib#Construtor_do_identificador_cbits
Funções para estimar custo em horas, para copiar e colar template do PostGIS (para Afacodes CM):
- encode CM: https://postgis.net/docs/ST_GeoHash.html
- decode CM: https://postgis.net/docs/ST_GeomFromGeoHash.html
- decode CM: https://postgis.net/docs/ST_Box2dFromGeoHash.html
- decode CM: https://postgis.net/docs/ST_PointFromGeoHash.html
Desafios: dado um ID de célula, retornar a array das vizinhas4 top/botton/left/right, https://en.wikipedia.org/wiki/Z-order_curve#Coordinate_values
PS: supor apenas células quadradas, caso retangular avaliamos numa segunda etapa (aparentemente não terá problema pois a topologia é a mesma - apenas rotaciona).
natcod.hiddenBig_to_vBit
natcod.vBit_to_hiddenBig
grid_cm.xy_to_cover (feita)
grid_cm.cover_to_xy
grid_cm.cover_to_xy
osmc.cell_relate (https://github.com/osm-codes/GGeohash/blob/main/src/step03def-lib.sql)
osmc.neighborsl0
osmc.neighbors_raw
criar wrap para funções com mais de um argumento.
IMMUTABLE ou LANGUAGE C STRICT em wrap para funções c++? referencia de alta performance Postrgesql https://github.com/madlib
Curiosidade: implementação em Scala, sugere uso das funções Contains e Overlaps, https://github.com/locationtech/geomesa/blob/main/geomesa-z3/src/main/scala/org/locationtech/geomesa/zorder/sfcurve/Z2.scala