2.0.25 - Novidade: abrir um arquivo .tairudb no QGIS como camadas.
Pelo menu Complementos > TairuDB > Abrir arquivo .tairudb, ou
arrastando o arquivo para a janela: cada regiao raster vira uma
camada, cada camada vetorial vira uma camada por tipo de geometria -
com a cor, o tamanho, o traco, o icone e os rotulos que o aplicativo
usa - e a grade GRG vira as linhas mais os rotulos das colunas e das
linhas. E somente leitura: o arquivo nao e alterado. Ao gerar um
arquivo local, o resultado passa a ser aberto assim ao terminar, com
uma caixa para desligar isso na tela do arquivo de destino; camadas
abertas de um .tairudb ficam fora da geracao seguinte, porque sao o
resultado e nao a fonte. Correcao: alterar apenas uma coluna de
atributo no QGIS nao subia no envio - o registro saia como inalterado
porque os atributos da camada nao entravam na comparacao. Novidade:
tipos de registro Plano de Evacuacao e Alerta, espelhando o aplicativo
2.0.24 - Correcao de base para quem atualiza: desmarcar e marcar o
complemento nao recarregava o codigo. O QGIS descarta da memoria
apenas os modulos cujo pacote raiz tem o nome do complemento, e os
deste plugin sao de primeiro nivel porque a pasta dele entra no
caminho de busca do Python. Resultado: o Python devolvia a versao
antiga e a unica forma de ver qualquer alteracao era reiniciar o QGIS
- o que fazia correcao ja feita parecer que nao tinha funcionado.
Agora o proprio complemento tira os seus modulos da memoria ao ser
desativado e devolve a pasta ao estado anterior no caminho de busca do
Python - as duas coisas: so tirar os modulos fazia o carregamento
seguinte encontrar o arquivo tairu_db.py em vez do pacote e falhar com
"attempted relative import with no known parent package". Recarregar
passa a recarregar de verdade, inclusive pelo complemento Plugin
Reloader. Os registros recebidos passam a aparecer no painel de
camadas organizados pelos MESMOS grupos do aplicativo, e nao mais so
por tipo de geometria. O painel monta Tairu Maps / expedicao / grupo /
subgrupo, com uma camada por tipo de geometria dentro de cada grupo e
uma pasta "Sem grupo" no fim, na mesma ordem que a aba Registros do
aplicativo usa, inclusive para grupos dentro de grupos; um registro
cujo grupo foi apagado aparece em "Sem grupo", como no aplicativo, sem
perder o vinculo original. Nada e duplicado: as camadas sao recortes
do mesmo GeoPackage. Dentro de cada camada, cada registro ganha uma
linha propria na legenda, com o nome dele, caixa de visibilidade e
simbologia editavel por duplo clique - acima de 200 registros na mesma
camada a legenda individual e desligada, porque abrir esse item no
painel do QGIS fica lento demais, e a cor por registro continua
valendo. O campo Grupo entra na tabela de atributos como lista com o
nome dos grupos, e um registro desenhado dentro de uma pasta ja nasce
no grupo dela, aparecendo na legenda como "Novo (ainda nao enviado)"
ate o envio lhe dar um identificador. Tirar um registro do grupo o
leva para a pasta "Sem grupo", que passa a existir sempre que a
expedicao tem grupos. Renomear, mover ou apagar um grupo no aplicativo
reorganiza o painel no recebimento seguinte, sem duplicar camada e sem
apagar camadas que o usuario tenha posto ali. Os registros passam a
ser desenhados no QGIS com o ICONE e o PADRAO DE TRACO do aplicativo,
e nao mais como pontos e linhas genericos: o icone sai da mesma cadeia
que o aplicativo usa (a escolha do usuario, depois o subtipo, depois o
tipo) e e desenhado com a fonte Material Icons, que passa a viajar
dentro do complemento; linha tracejada e pontilhada aparecem tracejada
e pontilhada, inclusive no contorno de poligono e circulo. Os dez
icones que vem de outra fonte de simbolos usam o icone do tipo do
registro, como num aplicativo antigo. O icone e desenhado com contorno
claro, como no aplicativo, para ser legivel sobre imagem de satelite.
O simbolo do registro e dimensionado em PIXELS, e nao em milimetros -
a mesma unidade que o aplicativo usa para o marcador, onde 40 e o
padrao dele. Assim o numero que aparece na simbologia do QGIS e o
mesmo numero do aplicativo, e o tamanho aparente deixa de depender da
resolucao da tela, que num Mac e 72 pontos por polegada e no Windows
96. O simbolo continua sendo um simbolo comum do QGIS: para mudar o
tamanho, abra a simbologia da camada como faria em qualquer outra.
Registro que o usuario aumentou no aplicativo sai maior aqui tambem. E
o complemento so usa a fonte depois de conferir, DESENHANDO, que o
glifo sai mesmo: se o computador ja tiver outra fonte de mesmo nome, o
marcador sairia vazio e o ponto sumiria do mapa sem erro nenhum; nesse
caso o ponto volta a ser o circulo de sempre. Correcao importante: a
simbologia enviada do QGIS nao chegava ao aplicativo em registro
ESTILIZADO. O aplicativo resolve a cor pelo estilo estruturado antes
do campo simples, e o envio nunca atualizava esse estilo - entao
trocar a cor no QGIS gravava o campo simples, que ficava ignorado, e
na tela nada mudava. O envio passa a MESCLAR: cor, preenchimento e
traco escolhidos no QGIS entram no estilo do registro e icone, rotulo
e regras de estilo do aplicativo sao preservados. Correcao: a
simbologia do aplicativo e a do QGIS nao acompanhavam uma a outra.
Mudar a cor de um registro no aplicativo e receber de novo nao mudava
nada no QGIS - a legenda so era reconstruida quando a LISTA de
registros mudava, e trocar uma cor nao muda a lista. Agora cor, cor de
fundo e nome entram nessa conferencia, entao o recebimento traz a
aparencia atual; e uma cor escolhida no QGIS continua indo para o
aplicativo no envio, sem ser desfeita pelo recebimento que vem logo
depois. Correcao: o tamanho era ignorado - todo ponto saia do mesmo
tamanho e toda linha da mesma espessura no QGIS, qualquer que fosse o
tamanho do registro no aplicativo. O tamanho do aplicativo passa a ser
respeitado, com o padrao desenhando exatamente como antes. Correcao: o
aviso de que a camada de origem nao guardou os identificadores dos
registros citava KML como exemplo e nao dizia a causa real do caso
mais comum - a camada aberta de DENTRO DE UM ARQUIVO ZIP, como os
pacotes de feicoes do CAR, que o QGIS le por um sistema virtual
somente leitura. Agora o aviso diz que a camada esta dentro de um zip
e sugere extrair o arquivo, que e a saida definitiva; salvar o projeto
continua sendo o remendo imediato. Novo: dica ao apontar o registro no
mapa. Apontando uma forma com a ferramenta de dicas do QGIS aparece o
nome do registro, o tipo e o GRUPO a que ele pertence - a ligacao que
faltava entre o mapa e a lista de camadas, onde o registro aparece
pelo nome. Numa pasta com dezenas de poligonos, achar a linha
correspondente a uma forma era tentativa e erro, e saber em que grupo
um registro estava exigia procurar pasta por pasta. Nao e rotulo:
rotular tudo sujaria o mapa e o aplicativo mantem o rotulo desligado
por padrao, entao a dica so aparece quando se aponta. Correcao
importante: enviar uma camada FILTRADA propunha excluir na nuvem todos
os registros que o filtro escondia. Valia para o filtro do Construtor
de Consultas do QGIS ja hoje e passaria a valer para cada pasta de
grupo: mover um registro de grupo no aplicativo e depois enviar a
pasta antiga marcaria esse registro como excluido, em silencio, num
lote que a previa resumia como "inalterado". Agora a pergunta e feita
a TABELA e nao a vista: o registro que sumiu do arquivo foi apagado e
continua sendo excluido na nuvem - inclusive a partir de uma pasta de
grupo, que numa expedicao organizada e o unico lugar de onde isso pode
partir -, enquanto o que apenas mudou de grupo nao e tocado. Exclusao
ainda nao salva na edicao tambem deixa de subir, para que "Descartar
edicoes" nao devolva a feicao aqui e a deixe apagada na nuvem.
Correcao: o recebimento parcial nao aplicava mudanca de grupo feita no
aplicativo, e o registro ficava para sempre na pasta antiga. Quem ja
tinha a expedicao baixada recebe um recebimento completo uma unica
vez, para preencher o grupo de todos os registros; esse recebimento
preserva o que estiver desenhado no QGIS e ainda nao enviado. O grupo
do plugin no painel de camadas passa a se chamar "Tairu Maps", e nao
mais "Tairu"; um projeto salvo antes tem o grupo renomeado no lugar,
sem ganhar um segundo grupo com as camadas divididas entre os dois.
Correcao importante: na ultima etapa do envio, reunir os registros em
um grupo alcancava TODOS os registros das camadas escolhidas, e nao
apenas os que estavam sendo enviados. Registro inalterado era
regravado so para entrar no grupo - inclusive os que a previa esconde
por estarem inalterados, de modo que um envio anunciado como "3 novos"
mexia em dezenas de registros -, e registro que ja pertencia a um
grupo no aplicativo era arrancado dele: enviar de volta uma camada
vinda da propria arvore de pastas desfazia a organizacao inteira da
aba Registros. Agora entram no grupo apenas os registros deste envio
que ainda nao pertencem a nenhum grupo, a caixa passa a se chamar
"Reunir em um grupo os registros que ainda nao tem um" e o resumo da
etapa diz quantos registros vao entrar. Quando nenhum entra, o grupo
nao chega a ser criado, para nao deixar uma pasta vazia no aplicativo;
mover um registro que ja tem grupo continua sendo feito pelo campo
Grupo da tabela de atributos. Correcao importante: escolher "Cada
imagem carregada no projeto" como area de interesse usava a CAIXA que
envolve a imagem, e nao a parte dela que tem pixel. Para imagem
retangular da no mesmo, e foi por isso que passou despercebido; para
imagem recortada, nao - num mosaico de corredor fluvial a caixa tem
2.394 km2 e a imagem, 106. Medido em z18 nesse mosaico: 106.392 tiles
pela caixa contra 5.949 pelo contorno, quase dezoito vezes menos. E o
prejuizo nao parava no tempo de geracao: com a regiao virando um
retangulo, o recorte de borda nao tinha o que cortar e qualquer outra
camada desenhada - o mapa de fundo do projeto, outra imagem marcada -
preenchia o vazio com conteudo, entao o filtro de tile vazio nao
descartava nada e o ARQUIVO crescia na mesma proporcao; foi assim que
o defeito apareceu, arquivo gigante e nao geracao lenta. Agora a
regiao sai do contorno do dado, tirado da mascara da propria imagem
(alfa ou nodata) em 0,08 s num mosaico de dez gigapixels, e esse
contorno erra sempre para MAIS, pela borda externa do pixel da
mascara, para que nenhum tile com imagem fique de fora. Imagem
retangular comum, sem mascara, continua gerando exatamente como antes.
A tabela de imagens tambem passa a dizer quanto da caixa tem pixel:
ela anunciava "50,6 x 47,3 km" para uma imagem que so tem conteudo em
um vigesimo da caixa, e quem le a tabela e quem decide marcar a
imagem.
2.0.23 - O campo "Plugin home page" passa a apontar para a pagina do
complemento em tairumaps.com/tairudb-qgis/, que descreve a
funcionalidade do plugin - instalacao, painel do Tairu Maps,
autenticacao, sincronizacao nos dois sentidos, envio de camadas
vetoriais, geracao de arquivos .tairudb offline, algoritmo de
Processamento e conversor GeoPDF -, como o repositorio de complementos
do QGIS exige. O repositorio de codigo e o rastreador de problemas
continuam no GitHub. Sem mudanca de comportamento no plugin.
2.0.22 - Correcao: enviar uma camada em formato somente-leitura, como
KML, criava registros duplicados a cada envio. O identificador do
registro e gravado de volta na feicao de origem, e o provedor do KML
nao aceita campos novos - a gravacao falhava em silencio (no log do
QGIS, "Erro OGR ao configurar feicao"), entao o envio seguinte tratava
a mesma feicao como registro novo. No aplicativo isso aparecia como
poligonos identicos empilhados: editar nome, cor ou geometria de um
deles nao mudava nada na tela, porque as outras copias continuavam
desenhadas por cima. Agora o plugin confere se a camada realmente
guardou o identificador e, quando ela nao guarda, mantem essa
identidade no proprio projeto do QGIS, avisando uma vez que o projeto
precisa ser salvo para que o proximo envio atualize os registros em
vez de duplica-los; nas vezes seguintes ele nem tenta gravar na
camada, o que tira o erro do log e para de encher a tabela de
atributos com campos que o formato nao aceita. Correcao: depois de
receber registros, a camada ja aberta no projeto continuava mostrando
a contagem de feicoes antiga, e o registro recem-baixado parecia nao
ter chegado embora estivesse gravado no arquivo; as camadas de
registros passam a ser relidas ao fim do recebimento. Correcao: uma
recusa do provedor ao gravar no GeoPackage durante o recebimento era
descartada em silencio enquanto o resumo anunciava "N novos"; agora
ela aparece como erro, com o motivo. Novo: a lista de expedicoes do
painel passa a vir por uso mais recente, como no aplicativo - a ultima
expedicao aberta nesta maquina primeiro e, para a que nunca foi aberta
aqui, a data da ultima alteracao da propria expedicao; empates seguem
em ordem alfabetica.
2.0.21 - Correcao: em um projeto cujo mapa de fundo e online (satelite
XYZ, WMTS ou WMS) e nao tem nenhuma imagem salva em disco, o
assistente travava na etapa Estimativa com "Nenhuma camada marcada
para desenhar o mapa" e nao havia onde marcar coisa alguma - a
mensagem mandava voltar a Parametros, onde so existia um aviso. A
partir da 2.0.18 o mapa de fundo online tinha sido tirado da geracao
para acabar com o download surpresa de milhares de tiles, mas ficou
sem forma de entrar de volta. Agora a etapa Parametros traz a escolha:
uma caixa "Incluir o mapa de fundo do projeto", com o nome das camadas
e o aviso de que marca-la baixa tiles da internet. Ela ja vem marcada
quando o projeto nao tem nenhuma imagem de arquivo, porque nesse caso
e a unica coisa capaz de desenhar o mapa; havendo imagens em disco ela
vem desmarcada, e o comportamento da 2.0.18 fica igual. Marcada, a
camada de fundo compoe por baixo das imagens marcadas, na ordem de
desenho do projeto. O log da geracao passa a dizer com que camadas o
mapa foi desenhado, e a mensagem da Estimativa aponta as duas telas
onde a escolha existe de verdade. Correcao: uma imagem apenas
DESMARCADA no painel de camadas do QGIS fazia a tela de area afirmar
"nenhum arquivo de imagem neste projeto", o que e falso e manda
procurar o defeito no lugar errado; agora ela e listada pelo nome, com
a instrucao de marca-la no painel, e a Estimativa repete o aviso
quando e por isso que nao ha o que desenhar. Correcao: um tile sem
imagem nenhuma nao e gravado, e ate aqui isso era mudo e ainda entrava
na conta dos tiles renderizados - desde que o fundo virou
transparente, na 2.0.20, tudo o que a imagem de origem nao cobre e
todo tile de mapa de fundo que nao baixou viram tile vazio, entao um
arquivo quase oco terminava anunciando "sucesso completo". O log passa
a dizer quantos tiles sairam sem imagem, e um arquivo em que NENHUM
tile recebeu imagem termina com erro em vez de sucesso. Correcao: a
deteccao de tile vazio examinava cinco pixels e decidia pela igualdade
entre eles, entao um tile de cor uniforme sem canal alfa era
descartado inteiro e uma linha fina que nao passasse por nenhum dos
cinco pontos levava o tile junto; agora a leitura e exata, sobre todos
os pixels. Correcao: quando os tiles de amostra da simulacao saem
todos sem imagem, a simulacao caia na tabela de tamanho por formato e
anunciava um numero plausivel para um arquivo que sairia sem mapa;
agora ela avisa, antes de o usuario esperar a geracao inteira.
2.0.20 - Correcao: o arquivo levava imagem alem da area pedida. A
geracao gravava tiles INTEIROS: qualquer tile que encostasse no
poligono entrava cheio, com ate um tile de sobra em cada borda (1,2 km
num arquivo de zoom 15, 150 m em zoom 18). Quem recortava era o
aplicativo, e so no celular, na importacao; pela web a sobra aparecia
sempre. Agora o recorte e feito na geracao, pelo poligono de cada
regiao, com um anel por parte e por buraco, de modo que multipoligono
e ilha sao recortados corretamente. Correcao: area sem imagem saia
BRANCA e tapava o mapa de fundo do aplicativo. O QGIS renderiza sobre
fundo branco opaco por padrao e o plugin nunca trocou isso, entao tudo
o que a imagem de origem nao cobria - borda da area, buraco de nodata,
tile de mapa base que nao chegou a tempo - virava branco solido dentro
do arquivo. O fundo passa a ser transparente, e o tile que tiver
qualquer transparencia e gravado em PNG mesmo num arquivo JPG, porque
JPEG nao guarda alfa e devolveria preto; o restante continua no
formato escolhido, sem recodificar. Correcao: a simulacao errava o
tamanho do arquivo. Um caso real anunciou 246 MB e gerou 445 MB, por
dois motivos que se multiplicavam: a conta usava tiles distintos, mas
o arquivo grava uma linha por regiao (duas regioes sobrepostas
gravaram 10.191 linhas para 7.918 tiles distintos), e corrigia o peso
do JPEG em linha reta pela qualidade, quando de 90 para 100 o JPEG
quase dobra. Agora a simulacao RENDERIZA alguns tiles de verdade, com
as camadas, o zoom e a qualidade escolhidos, e usa o peso e o tempo
medidos; conta as linhas que serao gravadas, separa as que saem em
PNG, soma a sobrecarga do SQLite e inclui os tiles de altitude. O
intervalo passa a ser a incerteza da media medida, e o tempo, os
segundos por tile medidos na propria maquina. No mesmo caso a
estimativa ficou em 447 MB para 445 MB reais.
2.0.19 - Correcao: a opacidade da grade GRG aparecia como "80%" na
tela, com o sinal de porcentagem duplicado. Correcao: o rodape do
painel podia anunciar uma versao antiga do plugin - ele lia a versao
uma unica vez, quando o painel era construido, e nao se atualizava
depois; agora e relido sempre que o painel aparece. Correcao: o log da
geracao dizia "Gerando grade GRG (alphanumeric)", em ingles, em vez do
nome que a propria tela usa, "Alfanumerica".
2.0.18 - Correcao importante: um mapa de fundo online (XYZ, WMTS ou
WMS) visivel no QGIS entrava sozinho na geracao e fazia o plugin
baixar milhares de tiles da internet, sem aviso e sem escolha, mesmo
quando a intencao era gerar o arquivo apenas com as imagens que ja
estavam no disco. O arquivo passa a ser montado somente com as imagens
de arquivo marcadas na primeira tela do assistente, e mapas de fundo
online nao entram mais; quando existe um deles visivel no projeto, a
etapa Parametros diz isso em uma linha, para que a ausencia dele no
arquivo nao seja uma surpresa. Correcao: desistir de desenhar o
retangulo da area (tecla Esc, ou trocar de ferramenta no QGIS) deixava
a janela do assistente escondida para sempre, como se o plugin tivesse
sumido; agora ela volta. Correcao: uma opcao de area impossivel no
projeto atual respondia como se estivesse ativa e simplesmente nao
aceitava o clique, o que parecia defeito; agora ela aparece
desabilitada com o motivo no proprio rotulo. Novo: resolucao Maxima
(0,25 m/px) na geracao de .tairudb, para imagens que tem esse detalhe
de verdade (ortofotos de 25 a 30 cm). O padrao continua sendo
Altissima (0,5 m/px): a nova opcao quadruplica a quantidade de tiles,
o tamanho do arquivo e o tempo de renderizacao, e a simulacao mostra
os tres numeros antes de gerar. Novo: usar a extensao de imagens como
area de interesse. Uma quarta forma de recorte lista as imagens de
arquivo do projeto em uma tabela, com a area coberta, a resolucao no
chao em metros por pixel e o sistema de coordenadas de cada uma, e
cada imagem marcada vira uma regiao do arquivo - util quando a area a
levar para o aplicativo e exatamente o que a imagem cobre, e permite
gerar um unico arquivo a partir de varias ortofotos separadas. Uma
imagem cujo sistema de coordenadas nao permite reprojetar aparece na
tabela desabilitada com o motivo, em vez de gerar um arquivo vazio. A
tela de area de interesse foi refeita: o assistente abre em "A area
visivel do mapa", que funciona em qualquer projeto, em vez de abrir em
"Cada poligono de uma camada" com o botao Avancar desligado para quem
nao tem uma camada de poligonos; cada opcao diz no proprio rotulo
quantas regioes e que tamanho ela produziria (por exemplo "1 regiao -
5,0 x 5,3 km"), de modo que o tamanho da area aparece ali e nao cinco
telas adiante na simulacao; e apenas a opcao marcada mostra os seus
controles. O painel do Tairu Maps mostra a versao do plugin no rodape
e, depois do login, traz uma secao propria para gerar um arquivo
.tairudb sem envia-lo para uma expedicao.
2.0.17 - Correcao: poligono desenhado so com contorno colorido perdia
a cor ao virar registro. Uma camada de simbolo do tipo linha dentro de
um simbolo de preenchimento (o "Contorno: linha simples" do QGIS, e
tambem um preenchimento com "sem pincel") nao expoe cor de
preenchimento, e a cor da linha acabava gravada como fundo OPACO do
registro. Agora nenhum fundo e gravado nesses casos: o registro fica
com a borda na cor do contorno e o interior na mesma cor,
transparente, como o aplicativo ja desenha quando nao ha fundo
definido. Preenchimento solido, ponto e linha seguem inalterados.
Novo: o envio de camadas vetoriais passa a ter tres etapas e aceita
varias camadas de uma vez. Na primeira, uma tabela lista as camadas
vetoriais visiveis, todas ja marcadas, com geometria, quantidade de
feicoes, sistema de coordenadas e origem de cada uma (QGIS, Tairu Maps
ou outra expedicao). Na segunda, a previa mostra as feicoes de todas
as camadas escolhidas, tambem todas ja marcadas, com uma coluna
dizendo de que camada cada linha veio e uma caixa por linha para
deixar de fora o que nao deve ir; os campos de cada registro continuam
editaveis ali. Novo: reunir os registros enviados em um grupo. A
terceira etapa ja vem marcada e sugere um nome (o nome da camada, ou
"Camadas do QGIS" quando sao varias), que pode ser trocado;
desmarca-la envia sem grupo. O grupo aparece na aba Registros do
aplicativo e pode ser renomeado la, e reenviar as mesmas camadas com o
mesmo nome reaproveita o grupo em vez de criar outro.
2.0.16 - Correcao: o QGIS podia fechar sozinho (falha de segmentacao)
ao clicar em Receber Registros. Cada janela de envio e cada assistente
de geracao continuava vivo depois de fechado, preso ao QGIS, e seu
seletor de camadas seguia respondendo a cada camada adicionada ao
projeto: uma sincronizacao disparava os seletores de todas as janelas
ja abertas na sessao, e depois de recarregar o plugin esses seletores
apontavam para codigo que nao existia mais. As janelas agora sao
destruidas ao fechar, e os assistentes abertos sao fechados quando o
plugin e descarregado. Correcao: a janela Enviar camadas vetoriais
abria em branco e o sistema a marcava como "nao esta respondendo" ate
a previa terminar. A previa passa a mostrar o progresso e a manter a
janela desenhando durante as tres etapas (leitura da camada,
comparacao com o Tairu e montagem da tabela): medido em uma camada de
12 mil feicoes vindas de um recebimento, o maior intervalo com a
janela travada caiu de 8,4 segundos para 0,2 segundo, e a abertura
completa caiu de 8,4 para 5,8 segundos. Por baixo, o renderizador da
camada passa a ser preparado uma vez por camada em vez de duas vezes
por feicao, a geometria nao e mais reprojetada duas vezes quando nao
tem ilhas nem multiplas partes, e o estilo dos seletores da tabela e
aplicado de uma vez so. Novo: camada oculta e camada ignorada. O que
esta desmarcado no painel de camadas do QGIS, ou dentro de um grupo
desmarcado, nao aparece mais na lista de camadas vetoriais a incluir
no arquivo .tairudb nem no seletor de envio de camadas; uma camada
desmarcada no painel DEPOIS de escolhida no assistente tambem deixa de
ser incluida, e o log da geracao diz quais ficaram de fora. A area de
interesse do assistente segue aceitando camada oculta, porque
desmarcar o limite depois de desenha-lo e rotina. Novo: copiar
registros de uma expedicao para outra. Receber os registros de uma
expedicao e enviar a camada para outra criava a impressao de que nada
havia para enviar - a previa vinha vazia e o botao Enviar ficava
desligado, porque a comparacao era feita com a fotografia dos
registros na expedicao de origem. Agora eles sao criados na expedicao
de destino como registros novos, em nome de quem copiou, mantendo o
identificador de origem, de modo que reenviar a mesma camada atualiza
as copias em vez de duplica-las. Nada e excluido na expedicao de
destino e a expedicao de origem nao e alterada. Quem participa como
membro comum tambem consegue copiar: antes, registros criados por
outra pessoa apareciam todos como "sem permissao".
2.0.15 - Identidade estavel de mapas e feicoes. Cada exportacao passa
a carregar um identificador fixo do mapa, guardado no proprio projeto
QGIS e repetido a cada nova exportacao, e identificadores de feicao
derivados da camada e da feicao de origem em vez de sorteados a cada
vez. Com isso, reexportar o mesmo mapa ATUALIZA o mapa no aplicativo
em vez de criar uma segunda copia, mesmo quando o arquivo e renomeado
no caminho (mensageiros salvam a segunda copia como "mapa
(1).tairudb"), e as feicoes ja incorporadas na expedicao nao aparecem
mais duplicadas. Mapas gerados por versoes anteriores continuam sendo
abertos normalmente, e aplicativos anteriores ao Tairu Maps 1.0.53
apenas ignoram os identificadores. Correcao: em camadas com simbologia
categorizada, graduada ou por regras, uma feicao que nao casasse com
nenhuma classe era exportada em azul fixo; agora recebe a cor padrao
da camada (categoria "todos os outros valores", simbolo base ou
primeiro simbolo do renderizador). Correcao: colisao de identificador
na gravacao nao descarta mais a feicao em silencio, ela e gravada com
um identificador alternativo. O wizard de geracao passa a lembrar o
ultimo arquivo de destino, por expedicao, para que reexportar
sobrescreva o arquivo anterior em vez de acumular arquivos.
Documentacao do formato atualizada (TAIRUDB_SCHEMA.txt versao 2).
Novo: dados de altitude do terreno gravados no arquivo. Uma opcao no
wizard de geracao (marcada por padrao) baixa e grava os tiles de
elevacao da area do mapa, permitindo que o Tairu Maps mostre a
altitude de um ponto e o perfil de elevacao de uma linha sem internet
e sem precisar baixar uma area offline. Sao cerca de 36 KB por tile,
cada um cobrindo 82 km2, o que da menos de 1 MB para um mapa de 30x30
km; a contagem e o tamanho aparecem no relatorio de simulacao e passam
a contar no limite de envio para a nuvem. Os dados vao em tabela
propria (elevation_tiles), e nao como uma regiao de tiles, porque sao
dados e nao imagem: versoes anteriores do aplicativo nao enxergam essa
tabela e continuam abrindo o arquivo normalmente, sem alteracao de
compatibilidade. A altitude passa a ser usada pelo Tairu Maps 1.0.66
ou superior. Fonte: modelo de terreno do U.S. Geological Survey (SRTM,
GMTED2010 e 3DEP), de dominio publico, com a atribuicao exigida
gravada no proprio arquivo.
2.0.14 - Suporte a proxy autenticado em redes protegidas: o plugin
agora usa as configuracoes de proxy nativas do QGIS (Configuracoes >
Opcoes > Rede), incluindo credenciais salvas no Gerenciador de
Autenticacao, em todas as requisicoes de rede - login e sincronizacao
Tairu Cloud, download de dados de elevacao para curvas de nivel e
upload/download de arquivos .tairudb. Nao ha configuracao propria no
plugin: basta configurar o proxy uma vez no proprio QGIS.
2.0.13 - Geometria complexa (poligonos com ilhas e multipartes) vinda
do app agora e lida no pull e renderizada corretamente no QGIS, e uma
edicao de atributo nao apaga mais essa geometria na nuvem ao enviar.
Cores e preenchimento por registro passam a seguir o estilo do app
(styleJson). Geracao de .tairudb nao trava mais a janela do QGIS: os
tiles do mapa base online (Google e outros) sao pre-baixados com barra
de progresso, o render usa um loop de eventos real, e o download dos
dados de elevacao para curvas de nivel mostra progresso e pode ser
cancelado; o arquivo e gravado de forma atomica (sem arquivo
corrompido) e as barras de progresso crescem junto com cada download.
O wizard mantem a selecao de camadas vetoriais ao voltar e avancar
entre as etapas, e os logs de geracao ficaram mais limpos. Cache e
custo do Firestore: correcoes que evitam reler a colecao inteira de
registros a cada abertura em mapas legados e impedem que uma falha de
escrita no cache apague registros locais no modo offline. Outras
correcoes: vazamento de socket no login pelo navegador, indice de
regiao/tiles com feicao de area vazia, limpeza de arquivos temporarios
das curvas e diversas melhorias internas de estabilidade.
2.0.12 - Correcao: o wizard de geracao de .tairudb agora tambem ignora
camadas de registros do Tairu na exportacao vetorial (antes apenas o
algoritmo de Processamento fazia isso), evitando geometrias duplicadas
no mapa e exposicao de dados dos registros. O WKB OGC passa a ser
gravado apenas para poligonos com ilhas ou multipartes (geometrias
simples nao carregam mais um blob redundante), reduzindo o tamanho do
arquivo.
2.0.11 - Simbologia estruturada (styleJson): camadas vetoriais
enviadas e exportadas para .tairudb agora preservam o preenchimento de
poligonos, o padrao de traco (tracejado/pontilhado) e a configuracao
de rotulos (campo, cor e visibilidade por zoom) do QGIS, resolvidos no
app pelo mesmo codec de estilo dos registros. Curvas de nivel mantem o
estilo proprio do app. Poligonos com ilhas (aneis internos) e
geometrias multipartes agora preservam sua estrutura via WKB OGC tanto
na exportacao .tairudb quanto no envio de camadas como registros,
permitindo que o app renderize os furos e todas as partes
corretamente.
2.0.10 - Curvas de nivel integradas ao wizard de geracao de arquivo
.tairudb: nova etapa de configuracao permite gerar curvas
automaticamente a partir de dados de elevacao INPE TOPODATA (Brasil)
ou Copernicus GLO-30 (Mundial), com intervalo, suavizacao e cor
configuráveis. As curvas sao geradas na etapa de execucao e incluidas
no arquivo .tairudb.
2.0.9 - GRG grid: replaced separate UTM/GMS grid type options with a
unified "Coordenada Geográfica" type whose labels are stored as raw
decimal values and formatted at runtime by the Tairu Maps app
according to the map coordinate format (DMS, UTM, decimal, etc.).
Spacing is now a single meters picker always visible, independent of
grid type.
2.0.8 - Local Firestore cache: maps and records are stored in a local
SQLite cache, enabling offline access and graceful fallback when the
network is unavailable. Pull sync uses incremental server timestamps
for more reliable delta updates; push now triggers an automatic pull
refresh. GRG grid generation added to the .tairudb wizard (requires
Tairu Maps app 1.0.38 or later). Hash-based change detection skips
unchanged records during delta pulls.
2.0.7 - Raster wizard: added "Use visible map area" option to select
the current map canvas extent as the generation area. Fix: canceling
.tairudb generation no longer crashes with "wrapped C/C++ object has
been deleted" (finished signal is now disconnected before jobs are
canceled).
2.0.6 - QGIS copy/paste on pulled record layers now treats duplicated
recordId features as new records, so edited copies are created
separately instead of overwriting the original record during push.
2.0.5 - New record types and subtypes (occurrence, trail, point of
interest, drawing, and related subtypes). Contour lines are now
classified as drawing/line: when pushing layers, the default
type/subtype becomes Drawing/Line for layers with an ELEV field; in
.tairudb export, the contourLine type is no longer written and these
layers are saved as regular lines.
2.0.4 - Vector export to .tairudb: color, transparency, and width are
read from per-feature symbology (graduated, categorized, and
rule-based renderers) instead of falling back to the default blue.
Contour lines follow the same logic as record conversion: index
contours are thicker and more opaque, intermediate contours are
thinner and translucent.
2.0.3 - .tairudb generation: Tairu record layers (sync GeoPackages)
are automatically skipped during vector export, with a warning. This
avoids duplicated "ghost" geometries on the map when a record layer is
included in a .tairudb file.
2.0.2 - Contour lines: fixed import color handling (resolves the
"_PROP_FILL_COLOR_ is not defined" error on layers with
graduated/rule-based symbology); elevation-based titles ("Curve
140m"); automatic styling distinguishes index contours (thicker and
more opaque - width 3, opacity 0.8) from regular contours (thinner and
translucent - width 2, opacity 0.5), with automatic vertical-interval
detection. Fix: pushing a record that had been deleted in the app now
restores it instead of silently updating a hidden record.
2.0.1 - Security hardening: HTTPS enforced on all outbound requests;
SQL table names validated against strict regex; static analysis
suppressions documented
2.0 - Tairu Maps: dock panel with Firebase login (e-mail, Google,
Apple); pull records as GeoPackage layers and tairudb files as raster
layers (MBTiles); push vector layers as records with change preview;
wizard to generate and upload .tairudb rasters directly to a map
1.2.1 - Support for QGIS 4
1.2 - Multi-region support (one polygon feature per region); vector
layer export with JSON attributes; automatic tile retry on failure;
WebP support; dry run mode for estimating tile count, file size and
processing time
1.1 - GeoPDF converter added; rendering performance improvements
1.0 - Initial release: raster tile generation for Tairu Maps
yes
danielhsm
2026-09-19T21:22:44.572959+00:00
3.20.0
4.99.0
None
no
Plugin Tags