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") |