Question

Je pixellisé carte dans différentes résolutions, qui consiste à 15K / 60K / 240K images chaque taille 256x256, et j'avoir une application .NET Compact Framework qui permet d'afficher la carte. Mais il faut beaucoup de temps pour copier des fichiers 300k sur la carte SD, environ 35-60 heures (i copyied juste 15K et il a fallu 2 ~ à 2,5 heures), et je crains qu'il va ruiner le système de fichiers FAT16 (matériel ne supporte pas FAT32, donc je ne peux pas passer à fat16 fat32) ou après la copie tout fonctionnera très lent.

Toutes les photos sont stockées comme ceci: / mapdata / res {résolution} / {x} x_coord / {y y_coord} .png

DB tout intégrable peut me aider? Ou devrais-je emballer les images en zip comme /storage/res1/x12.zip avec tous les y * .png archivé? Ou je viens devrait créer image ISO avec toutes ces images et il suffit de copier iso octet par octet SD?

Était-ce utile?

La solution

FAT16 est limité à 65.535 clusters, et un minimum d'un cluster unique est requis pour chaque fichier, ce qui écartera tout en utilisant des fichiers plats.

Je présume que vos tuiles de carte doivent être en lecture seule, donc je prendrais une voie de créer un format de fichier personnalisé pour vos tuiles que vous contrôlez (peut également avoir l'avantage supplémentaire d'exiger un peu plus d'efforts pour prendre à part, devrait-il tomber dans le mauvais genre de mains).

Peut-être que quelque chose le long des lignes de:

  • Une sorte d'en-tête, vous savez que c'est votre fichier.
  • Un tuple qui contient le décalage depuis le début du fichier à la tuile pour le niveau de zoom « zéro », et sa longueur en octets
  • Quatre tuples pour les décalages et longueurs pour les tuiles pour le niveau de zoom « 1 »
  • ...
  • 4 ^ (n) tuples pour les décalages et longueurs pour les tuiles au niveau de zoom "n"
  • Les données de tuiles réelles.

Il serait relativement léger pour rechercher les décalages pour une tuile donnée, et passer outre un ruisseau pour faire « la bonne chose » lors de la déclaration fin du flux - vous pouvez même utiliser le même décalage pour les images « pas de tuiles » devrait vous encodez une zone qui ne correspond pas parfaitement dans un carré (comme, par exemple, la Grande-Bretagne)

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top