2010-02-14 4 views
1

나는 256x256 크기의 15K/60K/240K 그림으로 구성된 다른 해상도의 래스터 화 된지도가 있으며지도를 표시 할 수있는 .NET Compact Framework 응용 프로그램이 있습니다. 그러나 300k 파일을 SD 카드에 복사하는 데는 많은 시간이 걸립니다. 약 35-60 시간 (15K 만 복사하면 2 ~ 2.5 시간이 소요됩니다.), FAT16 파일 시스템이 망가질 것입니다. FAT32를 지원하므로 fat16을 fat32로 전환 할 수 없습니다.) 또는 모든 항목을 복사 한 후 매우 느리게 작동합니다. 어떤 임베드 DB가 도와 줄 수임베디드지도 응용 프로그램에 대한 이미지 저장

을 /mapdata/res{resolution}/x{x_coord}/y{y_coord}.png :

모든 사진은 다음과 같이 저장됩니다? 또는 모든 y * .png 파일이 보관 된 /storage/res1/x12.zip과 같은 우편 번호로 이미지를 포장해야합니까? 아니면 내가 ISO 이미지를 만들어야 만이 모든 그림들을 SD 바이트 대 바이트로 ISO 파일을 복사 할 수 있습니까?

+0

모든 이미지의 총 파일 크기는 얼마입니까? 그리고 장치 (USB를 통해 연결됨)에있는 동안 SD 카드로 복사하고 있습니까? 아니면 카드 판독기를 사용하고 있습니까? –

+0

총 크기는 1200MB입니다. 외부 카드 판독기, 내부 카드 판독기 (랩탑에서)를 사용하여 복사하려고 시도했으며 사용 가능한 가장 느린 SD 카드가있는 경우에도 – poiuyttr

+0

USB를 통해 연결된 장치를 사용하여 25 분 이상 걸리지 않아야했습니다. 어쩌면 문제가되는 많은 수의 작은 파일 일 수 있습니다. ZIP 파일을 만들어 복사가 더 빠르게되는지보십시오. –

답변

1

FAT16은 65,535 클러스터로 제한되며 파일 당 최소 하나의 클러스터가 필요하며 이는 플랫 파일 만 사용하는 것을 배제합니다.

당신의지도 타일이 읽기 전용으로되어 있다고 가정하고 있습니다. 그래서 당신이 제어하는 ​​타일에 대한 사용자 정의 파일 형식을 만드는 길을 택할 것입니다. (더 많은 노력이 필요합니다. 손에 넣지 말아야한다.).

아마의 라인을 따라 뭔가 :

  • 헤더의 어떤 종류의, 당신은 파일의 알 수 있도록.
  • "0"줌 레벨에 대한 파일 시작부터 타일까지의 오프셋을 포함하는 튜플이며 길이는 바이트 단위입니다.
  • 줌 레벨 "1"의 타일에 대한 네 개의 튜플과 길이
  • ...
  • ^4 오프셋과 길이 줌 레벨에서의 타일에 대한 "N"
  • 실제 타일 데이터 (N) 튜플.

주어진 타일의 오프셋을 검색하고 Stream의 끝을보고 할 때 "올바른 일"을하도록 Stream을 재정의하려면 비교적 가볍습니다. "타일 없음"에도 같은 오프셋을 사용할 수도 있습니다 "그림은 정사각형에 깔끔하게 맞지 않는 영역을 인코딩해야합니다 (예 : 영국)

+0

이 아이디어는 내 마음을 넘지 못했습니다. 솔루션처럼 보입니다. 고맙습니다! – poiuyttr

관련 문제