From cfea1f238d7c6176d0e1017eceffb3b6dd91577e Mon Sep 17 00:00:00 2001 From: Edmar Moretti Date: Tue, 21 Jan 2014 03:43:35 +0000 Subject: [PATCH] $1 --- aplicmap/geral1debianv6.map | 1 + aplicmap/geral1fedorav6.map | 47 ++++++++++++++++++++++++----------------------- aplicmap/geral1v6.map | 45 +++++++++++++++++++++++---------------------- aplicmap/geral1windowsv6.map | 35 ++++++++++++++++++----------------- aplicmap/ogcws.map | 215 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++----------------------------------------------------------------------------------------------------------- aplicmap/ogcwsv6.map | 212 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++---------------------------------------------------------------------------------------------------------- classesphp/classe_alteraclasse.php | 1 + ferramentas/saiku/cartograma.php | 197 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++--------------------- ferramentas/saiku/dicionario.js | 8 +++++++- ferramentas/saiku/esquemaxml.php | 16 +++++++++++----- ferramentas/saiku/index.js | 14 +++++++++++--- ferramentas/saiku/saiku-server/tomcat/webapps/ROOT/js/jquery/jquery.colourPicker.css | 62 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ ferramentas/saiku/saiku-server/tomcat/webapps/ROOT/js/jquery/jquery.colourPicker.gif | Bin 0 -> 1279 bytes ferramentas/saiku/saiku-server/tomcat/webapps/ROOT/js/jquery/jquery.colourPicker.js | 240 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ mashups/openlayers.js | 13 ++++++++++--- mashups/openlayers.php | 18 +++++++++++++++--- mashups/openlayers_compacto.js | 13 ++++++++++--- mashups/openlayers_compacto.js.php | 13 ++++++++++--- 18 files changed, 833 insertions(+), 317 deletions(-) create mode 100755 ferramentas/saiku/saiku-server/tomcat/webapps/ROOT/js/jquery/jquery.colourPicker.css create mode 100755 ferramentas/saiku/saiku-server/tomcat/webapps/ROOT/js/jquery/jquery.colourPicker.gif create mode 100755 ferramentas/saiku/saiku-server/tomcat/webapps/ROOT/js/jquery/jquery.colourPicker.js diff --git a/aplicmap/geral1debianv6.map b/aplicmap/geral1debianv6.map index 1ffa508..b9e3665 100644 --- a/aplicmap/geral1debianv6.map +++ b/aplicmap/geral1debianv6.map @@ -21,6 +21,7 @@ MAP SYMBOLSET "/var/www/i3geo/symbols/simbolosv6.sym" SHAPEPATH "/var/www/geodados" IMAGECOLOR 104 171 195 + MAXSIZE 4096 # #Por default, o i3geo utiliza o tipo de imagem configurado em png2 #Esse tipo nao e adequado para imagens raster, mas o i3geo muda automaticamente diff --git a/aplicmap/geral1fedorav6.map b/aplicmap/geral1fedorav6.map index 649687b..9bd000a 100644 --- a/aplicmap/geral1fedorav6.map +++ b/aplicmap/geral1fedorav6.map @@ -21,6 +21,7 @@ MAP SYMBOLSET "/var/www/html/i3geo/symbols/simbolosv6.sym" SHAPEPATH "/var/www/html/geodados" IMAGECOLOR 104 171 195 + MAXSIZE 4096 # #Por default, o i3geo utiliza o tipo de imagem configurado em png2 #Esse tipo nao e adequado para imagens raster, mas o i3geo muda automaticamente @@ -41,29 +42,29 @@ MAP OUTPUTFORMAT NAME 'AGG_Q' - DRIVER AGG/PNG - IMAGEMODE RGB - FORMATOPTION "QUANTIZE_FORCE=ON" - FORMATOPTION "QUANTIZE_DITHER=OFF" - FORMATOPTION "QUANTIZE_COLORS=256" + DRIVER AGG/PNG + IMAGEMODE RGB + FORMATOPTION "QUANTIZE_FORCE=ON" + FORMATOPTION "QUANTIZE_DITHER=OFF" + FORMATOPTION "QUANTIZE_COLORS=256" FORMATOPTION "INTERLACE=OFF" END - + #OUTPUTFORMAT - # NAME svg - # MIMETYPE "image/svg+xml" - # DRIVER cairo/svg - # #FORMATOPTION "COMPRESSED_OUTPUT=TRUE" - # #FORMATOPTION "FULL_RESOLUTION=TRUE" - #END - + # NAME svg + # MIMETYPE "image/svg+xml" + # DRIVER cairo/svg + # #FORMATOPTION "COMPRESSED_OUTPUT=TRUE" + # #FORMATOPTION "FULL_RESOLUTION=TRUE" + #END + OUTPUTFORMAT - NAME jpeg - DRIVER "AGG/JPEG" - MIMETYPE "image/jpeg" - IMAGEMODE RGB - EXTENSION jpg - FORMATOPTION "INTERLACE=OFF" + NAME jpeg + DRIVER "AGG/JPEG" + MIMETYPE "image/jpeg" + IMAGEMODE RGB + EXTENSION jpg + FORMATOPTION "INTERLACE=OFF" END OUTPUTFORMAT @@ -75,7 +76,7 @@ MAP TRANSPARENT FALSE FORMATOPTION "INTERLACE=OFF" END - + OUTPUTFORMAT NAME png2 MIMETYPE image/png @@ -85,7 +86,7 @@ MAP TRANSPARENT TRUE FORMATOPTION "INTERLACE=OFF" END - + PROJECTION "+proj=longlat +ellps=GRS67 +no_defs" @@ -121,7 +122,7 @@ MAP REFERENCE COLOR -1 -1 -1 EXTENT -75.5728 -37.4751 -30.525 7.57273 - #-79.8713331401 -41.7736536401 -26.2264448599 11.8712346401 + #-79.8713331401 -41.7736536401 -26.2264448599 11.8712346401 #edite o caminho se a aplicacao for movida de lugar IMAGE "/var/www/html/i3geo/imagens/referencia1.png" OUTLINECOLOR -1 -1 -1 @@ -249,7 +250,7 @@ MAP # END # END # CLASS #END # LAYER - + LAYER METADATA #"TEMA" "NAO" diff --git a/aplicmap/geral1v6.map b/aplicmap/geral1v6.map index 5ece5e4..f04e526 100644 --- a/aplicmap/geral1v6.map +++ b/aplicmap/geral1v6.map @@ -21,6 +21,7 @@ MAP SYMBOLSET "/opt/www/html/i3geo/symbols/simbolosv6.sym" SHAPEPATH "/opt/www/html/geodados" IMAGECOLOR 104 171 195 + MAXSIZE 4096 # #Por default, o i3geo utiliza o tipo de imagem configurado em png2 #Esse tipo nao e adequado para imagens raster, mas o i3geo muda automaticamente @@ -39,28 +40,28 @@ MAP #utilize o agg apenas com mapserver 5x OUTPUTFORMAT NAME 'AGG_Q' - DRIVER AGG/PNG - IMAGEMODE RGB - FORMATOPTION "QUANTIZE_FORCE=ON" - FORMATOPTION "QUANTIZE_DITHER=OFF" - FORMATOPTION "QUANTIZE_COLORS=256" + DRIVER AGG/PNG + IMAGEMODE RGB + FORMATOPTION "QUANTIZE_FORCE=ON" + FORMATOPTION "QUANTIZE_DITHER=OFF" + FORMATOPTION "QUANTIZE_COLORS=256" FORMATOPTION "INTERLACE=OFF" END - + OUTPUTFORMAT - NAME svg - MIMETYPE "image/svg+xml" - DRIVER cairo/svg - #FORMATOPTION "COMPRESSED_OUTPUT=TRUE" - #FORMATOPTION "FULL_RESOLUTION=TRUE" - END + NAME svg + MIMETYPE "image/svg+xml" + DRIVER cairo/svg + #FORMATOPTION "COMPRESSED_OUTPUT=TRUE" + #FORMATOPTION "FULL_RESOLUTION=TRUE" + END OUTPUTFORMAT - NAME jpeg - DRIVER "AGG/JPEG" - MIMETYPE "image/jpeg" - IMAGEMODE RGB - EXTENSION jpg - FORMATOPTION "INTERLACE=OFF" + NAME jpeg + DRIVER "AGG/JPEG" + MIMETYPE "image/jpeg" + IMAGEMODE RGB + EXTENSION jpg + FORMATOPTION "INTERLACE=OFF" END OUTPUTFORMAT @@ -72,7 +73,7 @@ MAP TRANSPARENT FALSE FORMATOPTION "INTERLACE=OFF" END - + OUTPUTFORMAT NAME png2 MIMETYPE image/png @@ -115,7 +116,7 @@ MAP END REFERENCE COLOR -1 -1 -1 - EXTENT -75.5728 -37.4751 -30.525 7.57273#-79.8713331401 -41.7736536401 -26.2264448599 11.8712346401 + EXTENT -75.5728 -37.4751 -30.525 7.57273#-79.8713331401 -41.7736536401 -26.2264448599 11.8712346401 #edite o caminho se a aplicacao for movida de lugar IMAGE "/opt/www/html/i3geo/imagens/referencia1.png" OUTLINECOLOR -1 -1 -1 @@ -242,8 +243,8 @@ MAP # END # END # CLASS #END # LAYER - - + + LAYER METADATA #"TEMA" "NAO" diff --git a/aplicmap/geral1windowsv6.map b/aplicmap/geral1windowsv6.map index 05a5022..4462810 100644 --- a/aplicmap/geral1windowsv6.map +++ b/aplicmap/geral1windowsv6.map @@ -20,6 +20,7 @@ MAP FONTSET "c:\ms4w\apache\htdocs\i3geo\symbols\fontes.txt" SYMBOLSET "c:\ms4w\apache\htdocs\i3geo\symbols\simbolosv6.sym" DEBUG OFF + MAXSIZE 4096 #DEBUG 5 #CONFIG "MS_ERRORFILE" "c:\ms4w\tmp\ms_error.txt" @@ -36,29 +37,29 @@ MAP OUTPUTFORMAT NAME 'AGG_Q' - DRIVER AGG/PNG - IMAGEMODE RGB - FORMATOPTION "QUANTIZE_FORCE=ON" - FORMATOPTION "QUANTIZE_DITHER=OFF" - FORMATOPTION "QUANTIZE_COLORS=256" + DRIVER AGG/PNG + IMAGEMODE RGB + FORMATOPTION "QUANTIZE_FORCE=ON" + FORMATOPTION "QUANTIZE_DITHER=OFF" + FORMATOPTION "QUANTIZE_COLORS=256" FORMATOPTION "INTERLACE=OFF" END OUTPUTFORMAT - NAME svg - MIMETYPE "image/svg+xml" - DRIVER cairo/svg + NAME svg + MIMETYPE "image/svg+xml" + DRIVER cairo/svg IMAGEMODE RGB - #FORMATOPTION "COMPRESSED_OUTPUT=TRUE" - #FORMATOPTION "FULL_RESOLUTION=TRUE" - END + #FORMATOPTION "COMPRESSED_OUTPUT=TRUE" + #FORMATOPTION "FULL_RESOLUTION=TRUE" + END OUTPUTFORMAT - NAME jpeg - DRIVER "AGG/JPEG" - #MIMETYPE "image/jpeg" - IMAGEMODE RGB - EXTENSION jpg - FORMATOPTION "INTERLACE=OFF" + NAME jpeg + DRIVER "AGG/JPEG" + #MIMETYPE "image/jpeg" + IMAGEMODE RGB + EXTENSION jpg + FORMATOPTION "INTERLACE=OFF" END OUTPUTFORMAT diff --git a/aplicmap/ogcws.map b/aplicmap/ogcws.map index af2a259..bf38144 100644 --- a/aplicmap/ogcws.map +++ b/aplicmap/ogcws.map @@ -1,114 +1,115 @@ MAP - EXTENT -76.512593 -36.948432 -29.585185 7.046013 - FONTSET "../symbols/fontes.txt" - IMAGECOLOR 255 255 255 - IMAGETYPE png - SYMBOLSET "../symbols/simbolos.sym" - SHAPEPATH "/opt/www/html/geodados" - SIZE 450 450 - STATUS ON - UNITS METERS - #CONFIG MS_NONSQUARE "YES" - #CONFIG MS_ERRORFILE "/ms4w/tmp/ms_error.txt" - NAME "i3geoogc" - #DEBUG 5 - OUTPUTFORMAT - NAME "png" - MIMETYPE "image/png" - DRIVER "GD/PNG" - EXTENSION "png" - IMAGEMODE "RGBA" - TRANSPARENT TRUE - FORMATOPTION "INTERLACE=OFF" - END + EXTENT -76.512593 -36.948432 -29.585185 7.046013 + FONTSET "../symbols/fontes.txt" + IMAGECOLOR 255 255 255 + MAXSIZE 4096 + IMAGETYPE png + SYMBOLSET "../symbols/simbolos.sym" + SHAPEPATH "/opt/www/html/geodados" + SIZE 450 450 + STATUS ON + UNITS METERS + #CONFIG MS_NONSQUARE "YES" + #CONFIG MS_ERRORFILE "/ms4w/tmp/ms_error.txt" + NAME "i3geoogc" + #DEBUG 5 + OUTPUTFORMAT + NAME "png" + MIMETYPE "image/png" + DRIVER "GD/PNG" + EXTENSION "png" + IMAGEMODE "RGBA" + TRANSPARENT TRUE + FORMATOPTION "INTERLACE=OFF" + END - PROJECTION - "+proj=longlat +ellps=GRS67 +no_defs" - END - LEGEND - IMAGECOLOR 255 255 255 - KEYSIZE 10 10 - KEYSPACING 5 5 - LABEL - ANGLE 0.000000 - ANTIALIAS TRUE - FONT "verdana" - MAXSIZE 256 - MINSIZE 4 - SIZE 10 - TYPE TRUETYPE - BUFFER 0 - COLOR 0 0 0 - FORCE FALSE - MINDISTANCE -1 - MINFEATURESIZE -1 - OFFSET 0 0 - PARTIALS FALSE - END - POSITION UL - STATUS ON - END + PROJECTION + "+proj=longlat +ellps=GRS67 +no_defs" + END + LEGEND + IMAGECOLOR 255 255 255 + KEYSIZE 10 10 + KEYSPACING 5 5 + LABEL + ANGLE 0.000000 + ANTIALIAS TRUE + FONT "verdana" + MAXSIZE 256 + MINSIZE 4 + SIZE 10 + TYPE TRUETYPE + BUFFER 0 + COLOR 0 0 0 + FORCE FALSE + MINDISTANCE -1 + MINFEATURESIZE -1 + OFFSET 0 0 + PARTIALS FALSE + END + POSITION UL + STATUS ON + END - QUERYMAP - COLOR 255 255 0 - SIZE -1 -1 - STATUS OFF - STYLE HILITE - END + QUERYMAP + COLOR 255 255 0 + SIZE -1 -1 + STATUS OFF + STYLE HILITE + END - SCALEBAR - ALIGN CENTER - COLOR 0 0 0 - IMAGECOLOR 255 255 255 - INTERVALS 4 - LABEL - SIZE MEDIUM - TYPE BITMAP - BUFFER 0 - COLOR 0 0 0 - FORCE FALSE - MINDISTANCE -1 - MINFEATURESIZE -1 - OFFSET 0 0 - PARTIALS TRUE - END - POSITION LL - SIZE 200 3 - STATUS OFF - STYLE 0 - UNITS MILES - END + SCALEBAR + ALIGN CENTER + COLOR 0 0 0 + IMAGECOLOR 255 255 255 + INTERVALS 4 + LABEL + SIZE MEDIUM + TYPE BITMAP + BUFFER 0 + COLOR 0 0 0 + FORCE FALSE + MINDISTANCE -1 + MINFEATURESIZE -1 + OFFSET 0 0 + PARTIALS TRUE + END + POSITION LL + SIZE 200 3 + STATUS OFF + STYLE 0 + UNITS MILES + END - WEB - IMAGEPATH "/var/tmp/ms_tmp/" - IMAGEURL "/ms_tmp/" - METADATA - #nao coloque texto com acentuacao aqui - "ows_country" "Brasil" - "ows_keywordlist" "i3Geo" - "ows_context_fid" "i3geo" - "ows_city" "Brasilia" - "ows_contactperson" "Web Master" - "ows_addresstype" "uri" - "ows_context_version" "1.0.0" - "ows_abstract" "Web services gerados da base de dados do i3Geo. Para chamar um tema especificamente, veja o sistema de ajuda, digitando no navegador web ogc.php?ajuda=, para uma lista compacta de todos os servicos, digite ogc.php?lista=temas" - "ows_contactposition" "Administrador do sitio web" - "ows_stateorprovince" "DF" - "ows_contactorganization" "Coordenacao Geral de TI" - "ows_name" "i3geoogc" - "ows_accessconstraints" "vedado o uso comercial" - "ows_fees" "none" - "ows_contactelectronicmailaddress" "geoprocessamento@mma.gov.br" - "ows_getcontext_enabled" "1" - "ows_namespace_uri" "http://www.omsug.ca/osgis2004" - "ows_address" "http://www.mma.gov.br" - "ows_postcode" "" - "ows_enable_request" "*" - END - QUERYFORMAT text/html - LEGENDFORMAT text/html - BROWSEFORMAT text/html - TEMPLATE "none.htm" - END + WEB + IMAGEPATH "/var/tmp/ms_tmp/" + IMAGEURL "/ms_tmp/" + METADATA + #nao coloque texto com acentuacao aqui + "ows_country" "Brasil" + "ows_keywordlist" "i3Geo" + "ows_context_fid" "i3geo" + "ows_city" "Brasilia" + "ows_contactperson" "Web Master" + "ows_addresstype" "uri" + "ows_context_version" "1.0.0" + "ows_abstract" "Web services gerados da base de dados do i3Geo. Para chamar um tema especificamente, veja o sistema de ajuda, digitando no navegador web ogc.php?ajuda=, para uma lista compacta de todos os servicos, digite ogc.php?lista=temas" + "ows_contactposition" "Administrador do sitio web" + "ows_stateorprovince" "DF" + "ows_contactorganization" "Coordenacao Geral de TI" + "ows_name" "i3geoogc" + "ows_accessconstraints" "vedado o uso comercial" + "ows_fees" "none" + "ows_contactelectronicmailaddress" "geoprocessamento@mma.gov.br" + "ows_getcontext_enabled" "1" + "ows_namespace_uri" "http://www.omsug.ca/osgis2004" + "ows_address" "http://www.mma.gov.br" + "ows_postcode" "" + "ows_enable_request" "*" + END + QUERYFORMAT text/html + LEGENDFORMAT text/html + BROWSEFORMAT text/html + TEMPLATE "none.htm" + END END diff --git a/aplicmap/ogcwsv6.map b/aplicmap/ogcwsv6.map index 985b7f7..b00f4e4 100644 --- a/aplicmap/ogcwsv6.map +++ b/aplicmap/ogcwsv6.map @@ -1,118 +1,118 @@ MAP - EXTENT -76.512593 -36.948432 -29.585185 7.046013 - FONTSET "../symbols/fontes.txt" - SYMBOLSET "../symbols/simbolosv6.sym" - IMAGECOLOR 255 255 255 - IMAGETYPE png - - SHAPEPATH "/opt/www/html/geodados" - SIZE 450 450 - STATUS ON - UNITS METERS - #CONFIG MS_NONSQUARE "YES" - #CONFIG MS_ERRORFILE "/ms4w/tmp/ms_error.txt" - NAME "i3geoogc" - DEBUG OFF - #DEBUG 5 + EXTENT -76.512593 -36.948432 -29.585185 7.046013 + FONTSET "../symbols/fontes.txt" + SYMBOLSET "../symbols/simbolosv6.sym" + IMAGECOLOR 255 255 255 + IMAGETYPE png +MAXSIZE 4096 + SHAPEPATH "/opt/www/html/geodados" + SIZE 450 450 + STATUS ON + UNITS METERS + #CONFIG MS_NONSQUARE "YES" + #CONFIG MS_ERRORFILE "/ms4w/tmp/ms_error.txt" + NAME "i3geoogc" + DEBUG OFF + #DEBUG 5 OUTPUTFORMAT NAME 'png' MIMETYPE "image/png" - DRIVER AGG/PNG - IMAGEMODE RGBA - FORMATOPTION "QUANTIZE_FORCE=ON" - FORMATOPTION "QUANTIZE_DITHER=OFF" - FORMATOPTION "QUANTIZE_COLORS=256" + DRIVER AGG/PNG + IMAGEMODE RGBA + FORMATOPTION "QUANTIZE_FORCE=ON" + FORMATOPTION "QUANTIZE_DITHER=OFF" + FORMATOPTION "QUANTIZE_COLORS=256" FORMATOPTION "INTERLACE=OFF" TRANSPARENT TRUE END - PROJECTION - "+proj=longlat +ellps=GRS67 +no_defs" - END - LEGEND - IMAGECOLOR 255 255 255 - KEYSIZE 10 10 - KEYSPACING 5 5 - LABEL - ANGLE 0.000000 - ANTIALIAS TRUE - FONT "verdana" - MAXSIZE 256 - MINSIZE 4 - SIZE 10 - TYPE TRUETYPE - BUFFER 0 - COLOR 0 0 0 - FORCE FALSE - MINDISTANCE -1 - MINFEATURESIZE -1 - OFFSET 0 0 - PARTIALS FALSE - END - POSITION UL - STATUS ON - END + PROJECTION + "+proj=longlat +ellps=GRS67 +no_defs" + END + LEGEND + IMAGECOLOR 255 255 255 + KEYSIZE 10 10 + KEYSPACING 5 5 + LABEL + ANGLE 0.000000 + ANTIALIAS TRUE + FONT "verdana" + MAXSIZE 256 + MINSIZE 4 + SIZE 10 + TYPE TRUETYPE + BUFFER 0 + COLOR 0 0 0 + FORCE FALSE + MINDISTANCE -1 + MINFEATURESIZE -1 + OFFSET 0 0 + PARTIALS FALSE + END + POSITION UL + STATUS ON + END - QUERYMAP - COLOR 255 255 0 - SIZE -1 -1 - STATUS OFF - STYLE HILITE - END + QUERYMAP + COLOR 255 255 0 + SIZE -1 -1 + STATUS OFF + STYLE HILITE + END - SCALEBAR - ALIGN CENTER - COLOR 0 0 0 - IMAGECOLOR 255 255 255 - INTERVALS 4 - LABEL - SIZE MEDIUM - TYPE BITMAP - BUFFER 0 - COLOR 0 0 0 - FORCE FALSE - MINDISTANCE -1 - MINFEATURESIZE -1 - OFFSET 0 0 - PARTIALS TRUE - END - POSITION LL - SIZE 200 3 - STATUS OFF - STYLE 0 - UNITS MILES - END + SCALEBAR + ALIGN CENTER + COLOR 0 0 0 + IMAGECOLOR 255 255 255 + INTERVALS 4 + LABEL + SIZE MEDIUM + TYPE BITMAP + BUFFER 0 + COLOR 0 0 0 + FORCE FALSE + MINDISTANCE -1 + MINFEATURESIZE -1 + OFFSET 0 0 + PARTIALS TRUE + END + POSITION LL + SIZE 200 3 + STATUS OFF + STYLE 0 + UNITS MILES + END - WEB - IMAGEPATH "/var/tmp/ms_tmp/" - IMAGEURL "/ms_tmp/" - #nao coloque texto com acentuacao aqui - METADATA - "ows_country" "Brasil" - "ows_keywordlist" "i3Geo" - "ows_context_fid" "i3geo" - "ows_city" "Brasilia" - "ows_contactperson" "Web Master" - "ows_addresstype" "uri" - "ows_context_version" "1.1.0" - "wms_getcapabilities_version" "1.1.0" - "ows_abstract" "Web services gerados da base de dados do i3Geo. Para chamar um tema especificamente, veja o sistema de ajuda, digitando no navegador web ogc.php?ajuda=, para uma lista compacta de todos os servicos, digite ogc.php?lista=temas" - "ows_contactposition" "Administrador do sitio web" - "ows_stateorprovince" "DF" - "ows_contactorganization" "Coordenacao Geral de TI" - "ows_name" "i3geoogc" - "ows_accessconstraints" "vedado o uso comercial" - "ows_fees" "none" - "ows_contactelectronicmailaddress" "" - "ows_getcontext_enabled" "1" - "ows_namespace_uri" "http://www.omsug.ca/osgis2004" - "ows_address" "http://www.mma.gov.br" - "ows_postcode" "" - "ows_enable_request" "*" - END - QUERYFORMAT text/html - LEGENDFORMAT text/html - BROWSEFORMAT text/html - TEMPLATE "none.htm" - END + WEB + IMAGEPATH "/var/tmp/ms_tmp/" + IMAGEURL "/ms_tmp/" + #nao coloque texto com acentuacao aqui + METADATA + "ows_country" "Brasil" + "ows_keywordlist" "i3Geo" + "ows_context_fid" "i3geo" + "ows_city" "Brasilia" + "ows_contactperson" "Web Master" + "ows_addresstype" "uri" + "ows_context_version" "1.1.0" + "wms_getcapabilities_version" "1.1.0" + "ows_abstract" "Web services gerados da base de dados do i3Geo. Para chamar um tema especificamente, veja o sistema de ajuda, digitando no navegador web ogc.php?ajuda=, para uma lista compacta de todos os servicos, digite ogc.php?lista=temas" + "ows_contactposition" "Administrador do sitio web" + "ows_stateorprovince" "DF" + "ows_contactorganization" "Coordenacao Geral de TI" + "ows_name" "i3geoogc" + "ows_accessconstraints" "vedado o uso comercial" + "ows_fees" "none" + "ows_contactelectronicmailaddress" "" + "ows_getcontext_enabled" "1" + "ows_namespace_uri" "http://www.omsug.ca/osgis2004" + "ows_address" "http://www.mma.gov.br" + "ows_postcode" "" + "ows_enable_request" "*" + END + QUERYFORMAT text/html + LEGENDFORMAT text/html + BROWSEFORMAT text/html + TEMPLATE "none.htm" + END END diff --git a/classesphp/classe_alteraclasse.php b/classesphp/classe_alteraclasse.php index b7cf528..3dd6903 100644 --- a/classesphp/classe_alteraclasse.php +++ b/classesphp/classe_alteraclasse.php @@ -728,6 +728,7 @@ Include: include_once($this->locaplic."/class.palette.php"); else include_once("class.palette.php"); + $cori = RGB2hex(explode(",",$cori)); $corf = RGB2hex(explode(",",$corf)); $numclasses = $this->layer->numclasses; diff --git a/ferramentas/saiku/cartograma.php b/ferramentas/saiku/cartograma.php index d9e67c7..831c643 100644 --- a/ferramentas/saiku/cartograma.php +++ b/ferramentas/saiku/cartograma.php @@ -5,9 +5,11 @@ if(empty($_POST["g_sid"])){ } include(dirname(__FILE__)."/../../classesphp/funcoes_gerais.php"); include(dirname(__FILE__)."/../../admin/php/classe_metaestat.php"); +include_once(dirname(__FILE__)."/../../classesphp/classe_estatistica.php"); if(!isset($dir_tmp)){ include(dirname(__FILE__)."/../../ms_configura.php"); } + //pega o filtro da sessao PHP aberta pelo i3Geo session_name("i3GeoPHP"); session_id($_POST["g_sid"]); @@ -15,6 +17,7 @@ session_start(); //obtem os layers que sao do sistema metaestat, sao regioes e que possuem selecao $map_file = $_SESSION["map_file"]; $dados = (array) json_decode($_POST["dados"],true); +$opcoes = (array) json_decode($_POST["opcoes"],true); $metadados = (array) json_decode($_POST["metadados"],true); $nmetadados = count($metadados); @@ -39,16 +42,29 @@ $titulolayer = mb_convert_encoding($titulolayer,"ISO-8859-1",mb_detect_encoding( $conexao = $m->listaConexao($meta["codigo_estat_conexao"],true); $conexao = "user=".$conexao["usuario"]." password=".$conexao["senha"]." dbname=".$conexao["bancodedados"]." host=".$conexao["host"]." port=".$conexao["porta"].""; $colunageo = $meta["colunageo"]; +$sqlColunaGeo = $meta["colunageo"]; $srid = $meta["srid"]; $colunastabela = $m->colunasTabela($meta["codigo_estat_conexao"],$meta["esquemadb"],$meta["tabela"],"geometry","!="); - - +$tipoLayer = "POLYGON"; +//define a coluna geo correta +if($opcoes["tipo"] == "raiosProporcionais" || $opcoes["tipo"] == "circulosProporcionais"){ + if($meta["colunacentroide"] != ""){ + $colunageo = $meta["colunacentroide"]; + $sqlColunaGeo = $meta["colunacentroide"]; + } + else{ + $sqlColunaGeo = "st_centroid(".$meta["colunageo"].")"; + } + $tipoLayer = "POINT"; +} +//var_dump($metadados);exit; //constroi um sql que retorna os dados na forma de uma tabela inline $nomesColunas = array(); $valores = array(); for($i=0;$i<$nmetadados;$i++){ - $nomesColunas[] = $metadados[$i]["colName"]; - //$valores[$metadados[$i]["colName"]] = array(); + if($metadados[$i]["colName"] != ""){ + $nomesColunas[] = $metadados[$i]["colName"]; + } } $nomesColunas[0] = "geocodigo"; $codigosRegioes = array(); @@ -63,37 +79,176 @@ foreach($dados as $dado){ $valores[] = "(".implode(",",$linha).")"; } $sqldados = " - select st_setsrid(".$colunageo.",".$srid.") as $colunageo, ".implode(",",$colunastabela).",dataset.* - from ".$meta["esquemadb"].".".$meta["tabela"]." INNER JOIN + select st_setsrid(".$sqlColunaGeo.",".$srid.") as $colunageo, ".implode(",",$colunastabela).",dataset.* + from ".$meta["esquemadb"].".".$meta["tabela"]." INNER JOIN (values ".implode(",",$valores).') as dataset ("'.implode('","',$nomesColunas).'") ON geocodigo = '.$meta["identificador"]; $sqlmapa = $colunageo." from ($sqldados) as foo using unique gid using srid=$srid"; $mapa = ms_newMapObj($map_file); -$layer = ms_newLayerObj($mapa); +$nlayers = $mapa->numlayers; +for($i=0;$i<$nlayers;$i++){ + $ll = $mapa->getlayer($i); + if($ll->getmetadata("SAIKU") == $opcoes["tipo"]){ + $ll->set("status",MS_DELETE); + } + else{ + if($ll->getmetadata("SAIKU") != ""){ + $ll->set("status",MS_OFF); + } + } +} +$layer = ms_newLayerObj($mapa); +$nomeLayer = nomeRandomico(); $l = array(); $l[] = "LAYER"; -$l[] = ' NAME "'.nomeRandomico().'"'; -$l[] = " TYPE POLYGON"; +$l[] = ' NAME "'.$nomeLayer.'"'; +$l[] = " TYPE $tipoLayer"; $l[] = " DATA '".$sqlmapa."'"; $l[] = ' CONNECTION "'.$conexao.'"'; $l[] = ' CONNECTIONTYPE POSTGIS'; $l[] = ' TEMPLATE "none.htm"'; $l[] = ' STATUS DEFAULT'; $l[] = ' METADATA'; -$l[] = ' TEMA "'.$titulolayer.' '.$_POST["tipo"].'"'; +$l[] = ' TEMA "'.$titulolayer.' - '.$nomesColunas[1].' - '.$opcoes["tipo"].'"'; $l[] = ' CLASSE "SIM"'; -$l[] = ' SAIKU "SIM"'; +$l[] = ' SAIKU "'.$opcoes["tipo"].'"'; $l[] = ' TIP "'.$meta["colunanomeregiao"].','.implode(',',$nomesColunas).'"'; -$l[] = ' END'; -$l[] = ' CLASS'; -$l[] = ' NAME ""'; -$l[] = ' STYLE'; -$l[] = ' OUTLINECOLOR 0 255 0'; -$l[] = ' COLOR 0 0 255'; -$l[] = ' END'; -$l[] = ' END'; -$l[] = 'END'; -$layer->updateFromString(implode(" ",$l)); +$l[] = ' METAESTAT_CODIGO_TIPO_REGIAO "'.$codigo_tipo_regiao.'"'; +$l[] = ' END '; +$l = implode("",$l); +if($opcoes["tipo"] == "raiosProporcionais"){ + $l .= implode(" ",raiosProporcionais(1,$nomesColunas[1])); +} +if($opcoes["tipo"] == "circulosProporcionais"){ + $l .= ' OPACITY 50'; + $l .= implode(" ",circulosProporcionais(1,$nomesColunas[1])); +} +if($opcoes["tipo"] == "coresChapadas"){ + $l .= ' OPACITY 50'; + $l .= implode(" ",coresChapadas(1,$nomesColunas[1])); +} +$l .= 'END'; +//echo $l;exit; +$layer->updateFromString($l); $mapa->save($map_file); + +if($opcoes["tipo"] == "coresChapadas"){ + include(dirname(__FILE__)."/../../classesphp/classe_alteraclasse.php"); + $m = new Alteraclasse($map_file,$nomeLayer); + $cor = $opcoes["cores"][0]; + $cori = $cor["red"].','.$cor["green"].','.$cor["blue"]; + $cor = $opcoes["cores"][1]; + $corf = $cor["red"].','.$cor["green"].','.$cor["blue"]; + $retorno = $m->alteraCoresClasses($cori,$corf); + $m->salva(); +} + +header("Location:".$opcoes["locaplic"]."/mashups/openlayers.php?temas=".$map_file."&DESLIGACACHE=sim&botoes=legenda,pan,zoombox,zoomtot,zoomin,zoomout,distancia,area,identifica&controles=navigation,layerswitcher,scaleline,mouseposition,overviewmap,keyboarddefaults&tiles=false&mapext=".$opcoes["mapext"]); + +function coresChapadas($coluna,$nomeColuna){ + global $opcoes; + $valores = retornaDadosColuna($coluna); + $cortes = quartis($valores,$nomeColuna); + //var_dump($cortes);exit; + $nclasses = count($cortes["nomes"]); + $classes = array(); + $size = 10; + for($i=0;$i<$nclasses;$i++){ + $nome = $cortes["nomes"][$i]; + $exp = $cortes["exp"][$i]; + $classes[] = PHP_EOL.'CLASS'; + $classes[] = ' NAME "'.$nome.'"'; + $classes[] = ' EXPRESSION '.$exp; + $classes[] = ' STYLE'; + $cor = $opcoes["cores"][0]; + $classes[] = ' COLOR '.$cor["red"].' '.$cor["green"].' '.$cor["blue"]; + $classes[] = ' SIZE '.($opcoes["size"] * $i); + $classes[] = ' OUTLINECOLOR 255 255 255'; + $classes[] = ' END'; + $classes[] = 'END '; + } + return $classes; +} +function raiosProporcionais($coluna,$nomeColuna){ + global $opcoes; + $valores = retornaDadosColuna($coluna); + $cortes = quartis($valores,$nomeColuna); + //var_dump($cortes);exit; + $nclasses = count($cortes["nomes"]); + $classes = array(); + $size = 10; + for($i=0;$i<$nclasses;$i++){ + $nome = $cortes["nomes"][$i]; + $exp = $cortes["exp"][$i]; + $classes[] = PHP_EOL.'CLASS'; + $classes[] = ' NAME "'.$nome.'"'; + $classes[] = ' EXPRESSION '.$exp; + $classes[] = ' STYLE'; + $cor = $opcoes["cores"][0]; + $classes[] = ' OUTLINECOLOR '.$cor["red"].' '.$cor["green"].' '.$cor["blue"]; + $classes[] = ' WIDTH 2'; + $classes[] = ' SYMBOL "ponto"'; + $classes[] = ' SIZE '.($opcoes["size"] * $i); + $classes[] = ' COLOR -1 -1 -1'; + $classes[] = ' END'; + $classes[] = 'END '; + } + return $classes; +} +function circulosProporcionais($coluna,$nomeColuna){ + global $opcoes; + $valores = retornaDadosColuna($coluna); + $cortes = quartis($valores,$nomeColuna); + //var_dump($cortes);exit; + $nclasses = count($cortes["nomes"]); + $classes = array(); + $size = 10; + for($i=0;$i<$nclasses;$i++){ + $nome = $cortes["nomes"][$i]; + $exp = $cortes["exp"][$i]; + $classes[] = PHP_EOL.'CLASS'; + $classes[] = ' NAME "'.$nome.'"'; + $classes[] = ' EXPRESSION '.$exp; + $classes[] = ' STYLE'; + $cor = $opcoes["cores"][0]; + $classes[] = ' COLOR '.$cor["red"].' '.$cor["green"].' '.$cor["blue"]; + $classes[] = ' WIDTH 1'; + $classes[] = ' SYMBOL "ponto"'; + $classes[] = ' SIZE '.($opcoes["size"] * $i); + $classes[] = ' OUTLINECOLOR 255 255 255'; + $classes[] = ' END'; + $classes[] = 'END '; + } + return $classes; +} + +function quartis($valores,$nomeColuna){ + $estat = new estatistica(); + $estat->calcula($valores); + $calc = $estat->resultado; + $nomes = array(); + $expressao = array(); + $expressao[] = "([".$nomeColuna."]<=".($calc["quartil1"]).")"; + $expressao[] = "(([".$nomeColuna."]>".($calc["quartil1"]).")and([".$nomeColuna."]<=".($calc["quartil2"])."))"; + if($calc["quartil3"] != 0){ + $expressao[] = "(([".$nomeColuna."]>".($calc["quartil2"]).")and([".$nomeColuna."]<=".($calc["quartil3"])."))"; + $expressao[] = "([".$nomeColuna."]>".($calc["quartil3"]).")"; + } + $nomes[] = "Q1 valor <= ".($calc["quartil1"]); + $nomes[] = "Q2 valor > ".($calc["quartil1"])." e valor <= ".($calc["quartil2"]); + if($calc["quartil3"] != 0){ + $nomes[] = "Q3 valor > ".($calc["quartil2"])." e valor <= ".($calc["quartil3"]); + $nomes[] = "Q4 valor > ".($calc["quartil3"]); + } + return array("nomes"=>$nomes,"exp"=>$expressao); +} +function retornaDadosColuna($coluna){ + global $dados; + $valores = array(); + foreach($dados as $dado){ + $valores[] = $dado[$coluna]; + } + return $valores; +} ?> diff --git a/ferramentas/saiku/dicionario.js b/ferramentas/saiku/dicionario.js index acb2141..92a0623 100755 --- a/ferramentas/saiku/dicionario.js +++ b/ferramentas/saiku/dicionario.js @@ -1,7 +1,7 @@ //+$trad(1,i3GEOF.saiku.dicionario)+ i3GEOF.saiku.dicionario = { 1: [{ - pt:"Você pode selecionar elementos de camadas com localidades e que tenham origem no sistema de metadados estatísticos. Caso essa camada não possua nenhum elemento selecionado, todos serão considerados. Para adicionar uma camada desse tipo utilize a opção Limites e localidades existente no catálogo de temas.", + pt:"Você pode selecionar elementos de camadas com localidades e que tenham origem no sistema de metadados estatísticos. Caso essa camada não possua nenhum elemento selecionado, todos serão considerados. Para adicionar uma camada desse tipo utilize a opção Limites e localidades existente no catálogo de temas.
Atualize o mapa quando for criado algum mapa dentro da interface SAIKU.", en:"", es:"", it:"" @@ -17,5 +17,11 @@ i3GEOF.saiku.dicionario = { en:"", es:"", it:"" + }], + 4: [{ + pt:"Atualiza o mapa", + en:"", + es:"", + it:"" }] }; diff --git a/ferramentas/saiku/esquemaxml.php b/ferramentas/saiku/esquemaxml.php index bec5c30..cd95b1e 100644 --- a/ferramentas/saiku/esquemaxml.php +++ b/ferramentas/saiku/esquemaxml.php @@ -8,11 +8,11 @@ include(dirname(__FILE__)."/../../admin/php/classe_metaestat.php"); if(!isset($dir_tmp)){ include(dirname(__FILE__)."/../../ms_configura.php"); } -//pega o filtro da sessao PHP aberta pelo i3Geo +//pega a sessao PHP aberta pelo i3Geo session_name("i3GeoPHP"); session_id($_GET["g_sid"]); session_start(); -//obtem os layers que sao do sistema metaestat, sao regioes e que possuem selecao + $map_file = $_SESSION["map_file"]; $nomeConexao = nomeRandomico(); $nomeDatasource = $dir_tmp."/saiku-datasources/".$nomeConexao; @@ -55,13 +55,15 @@ password={$saikuConfigDataSource["password"]} gravaDados(array($stringDatasource),$nomeDatasource); $m = new Metaestat(); $selecaoRegiao = array(); +//obtem os layers que sao do sistema metaestat, sao regioes e que possuem selecao $mapa = ms_newMapObj($map_file); $c = $mapa->numlayers; +$codigo_tipo_regiao = ""; for ($i=0;$i < $c;++$i){ $l = $mapa->getlayer($i); $registros = array(); - $codigo_tipo_regiao = $l->getmetadata("METAESTAT_CODIGO_TIPO_REGIAO"); - if($codigo_tipo_regiao != "" && $l->getmetadata("METAESTAT_ID_MEDIDA_VARIAVEL") == ""){ + if($l->status == MS_DEFAULT && $l->getmetadata("METAESTAT_CODIGO_TIPO_REGIAO") != ""){ + $codigo_tipo_regiao = $l->getmetadata("METAESTAT_CODIGO_TIPO_REGIAO"); //verifica se tem selecao $qyfile = dirname($map_file)."/".$l->name.".php"; if(file_exists($qyfile)){ @@ -84,6 +86,10 @@ for ($i=0;$i < $c;++$i){ } } } +if($codigo_tipo_regiao == ""){ + echo "Nenhum tema com limites ou localidades foi encontrado"; + exit; +} $regiao = ""; $item = ""; $registros = ""; @@ -317,7 +323,7 @@ error_reporting(0); ob_end_clean(); gravaDados(array($xml),$arquivoXmlEsquema); -header("Location:".$saikuUrl."/?nomeConexao=".$nomeConexao."&locaplic=".$_GET["locaplic"]."&g_sid=".$_GET["g_sid"]); +header("Location:".$saikuUrl."/?nomeConexao=".$nomeConexao."&locaplic=".$_GET["locaplic"]."&g_sid=".$_GET["g_sid"]."&mapext=".$_GET["mapext"]); function converte($texto){ $texto = str_replace("&","&",htmlentities($texto)); diff --git a/ferramentas/saiku/index.js b/ferramentas/saiku/index.js index 9b266b9..78d2c33 100755 --- a/ferramentas/saiku/index.js +++ b/ferramentas/saiku/index.js @@ -88,6 +88,10 @@ i3GEOF.saiku = { "i3GEOFsaikubotao1", {onclick:{fn: i3GEOF.saiku.aplicar}} ); + new YAHOO.widget.Button( + "i3GEOFsaikubotao2", + {onclick:{fn: i3GEOF.saiku.atualizaMapa}} + ); } catch(erro){i3GEO.janela.tempoMsg(erro);} }, @@ -104,7 +108,8 @@ i3GEOF.saiku = { var ins = "

