|
JOSM - Criar modelos de etiquetas personalizadosNo capítulo anterior vimos como os menus de modelos de etiquetas personalizados podem ser adicionados ao JOSM. Neste capítulo iremos abordar a forma de criar os seus próprios ficheiros de modelos de etiquetas personalizados. AVISO! Este é um tópico avançado… considere-se avisado! Introdução ao XMLPara criar o nosso próprio menu Modelos de etiquetas, primeiro precisamos de compreender uma linguagem chamada XML. Se já estiver familiarizado com XML, pode saltar para a secção seguinte. XML, que significa “Extensible Mark-up Language”, é uma linguagem informática semelhante ao HTML. A principal diferença é que a XML foi concebida para transportar dados e não para os apresentar. Muitas aplicações na Internet usam XML para transmitir dados, incluindo o OpenStreetMap. O XML usa elementos e cada elemento pode conter elementos filhos no seu interior. Por exemplo, imaginemos que queremos criar um ficheiro XML que contém dados sobre o menu de um restaurante. Temos de criar um elemento de raiz para conter todos os dados sobre o nosso menu. O nosso elemento de raiz terá uma etiqueta de abertura e uma etiqueta de fecho, como esta:
A informação está contida num elemento e dentro de cada elemento podem existir mais elementos.
Neste exemplo, colocámos dois elementos <item> dentro do nosso elemento <menu> para descrever dois itens diferentes que estão contidos no menu. Cada item contém mais dois elementos, <cost> e <description>. Repare também como escrevemos name=”Hambúrger” dentro da etiqueta de abertura <item>. A isto chama-se um atributo e acrescenta informação sobre o elemento. Terminologia XML
A utilização da XML para guardar e transmitir dados é ótima porque é fácil de compreender para os computadores. Ficheiros de modelos de etiquetas JOSMVamos adicionar um ficheiro exemplificativo de modelos de etiquetas ao JOSM e analisar como funciona.
Repare que o formulário que aparece tem três campos e cada um aceita um tipo diferente de entrada. O primeiro campo, “Name of Building” (nome do edifício), aceita uma cadeia de texto como entrada. O segundo, “Building Use” (utilização do edifício), tem uma caixa pendente. O último campo é uma caixa de seleção, o que significa que só pode ter um de dois valores, ligado ou desligado. Vejamos agora o ficheiro XML que define este formulário de modelo de etiquetas.
Por agora, vamos ignorar as primeiras seis linhas e a linha final e concentrarmo-nos em tudo o que se encontra entre as etiquetas <item>. A primeira linha tem o seguinte aspeto:
Esta é a etiqueta de abertura de um item que é adicionado ao menu. Tem dois atributos, nome e tipo. O nome define como este item aparecerá no menu Modelos de etiquetas. O tipo limita este modelo de etiquetas a tipos específicos de objetos. Neste caso, o modelo de etiquetas só pode ser aplicado a pontos e formas - por outras palavras, nós e formas fechadas. Se tentar aplicar este modelo de etiquetas a uma linha, ela não funcionará. Vejamos a linha seguinte:
Quando clica no menu e abre o formulário de exemplo, no topo vê o texto “Building Form”. Este é o texto definido nesta linha. Isso define um elemento <label>, que simplesmente apresenta o texto no formulário. O texto é definido pelo atributo texto=”algum texto”. Descendo algumas linhas, encontramos isto:
Esta é uma das etiquetas que será aplicada ao objeto que selecionámos. Como usa o elemento <key>, a etiqueta OSM dada aqui será automaticamente aplicada quando a o modelo de etiquetas for escolhido. Assim, este objeto obterá automaticamente a etiqueta building=yes. A linha seguinte é um pouco diferente, utilizando o elemento <text>.
O elemento <text> cria um campo em branco. Quando o formulário é criado no JOSM, o utilizador poderá preencher o campo vazio. Como o atributo delete_if_empty=”true” está definido, nenhuma etiqueta será adicionada se o utilizador deixar este campo vazio. A caixa pendente no formulário é definida na linha seguinte:
Uma caixa suspensa é definida pelo elemento <combo>. Tal como acontece com o elemento <text>, o atributo key define a chave da etiqueta. O valor é então escolhido a partir de uma lista de valores possíveis. O atributo display_values permite-lhe escolher nomes diferentes para serem apresentados na caixa pendente, que podem ser mais fáceis de compreender do que os valores da etiqueta OSM. Por último, vejamos a linha que define a caixa de verificação.
O elemento <check> define - adivinhou! - a caixa de verificação. O atributo default=”off” indica que a caixa estará desmarcada por defeito. Os restantes atributos já foram vistos. Criar o seu próprio ficheiro de modelos de etiquetasA melhor forma de criar o seu próprio ficheiro de modelos de etiquetas é pegar num que já exista e manipulá-lo para atingir os seus objetivos. Sinta-se à vontade para editar este ficheiro de exemplo e experimentar com ele para aprender o básico. Lembre-se apenas que de cada vez que o guardar, terá de reiniciar o JOSM para carregar as alterações. Antes de começar a criar as suas próprias predefinições, tem de pensar cuidadosamente nas etiquetas que vai utilizar. Inventar novas etiquetas é outro assunto. Geralmente, deve utilizar as etiquetas OSM existentes, quando estas existirem. A maioria das tags existentes estão listadas na página Características do mapa na wiki do OSM. Este ficheiro de exemplo contém a maioria dos elementos que encontrará num ficheiro de modelos de etiquetas JOSM - não há muitos elementos de formulário. Se gostaria de experimentar um ficheiro de modelos de etiquetas mais complexo, descarregue o ficheiro dhaka_presets.xml aqui. Além disso, pode ser encontrada uma explicação pormenorizada de todos os elementos possíveis aqui. Boa sorte!
Este capítulo foi útil?
Diga-nos e ajude-nos a melhorar os guias!
|
![](/img/watermark.png)