osmc:Metodologia/Algoritmo SQL/Lib: mudanças entre as edições
(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...') |
(Sem diferença)
|
Edição das 03h23min de 17 de junho de 2024
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;