New archive file format (was: [omgps] collect feature requests)
Laszlo KREKACS
laszlo.krekacs.list at gmail.com
Thu Jul 2 08:58:55 CEST 2009
On Thu, Jul 2, 2009 at 7:22 AM, mqy<meng.qingyou at gmail.com> wrote:
>
> XML is used as a database, elements can be easily added, modified, removed.
> xor tends to be overkilled as of map tile usage -- we don't need iterating,
> delete, and that much meta information. With my suggested design, we can
> even add newly downloaded tiles:
> insert record into meta database, and append tile content into "heap" file.
If I understand right the OSM tiles, they have the following directory
structure:
XX/YYY/ZZZ.png
10/558/357.png
All the information is obtained from this info (position, zoom level),
am I right?
XX: zoom level
YYY: position x? (or I dont know how to call it;)
ZZZ: position y?
So I think we should only pack the files into the KISS archive file.
For more in depth explanation see the end of this mail.
So something like this:
XX/YY1.kiss
XX/YY2.kiss
XX/YYY.kiss
Im willing to implement a simple kiss/unkiss program (just like tar/untar),
for easy archiving.
I will use python with no non-standard modules.
Best regards,
Laszlo
ps:
Some statistical data:
Number of all tiles
# cd ~/Maps/OSM; find . -name *.png |wc -l
63818
Subdirs in zoom level dirs (YYY), and total number of files.
for i in *; do echo -n $i; echo -n " "; cd $i; ls -1|wc -l; cd ..; done
for f in *; do cd $f; for i in *; do cd $i; for k in *; do echo
"$i/$k" >> ~/Maps/OSM/$f.txt; done; cd ..; done; cd ..; done
cd ~/Maps/OSM
for i in *.txt; do echo -n "$i "; cat $i|wc -l ; done
2: 4 dirs, 16 files
3: 8 dirs, 64 files
4: 11 dirs, 77 files
5: 17 dirs, 83 files
6: 22 dirs, 265 files
7: 22 dirs, 217 files
8: 17 dirs, 75 files
9: 26 dirs, 152 files
10: 39 dirs, 426 files
11: 71 dirs, 1484 files
12: 100 dirs, 1046 files
13: 78 dirs, 2902 files
14: 193 dirs, 23400 files
15: 86 dirs, 1941 files
16: 119 dirs, 4033 files
17: 277 dirs, 27637 files
Count the files in the subdirs(ZZZ):
for i in *; do echo -n $i; echo -n "f "; cd $i; for j in *; do cd $j;
echo -n "$i # $j @"; ls -1|wc -l; cd ..; done; cd ..; done
The number of files is in general 20-30, and the maximum was 180.
More information about the community
mailing list