<html xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns="http://www.w3.org/TR/REC-html40">
<head>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=us-ascii">
<meta name=Generator content="Microsoft Word 11 (filtered medium)">
<style>
<!--
/* Font Definitions */
@font-face
{font-family:Frutiger;
panose-1:2 11 5 0 0 0 0 0 0 0;}
@font-face
{font-family:"FrutigerNextLT Regular";
panose-1:0 0 0 0 0 0 0 0 0 0;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
{margin:0cm;
margin-bottom:.0001pt;
font-size:12.0pt;
font-family:"Times New Roman";}
a:link, span.MsoHyperlink
{color:blue;
text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
{color:purple;
text-decoration:underline;}
p.MsoPlainText, li.MsoPlainText, div.MsoPlainText
{margin:0cm;
margin-bottom:.0001pt;
font-size:10.0pt;
font-family:"FrutigerNextLT Regular";}
p.StyleFrutiger16ptBoldWhiteRight-004cm, li.StyleFrutiger16ptBoldWhiteRight-004cm, div.StyleFrutiger16ptBoldWhiteRight-004cm
{margin-top:0cm;
margin-right:-1.1pt;
margin-bottom:0cm;
margin-left:0cm;
margin-bottom:.0001pt;
font-size:16.0pt;
font-family:Frutiger;
font-weight:bold;}
@page Section1
{size:612.0pt 792.0pt;
margin:72.0pt 193.0pt 72.0pt 193.0pt;}
div.Section1
{page:Section1;}
-->
</style>
</head>
<body lang=EN-US link=blue vlink=purple>
<div class=Section1>
<p class=MsoPlainText><font size=2 face="FrutigerNextLT Regular"><span
style='font-size:10.0pt'>What I did:<o:p></o:p></span></font></p>
<p class=MsoPlainText><font size=2 face="FrutigerNextLT Regular"><span
style='font-size:10.0pt'><o:p> </o:p></span></font></p>
<p class=MsoPlainText><font size=2 face="FrutigerNextLT Regular"><span
style='font-size:10.0pt'>Runned the tile using batik, creates the memory
problem. <o:p></o:p></span></font></p>
<p class=MsoPlainText><font size=2 face="FrutigerNextLT Regular"><span
style='font-size:10.0pt'>"glibc ….." seems a memory
re-allocation problem.<o:p></o:p></span></font></p>
<p class=MsoPlainText><font size=2 face="FrutigerNextLT Regular"><span
style='font-size:10.0pt'>The internet is full with this java message, seems a
common problem.<o:p></o:p></span></font></p>
<p class=MsoPlainText><font size=2 face="FrutigerNextLT Regular"><span
style='font-size:10.0pt'><o:p> </o:p></span></font></p>
<p class=MsoPlainText><font size=2 face="FrutigerNextLT Regular"><span
style='font-size:10.0pt'>Captured the intermediate svg files for all levels.<o:p></o:p></span></font></p>
<p class=MsoPlainText><font size=2 face="FrutigerNextLT Regular"><span
style='font-size:10.0pt'><o:p> </o:p></span></font></p>
<p class=MsoPlainText><font size=2 face="FrutigerNextLT Regular"><span
style='font-size:10.0pt'>Loaded the level 12 .svg in adobe illustrator ; looks
OK<o:p></o:p></span></font></p>
<p class=MsoPlainText><font size=2 face="FrutigerNextLT Regular"><span
style='font-size:10.0pt'>Tried to validate the svg file usinf W3C validator :
crash of Validator !!!!<o:p></o:p></span></font></p>
<p class=MsoPlainText><font size=2 face="FrutigerNextLT Regular"><span
style='font-size:10.0pt'><o:p> </o:p></span></font></p>
<p class=MsoPlainText><font size=2 face="FrutigerNextLT Regular"><span
style='font-size:10.0pt'>Seems like java is still an immature platform for
memory<o:p></o:p></span></font></p>
<p class=MsoPlainText><font size=2 face="FrutigerNextLT Regular"><span
style='font-size:10.0pt'>intensive applications.<o:p></o:p></span></font></p>
<p class=MsoPlainText><font size=2 face="FrutigerNextLT Regular"><span
style='font-size:10.0pt'><o:p> </o:p></span></font></p>
<p class=MsoPlainText><font size=2 face="FrutigerNextLT Regular"><span
style='font-size:10.0pt'>I still do not understand why some tiles<o:p></o:p></span></font></p>
<p class=MsoPlainText><font size=2 face="FrutigerNextLT Regular"><span
style='font-size:10.0pt'>have problems, while equally dense tiles in <o:p></o:p></span></font></p>
<p class=MsoPlainText><font size=2 face="FrutigerNextLT Regular"><span
style='font-size:10.0pt'>for example Amsterdam render without problem.<o:p></o:p></span></font></p>
<p class=MsoPlainText><font size=2 face="FrutigerNextLT Regular"><span
style='font-size:10.0pt'><o:p> </o:p></span></font></p>
<p class=MsoPlainText><font size=2 face="FrutigerNextLT Regular"><span
style='font-size:10.0pt'>I would also like to know why Mapnik renders<o:p></o:p></span></font></p>
<p class=MsoPlainText><font size=2 face="FrutigerNextLT Regular"><span
style='font-size:10.0pt'>without problems ? Another approach ?<o:p></o:p></span></font></p>
<p class=MsoPlainText><font size=2 face="FrutigerNextLT Regular"><span
style='font-size:10.0pt'><o:p> </o:p></span></font></p>
<p class=MsoPlainText><font size=2 face="FrutigerNextLT Regular"><span
style='font-size:10.0pt'>I would suggest starting to render tiles at level 13<o:p></o:p></span></font></p>
<p class=MsoPlainText><font size=2 face="FrutigerNextLT Regular"><span
style='font-size:10.0pt'><o:p> </o:p></span></font></p>
<p class=MsoPlainText><font size=2 face="FrutigerNextLT Regular"><span
style='font-size:10.0pt'>That would result in 4 x less gross memory to be used.<o:p></o:p></span></font></p>
<p class=MsoPlainText><font size=2 face="FrutigerNextLT Regular"><span
style='font-size:10.0pt'>Level 12 zoom tile must then be constructed from <o:p></o:p></span></font></p>
<p class=MsoPlainText><font size=2 face="FrutigerNextLT Regular"><span
style='font-size:10.0pt'>4 level 13 tiles I think ? <o:p></o:p></span></font></p>
<p class=MsoPlainText><font size=2 face="FrutigerNextLT Regular"><span
style='font-size:10.0pt'><o:p> </o:p></span></font></p>
<p class=MsoPlainText><font size=2 face="FrutigerNextLT Regular"><span
style='font-size:10.0pt'>Advantages: 4 x faster rendering<o:p></o:p></span></font></p>
<p class=MsoPlainText><font size=2 face="FrutigerNextLT Regular"><span
style='font-size:10.0pt'> smaller uploads<o:p></o:p></span></font></p>
<p class=MsoPlainText><font size=2 face="FrutigerNextLT Regular"><span
style='font-size:10.0pt'> will deal with even complexer
tiles.<o:p></o:p></span></font></p>
<p class=MsoPlainText><font size=2 face="FrutigerNextLT Regular"><span
style='font-size:10.0pt'><o:p> </o:p></span></font></p>
<p class=MsoPlainText><font size=2 face="FrutigerNextLT Regular"><span
style='font-size:10.0pt'>Disadvantage : no really rendered level 12 tile<o:p></o:p></span></font></p>
<p class=MsoPlainText><font size=2 face="FrutigerNextLT Regular"><span
style='font-size:10.0pt'><o:p> </o:p></span></font></p>
<p class=MsoPlainText><font size=2 face="FrutigerNextLT Regular"><span
style='font-size:10.0pt'>===================================<o:p></o:p></span></font></p>
<p class=MsoPlainText><font size=2 face="FrutigerNextLT Regular"><span
style='font-size:10.0pt'><o:p> </o:p></span></font></p>
<p class=MsoPlainText><font size=2 face="FrutigerNextLT Regular"><span
style='font-size:10.0pt'>Another thing that goes trough my head:<o:p></o:p></span></font></p>
<p class=MsoPlainText><font size=2 face="FrutigerNextLT Regular"><span
style='font-size:10.0pt'><o:p> </o:p></span></font></p>
<p class=MsoPlainText><font size=2 face="FrutigerNextLT Regular"><span
style='font-size:10.0pt'>when rendering vector data into bitmap the following
should<o:p></o:p></span></font></p>
<p class=MsoPlainText><font size=2 face="FrutigerNextLT Regular"><span
style='font-size:10.0pt'>be required in terms of memory<o:p></o:p></span></font></p>
<p class=MsoPlainText><font size=2 face="FrutigerNextLT Regular"><span
style='font-size:10.0pt'><o:p> </o:p></span></font></p>
<p class=MsoPlainText><font size=2 face="FrutigerNextLT Regular"><span
style='font-size:10.0pt'>memory values rounded up to 1 MB<o:p></o:p></span></font></p>
<p class=MsoPlainText><font size=2 face="FrutigerNextLT Regular"><span
style='font-size:10.0pt'><o:p> </o:p></span></font></p>
<p class=MsoPlainText><font size=2 face="FrutigerNextLT Regular"><span
style='font-size:10.0pt'>Level 12 : 1 MB = 1 tile ( 256x256) <o:p></o:p></span></font></p>
<p class=MsoPlainText><font size=2 face="FrutigerNextLT Regular"><span
style='font-size:10.0pt'>Level 13 : 1 MB = 4 tiles (512 x 512)<o:p></o:p></span></font></p>
<p class=MsoPlainText><font size=2 face="FrutigerNextLT Regular"><span
style='font-size:10.0pt'>Level 14: 2 MB = 16 tiles (1024x1024)<o:p></o:p></span></font></p>
<p class=MsoPlainText><font size=2 face="FrutigerNextLT Regular"><span
style='font-size:10.0pt'>Level 15: 5 MB = 64 tiles (2048 x 2048)<o:p></o:p></span></font></p>
<p class=MsoPlainText><font size=2 face="FrutigerNextLT Regular"><span
style='font-size:10.0pt'>Level 16: 17 MB = 256 tiles ( 4096 x 4096)<o:p></o:p></span></font></p>
<p class=MsoPlainText><font size=2 face="FrutigerNextLT Regular"><span
style='font-size:10.0pt'>Level 17 : 68 MB = 1024 tiles ( 8192 x 8192)<o:p></o:p></span></font></p>
<p class=MsoPlainText><font size=2 face="FrutigerNextLT Regular"><span
style='font-size:10.0pt'><o:p> </o:p></span></font></p>
<p class=MsoPlainText><font size=2 face="FrutigerNextLT Regular"><span
style='font-size:10.0pt'>This should be multiplied by 3 if 32 bits color<o:p></o:p></span></font></p>
<p class=MsoPlainText><font size=2 face="FrutigerNextLT Regular"><span
style='font-size:10.0pt'>rendering (though I think that 256 colors may do)<o:p></o:p></span></font></p>
<p class=MsoPlainText><font size=2 face="FrutigerNextLT Regular"><span
style='font-size:10.0pt'><o:p> </o:p></span></font></p>
<p class=MsoPlainText><font size=2 face="FrutigerNextLT Regular"><span
style='font-size:10.0pt'>assuming 32 bit color, level 17 full rendering<o:p></o:p></span></font></p>
<p class=MsoPlainText><font size=2 face="FrutigerNextLT Regular"><span
style='font-size:10.0pt'>leads to a bitmap file of only 8192 x 8192 x 3<o:p></o:p></span></font></p>
<p class=MsoPlainText><font size=2 face="FrutigerNextLT Regular"><span
style='font-size:10.0pt'>201.3 Megabyte<o:p></o:p></span></font></p>
<p class=MsoPlainText><font size=2 face="FrutigerNextLT Regular"><span
style='font-size:10.0pt'><o:p> </o:p></span></font></p>
<p class=MsoPlainText><font size=2 face="FrutigerNextLT Regular"><span
style='font-size:10.0pt'>I understood that a substantial space around each tile
is<o:p></o:p></span></font></p>
<p class=MsoPlainText><font size=2 face="FrutigerNextLT Regular"><span
style='font-size:10.0pt'>also rendered, to allow for data that origins from
neighboring<o:p></o:p></span></font></p>
<p class=MsoPlainText><font size=2 face="FrutigerNextLT Regular"><span
style='font-size:10.0pt'>tiles to be rendered on the tile in question<o:p></o:p></span></font></p>
<p class=MsoPlainText><font size=2 face="FrutigerNextLT Regular"><span
style='font-size:10.0pt'>(such as place names)<o:p></o:p></span></font></p>
<p class=MsoPlainText><font size=2 face="FrutigerNextLT Regular"><span
style='font-size:10.0pt'><o:p> </o:p></span></font></p>
<p class=MsoPlainText><font size=2 face="FrutigerNextLT Regular"><span
style='font-size:10.0pt'>half a tile on four sides equals 2 extra tiles<o:p></o:p></span></font></p>
<p class=MsoPlainText><font size=2 face="FrutigerNextLT Regular"><span
style='font-size:10.0pt'>a quarter of a tile on the 4 corners equals 1 extra
tile<o:p></o:p></span></font></p>
<p class=MsoPlainText><font size=2 face="FrutigerNextLT Regular"><span
style='font-size:10.0pt'><o:p> </o:p></span></font></p>
<p class=MsoPlainText><font size=2 face="FrutigerNextLT Regular"><span
style='font-size:10.0pt'>so a total of four tiles of surfaces <o:p></o:p></span></font></p>
<p class=MsoPlainText><font size=2 face="FrutigerNextLT Regular"><span
style='font-size:10.0pt'>need to be rendered to create<o:p></o:p></span></font></p>
<p class=MsoPlainText><font size=2 face="FrutigerNextLT Regular"><span
style='font-size:10.0pt'>one tile of 8192x8192 (level 17) <o:p></o:p></span></font></p>
<p class=MsoPlainText><font size=2 face="FrutigerNextLT Regular"><span
style='font-size:10.0pt'>(to be cut in 1024 tiles of 256x256)<o:p></o:p></span></font></p>
<p class=MsoPlainText><font size=2 face="FrutigerNextLT Regular"><span
style='font-size:10.0pt'><o:p> </o:p></span></font></p>
<p class=MsoPlainText><font size=2 face="FrutigerNextLT Regular"><span
style='font-size:10.0pt'>that is 1 tile of 16384 x 16384 pixels = 806 MB<o:p></o:p></span></font></p>
<p class=MsoPlainText><font size=2 face="FrutigerNextLT Regular"><span
style='font-size:10.0pt'><o:p> </o:p></span></font></p>
<p class=MsoPlainText><font size=2 face="FrutigerNextLT Regular"><span
style='font-size:10.0pt'>To that value one needs to add the memory requirements<o:p></o:p></span></font></p>
<p class=MsoPlainText><font size=2 face="FrutigerNextLT Regular"><span
style='font-size:10.0pt'>of the software.<o:p></o:p></span></font></p>
<p class=MsoPlainText><font size=2 face="FrutigerNextLT Regular"><span
style='font-size:10.0pt'><o:p> </o:p></span></font></p>
<p class=MsoPlainText><font size=2 face="FrutigerNextLT Regular"><span
style='font-size:10.0pt'>So two ways remain to reduce memory requirements:<o:p></o:p></span></font></p>
<p class=MsoPlainText><font size=2 face="FrutigerNextLT Regular"><span
style='font-size:10.0pt'><o:p> </o:p></span></font></p>
<p class=MsoPlainText><font size=2 face="FrutigerNextLT Regular"><span
style='font-size:10.0pt'>1/ Reduce the color space with a selected map of 256
colors ( 3 x less memory)<o:p></o:p></span></font></p>
<p class=MsoPlainText><font size=2 face="FrutigerNextLT Regular"><span
style='font-size:10.0pt'>2/ Start rendering at level 13 (4 times less memory)<o:p></o:p></span></font></p>
<p class=MsoPlainText><font size=2 face="FrutigerNextLT Regular"><span
style='font-size:10.0pt'><o:p> </o:p></span></font></p>
<p class=MsoPlainText><font size=2 face="FrutigerNextLT Regular"><span
style='font-size:10.0pt'>For an application to function reliably, I think that<o:p></o:p></span></font></p>
<p class=MsoPlainText><font size=2 face="FrutigerNextLT Regular"><span
style='font-size:10.0pt'>it should not use more then 35 % of the available memory.<o:p></o:p></span></font></p>
<p class=MsoPlainText><font size=2 face="FrutigerNextLT Regular"><span
style='font-size:10.0pt'>For a client to run with 500 MB that is 150 MB approx.<o:p></o:p></span></font></p>
<p class=MsoPlainText><font size=2 face="FrutigerNextLT Regular"><span
style='font-size:10.0pt'>If both measures above are to be implemented<o:p></o:p></span></font></p>
<p class=MsoPlainText><font size=2 face="FrutigerNextLT Regular"><span
style='font-size:10.0pt'>that would be easy to manage.<o:p></o:p></span></font></p>
<p class=MsoPlainText><font size=2 face="FrutigerNextLT Regular"><span
style='font-size:10.0pt'><o:p> </o:p></span></font></p>
<p class=MsoPlainText><font size=2 face="FrutigerNextLT Regular"><span
style='font-size:10.0pt'><o:p> </o:p></span></font></p>
<p class=MsoPlainText><font size=2 face="FrutigerNextLT Regular"><span
style='font-size:10.0pt'>I think that most of these calculations have been
made earlier, but it's good to recapitulate.<o:p></o:p></span></font></p>
<p class=MsoPlainText><font size=2 face="FrutigerNextLT Regular"><span
style='font-size:10.0pt'><o:p> </o:p></span></font></p>
<p class=MsoPlainText><font size=2 face="FrutigerNextLT Regular"><span
style='font-size:10.0pt'><o:p> </o:p></span></font></p>
<p class=MsoPlainText><font size=2 face="FrutigerNextLT Regular"><span
style='font-size:10.0pt'>I am not familiar with the actual T@H system, so I may<o:p></o:p></span></font></p>
<p class=MsoPlainText><font size=2 face="FrutigerNextLT Regular"><span
style='font-size:10.0pt'>be incorrect with some of my calculations.<o:p></o:p></span></font></p>
<p class=MsoPlainText><font size=2 face="FrutigerNextLT Regular"><span
style='font-size:10.0pt'>Please correct in that case.<o:p></o:p></span></font></p>
<p class=MsoPlainText><font size=2 face="FrutigerNextLT Regular"><span
style='font-size:10.0pt'><o:p> </o:p></span></font></p>
<p class=MsoPlainText><font size=2 face="FrutigerNextLT Regular"><span
style='font-size:10.0pt'>Regards,<o:p></o:p></span></font></p>
<p class=MsoPlainText><font size=2 face="FrutigerNextLT Regular"><span
style='font-size:10.0pt'><o:p> </o:p></span></font></p>
<p class=MsoPlainText><font size=2 face="FrutigerNextLT Regular"><span
style='font-size:10.0pt'>Ing. Gert Gremmen<o:p></o:p></span></font></p>
<p class=MsoPlainText><font size=2 face="FrutigerNextLT Regular"><span
style='font-size:10.0pt'>Email: b.easton@uws.edu.au<o:p></o:p></span></font></p>
<p class=MsoPlainText><font size=2 face="FrutigerNextLT Regular"><span
style='font-size:10.0pt'><o:p> </o:p></span></font></p>
</div>
</body>
</html>