Saiku: http://meteorite.bi/saiku

" + "

" + $trad(1,i3GEOF.saiku.dicionario) + "

"; if(i3GEO.parametros.saikuUrl !== ""){ - ins += ""; + ins += "" + + ""; } else{ ins += "

" + $trad(3,i3GEOF.saiku.dicionario) + "

"; @@ -126,7 +131,7 @@ i3GEOF.saiku = { //cria a janela flutuante titulo = "Saiku    "; janela = i3GEO.janela.cria( - "300px", + "400px", "200px", "", "", @@ -145,6 +150,9 @@ i3GEOF.saiku = { i3GEOF.saiku.inicia(divid); }, aplicar: function(){ - window.open(i3GEO.configura.locaplic+"/ferramentas/saiku/esquemaxml.php?g_sid="+i3GEO.configura.sid+"&locaplic="+i3GEO.configura.locaplic); + window.open(i3GEO.configura.locaplic+"/ferramentas/saiku/esquemaxml.php?g_sid="+i3GEO.configura.sid+"&locaplic="+i3GEO.configura.locaplic+"&mapext="+i3GEO.parametros.mapexten); + }, + atualizaMapa: function(){ + i3GEO.atualiza(""); } }; diff --git a/ferramentas/saiku/saiku-server/tomcat/webapps/ROOT/js/jquery/jquery.colourPicker.css b/ferramentas/saiku/saiku-server/tomcat/webapps/ROOT/js/jquery/jquery.colourPicker.css new file mode 100755 index 0000000..2a2394d --- /dev/null +++ b/ferramentas/saiku/saiku-server/tomcat/webapps/ROOT/js/jquery/jquery.colourPicker.css @@ -0,0 +1,62 @@ +#jquery-colour-picker { + background: #fafafa; + background-image: -webkit-gradient(linear, left top, left bottom, from(#fff), to(#eee)); + + width: 180px; + padding: 10px 5px 5px 10px; + + border: 1px solid #666; + + -moz-border-radius: 10px; + -webkit-border-radius: 10px; + border-radius: 10px; + + -moz-box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.3); + -webkit-box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.3); + box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.3); + + z-index: 99; +} + + #jquery-colour-picker h2 { + margin: 0 0 5px 0; + font-size: 14px; + } + + #jquery-colour-picker ul { + margin: 0; + padding: 0; + list-style-type: none; + + +zoom: 1; + } + + #jquery-colour-picker ul:after { + content: "."; + display: block; + height: 0; + visibility: hidden; + clear: both; + } + + #jquery-colour-picker ul li { + float: left; + margin: 0 5px 5px 0; + } + + #jquery-colour-picker ul li a { + display: block; + + width: 13px; + height: 13px; + + text-decoration: none; + text-indent: -100000px; + outline: 0; + + border: 1px solid #aaa; + } + + #jquery-colour-picker ul li a:hover { + border-color: #000; + } \ No newline at end of file diff --git a/ferramentas/saiku/saiku-server/tomcat/webapps/ROOT/js/jquery/jquery.colourPicker.gif b/ferramentas/saiku/saiku-server/tomcat/webapps/ROOT/js/jquery/jquery.colourPicker.gif new file mode 100755 index 0000000..a426d33 Binary files /dev/null and b/ferramentas/saiku/saiku-server/tomcat/webapps/ROOT/js/jquery/jquery.colourPicker.gif differ diff --git a/ferramentas/saiku/saiku-server/tomcat/webapps/ROOT/js/jquery/jquery.colourPicker.js b/ferramentas/saiku/saiku-server/tomcat/webapps/ROOT/js/jquery/jquery.colourPicker.js new file mode 100755 index 0000000..565b051 --- /dev/null +++ b/ferramentas/saiku/saiku-server/tomcat/webapps/ROOT/js/jquery/jquery.colourPicker.js @@ -0,0 +1,240 @@ +/*** +@title: +Colour Picker + +@version: +2.0 + +@author: +Andreas Lagerkvist + +@date: +2008-09-16 + +@url: +http://andreaslagerkvist.com/jquery/colour-picker/ + +@license: +http://creativecommons.org/licenses/by/3.0/ + +@copyright: +2008 Andreas Lagerkvist (andreaslagerkvist.com) + +@requires: +jquery, jquery.colourPicker.css, jquery.colourPicker.gif + +@does: +Use this plug-in on a normal . + +@exampleHTML: +

