torstai 17. toukokuuta 2012

Ozi karttatiedostojen pienentäminen

Oziexplorer tallettaa jokaisesta import-komennolla tuodusta kartasta ns. map-tiedoston kansioon c:\Oziexplorer\Maps. Ko tiedosto on tekstimuotoinen ja sisältää tiedot kartan kuvatiedostosta ja sen kalibroinnista - otetaanpas yksi mallitiedosto tarkasteluun pala kerrallaan:
OziExplorer Map Data File Version 2.2
UL434_RVK_25
C:\Documents and Settings\pekkis\Omat tiedostot\Lataukset\UL434_RVK_25.tif
1 ,Map Code,
Hartebeeshoek94,WGS 84,   0.0000,   0.0000,WGS 84
Reserved 1
Reserved 2
Magnetic Variation,,,E   
Ekalla rivillä on tiedoston kuvaus ja versionumero, toisella rivillä kartan nimi. Kolmas rivi sisältää karttakuvan tiedostonimen polkuineen. Jos nyt olisikin pienentämässä kuvaa, niin nimeäisin pienennetyn version png-tiedoston muuten samalle nimelle, jolloin riittää kun vaihdan tiedostopäätettä tif:stä png:ksi.


Map Projection,Transverse Mercator,PolyCal,No,AutoCalOnly,No,BSBUseWPX,No

Point01,xy,    0,    0,in, deg,    ,        ,,    ,        ,, grid,   ,     452000,    6714000,
Point02,xy,19199,    0,in, deg,    ,        ,,    ,        ,, grid,   ,   499997.5,    6714000,
Point03,xy,19199, 9599,in, deg,    ,        ,,    ,        ,, grid,   ,   499997.5,  6690002.5,
Point04,xy,    0, 9599,in, deg,    ,        ,,    ,        ,, grid,   ,     452000,  6690002.5,
Point05,xy,     ,     ,in, deg,    ,        ,,    ,        ,, grid,   ,           ,           ,
Point06,xy,     ,     ,in, deg,    ,        ,,    ,        ,, grid,   ,           ,           ,
Point07,xy,     ,     ,in, deg,    ,        ,,    ,        ,, grid,   ,


Kalibrointipisteet paljastavat että alkuperäisen karttatiedoston tarkkuus on 19200x9600 - jos kuvaa pienennetään, niin kalibrointipisteiden Point02, 03 ja 04:n koordinaatteja pitää pienentää samassa suhteessa - täten esim. jos kuvan resoluutio olisi pudotettu puoleen, niin  19200 muuttuu 9600:ksi ja 9600 muuttuu 4800:ksi. Osassa kohdista kuvan resoluutiota käsitelläänkin skaalalla 0-19199 jolloin skaala vaihtuu 0-9599:ksi ja vastaavasti 0-9599 muuttuu 0-4799:ksi tähän malliin:


Map Projection,Transverse Mercator,PolyCal,No,AutoCalOnly,No,BSBUseWPX,No

Point01,xy,    0,    0,in, deg,    ,        ,,    ,        ,, grid,   ,     452000,    6714000,
Point02,xy,9599,    0,in, deg,    ,        ,,    ,        ,, grid,   ,   499997.5,    6714000,
Point03,xy,9599, 4799,in, deg,    ,        ,,    ,        ,, grid,   ,   499997.5,  6690002.5,
Point04,xy,    0, 4799,in, deg,    ,        ,,    ,        ,, grid,   ,     452000,  6690002.5,
Point05,xy,     ,     ,in, deg,    ,        ,,    ,        ,, grid,   ,           ,           ,
Point06,xy,     ,     ,in, deg,    ,        ,,    ,        ,, grid,   ,           ,           ,
Point07,xy,     ,     ,in, deg,    ,        ,,    ,        ,, grid,   ,           ,           ,

Tiedoston lopussa on vielä ns. Moving Map-osio, jonne pienentyneet resoluutiotiedost pitää myös muuttaa edellisten tavoin:

MM0,Yes
MMPNUM,4
MMPXY,1,0,0
MMPXY,2,19200,0
MMPXY,3,19200,9600
MMPXY,4,0,9600
MMPLL,1,  26.124611,  60.559110
MMPLL,2,  27.000000,  60.561977
MMPLL,3,  27.000000,  60.346490
MMPLL,4,  26.130389,  60.343648
MM1B,2.500000
MOP,Map Open Position,0,0
IWH,Map Image Width/Height,19200,9600       

muuttuu muotoon

MM0,Yes
MMPNUM,4
MMPXY,1,0,0
MMPXY,2,9600,0
MMPXY,3,9600,4800
MMPXY,4,0,4800
MMPLL,1,  26.124611,  60.559110
MMPLL,2,  27.000000,  60.561977
MMPLL,3,  27.000000,  60.346490
MMPLL,4,  26.130389,  60.343648
MM1B,2.500000
MOP,Map Open Position,0,0
IWH,Map Image Width/Height,9600,4800
       
Itse kuvan pienentämiseen käytän Linuxista tuttua Gimp-kuvankäsittelyohjelmaa. ( www.gimp.org ) Käyttökelpoista on skaalata esim. 2/3 tai 1/2 tarkkuuteen. Puolella tarkkuudella kooksi tulee 9600x4800 ja  kuvan voidaan tallettaa png-muotoisena samaan kansioon kuin originaali tif. Map-tiedostoon tehtyjen muutosten  jälkeen ozi käyttääkin karttaa avatessa tuota pienempää png-kuvaa ja originaalia tiffiä ei enää tarvita. Karttojen käyttötarve sanelee aika pitkälle miten paljon kuvaa voi pienentää - mobiilit ruutukartat voivat olla selkeästi pienempiä kuin printattavat.


Kuvan skaalaaminen pienentää kuvaa melkoisesti, omassa kokeilussani 17,6 Mt:n 12000x12000 tif-tiedosto pieneni alle 4 Mt kun se skaalattiin 2/3 tarkkuuteen eli kuvakokoon 8000x8000 ja talletettiin png:ksi.

2 kommenttia: