Ir para o conteúdo

osmc:Metodologia/Algoritmo SQL/Lib/Cpp: mudanças entre as edições

sem sumário de edição
Sem resumo de edição
Linha 1: Linha 1:
Funções já feitas em https://github.com/osm-codes/NaturalCodes/blob/main/src-c:
Funções já feitas em https://github.com/osm-codes/NaturalCodes/blob/main/src-c:
* interleaveBits
* deinterleaveBits
* xy_to_cover
* deinterleaveBitsOdd
* deinterleaveBitsEven
* neighbors_raw


interleaveBits


deinterleaveBits
para as próximas, da uma olhada nas "oficiais" em https://wiki.addressforall.org/doc/osmc:Metodologia/Algoritmo_SQL/Lib#Construtor_do_identificador_cbits


xy_to_cover


deinterleaveBitsOdd
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
**[https://github.com/postgis/postgis/blob/stable-3.4/postgis/lwgeom_functions_basic.c#L2911 lwgeom_in_geohash]
**[https://github.com/postgis/postgis/blob/stable-3.4/postgis/postgis.sql.in#L5361 wrap to c++]


deinterleaveBitsEven
* decode CM: https://postgis.net/docs/ST_Box2dFromGeoHash.html
 
**[https://github.com/postgis/postgis/blob/stable-3.4/postgis/lwgeom_in_geohash.c#L77 box2d_from_geohash]
neighbors_raw
**[https://github.com/postgis/postgis/blob/stable-3.4/postgis/postgis.sql.in#L5379 wrap to c++]
 
 
para as proximas, da uma olhada nas "oficiais" em https://wiki.addressforall.org/doc/osmc:Metodologia/Algoritmo_SQL/Lib#Construtor_do_identificador_cbits


* decode CM: https://postgis.net/docs/ST_GeomFromGeoHash.html
**[https://github.com/postgis/postgis/blob/stable-3.4/postgis/postgis.sql.in#L5386 wrap to c++ box2d_from_geohash]


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
* decode CM: https://postgis.net/docs/ST_PointFromGeoHash.html
 
**[https://github.com/postgis/postgis/blob/stable-3.4/postgis/lwgeom_in_geohash.c#L103 lwgeom_in_geohash]
**[https://github.com/postgis/postgis/blob/stable-3.4/postgis/postgis.sql.in#L5386 wrap to c++]


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
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
Linha 54: Linha 57:
** STRINCT: '''sim''', se caso um dos argumentos for null a função retornar null. Parece ser o caso das funções tratadas aqui.
** STRINCT: '''sim''', se caso um dos argumentos for null a função retornar null. Parece ser o caso das funções tratadas aqui.
** Usar em wrap de C++: '''sim'''. Exemplo: https://github.com/search?q=repo%3Amadlib%2Fmadlib%20immutable&type=code
** Usar em wrap de C++: '''sim'''. Exemplo: https://github.com/search?q=repo%3Amadlib%2Fmadlib%20immutable&type=code
** PARALLEL SAFE: sim


== Lembretes ==
== Lembretes ==
237

edições