+ +

+ +@exampleJS: +jQuery('#jquery-colour-picker-example select').colourPicker({ + ico: WEBROOT + 'aFramework/Modules/Base/gfx/jquery.colourPicker.gif', + title: false +}); +***/ +jQuery.fn.colourPicker = function (conf) { + // Config for plug + var config = jQuery.extend({ + id: 'jquery-colour-picker', // id of colour-picker container + ico: 'ico.gif', // SRC to colour-picker icon + title: 'Pick a colour', // Default dialogue title + inputBG: true, // Whether to change the input's background to the selected colour's + speed: 500, // Speed of dialogue-animation + openTxt: 'Open colour picker' + }, conf); + + // Inverts a hex-colour + var hexInvert = function (hex) { + var r = hex.substr(0, 2); + var g = hex.substr(2, 2); + var b = hex.substr(4, 2); + + return 0.212671 * r + 0.715160 * g + 0.072169 * b < 0.5 ? 'ffffff' : '000000' + }; + + // Add the colour-picker dialogue if not added + var colourPicker = jQuery('#' + config.id); + + if (!colourPicker.length) { + colourPicker = jQuery('
').appendTo(document.body).hide(); + + // Remove the colour-picker if you click outside it (on body) + jQuery(document.body).click(function(event) { + if (!(jQuery(event.target).is('#' + config.id) || jQuery(event.target).parents('#' + config.id).length)) { + colourPicker.hide(config.speed); + } + }); + } + + // For every select passed to the plug-in + return this.each(function () { + // Insert icon and input + var select = jQuery(this); + var icon = jQuery('' + config.openTxt + '').insertAfter(select); + var input = jQuery('').insertAfter(select); + var loc = ''; + + // Build a list of colours based on the colours in the select + jQuery('option', select).each(function () { + var option = jQuery(this); + var hex = option.val(); + var title = option.text(); + + loc += '
  • ' + + title + + '
  • '; + }); + + // Remove select + select.remove(); + + // If user wants to, change the input's BG to reflect the newly selected colour + if (config.inputBG) { + input.change(function () { + input.css({background: '#' + input.val(), color: '#' + hexInvert(input.val())}); + }); + + input.change(); + } + + // When you click the icon + icon.click(function () { + // Show the colour-picker next to the icon and fill it with the colours in the select that used to be there + var iconPos = icon.offset(); + var heading = config.title ? '

    ' + config.title + '

    ' : ''; + + colourPicker.html(heading + '').css({ + position: 'absolute', + left: iconPos.left + 'px', + top: iconPos.top + 'px' + }).show(config.speed); + + // When you click a colour in the colour-picker + jQuery('a', colourPicker).click(function () { + // The hex is stored in the link's rel-attribute + var hex = jQuery(this).attr('rel'); + + input.val(hex); + + // If user wants to, change the input's BG to reflect the newly selected colour + if (config.inputBG) { + input.css({background: '#' + hex, color: '#' + hexInvert(hex)}); + } + + // Trigger change-event on input + input.change(); + + // Hide the colour-picker and return false + colourPicker.hide(config.speed); + + return false; + }); + + return false; + }); + }); +}; diff --git a/mashups/openlayers.js b/mashups/openlayers.js index 05aff3d..5450480 100755 --- a/mashups/openlayers.js +++ b/mashups/openlayers.js @@ -570,7 +570,7 @@ i3GEO.editorOL = { //w.document.close(); if(!document.getElementById("panellegendaeditorOL")){ YAHOO.namespace("legendaeditorOL.container"); - YAHOO.legendaeditorOL.container.panel = new YAHOO.widget.Panel("panellegendaeditorOL", {zIndex:20000, iframe:true, width:"250px", visible:false, draggable:true, close:true } ); + YAHOO.legendaeditorOL.container.panel = new YAHOO.widget.Panel("panellegendaeditorOL", {zIndex:20000, iframe:true, width:"auto", visible:false, draggable:true, close:true } ); YAHOO.legendaeditorOL.container.panel.setBody(ins); YAHOO.legendaeditorOL.container.panel.setHeader("Legenda"); YAHOO.legendaeditorOL.container.panel.setFooter(""); @@ -853,7 +853,14 @@ i3GEO.editorOL = { if(botoes.zoomtot===true){ button = new OpenLayers.Control.Button({ displayClass: "editorOLzoomtot", - trigger: function(){i3GEO.editorOL.mapa.zoomToMaxExtent();}, + trigger: function(){ + if(i3GEO.editorOL.mapext && i3GEO.editorOL.mapext != ""){ + i3GEO.editorOL.mapa.zoomToExtent(i3GEO.editorOL.mapext); + } + else{ + i3GEO.editorOL.mapa.zoomToMaxExtent(); + } + }, title: "ajusta extensao", type: OpenLayers.Control.TYPE_BUTTON }); @@ -1601,7 +1608,7 @@ i3GEO.editorOL = { } } YAHOO.editorOL.container.panel.show(); - temp = $i("panelpropriedadesEditor").getElementsByTagName("div") + temp = $i("panelpropriedadesEditor").getElementsByTagName("div"); if(temp && temp[2]){ temp[2].style.overflow = "auto"; } diff --git a/mashups/openlayers.php b/mashups/openlayers.php index b44c854..fc68aee 100644 --- a/mashups/openlayers.php +++ b/mashups/openlayers.php @@ -185,15 +185,17 @@ if($temas != ""){ } } if($nomeMap != ""){ + $layersNomes = array(); $layers = array(); $maptemp = @ms_newMapObj($nomeMap); if($maptemp){ $nlayers = $maptemp->numlayers; for($i=0;$i<($nlayers);++$i) { $layern = $maptemp->getLayer($i); - $layers[] = $layern->name; + $layersNomes[] = $layern->name; + $layers[] = $layern; } - $nomeLayer = implode(",",$layers); + $nomeLayer = implode(",",$layersNomes); $tituloLayer = $layern->getmetadata("tema"); $ebase = "false"; if(isset($fundo) && $fundo != ""){ @@ -212,7 +214,16 @@ if($temas != ""){ $objOpenLayers[] = 'new OpenLayers.Layer.WMS( "'.$tituloLayer.'", "../ogc.php?tema='.$tema.'&DESLIGACACHE='.$DESLIGACACHE.'&",{cloneTMS:"'.$nomeLayer.'",layers:"'.$nomeLayer.'",transparent: "true", format: "image/png"},{displayInLayerSwitcher:false,singleTile:true,visibility:false,isBaseLayer:false})'; } else{ - $objOpenLayers[] = 'new OpenLayers.Layer.WMS( "'.$tituloLayer.'", "../ogc.php?tema='.$tema.'&DESLIGACACHE='.$DESLIGACACHE.'&",{layers:"'.$nomeLayer.'",transparent: "true", format: "image/png"},{singleTile:true,visibility:'.$visivel.',isBaseLayer:'.$ebase.'})'; + //$objOpenLayers[] = 'new OpenLayers.Layer.WMS( "'.$tituloLayer.'", "../ogc.php?tema='.$tema.'&DESLIGACACHE='.$DESLIGACACHE.'&",{layers:"'.$nomeLayer.'",transparent: "true", format: "image/png"},{singleTile:true,visibility:'.$visivel.',isBaseLayer:'.$ebase.'})'; + foreach($layers as $l){ + $tituloLayer = $l->getmetadata("tema"); + $nomeLayer = $l->name; + $visivel = "false"; + if($l->status == MS_DEFAULT){ + $visivel = "true"; + } + $objOpenLayers[] = 'new OpenLayers.Layer.WMS( "'.$tituloLayer.'", "../ogc.php?tema='.$tema.'&DESLIGACACHE='.$DESLIGACACHE.'&",{layers:"'.$nomeLayer.'",transparent: "true", format: "image/png"},{singleTile:true,visibility:'.$visivel.',isBaseLayer:'.$ebase.'})'; + } } //var_dump($objOpenLayers);exit; } @@ -301,6 +312,7 @@ Parâmetros: ajuda fecha corta + legenda Para ver a lista de códigos de temas, que podem ser utilizados no parâmetro 'temas', acesse: lista de temas. Os códigos são mostrados em vermelho. diff --git a/mashups/openlayers_compacto.js b/mashups/openlayers_compacto.js index 82f06ec..808a823 100644 --- a/mashups/openlayers_compacto.js +++ b/mashups/openlayers_compacto.js @@ -3582,7 +3582,7 @@ catch(e){} //w.document.close(); if(!document.getElementById("panellegendaeditorOL")){ YAHOO.namespace("legendaeditorOL.container"); -YAHOO.legendaeditorOL.container.panel = new YAHOO.widget.Panel("panellegendaeditorOL", {zIndex:20000, iframe:true, width:"250px", visible:false, draggable:true, close:true } ); +YAHOO.legendaeditorOL.container.panel = new YAHOO.widget.Panel("panellegendaeditorOL", {zIndex:20000, iframe:true, width:"auto", visible:false, draggable:true, close:true } ); YAHOO.legendaeditorOL.container.panel.setBody(ins); YAHOO.legendaeditorOL.container.panel.setHeader("Legenda"); YAHOO.legendaeditorOL.container.panel.setFooter(""); @@ -3861,7 +3861,14 @@ adiciona = true; if(botoes.zoomtot===true){ button = new OpenLayers.Control.Button({ displayClass: "editorOLzoomtot", -trigger: function(){i3GEO.editorOL.mapa.zoomToMaxExtent();}, +trigger: function(){ +if(i3GEO.editorOL.mapext && i3GEO.editorOL.mapext != ""){ +i3GEO.editorOL.mapa.zoomToExtent(i3GEO.editorOL.mapext); +} +else{ +i3GEO.editorOL.mapa.zoomToMaxExtent(); +} +}, title: "ajusta extensao", type: OpenLayers.Control.TYPE_BUTTON }); @@ -4606,7 +4613,7 @@ temp.onclick = function(){i3GEO.janela.minimiza("panelpropriedadesEditor");}; } } YAHOO.editorOL.container.panel.show(); -temp = $i("panelpropriedadesEditor").getElementsByTagName("div") +temp = $i("panelpropriedadesEditor").getElementsByTagName("div"); if(temp && temp[2]){ temp[2].style.overflow = "auto"; } diff --git a/mashups/openlayers_compacto.js.php b/mashups/openlayers_compacto.js.php index 0c9c73a..67b1f8f 100644 --- a/mashups/openlayers_compacto.js.php +++ b/mashups/openlayers_compacto.js.php @@ -3582,7 +3582,7 @@ catch(e){} //w.document.close(); if(!document.getElementById("panellegendaeditorOL")){ YAHOO.namespace("legendaeditorOL.container"); -YAHOO.legendaeditorOL.container.panel = new YAHOO.widget.Panel("panellegendaeditorOL", {zIndex:20000, iframe:true, width:"250px", visible:false, draggable:true, close:true } ); +YAHOO.legendaeditorOL.container.panel = new YAHOO.widget.Panel("panellegendaeditorOL", {zIndex:20000, iframe:true, width:"auto", visible:false, draggable:true, close:true } ); YAHOO.legendaeditorOL.container.panel.setBody(ins); YAHOO.legendaeditorOL.container.panel.setHeader("Legenda"); YAHOO.legendaeditorOL.container.panel.setFooter(""); @@ -3861,7 +3861,14 @@ adiciona = true; if(botoes.zoomtot===true){ button = new OpenLayers.Control.Button({ displayClass: "editorOLzoomtot", -trigger: function(){i3GEO.editorOL.mapa.zoomToMaxExtent();}, +trigger: function(){ +if(i3GEO.editorOL.mapext && i3GEO.editorOL.mapext != ""){ +i3GEO.editorOL.mapa.zoomToExtent(i3GEO.editorOL.mapext); +} +else{ +i3GEO.editorOL.mapa.zoomToMaxExtent(); +} +}, title: "ajusta extensao", type: OpenLayers.Control.TYPE_BUTTON }); @@ -4606,7 +4613,7 @@ temp.onclick = function(){i3GEO.janela.minimiza("panelpropriedadesEditor");}; } } YAHOO.editorOL.container.panel.show(); -temp = $i("panelpropriedadesEditor").getElementsByTagName("div") +temp = $i("panelpropriedadesEditor").getElementsByTagName("div"); if(temp && temp[2]){ temp[2].style.overflow = "auto"; } -- libgit2 0.21.2