Domanda

mappa

Ho rasterizzati in diverse risoluzioni, che consiste di 15K immagini / 60K / 240K ciascuna di dimensioni 256x256, e ho applicazioni .NET Compact Framework che può visualizzare la mappa. Ma ci vuole un sacco di tempo per copiare i file 300k per scheda SD, circa 35-60 ore (i copyied appena 15K e ci sono voluti ~ 2 a 2,5 ore), e ho paura che rovinerà FAT16 file system (hardware non supporta FAT32, quindi non può passare FAT16 a FAT32) o dopo la copia di tutto funzionerà molto lento.

Tutte le immagini sono memorizzate in questo modo: / mapdata / res {risoluzione} / x {x_coord} / y {} y_coord .png

Può un DB embeddable aiutarmi? O dovrei imballare le immagini in zip come /storage/res1/x12.zip con tutta y * .png archiviato? O ho appena dovrei creare immagine ISO con tutte queste immagini e basta copiare e iso a SD byte per byte?

È stato utile?

Soluzione

FAT16 è limitata a 65.535 cluster, ed è richiesto un minimo di un singolo cluster per file, che esclude solo utilizzando file piatti.

Sto assumendo le vostre mattonelle della mappa devono essere di sola lettura, quindi vorrei prendere una strada della creazione di un formato di file personalizzato per le piastrelle che si controlla (può anche avere il vantaggio di richiedere un po 'più di sforzo per prendere a parte, dovrebbe cadere nella il tipo sbagliato di mani).

Forse qualcosa sulla falsariga di:

  • Una specie di colpo di testa, in modo da sapere che è il file.
  • Una tupla che contiene l'offset dall'inizio del file per la piastrella per il livello di zoom "zero", ed è la lunghezza in byte
  • Quattro tuple per gli offset e le lunghezze per le piastrelle per livello di zoom "1"
  • ...
  • 4 ^ (n) tuple per gli offset e le lunghezze per le piastrelle a livello di zoom "n"
  • I dati piastrelle reale.

Sarebbe relativamente leggero per cercare gli offset per un dato di piastrelle, e sovrascrivere un flusso di fare "la cosa giusta", quando la segnalazione fine del flusso - si potrebbe anche usare lo stesso offset per le immagini "senza piastrelle" dovrebbe si sarà codificando una zona che non rientra perfettamente in un quadrato (come, ad esempio, la Gran Bretagna)

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top