From 54863b29bc1428868fa942559c4cb5362c5c5ec6 Mon Sep 17 00:00:00 2001 From: Edmar Moretti Date: Tue, 18 Sep 2007 20:28:56 +0000 Subject: [PATCH] Incluida opção Kernel na função de análise de distribuição de pontos --- classesphp/classe_analise.php | 43 +++++++++++++++++++++++++++++++++++++++++++ ferramentas/pontosdistri/index.js | 17 +++++++++++++++++ 2 files changed, 60 insertions(+), 0 deletions(-) diff --git a/classesphp/classe_analise.php b/classesphp/classe_analise.php index 6bbce6e..8fe1911 100644 --- a/classesphp/classe_analise.php +++ b/classesphp/classe_analise.php @@ -179,6 +179,8 @@ Include: $dimx = "c(".$xi.",".$xf.")"; $dimy = "c(".$yi.",".$yf.")"; + if ($tipo == "kernel") + {$this->mapaKernel($nomearq,$dimx,$dimy,$dir_tmp,$R_path,$locaplic);} if ($tipo == "densidade") {$this->mapaDensidade($nomearq,$dimx,$dimy,$dir_tmp,$R_path,$locaplic);} if ($tipo == "distancia") @@ -348,6 +350,47 @@ $locaplic - Onde fica o I3Geo. $r = executaR($rcode,$dir_tmp,$R_path); } /* +function: mapaKernel + +Gera um mapa de kernel. + +Executa script R para gerar a imagem. + +parameters: +$arqpt - Prefixo dos arquivos em disco com os pontos. + +$dimx - Range em x no formato R c(-54,-53). + +$dimy - Range em y no formato R c(-25,-23). + +$dir_tmp - Diretório temporário do mapserver. + +$R_path - Onde fica o R. + +$locaplic - Onde fica o I3Geo. +*/ + function mapaKernel($arqpt,$dimx,$dimy,$dir_tmp,$R_path,$locaplic) + { + $gfile_name = nomeRandomico(20); + $graf = "png"; + $rcode[] = 'dadosx<-scan("'.$arqpt.'x")'; + $rcode[] = 'dadosy<-scan("'.$arqpt.'y")'; + if (strtoupper(substr(PHP_OS, 0, 3) == 'WIN')) + {$lib = '.libPaths("'.$locaplic.'/pacotes/r/win/library")';} + $rcode[] = $lib; + $rcode[] = 'library(spatstat)'; + $rcode[] = 'pt <- ppp(dadosx, dadosy, '.$dimx.','.$dimy.')'; + $rcode[] = 'img <- ksmooth.ppp(pt)'; + $rcode[] = 'cat(img$v,file="'.$arqpt.'img",fill=FALSE)'; + $rcode[] = 'cat(img$xstep,file="'.$arqpt.'h",fill=TRUE)'; + $rcode[] = 'cat(img$ystep,file="'.$arqpt.'h",append=TRUE,fill=TRUE)'; + $rcode[] = 'cat(img$xrange,file="'.$arqpt.'h",append=TRUE,fill=TRUE)'; + $rcode[] = 'cat(img$yrange,file="'.$arqpt.'h",append=TRUE,fill=TRUE)'; + $rcode[] = 'cat(img$dim,file="'.$arqpt.'h",append=TRUE,fill=TRUE)'; + $r = executaR($rcode,$dir_tmp,$R_path,$gfile_name); + return "ok"; + } +/* function: mapaDensidade Gera um mapa de densidade de pontos. diff --git a/ferramentas/pontosdistri/index.js b/ferramentas/pontosdistri/index.js index 449d080..e1441c3 100644 --- a/ferramentas/pontosdistri/index.js +++ b/ferramentas/pontosdistri/index.js @@ -35,6 +35,7 @@ comboTemasPt("temasPt",function(retorno) ins += retorno ins += "


" ins += "

" + ins += "

" ins += "

" mensagemOpcao("guia1obj",ins) YAHOO.example.init = function () @@ -45,6 +46,7 @@ comboTemasPt("temasPt",function(retorno) new YAHOO.widget.Button("botao2"); new YAHOO.widget.Button("botao3"); new YAHOO.widget.Button("botao4"); + new YAHOO.widget.Button("botaokernel"); } YAHOO.util.Event.onContentReady("botao1", onPushButtonsMarkupReady); }() @@ -78,6 +80,21 @@ function mostracores(retorno) function corj(obj) {window.parent.abreCor("wdocai",obj)} +function analiseKernel() +{ + //window.parent.borra("sim") + var n = $i("numclasses").value + var ci = $i("cori").value + var cf = $i("corf").value + aguarde("block") + var tema = $i("temasPt").value + var cp = new cpaint(); + var p = g_locaplic+"/classesphp/mapa_controle.php?g_sid="+g_sid+"&funcao=analiseDistriPt&tema="+tema+"&numclasses="+n+"&cori="+ci+"&corf="+cf+"&tipo=kernel" + //cp.set_debug(2) + cp.set_response_type("JSON"); + cp.call(p,"analiseDistriPt",window.parent.ajaxredesenha); +} + function analiseDensidade() { //window.parent.borra("sim") -- libgit2 0.21.2