Commit e6e24cdd75936d796f3c0af6689be74bb44d9dff
1 parent
3c400206
Exists in
master
and in
7 other branches
Opções para controlar a escala dos símbolos
Showing
9 changed files
with
110 additions
and
18 deletions
Show diff stats
admin/admin.db
No preview for this file type
classesphp/classe_legenda.php
@@ -44,7 +44,7 @@ class Legenda | @@ -44,7 +44,7 @@ class Legenda | ||
44 | 44 | ||
45 | Objeto mapa | 45 | Objeto mapa |
46 | */ | 46 | */ |
47 | - protected $mapa; | 47 | + public $mapa; |
48 | /* | 48 | /* |
49 | Variavel: $arquivo | 49 | Variavel: $arquivo |
50 | 50 | ||
@@ -56,7 +56,7 @@ class Legenda | @@ -56,7 +56,7 @@ class Legenda | ||
56 | 56 | ||
57 | Objeto layer | 57 | Objeto layer |
58 | */ | 58 | */ |
59 | - protected $layer; | 59 | + public $layer; |
60 | /* | 60 | /* |
61 | Variavel: $nome | 61 | Variavel: $nome |
62 | 62 | ||
@@ -600,7 +600,8 @@ parameters: | @@ -600,7 +600,8 @@ parameters: | ||
600 | $classe - Índice da classe. | 600 | $classe - Índice da classe. |
601 | 601 | ||
602 | return: | 602 | return: |
603 | -string com o tipo do layer,id do estilo,outlinecolor,backgroundcolor,color,symbolname,size| | 603 | +string com o |
604 | +tipo do layer,id do estilo,outlinecolor,backgroundcolor,color,symbolname,size,symbolscaledenom,maxsize,minsize| | ||
604 | */ | 605 | */ |
605 | function pegaParametros($classe) | 606 | function pegaParametros($classe) |
606 | { | 607 | { |
@@ -629,9 +630,12 @@ string com o tipo do layer,id do estilo,outlinecolor,backgroundcolor,color,symbo | @@ -629,9 +630,12 @@ string com o tipo do layer,id do estilo,outlinecolor,backgroundcolor,color,symbo | ||
629 | $linha[] = ""; | 630 | $linha[] = ""; |
630 | $linha[] = ""; | 631 | $linha[] = ""; |
631 | } | 632 | } |
633 | + $linha[] = $this->layer->symbolscaledenom; | ||
634 | + $linha[] = $estilo->minsize; | ||
635 | + $linha[] = $estilo->maxsize; | ||
632 | $linhas[] = $tipoLayer."#".implode("#",$linha); | 636 | $linhas[] = $tipoLayer."#".implode("#",$linha); |
633 | } | 637 | } |
634 | - //retorna tipo do layer,id do estilo,outlinecolor,backgroundcolor,color,symbolname,size | 638 | + //retorna tipo do layer,id do estilo,outlinecolor,backgroundcolor,color,symbolname,size,symbolscaledenom |
635 | return implode("|",$linhas); | 639 | return implode("|",$linhas); |
636 | } | 640 | } |
637 | /* | 641 | /* |
@@ -657,7 +661,7 @@ $size - Tamanho que será aplicado ao símbolo. | @@ -657,7 +661,7 @@ $size - Tamanho que será aplicado ao símbolo. | ||
657 | 661 | ||
658 | $opacidade - Opacidade | 662 | $opacidade - Opacidade |
659 | */ | 663 | */ |
660 | - function aplicaParametro($classe,$estilo,$outlinecolor,$backgroundcolor,$color,$symbolname,$size,$opacidade,$width,$pattern,$angle) | 664 | + function aplicaParametro($classe,$estilo,$outlinecolor,$backgroundcolor,$color,$symbolname,$size,$opacidade,$width,$pattern,$angle,$minsize=0,$maxsize=500) |
661 | { | 665 | { |
662 | if(!$this->layer){return "erro";} | 666 | if(!$this->layer){return "erro";} |
663 | if(!empty($pattern)) | 667 | if(!empty($pattern)) |
@@ -708,6 +712,8 @@ $opacidade - Opacidade | @@ -708,6 +712,8 @@ $opacidade - Opacidade | ||
708 | { | 712 | { |
709 | $estilo->set("angle",$angle); | 713 | $estilo->set("angle",$angle); |
710 | } | 714 | } |
715 | + $estilo->set("minsize",$minsize); | ||
716 | + $estilo->set("maxsize",$maxsize); | ||
711 | if ($this->layer->getmetadata("sld") != "") | 717 | if ($this->layer->getmetadata("sld") != "") |
712 | { | 718 | { |
713 | $sld = $this->layer->getmetadata("sld"); | 719 | $sld = $this->layer->getmetadata("sld"); |
classesphp/mapa_controle.php
@@ -2163,7 +2163,10 @@ switch (strtoupper($funcao)) | @@ -2163,7 +2163,10 @@ switch (strtoupper($funcao)) | ||
2163 | } | 2163 | } |
2164 | if ($opcao == "aplica") | 2164 | if ($opcao == "aplica") |
2165 | { | 2165 | { |
2166 | - $retorno = $m->aplicaParametro($classe,$estilo,$outlinecolor,$backgroundcolor,$color,$symbolname,$size,$opacidade,$width,$pattern,$angle); | 2166 | + $retorno = $m->aplicaParametro($classe,$estilo,$outlinecolor,$backgroundcolor,$color,$symbolname,$size,$opacidade,$width,$pattern,$angle,$minsize,$maxsize); |
2167 | + if(!empty($symbolscale)){ | ||
2168 | + $m->layer->set("symbolscaledenom",$symbolscale); | ||
2169 | + } | ||
2167 | $m->salva(); | 2170 | $m->salva(); |
2168 | } | 2171 | } |
2169 | if ($opcao == "listaSimbolos"){ | 2172 | if ($opcao == "listaSimbolos"){ |
classesphp/mapa_googlemaps.php
@@ -164,6 +164,7 @@ if(!isset($_GET["telaR"])){ | @@ -164,6 +164,7 @@ if(!isset($_GET["telaR"])){ | ||
164 | //corrige um bug do mapserver que nao calcula a escala direito | 164 | //corrige um bug do mapserver que nao calcula a escala direito |
165 | $l->set("maxscaledenom",$l->maxscaledenom * 100000); | 165 | $l->set("maxscaledenom",$l->maxscaledenom * 100000); |
166 | $l->set("minscaledenom",$l->minscaledenom * 100000); | 166 | $l->set("minscaledenom",$l->minscaledenom * 100000); |
167 | + $l->set("symbolscaledenom",$l->symbolscaledenom * 100000); | ||
167 | if ($l->getmetadata("classesnome") != ""){ | 168 | if ($l->getmetadata("classesnome") != ""){ |
168 | if(!function_exists("autoClasses")){ | 169 | if(!function_exists("autoClasses")){ |
169 | include_once("funcoes_gerais.php"); | 170 | include_once("funcoes_gerais.php"); |
css/i3geo6.css
@@ -2207,6 +2207,10 @@ width: 16px; | @@ -2207,6 +2207,10 @@ width: 16px; | ||
2207 | height: 16px; | 2207 | height: 16px; |
2208 | float: left; | 2208 | float: left; |
2209 | } | 2209 | } |
2210 | +.i3GEOiconeXis { | ||
2211 | +background-image: url("../imagens/oxygen/16x16/edit-delete.png"); | ||
2212 | +cursor: pointer; | ||
2213 | +} | ||
2210 | .i3GEOiconemmscale{ | 2214 | .i3GEOiconemmscale{ |
2211 | background-image: URL('../imagens/oxygen/16x16/graphics-viewer-document.png'); | 2215 | background-image: URL('../imagens/oxygen/16x16/graphics-viewer-document.png'); |
2212 | } | 2216 | } |
css/i3geo6.css.php
@@ -2207,6 +2207,10 @@ width: 16px; | @@ -2207,6 +2207,10 @@ width: 16px; | ||
2207 | height: 16px; | 2207 | height: 16px; |
2208 | float: left; | 2208 | float: left; |
2209 | } | 2209 | } |
2210 | +.i3GEOiconeXis { | ||
2211 | +background-image: url("../imagens/oxygen/16x16/edit-delete.png"); | ||
2212 | +cursor: pointer; | ||
2213 | +} | ||
2210 | .i3GEOiconemmscale{ | 2214 | .i3GEOiconemmscale{ |
2211 | background-image: URL('../imagens/oxygen/16x16/graphics-viewer-document.png'); | 2215 | background-image: URL('../imagens/oxygen/16x16/graphics-viewer-document.png'); |
2212 | } | 2216 | } |
ferramentas/atalhoscamada/index.js
@@ -4,7 +4,7 @@ if (typeof (i3GEOF) === 'undefined') { | @@ -4,7 +4,7 @@ if (typeof (i3GEOF) === 'undefined') { | ||
4 | /* | 4 | /* |
5 | * Classe: i3GEOF.atalhoscamada | 5 | * Classe: i3GEOF.atalhoscamada |
6 | */ | 6 | */ |
7 | -//TODO verificar se o parametro cache esta funcionando | 7 | +//XODO construir links com base no menu suspenso |
8 | i3GEOF.atalhoscamada = | 8 | i3GEOF.atalhoscamada = |
9 | { | 9 | { |
10 | /** | 10 | /** |
ferramentas/legenda/dicionario.js
@@ -509,5 +509,20 @@ i3GEOF.legenda.dicionario = { | @@ -509,5 +509,20 @@ i3GEOF.legenda.dicionario = { | ||
509 | pt : "aplicar", | 509 | pt : "aplicar", |
510 | en : "", | 510 | en : "", |
511 | es : "" | 511 | es : "" |
512 | + } ], | ||
513 | + 'symbolscale' : [ { | ||
514 | + pt : "Denominador da escala na qual o símbolo será apresentado com o tamanho definido. Esse parâmetro funciona em conjunto com MAXSCALE e MINSCALE e é válido para a camada como um todo e não para cada estilo (afeta pontos)", | ||
515 | + en : "", | ||
516 | + es : "" | ||
517 | + } ], | ||
518 | + 'minsize' : [ { | ||
519 | + pt : "Menor tamanho (pixels), que os símbolos serão desenhados, quando a escala de desenho de símbolos estiver ativo", | ||
520 | + en : "", | ||
521 | + es : "" | ||
522 | + } ], | ||
523 | + 'maxsize' : [ { | ||
524 | + pt : "Maior tamanho (pixels), que os símbolos serão desenhados, quando a escala de desenho de símbolos estiver ativo", | ||
525 | + en : "", | ||
526 | + es : "" | ||
512 | } ] | 527 | } ] |
513 | }; | 528 | }; |
ferramentas/legenda/index.js
@@ -41,8 +41,6 @@ if (typeof (i3GEOF) === 'undefined') { | @@ -41,8 +41,6 @@ if (typeof (i3GEOF) === 'undefined') { | ||
41 | * Classe: i3GEOF.legenda | 41 | * Classe: i3GEOF.legenda |
42 | */ | 42 | */ |
43 | //XODO incluir um construtor de expressao na legenda | 43 | //XODO incluir um construtor de expressao na legenda |
44 | -//XODO incluir SYMBOLSCALEDENOM | ||
45 | -//XODO incluir link para ferramenta de definicao da escala | ||
46 | i3GEOF.legenda = | 44 | i3GEOF.legenda = |
47 | { | 45 | { |
48 | /* | 46 | /* |
@@ -1532,6 +1530,39 @@ i3GEOF.legenda = | @@ -1532,6 +1530,39 @@ i3GEOF.legenda = | ||
1532 | + linha[10] | 1530 | + linha[10] |
1533 | + "' id='i3GEOlegendaangulo' />" | 1531 | + "' id='i3GEOlegendaangulo' />" |
1534 | + "</form></div>" | 1532 | + "</form></div>" |
1533 | + | ||
1534 | + + "<br><img style='float:left;' src='"+i3GEO.configura.locaplic+"/imagens/branco.gif' />" | ||
1535 | + + "<p class='paragrafo'>" | ||
1536 | + + $trad('symbolscale', i3GEOF.legenda.dicionario) | ||
1537 | + + ":</p>" | ||
1538 | + + "<div class='i3geoForm i3geoFormIconeEdita' >" | ||
1539 | + + "<form onsubmit='i3GEOF.legenda.aplicaEstilo();return false;'>" | ||
1540 | + + "<input type=text value='" | ||
1541 | + + linha[11] | ||
1542 | + + "' id='i3GEOlegendasymbolscale' />" | ||
1543 | + + "</form></div>" | ||
1544 | + | ||
1545 | + + "<br><img style='float:left;' onclick='i3GEOF.legenda.aplicaTodasClasses(\"angle\",\"i3GEOlegendaangulo\")' title='"+$trad('aplicatodos', i3GEOF.legenda.dicionario)+"' src='"+i3GEO.configura.locaplic+"/imagens/oxygen/16x16/tools-wizard.png' />" | ||
1546 | + + "<p class='paragrafo'>" | ||
1547 | + + $trad('minsize', i3GEOF.legenda.dicionario) | ||
1548 | + + ":</p>" | ||
1549 | + + "<div class='i3geoForm i3geoFormIconeEdita' >" | ||
1550 | + + "<form onsubmit='i3GEOF.legenda.aplicaEstilo();return false;'>" | ||
1551 | + + "<input type=text value='" | ||
1552 | + + linha[12] | ||
1553 | + + "' id='i3GEOlegendaminsize' />" | ||
1554 | + + "</form></div>" | ||
1555 | + | ||
1556 | + + "<br><img style='float:left;' onclick='i3GEOF.legenda.aplicaTodasClasses(\"angle\",\"i3GEOlegendaangulo\")' title='"+$trad('aplicatodos', i3GEOF.legenda.dicionario)+"' src='"+i3GEO.configura.locaplic+"/imagens/oxygen/16x16/tools-wizard.png' />" | ||
1557 | + + "<p class='paragrafo'>" | ||
1558 | + + $trad('maxsize', i3GEOF.legenda.dicionario) | ||
1559 | + + ":</p>" | ||
1560 | + + "<div class='i3geoForm i3geoFormIconeEdita' >" | ||
1561 | + + "<form onsubmit='i3GEOF.legenda.aplicaEstilo();return false;'>" | ||
1562 | + + "<input type=text value='" | ||
1563 | + + linha[13] | ||
1564 | + + "' id='i3GEOlegendamaxsize' />" | ||
1565 | + + "</form></div>" | ||
1535 | 1566 | ||
1536 | + "<br><img style='float:left;' onclick='i3GEOF.legenda.aplicaTodasClasses(\"symbolname\",\"i3GEOlegendasymbolname\")' title='"+$trad('aplicatodos', i3GEOF.legenda.dicionario)+"' src='"+i3GEO.configura.locaplic+"/imagens/oxygen/16x16/tools-wizard.png' />" | 1567 | + "<br><img style='float:left;' onclick='i3GEOF.legenda.aplicaTodasClasses(\"symbolname\",\"i3GEOlegendasymbolname\")' title='"+$trad('aplicatodos', i3GEOF.legenda.dicionario)+"' src='"+i3GEO.configura.locaplic+"/imagens/oxygen/16x16/tools-wizard.png' />" |
1537 | + "<p class='paragrafo'>" | 1568 | + "<p class='paragrafo'>" |
@@ -1602,11 +1633,28 @@ i3GEOF.legenda = | @@ -1602,11 +1633,28 @@ i3GEOF.legenda = | ||
1602 | return; | 1633 | return; |
1603 | } | 1634 | } |
1604 | i3GEOF.legenda.aguarde.visibility = "visible"; | 1635 | i3GEOF.legenda.aguarde.visibility = "visible"; |
1605 | - var outlinecolor = $i("i3GEOlegendaoutlinecolor").value, backgroundcolor = $i("i3GEOlegendabackgroundcolor").value, color = | ||
1606 | - $i("i3GEOlegendacolor").value, symbolname = $i("i3GEOlegendasymbolname").value, simbolos = | ||
1607 | - $i("i3GEOlegendasimbolos").getElementsByTagName("img"), valido = "nao", n = simbolos.length, size = | ||
1608 | - $i("i3GEOlegendasizes").value, width = $i("i3GEOlegendawidth").value, pattern = $i("i3GEOlegendapattern").value, opacidade = | ||
1609 | - $i("i3GEOlegendaopacidade").value, angle = $i("i3GEOlegendaangulo").value, i, p, cp, fim; | 1636 | + var i, p, cp, fim, |
1637 | + outlinecolor = $i("i3GEOlegendaoutlinecolor").value, | ||
1638 | + backgroundcolor = $i("i3GEOlegendabackgroundcolor").value, | ||
1639 | + color = $i("i3GEOlegendacolor").value, | ||
1640 | + symbolname = $i("i3GEOlegendasymbolname").value, | ||
1641 | + simbolos = $i("i3GEOlegendasimbolos").getElementsByTagName("img"), | ||
1642 | + valido = "nao", | ||
1643 | + n = simbolos.length, | ||
1644 | + size = $i("i3GEOlegendasizes").value, | ||
1645 | + width = $i("i3GEOlegendawidth").value, | ||
1646 | + pattern = $i("i3GEOlegendapattern").value, | ||
1647 | + opacidade = $i("i3GEOlegendaopacidade").value, | ||
1648 | + angle = $i("i3GEOlegendaangulo").value, | ||
1649 | + symbolscale = $i("i3GEOlegendasymbolscale").value, | ||
1650 | + minsize = $i("i3GEOlegendaminsize").value, | ||
1651 | + maxsize = $i("i3GEOlegendamaxsize").value; | ||
1652 | + if(symbolscale != ""){ | ||
1653 | + symbolscale = parseInt(symbolscale,10); | ||
1654 | + } | ||
1655 | + else{ | ||
1656 | + symbolscale = -1; | ||
1657 | + } | ||
1610 | for (i = 0; i < n; i++) { | 1658 | for (i = 0; i < n; i++) { |
1611 | if (simbolos[i].title == symbolname || symbolname == i) { | 1659 | if (simbolos[i].title == symbolname || symbolname == i) { |
1612 | valido = "sim"; | 1660 | valido = "sim"; |
@@ -1619,10 +1667,21 @@ i3GEOF.legenda = | @@ -1619,10 +1667,21 @@ i3GEOF.legenda = | ||
1619 | } | 1667 | } |
1620 | p = | 1668 | p = |
1621 | i3GEO.configura.locaplic + "/classesphp/mapa_controle.php?g_sid=" + i3GEO.configura.sid | 1669 | i3GEO.configura.locaplic + "/classesphp/mapa_controle.php?g_sid=" + i3GEO.configura.sid |
1622 | - + "&funcao=editasimbolo&opcao=aplica&tema=" + i3GEOF.legenda.tema + "&classe=" + i3GEOF.legenda.classe + "&estilo=" | ||
1623 | - + i3GEOF.legenda.estilo + "&outlinecolor=" + outlinecolor + "&backgroundcolor=" + backgroundcolor + "&color=" | ||
1624 | - + color + "&symbolname=" + symbolname + "&width=" + width + "&pattern=" + pattern + "&size=" + size + "&opacidade=" | ||
1625 | - + opacidade + "&angle=" + angle; | 1670 | + + "&funcao=editasimbolo&opcao=aplica&tema=" + i3GEOF.legenda.tema |
1671 | + + "&classe=" + i3GEOF.legenda.classe | ||
1672 | + + "&estilo=" + i3GEOF.legenda.estilo | ||
1673 | + + "&outlinecolor=" + outlinecolor | ||
1674 | + + "&backgroundcolor=" + backgroundcolor | ||
1675 | + + "&color=" + color | ||
1676 | + + "&symbolname=" + symbolname | ||
1677 | + + "&width=" + width | ||
1678 | + + "&pattern=" + pattern | ||
1679 | + + "&size=" + size | ||
1680 | + + "&opacidade=" + opacidade | ||
1681 | + + "&angle=" + angle | ||
1682 | + + "&symbolscale=" + symbolscale | ||
1683 | + + "&minsize=" + minsize | ||
1684 | + + "&maxsize=" + maxsize; | ||
1626 | cp = new cpaint(); | 1685 | cp = new cpaint(); |
1627 | fim = function() { | 1686 | fim = function() { |
1628 | i3GEOF.legenda.aposAlterarLegenda(); | 1687 | i3GEOF.legenda.aposAlterarLegenda(); |