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 | 44 | |
45 | 45 | Objeto mapa |
46 | 46 | */ |
47 | - protected $mapa; | |
47 | + public $mapa; | |
48 | 48 | /* |
49 | 49 | Variavel: $arquivo |
50 | 50 | |
... | ... | @@ -56,7 +56,7 @@ class Legenda |
56 | 56 | |
57 | 57 | Objeto layer |
58 | 58 | */ |
59 | - protected $layer; | |
59 | + public $layer; | |
60 | 60 | /* |
61 | 61 | Variavel: $nome |
62 | 62 | |
... | ... | @@ -600,7 +600,8 @@ parameters: |
600 | 600 | $classe - Índice da classe. |
601 | 601 | |
602 | 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 | 606 | function pegaParametros($classe) |
606 | 607 | { |
... | ... | @@ -629,9 +630,12 @@ string com o tipo do layer,id do estilo,outlinecolor,backgroundcolor,color,symbo |
629 | 630 | $linha[] = ""; |
630 | 631 | $linha[] = ""; |
631 | 632 | } |
633 | + $linha[] = $this->layer->symbolscaledenom; | |
634 | + $linha[] = $estilo->minsize; | |
635 | + $linha[] = $estilo->maxsize; | |
632 | 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 | 639 | return implode("|",$linhas); |
636 | 640 | } |
637 | 641 | /* |
... | ... | @@ -657,7 +661,7 @@ $size - Tamanho que será aplicado ao símbolo. |
657 | 661 | |
658 | 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 | 666 | if(!$this->layer){return "erro";} |
663 | 667 | if(!empty($pattern)) |
... | ... | @@ -708,6 +712,8 @@ $opacidade - Opacidade |
708 | 712 | { |
709 | 713 | $estilo->set("angle",$angle); |
710 | 714 | } |
715 | + $estilo->set("minsize",$minsize); | |
716 | + $estilo->set("maxsize",$maxsize); | |
711 | 717 | if ($this->layer->getmetadata("sld") != "") |
712 | 718 | { |
713 | 719 | $sld = $this->layer->getmetadata("sld"); | ... | ... |
classesphp/mapa_controle.php
... | ... | @@ -2163,7 +2163,10 @@ switch (strtoupper($funcao)) |
2163 | 2163 | } |
2164 | 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 | 2170 | $m->salva(); |
2168 | 2171 | } |
2169 | 2172 | if ($opcao == "listaSimbolos"){ | ... | ... |
classesphp/mapa_googlemaps.php
... | ... | @@ -164,6 +164,7 @@ if(!isset($_GET["telaR"])){ |
164 | 164 | //corrige um bug do mapserver que nao calcula a escala direito |
165 | 165 | $l->set("maxscaledenom",$l->maxscaledenom * 100000); |
166 | 166 | $l->set("minscaledenom",$l->minscaledenom * 100000); |
167 | + $l->set("symbolscaledenom",$l->symbolscaledenom * 100000); | |
167 | 168 | if ($l->getmetadata("classesnome") != ""){ |
168 | 169 | if(!function_exists("autoClasses")){ |
169 | 170 | include_once("funcoes_gerais.php"); | ... | ... |
css/i3geo6.css
... | ... | @@ -2207,6 +2207,10 @@ width: 16px; |
2207 | 2207 | height: 16px; |
2208 | 2208 | float: left; |
2209 | 2209 | } |
2210 | +.i3GEOiconeXis { | |
2211 | +background-image: url("../imagens/oxygen/16x16/edit-delete.png"); | |
2212 | +cursor: pointer; | |
2213 | +} | |
2210 | 2214 | .i3GEOiconemmscale{ |
2211 | 2215 | background-image: URL('../imagens/oxygen/16x16/graphics-viewer-document.png'); |
2212 | 2216 | } | ... | ... |
css/i3geo6.css.php
... | ... | @@ -2207,6 +2207,10 @@ width: 16px; |
2207 | 2207 | height: 16px; |
2208 | 2208 | float: left; |
2209 | 2209 | } |
2210 | +.i3GEOiconeXis { | |
2211 | +background-image: url("../imagens/oxygen/16x16/edit-delete.png"); | |
2212 | +cursor: pointer; | |
2213 | +} | |
2210 | 2214 | .i3GEOiconemmscale{ |
2211 | 2215 | background-image: URL('../imagens/oxygen/16x16/graphics-viewer-document.png'); |
2212 | 2216 | } | ... | ... |
ferramentas/atalhoscamada/index.js
ferramentas/legenda/dicionario.js
... | ... | @@ -509,5 +509,20 @@ i3GEOF.legenda.dicionario = { |
509 | 509 | pt : "aplicar", |
510 | 510 | en : "", |
511 | 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 | 41 | * Classe: i3GEOF.legenda |
42 | 42 | */ |
43 | 43 | //XODO incluir um construtor de expressao na legenda |
44 | -//XODO incluir SYMBOLSCALEDENOM | |
45 | -//XODO incluir link para ferramenta de definicao da escala | |
46 | 44 | i3GEOF.legenda = |
47 | 45 | { |
48 | 46 | /* |
... | ... | @@ -1532,6 +1530,39 @@ i3GEOF.legenda = |
1532 | 1530 | + linha[10] |
1533 | 1531 | + "' id='i3GEOlegendaangulo' />" |
1534 | 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 | 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 | 1568 | + "<p class='paragrafo'>" |
... | ... | @@ -1602,11 +1633,28 @@ i3GEOF.legenda = |
1602 | 1633 | return; |
1603 | 1634 | } |
1604 | 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 | 1658 | for (i = 0; i < n; i++) { |
1611 | 1659 | if (simbolos[i].title == symbolname || symbolname == i) { |
1612 | 1660 | valido = "sim"; |
... | ... | @@ -1619,10 +1667,21 @@ i3GEOF.legenda = |
1619 | 1667 | } |
1620 | 1668 | p = |
1621 | 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 | 1685 | cp = new cpaint(); |
1627 | 1686 | fim = function() { |
1628 | 1687 | i3GEOF.legenda.aposAlterarLegenda(); | ... | ... |