Ir para o conteúdo
ou

Software livre Brasil

 Voltar a Blog
Tela cheia Sugerir um artigo

Colorindo mapas

28 de Maio de 2015, 19:50 , por OpenStreetMap diary entries in Brazilian Portuguese - 0sem comentários ainda | Ninguém está seguindo este artigo ainda.
Visualizado 553 vezes

Da série "Formas diferentes de visualizar o mapa"

Quem já abriu os limites de um país (ou região, estado, etc) no JOSM já percebeu que a exibição não é nada colorida (afinal, o JOSM é um programa de edição de dados e não de imagem): Padrão JOSM

Mas isso significa que não podemos ter algo colorido?
E se eu quiser o meu país nas cores dele?

Novamente utilizando mágica para aplicar estilos no JOSM, podemos ter o Brasil colorido de verde ou amarelo: Verde e amarelo

/* colore aleatoriamente os estados com verde ou amarelo */
relation[admin_level=4] {
        fill-color: eval(random()) > 0.5 ? yellow : green;
        fill-opacity: 0.5;
}

E se quiser os estados todos coloridos, cada um com uma cor? Colorido

/* estados com cores aleatórias */
relation[admin_level=4] {
        fill-color: eval(rgb(random(), random(), random()));
        fill-opacity: 0.5;
}

Já está dando quase para montar um livro de geografia do Brasil utilizando apenas o OSM e JOSM.

E se a pessoa quiser apenas variações de azul e verde? Verde e azul

/* deixa a cor vermelha sempre em 0, variando verde e azul */
relation[admin_level=4] {
        fill-color: eval(rgb(0, random(), random()));
        fill-opacity: 0.5;
} 

Utilizar random() não garante que a área seja sempre representada pela mesma cor.
E se a pessoa, então, quiser representar os países (e as suas áreas, regiões, enclaves, etc) sempre com a mesma cor?

Países

relation[admin_level=2] {
        fill-color: hsb_color(CRC32_checksum(tag("name"))/4294967296.0, 0.9, 0.7);
        fill-opacity: 0.5;
}

Cada área receberá uma cor baseada no seu nome, mantendo-a para enclaves, ilhas, etc.

Até aqui já dá para vender mapas, representar bairros de uma cidade com cores diferentes ou possivelmente exibir locais com alguma característica, restrição ou necessidade especial (um bom exemplo seria gerar mapas com cores de fácil diferenciação para pessoas com deficiência visual).

De forma mais proveitosa, dá para colorir áreas já trabalhadas, de acordo com algum critério, e áreas que faltam ser trabalhadas.
Por exemplo, o Blademir disse que vai deixar o Brasil inteiro verde: Distritos Isso representa todos os distritos (admin_level=9) já mapeados no Brasil.

/* todos os estados em vermelho */
relation[admin_level=4] {
        z-index: 0; 
        fill-color: red;
        fill-opacity: 0.3;
}

/* distritos em verde, com prioridade de renderização maior (no topo) */
relation[admin_level=9] {
        z-index: 1;
        fill-color: green;
        fill-opacity: 0.6;
}

/* esconde os caminhos */
way  {
        fill-color: black;
        width: 0
}

/* esconde todos os nós */
node {
        icon-opacity: 0;
        symbol-size: 1;
        symbol-stroke-color: orange;
        text: "";
}

Eu achava que tínhamos 2 estados completos, mas nenhum salvou.
O Skippern deu mancada no Espírito Santo e deixou buracos: Espírito Santo O resto mais bem mapeado do país também não está lá grande coisa: MS + SP

Também deu para ver que alguém (não vou falar quem fui ☺) acabou duplicando algumas relações: Duplicado

Reparem como uma das áreas apresenta um verde mais saturado (pela sobreposição de duas relações)

Colorir, portanto, também dá para ser útil nas edições.


Fonte: http://www.openstreetmap.org/user/naoliv/diary/35110

0sem comentários ainda

Enviar um comentário

Os campos são obrigatórios.

Se você é um usuário registrado, pode se identificar e ser reconhecido automaticamente.