1

それぞれのサイズが 256x256 の 15K/60K/240K の画像で構成されるさまざまな解像度のラスタライズ マップがあり、マップを表示できる .NET Compact Framework アプリケーションがあります。しかし、300k ファイルを SD カードにコピーするには、約 35 ~ 60 時間かかります (私は 15K だけをコピーしましたが、2 ~ 2.5 時間かかりました)。FAT16 ファイルシステムが壊れるのではないかと心配しています (ハードウェアはサポートしていません)。 FAT32 なので、fat16 を fat32 に切り替えることはできません)、またはすべてをコピーした後は非常に遅くなります。

すべての画像は次のように保存されます: /mapdata/res{resolution}/x{x_coord}/y{y_coord}.png

埋め込み可能な DB は役に立ちますか? または、すべての y*.png がアーカイブされた /storage/res1/x12.zip のように、画像を zip にパックする必要がありますか? または、これらすべての写真で ISO イメージを作成し、ISO を SD バイト ツー バイトにコピーする必要がありますか?

4

1 に答える 1

1

FAT16 は 65,535 クラスターに制限されており、ファイルごとに少なくとも 1 つのクラスターが必要であり、フラット ファイルのみを使用することはできません。

マップ タイルは読み取り専用であると想定しているので、制御するタイル用のカスタム ファイル形式を作成する方法を取ります (分解するのにもう少し手間がかかるという追加の利点がある場合もあります。それは間違った種類の手に落ちます)。

たぶん、次のようなものです:

  • ある種のヘッダーなので、それが自分のファイルであることがわかります。
  • 「ゼロ」ズーム レベルのファイルの先頭からタイルまでのオフセットを含むタプルと、バイト単位の長さ
  • ズーム レベル「1」のタイルのオフセットと長さの 4 つのタプル
  • ...
  • ズーム レベル "n" でのタイルのオフセットと長さの 4^(n) タプル
  • 実際のタイル データ。

特定のタイルのオフセットを検索し、ストリームの終わりを報告するときに「正しいこと」を行うためにストリームをオーバーライドすることは比較的軽量です。エンコードする場合は、「タイルなし」の画像に同じオフセットを使用することもできます。正方形にうまく収まらない地域 (イギリスなど)

于 2010-02-15T13:59:39.487 に答える