<html>
<head>
<style><!--
.hmmessage P
{
margin:0px;
padding:0px
}
body.hmmessage
{
font-size: 12pt;
font-family:Calibri
}
--></style></head>
<body class='hmmessage'><div dir='ltr'>Hi Steve,<br><br>thanks for the clarification. I first thought that the 16MB<br>limit is for the *.img file, but in fact it is for each subfile (RGN,LBL,...) within <br>one *.img file.<br>I played a bit with the limits and noticed that we don't<br>even reach the 16 MB when the "too large" message appears<br>because we use 128 KB steps to enlarge the buffer.<br>FWIW : Attached is a small patch to fix that, it still uses the "1 KB<br>GUARD_SIZE". <br>(With the patch) I can safely create an *.img file <br>that has ~ 18 MB, while the RGN file size is 0xfebfb9,<br>which is still below the limit.<br><br>Do you think it's okay to commit that?<br><br>Gerd<br><br><div>&gt; Date: Fri, 15 May 2015 11:45:31 +0100<br>&gt; From: steve@parabola.me.uk<br>&gt; To: mkgmap-dev@lists.mkgmap.org.uk<br>&gt; Subject: Re: [mkgmap-dev] EU map too big?<br>&gt; <br>&gt; <br>&gt; <br>&gt; Hi<br>&gt; <br>&gt; &gt; "This definition implies that an IMG file can never have more than 65,535<br>&gt; &gt; blocks, but<br>&gt; &gt; the use of large block sizes (2048, 4096, etc…) allow the IMG file to hold<br>&gt; &gt; several gigabytes of<br>&gt; &gt; data. The only practical limit on IMG file size seems to be the use of<br>&gt; &gt; 32-bit integers for file<br>&gt; &gt; offsets, which imposes a hard limit of 4 GB.<br>&gt; &gt; Large sub-files, those with more than 240 blocks of data, are spanned across<br>&gt; &gt; multiple FAT<br>&gt; &gt; blocks with each sub-file part numbered in a 32-bit integer at offset 0x10.<br>&gt; &gt; File size is only<br>&gt; &gt; present in the first of these (part 0x0000)."<br>&gt; &gt;<br>&gt; &gt; 65535 * 256 ~ 16BG, so I assume that this is the reason. I see files which<br>&gt; &gt; use a different<br>&gt; &gt; blocksize, so maybe this limit makes no more sense.<br>&gt; &gt;<br>&gt; &gt; @Steve: Can you have a look at this, please?<br>&gt; <br>&gt; The img file as a whole can be very large by using a large block size<br>&gt; as the quoted passage states.  This is how we create the global index<br>&gt; and the gmapsupp files.<br>&gt; <br>&gt; (We may not however automatically adjust the block size for regular<br>&gt; tiles, but that could be fixed if it became a problem.)<br>&gt; <br>&gt; The bigger issue is the limits on the individual files (RGN etc)<br>&gt; within the .img file.  For example the subdivision pointers from TRE<br>&gt; into RGN are 3 byte quantities and so this means that the max possible<br>&gt; offset into RGN for the start of a subdivision is around 16M.<br>&gt; <br>&gt; It is possible that there are flags that allows you to extend this,<br>&gt; but I don't know of any, nor have I seen any files that break this<br>&gt; limit.<br>&gt; <br>&gt; ..Steve<br>&gt; _______________________________________________<br>&gt; mkgmap-dev mailing list<br>&gt; mkgmap-dev@lists.mkgmap.org.uk<br>&gt; http://www.mkgmap.org.uk/mailman/listinfo/mkgmap-dev<br></div>                                               </div></body>
</html>