editormapfile_label.js
11.4 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
/*
Function: editorClasseLabel
Abre o editor dos labels de um layer
<PEGACLASSELABEL>
*/
function editorClasseLabel(codigoMap,codigoLayer,indiceClasse)
{
var sUrl = "../php/editormapfile.php?funcao=pegaClasseLabel&codigoMap="+codigoMap+"&codigoLayer="+codigoLayer+"&indiceClasse="+indiceClasse;
core_pegaDados("Obtendo dados...",sUrl,"montaEditorClasseLabel");
}
function montaEditorClasseLabel(dados)
{
var temp = function(){
salvarDadosEditor('classeLabel',dados.codigoMap,dados.codigoLayer,dados.indiceClasse);
};
core_montaEditor(temp,"450px","500px","","Label",true,true,false);
var param = {
"linhas":[
{ajuda:"Cor com a qual o texto será desenhado. [ATRIBUTO] especifica o nome do item na tabela de atributos para usar como valores de cor. Os colchetes [] são necessários. Por exemplo, se o DBF do seu shapefile tem um campo chamado “MYCOLOR” o objeto LABEL deve conter: LABEL → COLOR [MYCOLOR].",
titulo:"Color",id:"color",value:dados.color,tipo:"cor"},
{ajuda:"Tamanho do texto. Use um número inteiro para dar o tamanho e pixeis da sua fonte TrueType, ou qualquer outra das 5 palavras para fontes bitmap. Quando a escala de símbolos e utilizada, SIZE representa o tamanho da fonte a ser usada com o mapa na escala 1:SYMBOLSCALEDENOM. [ATRIBUTO] especifica o nome do item na tabela de atributos para usar como valores de tamanho. Os colchetes [] são necessários. Por exemplo, se o DBF do seu shapefile tem um campo chamado “MYSIZE” o objeto LABEL deve conter: LABEL → SIZE [MYSIZE].",
titulo:"Size",id:"size",value:dados.size,tipo:"text"},
{ajuda:"Posição da label relativa ao ponto de etiquetagem (somente para camadas). A primeira letra é a posição Y, a segunda letra é a posição X. Auto diz ao MapServer para calcular a posição que não vai interferir com as outras labels. Com pontos e polígonos, o MapServer seleciona uma das 8 posições exteriores (ou seja, exclui a opção cc). Com linhas, só é utilazando lc ou uc, até que ele use uma posição que não colida com labels que já tenham sido desenhadas. Se todas as posições causarem conflitos, então a label não é desenhada (a não ser que o parâmetro FORCE esteja habilitado). O posicionamento AUTO só é permitido com labels em cache.",
titulo:"Position",id:"position",value:dados.position,tipo:"text"},
{ajuda:"Espaço livre, em pixeis, ao redor das labels. Útil para manter um espaço ao redor do texto para melhorar a leitura. Só é permitido com labels em cache. Padrão é 0.",
titulo:"Buffer",id:"buffer",value:dados.buffer,tipo:"text"},
{ajuda:"Apelido da fonte (como definido em FONTSET) para usar nas labels. [ATRIBUTO] especifica o campo para o apelido da fonte. Pode conter uma lista de fontes para ser usada como recuperação para fontes que não suportam grifos, sendo o máximo de fontes de reserva definido em MS_MAX_LABEL_FONTS (geralmente 5). Se especificada diretamente, não se esqueça de incluir a lista citada entre aspas.",
titulo:"Font",id:"",value:dados.font,tipo:"text",div:"<div id=cFont ></div>"},
{ajuda:"Tipo de fonte a ser usado. Geralmente fontes bitmap são mais rápidas de se desenhar do que fontes TrueType. No entanto, fontes TrueType são passíveis de serem usadas com escala e disponíveis em uma variedade de tipos. Não se esqueça de acionar o parâmetro FONT se você selecionar TrueType.",
titulo:"Type",id:"",value:dados.type,tipo:"text",div:"<div id=cType ></div>"},
{ajuda:"O texto pode cruzar o limite do mapa? Padrão é true.",
titulo:"Partials",id:"",value:dados.partials,tipo:"text",div:"<div id=cPartials ></div>"},
{ajuda:"Força as labels para uma classe em particular ativada, independente de colisões. Disponível somente para labels em cache. Padrão é false. Se FORCE está ligado e PARTIALS desligado, FORCE toma preferência e labels parciais são desenhadas.",
titulo:"Force",id:"",value:dados.force,tipo:"text",div:"<div id=cForce ></div>"},
{ajuda:"Cor a ser desenhado o retângulo de fundo. Desligado por padrão.",
titulo:"Backgroundcolor",id:"backgroundcolor",value:dados.backgroundcolor,tipo:"cor"},
{ajuda:"Cor a ser desenhada a sombra do retângulo de fundo. Desligado por padrão.",
titulo:"Backgroundshadowcolor",id:"backgroundshadowcolor",value:dados.backgroundshadowcolor,tipo:"cor"},
{ajuda:"Cor a ser desenhado o contorno de 1 pixel ao redor dos caracteres no texto.[ATRIBUTO] especifica o nome do item na tabela de atributos para usar como valores de cor de contorno. Os colchetes [] são necessários. Por exemplo, se o DBF do seu shapefile tem um campo chamado “MYOUTCOLOR” o objeto LABEL deve conter: LABEL → OUTLINECOLOR [MYOUTCOLOR].",
titulo:"Outlinecolor",id:"outlinecolor",value:dados.outlinecolor,tipo:"cor"},
{ajuda:"Cor da sombra. Uma label com o mesmo texto será desenhada nesta cor antes da label principal, resultando num efeito de sombra nos caracteres da label. O deslocamento da sombra desenhada é definido em SHADOWSIZE.",
titulo:"Shadowcolor",id:"shadowcolor",value:dados.shadowcolor,tipo:"text"},
{ajuda:"Deslocamento da sombra no eixo x em pixeis.",
titulo:"Shadowsizex",id:"shadowsizex",value:dados.shadowsizex,tipo:"text"},
{ajuda:"Deslocamento da sombra no eixo y em pixeis.",
titulo:"Shadowsizey",id:"shadowsizey",value:dados.shadowsizey,tipo:"text"},
{ajuda:"Valor do deslocamento do retângulo de fundo da sombra no eixo x. Padrão é 1.",
titulo:"Backgroundshadowsizex",id:"backgroundshadowsizex",value:dados.backgroundshadowsizex,tipo:"text"},
{ajuda:"Valor do deslocamento do retângulo de fundo da sombra no eixo y. Padrão é 1.",
titulo:"Backgroundshadowsizey",id:"backgroundshadowsizey",value:dados.backgroundshadowsizey,tipo:"text"},
{ajuda:"Tamanho mínimo da fonte (pixeis) para usar quando desenhando textos conforme a escala. Padrão é 4.",
titulo:"Minsize",id:"minsize",value:dados.minsize,tipo:"text"},
{ajuda:"Tamanho máximo da fonte (pixeis) para usar quando desenhando textos conforme a escala. Padrão é 256.",
titulo:"Maxsize",id:"maxsize",value:dados.maxsize,tipo:"text"},
{ajuda:"Valor de deslocamento no eixo X para labels, relativo ao canto inferior esquerdo da label e do ponto de etiquetagem. Dado em pixeis. No caso de testo rotacionado, especificar os valores como se todas as labels fossem horizontais e qualquer rotação será compensada.",
titulo:"Offsetx",id:"offsetx",value:dados.offsetx,tipo:"text"},
{ajuda:"Valor de deslocamento no eixo X para labels, relativo ao canto inferior esquerdo da label e do ponto de etiquetagem. Dado em pixeis. No caso de testo rotacionado, especificar os valores como se todas as labels fossem horizontais e qualquer rotação será compensada.",
titulo:"Offsety",id:"offsety",value:dados.offsety,tipo:"text"},
{ajuda:"Ângulo, em graus, para desenhar as labels. AUTO permite ao MapServer computar o ângulo. Válido somente para camadas do tipo linha. AUTO2 é igual ao AUTO, exceto que nenhuma lógica é aplicada para tentar manter o texto numa orientação de leitura (ou seja, o texto pode ser desenhado de cabeça para baixo). Útil quando se adiciona textos de seta para indicar a direção da linha. FOLLOW diz ao MapServer para computar uma label curva para feições lineares apropriadas.[ATRIBUTO] especifica o nome do item na tabela de atributos para se usar como valores de âgulo. Os colchetes [] são necessários. Por exemplo, se o DBF do seu shapefile tem um campo chamado “MYANGLE” o objeto LABEL deve conter: LABEL → ANGLE [MYANGLE].",
titulo:"Angle (utilize MS_FOLLOW para textos curvos)",id:"angle",value:dados.angle,tipo:"text"},
{ajuda:"Cálculo automático do ângulo quando os elementos forem lineares",
titulo:"Autoangle",id:"",value:dados.angle,tipo:"text",div:"<div id=cAutoangle ></div>"},
{ajuda:"Ativa ou desativa o antialias. Note que isto requere mais cores disponíveis, diminui a performance e resulta em imagens de saída bem maiores. Só é útil para desenhos em gif. Padrão é falso. Não tem efeito para outros processamentos (nos quais o antialias não pode ser desligado).",
titulo:"Antialias",id:"antialias",value:dados.antialias,tipo:"text"},
{ajuda:"Caractere que define a condição de fim de linha num texto de label, resultando numa label de múltiplas linhas. Interage com MAXLENGHT para definição condicional de quebra de linha após um dado número de caracteres.",
titulo:"Wrap",id:"wrap",value:dados.wrap,tipo:"text"},
{ajuda:"Tamanho mínimo que uma feição deve ter para ser etiquetada. Dado em pixeis. Para dados do tipo linha o comprimento geral da linha exibida é usada. Para polígonos, a menor dimensão da caixa circundante é usada. AUTO diz ao MapServer só etiquetar feições que são maiores do que sua respectiva label. Disponível somente para labels em cache.",
titulo:"Minfeaturesize",id:"minfeaturesize",value:dados.minfeaturesize,tipo:"text"},
{ajuda:"Distância mínima entre labels duplicadas. Dada em pixeis.",
titulo:"Mindistance",id:"mindistance",value:dados.mindistance,tipo:"text"},
{ajuda:"Formato de codificação suportado para ser usado para as labels. Se o formato não for suprotado, a label não será desenhada. Requer a biblioteca iconv (presente na maior parte dos sistemas). A biblioteca é sempre detectada se estiver presente no sistema, mas, se não for, a label não será desenhada. Necessário para exibição de caracteres internacionais. Mais informações podem ser encontradas em: http://www.foss4g.org/FOSS4G/MAPSERVER/mpsnf-i18n-en.html.",
titulo:"Encoding",id:"encoding",value:dados.encoding,tipo:"text"}
]
};
var ins = "";
if(dados.colunas != "")
{
//ins += "<p>O layer possuí as seguintes colunas na tabela de atributos: ";
//ins += dados.colunas+"</p>";
}
ins += core_geraLinhas(param);
ins += "<br><br><br>";
$i("editor_bd").innerHTML = ins;
temp = "<select id='font' >";
temp += core_comboObjeto(dados.fontes,"","",dados.font);
temp += "</select>";
$i("cFont").innerHTML = temp;
temp = "<select id='type' >";
temp += core_comboObjeto(objfonttypes,"valor","texto",dados.type);
temp += "</select>";
$i("cType").innerHTML = temp;
temp = "<select id='partials' >";
temp += core_comboObjeto(objbool_tf,"valor","texto",dados.partials);
temp += "</select>";
$i("cPartials").innerHTML = temp;
temp = "<select id='force' >";
temp += core_comboObjeto(objbool_tf,"valor","texto",dados.force);
temp += "</select>";
$i("cForce").innerHTML = temp;
temp = "<select id='autoangle' >";
temp += core_comboObjeto(objbool_tf,"valor","texto",dados.autoangle);
temp += "</select>";
$i("cAutoangle").innerHTML = temp;
}