Commit 54863b29bc1428868fa942559c4cb5362c5c5ec6
1 parent
a2547eab
Exists in
master
and in
7 other branches
Incluida opção Kernel na função de análise de distribuição de pontos
Showing
2 changed files
with
60 additions
and
0 deletions
Show diff stats
classesphp/classe_analise.php
... | ... | @@ -179,6 +179,8 @@ Include: |
179 | 179 | |
180 | 180 | $dimx = "c(".$xi.",".$xf.")"; |
181 | 181 | $dimy = "c(".$yi.",".$yf.")"; |
182 | + if ($tipo == "kernel") | |
183 | + {$this->mapaKernel($nomearq,$dimx,$dimy,$dir_tmp,$R_path,$locaplic);} | |
182 | 184 | if ($tipo == "densidade") |
183 | 185 | {$this->mapaDensidade($nomearq,$dimx,$dimy,$dir_tmp,$R_path,$locaplic);} |
184 | 186 | if ($tipo == "distancia") |
... | ... | @@ -348,6 +350,47 @@ $locaplic - Onde fica o I3Geo. |
348 | 350 | $r = executaR($rcode,$dir_tmp,$R_path); |
349 | 351 | } |
350 | 352 | /* |
353 | +function: mapaKernel | |
354 | + | |
355 | +Gera um mapa de kernel. | |
356 | + | |
357 | +Executa script R para gerar a imagem. | |
358 | + | |
359 | +parameters: | |
360 | +$arqpt - Prefixo dos arquivos em disco com os pontos. | |
361 | + | |
362 | +$dimx - Range em x no formato R c(-54,-53). | |
363 | + | |
364 | +$dimy - Range em y no formato R c(-25,-23). | |
365 | + | |
366 | +$dir_tmp - Diretório temporário do mapserver. | |
367 | + | |
368 | +$R_path - Onde fica o R. | |
369 | + | |
370 | +$locaplic - Onde fica o I3Geo. | |
371 | +*/ | |
372 | + function mapaKernel($arqpt,$dimx,$dimy,$dir_tmp,$R_path,$locaplic) | |
373 | + { | |
374 | + $gfile_name = nomeRandomico(20); | |
375 | + $graf = "png"; | |
376 | + $rcode[] = 'dadosx<-scan("'.$arqpt.'x")'; | |
377 | + $rcode[] = 'dadosy<-scan("'.$arqpt.'y")'; | |
378 | + if (strtoupper(substr(PHP_OS, 0, 3) == 'WIN')) | |
379 | + {$lib = '.libPaths("'.$locaplic.'/pacotes/r/win/library")';} | |
380 | + $rcode[] = $lib; | |
381 | + $rcode[] = 'library(spatstat)'; | |
382 | + $rcode[] = 'pt <- ppp(dadosx, dadosy, '.$dimx.','.$dimy.')'; | |
383 | + $rcode[] = 'img <- ksmooth.ppp(pt)'; | |
384 | + $rcode[] = 'cat(img$v,file="'.$arqpt.'img",fill=FALSE)'; | |
385 | + $rcode[] = 'cat(img$xstep,file="'.$arqpt.'h",fill=TRUE)'; | |
386 | + $rcode[] = 'cat(img$ystep,file="'.$arqpt.'h",append=TRUE,fill=TRUE)'; | |
387 | + $rcode[] = 'cat(img$xrange,file="'.$arqpt.'h",append=TRUE,fill=TRUE)'; | |
388 | + $rcode[] = 'cat(img$yrange,file="'.$arqpt.'h",append=TRUE,fill=TRUE)'; | |
389 | + $rcode[] = 'cat(img$dim,file="'.$arqpt.'h",append=TRUE,fill=TRUE)'; | |
390 | + $r = executaR($rcode,$dir_tmp,$R_path,$gfile_name); | |
391 | + return "ok"; | |
392 | + } | |
393 | +/* | |
351 | 394 | function: mapaDensidade |
352 | 395 | |
353 | 396 | Gera um mapa de densidade de pontos. | ... | ... |
ferramentas/pontosdistri/index.js
... | ... | @@ -35,6 +35,7 @@ comboTemasPt("temasPt",function(retorno) |
35 | 35 | ins += retorno |
36 | 36 | ins += "<br><br><div style=top:0px;left:0px;text-align:left; onclick='analiseDensidade()' ><input id=botao1 size=35 type=button value='densidade de pontos' /></div><br>" |
37 | 37 | ins += "<div style=top:0px;left:0px;text-align:left; onclick='analiseDistancia()' ><input id=botao2 size=35 type=button value='distância entre pontos' /></div><br>" |
38 | + ins += "<div style=top:0px;left:0px;text-align:left; onclick='analiseKernel()' ><input id=botaokernel size=35 type=button value='Kernel' /></div><br>" | |
38 | 39 | ins += "<div style=top:0px;left:0px;text-align:left; onclick='analiseRelatorio()' ><input id=botao3 size=35 type=button value='relatório' /></div><br>" |
39 | 40 | mensagemOpcao("guia1obj",ins) |
40 | 41 | YAHOO.example.init = function () |
... | ... | @@ -45,6 +46,7 @@ comboTemasPt("temasPt",function(retorno) |
45 | 46 | new YAHOO.widget.Button("botao2"); |
46 | 47 | new YAHOO.widget.Button("botao3"); |
47 | 48 | new YAHOO.widget.Button("botao4"); |
49 | + new YAHOO.widget.Button("botaokernel"); | |
48 | 50 | } |
49 | 51 | YAHOO.util.Event.onContentReady("botao1", onPushButtonsMarkupReady); |
50 | 52 | }() |
... | ... | @@ -78,6 +80,21 @@ function mostracores(retorno) |
78 | 80 | function corj(obj) |
79 | 81 | {window.parent.abreCor("wdocai",obj)} |
80 | 82 | |
83 | +function analiseKernel() | |
84 | +{ | |
85 | + //window.parent.borra("sim") | |
86 | + var n = $i("numclasses").value | |
87 | + var ci = $i("cori").value | |
88 | + var cf = $i("corf").value | |
89 | + aguarde("block") | |
90 | + var tema = $i("temasPt").value | |
91 | + var cp = new cpaint(); | |
92 | + var p = g_locaplic+"/classesphp/mapa_controle.php?g_sid="+g_sid+"&funcao=analiseDistriPt&tema="+tema+"&numclasses="+n+"&cori="+ci+"&corf="+cf+"&tipo=kernel" | |
93 | + //cp.set_debug(2) | |
94 | + cp.set_response_type("JSON"); | |
95 | + cp.call(p,"analiseDistriPt",window.parent.ajaxredesenha); | |
96 | +} | |
97 | + | |
81 | 98 | function analiseDensidade() |
82 | 99 | { |
83 | 100 | //window.parent.borra("sim") | ... | ... |