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,6 +179,8 @@ Include: | ||
179 | 179 | ||
180 | $dimx = "c(".$xi.",".$xf.")"; | 180 | $dimx = "c(".$xi.",".$xf.")"; |
181 | $dimy = "c(".$yi.",".$yf.")"; | 181 | $dimy = "c(".$yi.",".$yf.")"; |
182 | + if ($tipo == "kernel") | ||
183 | + {$this->mapaKernel($nomearq,$dimx,$dimy,$dir_tmp,$R_path,$locaplic);} | ||
182 | if ($tipo == "densidade") | 184 | if ($tipo == "densidade") |
183 | {$this->mapaDensidade($nomearq,$dimx,$dimy,$dir_tmp,$R_path,$locaplic);} | 185 | {$this->mapaDensidade($nomearq,$dimx,$dimy,$dir_tmp,$R_path,$locaplic);} |
184 | if ($tipo == "distancia") | 186 | if ($tipo == "distancia") |
@@ -348,6 +350,47 @@ $locaplic - Onde fica o I3Geo. | @@ -348,6 +350,47 @@ $locaplic - Onde fica o I3Geo. | ||
348 | $r = executaR($rcode,$dir_tmp,$R_path); | 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 | function: mapaDensidade | 394 | function: mapaDensidade |
352 | 395 | ||
353 | Gera um mapa de densidade de pontos. | 396 | Gera um mapa de densidade de pontos. |
ferramentas/pontosdistri/index.js
@@ -35,6 +35,7 @@ comboTemasPt("temasPt",function(retorno) | @@ -35,6 +35,7 @@ comboTemasPt("temasPt",function(retorno) | ||
35 | ins += retorno | 35 | ins += retorno |
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>" | 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 | 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>" | 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 | 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 | 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 | mensagemOpcao("guia1obj",ins) | 40 | mensagemOpcao("guia1obj",ins) |
40 | YAHOO.example.init = function () | 41 | YAHOO.example.init = function () |
@@ -45,6 +46,7 @@ comboTemasPt("temasPt",function(retorno) | @@ -45,6 +46,7 @@ comboTemasPt("temasPt",function(retorno) | ||
45 | new YAHOO.widget.Button("botao2"); | 46 | new YAHOO.widget.Button("botao2"); |
46 | new YAHOO.widget.Button("botao3"); | 47 | new YAHOO.widget.Button("botao3"); |
47 | new YAHOO.widget.Button("botao4"); | 48 | new YAHOO.widget.Button("botao4"); |
49 | + new YAHOO.widget.Button("botaokernel"); | ||
48 | } | 50 | } |
49 | YAHOO.util.Event.onContentReady("botao1", onPushButtonsMarkupReady); | 51 | YAHOO.util.Event.onContentReady("botao1", onPushButtonsMarkupReady); |
50 | }() | 52 | }() |
@@ -78,6 +80,21 @@ function mostracores(retorno) | @@ -78,6 +80,21 @@ function mostracores(retorno) | ||
78 | function corj(obj) | 80 | function corj(obj) |
79 | {window.parent.abreCor("wdocai",obj)} | 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 | function analiseDensidade() | 98 | function analiseDensidade() |
82 | { | 99 | { |
83 | //window.parent.borra("sim") | 100 | //window.parent.borra("sim") |