osmc:Metodologia/Algoritmo SQL/Lib

De Documentação
< osmc:Metodologia‎ | Algoritmo SQL
Revisão de 03h23min de 17 de junho de 2024 por Peter (discussão | contribs) (Criou página com '== Lib de Grades == Biblioteca para simplificar a geração de grades. Exemplificando implementação dentro do schema <code>grid_br</code> das grades do Brasil. Convensionou-se em GGeohash usar YX no lugar de XY. A seguir avaliando o uso default de XYref no lugar de XYcenter, para o desenho da célula. <syntaxhighlight lang="sql" style="font-size: 80%;"> drop FUNCTION grid_br.xyS_collapseTo_ijS; CREATE FUNCTION grid_br.xyS_collapseTo_ijS(y int, x int, s int default 1...')
(dif) ← Edição anterior | Revisão atual (dif) | Versão posterior → (dif)

Lib de Grades

Biblioteca para simplificar a geração de grades. Exemplificando implementação dentro do schema grid_br das grades do Brasil. Convensionou-se em GGeohash usar YX no lugar de XY.

A seguir avaliando o uso default de XYref no lugar de XYcenter, para o desenho da célula.

drop FUNCTION grid_br.xyS_collapseTo_ijS;
CREATE FUNCTION grid_br.xyS_collapseTo_ijS(y int, x int, s int default 1048576) RETURNS int[] AS $f$
  SELECT array[ (y-6727000)/s, (x-2715000)/s, s ]
$f$ LANGUAGE SQL IMMUTABLE;
CREATE FUNCTION grid_br.xyS_collapseTo_ijS(yxs int[]) RETURNS int[] AS $wrap$
  SELECT grid_br.xyS_collapseTo_ijS(yxl[1], yxl[2], yxl[3])
$wrap$ LANGUAGE SQL IMMUTABLE;


drop FUNCTION grid_br.xylevel_collapseTo_ijS;
CREATE FUNCTION grid_br.xylevel_collapseTo_ijS(y int, x int, level int default 0) RETURNS int[] AS $wrap$
  SELECT grid_br.xyS_collapseTo_ijS($1, $2, s::int)
  FROM (select 2^(20-level)) t(s)
$wrap$ LANGUAGE SQL IMMUTABLE;
CREATE FUNCTION grid_br.xylevel_collapseTo_ijS(yxl int[]) RETURNS int[] AS $wrap$
  SELECT grid_br.xyS_collapseTo_ijS(yxl[1], yxl[2], yxl[3])
$wrap$ LANGUAGE SQL IMMUTABLE;

teste

Fonte 80%

select lkjsdklsj+2;

Fonte normal:

select lkjsdklsj+2;