<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>