Pergunta

Rasterizei o mapa em diferentes resoluções, que consiste em imagens de 15k/60k/240k, cada um de 256x256, e eu tenho .NET Application Compact Framework que pode exibir o mapa. Mas leva muito tempo para copiar arquivos 300k para o cartão SD, aproximadamente 35-60 horas (copiei apenas 15k e levou ~ 2 a 2,5 horas), e receio que arruine o sistema de arquivos FAT16 (o hardware não suporta FAT32, então não posso mudar o FAT16 para FAT32) ou depois de copiar tudo funcionará muito lento.

Todas as imagens são armazenadas assim: /mapdata/res {Resolution }/x {x_coord }/y {_coord }.png

Algum banco de dados incorporável pode me ajudar? Ou devo embalar imagens em zip como /storage/res1/x12.zip com todos os y*.png arquivado? Ou eu apenas devo criar ISO-Image com todas essas imagens e apenas copiar ISO para SD Byte-to-byte?

Foi útil?

Solução

O FAT16 é limitado a 65.535 clusters, e é necessário um único cluster por arquivo, o que descartará apenas o uso de arquivos planos.

Suponho que seus ladrilhos de mapa sejam somente leitura, por isso seguiria um caminho para criar um formato de arquivo personalizado para seus ladrilhos que você controla (também pode ter o benefício adicional de exigir um pouco mais de esforço para desmontar, deve ele cai no tipo de mãos erradas).

Talvez algo parecido com:

  • Algum tipo de cabeçalho, então você sabe que é o seu arquivo.
  • Uma tupla que contém o deslocamento desde o início do arquivo até o ladrilho para o nível de zoom "zero", e seu comprimento em bytes
  • Quatro tuplas para as compensações e comprimentos para os ladrilhos para o nível de zoom "1"
  • ...
  • 4^(n) Tuplas para as compensações e comprimentos para os ladrilhos no nível do zoom "n"
  • Os dados de ladrilhos reais.

Seria relativamente leve procurar as compensações para um determinado ladrilho e substituir um fluxo para fazer "a coisa certa" ao relatar o final do fluxo - você poderia até usar o mesmo deslocamento para "sem ladrilhos", caso esteja codificando Uma área que não se encaixa perfeitamente em um quadrado (como, digamos, Grã -Bretanha)

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top