From dac6a57f83cc9306e64002377c48596956691752 Mon Sep 17 00:00:00 2001 From: Edmar Moretti Date: Thu, 25 Oct 2012 03:40:22 +0000 Subject: [PATCH] O parâmetro &temasa do ms_criamapa.php agora aceita um projeto gvsig que esteja armazenado em i3geo/temas --- admin/js/editormapfile.js | 2 +- ms_criamapa.php | 85 ++++++++++++++++++++++++++++++++++++++++++++++++++++++------------------------------- 2 files changed, 55 insertions(+), 32 deletions(-) diff --git a/admin/js/editormapfile.js b/admin/js/editormapfile.js index a284ab5..41f4fbf 100644 --- a/admin/js/editormapfile.js +++ b/admin/js/editormapfile.js @@ -265,7 +265,7 @@ function montaNosRaiz(redesenha) conteudo += " "; } conteudo += " "; - conteudo += " "; + conteudo += " "; conteudo += " "+$mapfiles[i].codigo+" "+$mapfiles[i].nome+""; if($mapfiles[i].imagem != "" && $i("mostraMini").checked == true){ conteudo += "
"; diff --git a/ms_criamapa.php b/ms_criamapa.php index 6850aa1..9261e1a 100644 --- a/ms_criamapa.php +++ b/ms_criamapa.php @@ -69,7 +69,7 @@ Parametros: base - arquivo mapfile que servirá de base para a criação do mapa.Por default, são utilizados os arquivos existentes em i3geo/aplicmap (geral1windows, geral1,...) Essa variável pode ser definida em ms_configura também. Se não estiver definida em nenhum lugar, o i3Geo tentará descobrir o arquivo adequado a ser utilizado. -temasa - lista, separada por espaços, com os nomes dos arquivos map que serão adicionados ao mapa. Se o arquivo map não estiver no diretório i3geo/temas, o nome deve incluir o caminho completo no servidor. O arquivo map pode conter mais de um layer pois todos os existentes serão adicionados ao mapa. Por default, todos os layers encontrados nos mapfiles são adicionados ao mapa com o status de desenho em OFF. +temasa - lista, separada por espaços, com os nomes dos arquivos map ou gvsig que serão adicionados ao mapa. Se o arquivo não estiver no diretório i3geo/temas, o nome deve incluir o caminho completo no servidor. O arquivo pode conter mais de um layer pois todos os existentes serão adicionados ao mapa. Por default, todos os layers encontrados nos mapfiles são adicionados ao mapa com o status de desenho em OFF. layers - lista, separada por espaços, com os nomes dos layers que serão ligados. A lista deve conter os nomes dos layers e não os nomes dos mapfiles acrescentados ao mapa. Por exemplo, ao adicionar com "temasa" um mapfile chamado "transporte" que contenha os layers "estradas" e "ferrovias" os dois layers serão adicionados ao mapa. Para que esses dois layers fiquem visíveis no mapa deve-se utilizar &layers=estradas ferrovias. @@ -125,9 +125,9 @@ image_wms - tipo de imagem disponível versao_wms - Versão do WMS (necessário quando da inclusão de uma camada WMS diretamente pela URL) -gvsiggvp - endereço no servidor do arquivo de projeto gvSig (gvp) que será utilizado para construir o mapa (experimental) +gvsiggvp - (depreciado na versão 4.7) endereço no servidor do arquivo de projeto gvSig (gvp) que será utilizado para construir o mapa (experimental) -gvsigview - nome da view do projeto gvSig. Se nao for especificado, sera considerada a primeira view existente no projeto. Exemplo (http://localhost/i3geo/ms_criamapa.php?gvsiggvp=c:\temp\teste.gvp&gvsigview=Untitled - 0) +gvsigview - (depreciado na versão 4.7) nome da view do projeto gvSig. Se nao for especificado, sera considerada a primeira view existente no projeto. Exemplo (http://localhost/i3geo/ms_criamapa.php?gvsiggvp=c:\temp\teste.gvp&gvsigview=Untitled - 0) */ //$_COOKIE = array(); @@ -579,9 +579,10 @@ function ligaTemas() } /* Inclui os temas definidos na variável $temasa + +Os temas devem estar em i3geo/temas */ -function incluiTemasIniciais() -{ +function incluiTemasIniciais(){ global $temasa,$mapn,$locaplic; if (strtoupper(substr(PHP_OS, 0, 3)) == 'WIN') {$temasdir = $locaplic."\\temas";} @@ -591,36 +592,47 @@ function incluiTemasIniciais() $temasa = str_replace(','," ",$temasa); $alayers = explode(" ",$temasa); $existeraster = false; - foreach ($alayers as $arqt) - { + foreach ($alayers as $arqt) { $arqtemp = ""; $arqt = trim($arqt); if ($arqt == "") {continue;} - if (file_exists($arqt)) - {$arqtemp = $arqt;} + if (file_exists($arqt)){ + $arqtemp = $arqt; + } $extensao = ".map"; - if ((strtoupper(substr(PHP_OS, 0, 3) == 'WIN')) && (file_exists($temasdir."\\".$arqt."php"))) - {$extensao = ".php";} - elseif (file_exists($temasdir."/".$arqt.".php")) - {$extensao = ".php";} - - if ((strtoupper(substr(PHP_OS, 0, 3) == 'WIN')) && (file_exists($locaplic."\\aplicmap\\".$arqt.$extensao))) - {$arqtemp = $locaplic."\\aplicmap\\".$arqt.$extensao;} - elseif (file_exists($locaplic."/aplicmap/".$arqt.$extensao)) - {$arqtemp = $locaplic."/aplicmap/".$arqt.$extensao;} - if ((strtoupper(substr(PHP_OS, 0, 3) == 'WIN')) && (file_exists($temasdir."\\".$arqt.$extensao))) - {$arqtemp = $temasdir."\\".$arqt.$extensao;} - elseif (file_exists($temasdir."/".$arqt.$extensao)) - {$arqtemp = $temasdir."/".$arqt.$extensao;} - if($arqtemp == "") - {echo "
Impossível acessar tema $arqtemp";} - else - { - if ($extensao == ".map" && !@ms_newMapObj($arqtemp)) - {echo "
Problemas com a camada $arqtemp
";} - else - { + if ((strtoupper(substr(PHP_OS, 0, 3) == 'WIN')) && (file_exists($temasdir."\\".$arqt."php"))){ + $extensao = ".php"; + } + elseif (file_exists($temasdir."/".$arqt.".php")){ + $extensao = ".php"; + } + if ((strtoupper(substr(PHP_OS, 0, 3) == 'WIN')) && (file_exists($temasdir."\\".$arqt."gvp"))){ + $extensao = ".gvp"; + } + elseif (file_exists($temasdir."/".$arqt.".gvp")){ + $extensao = ".gvp"; + } + if ((strtoupper(substr(PHP_OS, 0, 3) == 'WIN')) && (file_exists($locaplic."\\aplicmap\\".$arqt.$extensao))){ + $arqtemp = $locaplic."\\aplicmap\\".$arqt.$extensao; + } + elseif (file_exists($locaplic."/aplicmap/".$arqt.$extensao)){ + $arqtemp = $locaplic."/aplicmap/".$arqt.$extensao; + } + if ((strtoupper(substr(PHP_OS, 0, 3) == 'WIN')) && (file_exists($temasdir."\\".$arqt.$extensao))){ + $arqtemp = $temasdir."\\".$arqt.$extensao; + } + elseif (file_exists($temasdir."/".$arqt.$extensao)){ + $arqtemp = $temasdir."/".$arqt.$extensao; + } + if($arqtemp == ""){ + echo "
Impossível acessar tema $arqtemp"; + } + else{ + if ($extensao == ".map" && !@ms_newMapObj($arqtemp)){ + echo "
Problemas com a camada $arqtemp
"; + } + else{ if($extensao == ".map"){ $maptemp = @ms_newMapObj($arqtemp); for($i=0;$i<($maptemp->numlayers);++$i) @@ -659,10 +671,21 @@ function incluiTemasIniciais() ms_newLayerObj($mapn, $layern); } } - else{ + if($extensao == ".php"){ include_once($arqtemp); eval($arqt."(\$mapn);"); } + if($extensao == ".gvp"){ + include_once($locaplic."/pacotes/gvsig/gvsig2mapfile/class.gvsig2mapfile.php"); + $gm = new gvsig2mapfile($arqtemp); + $gvsigview = $gm->getViewsNames(); + $gvsigview = $gvsigview[0]; + $dataView = $gm->getViewData($gvsigview); + $next = $dataView["extent"]; + $ext = $mapn->extent; + $ext->setextent($next[0],$next[1],$next[2],$next[3]); + $mapn = $gm->addLayers($mapn,$gvsigview,$dataView["layerNames"]); + } } } } -- libgit2 0.21.2