<html>
<head>
</head>
<body>Ah, Actually delta values will probabaly save you some space.
        <div><br />
                </div>
        <div>The coordinates is saved as signed varInt. 1 byte only reaches from -64 to 63.</div>
        <div>1 bit is lost in the varInt format signalizing if there is any more bytes</div>
        <div>And since it is signed another byte is lost on the positive side.</div>
        <div><br />
                </div>
        <div>So all values outside -64 - 63 will need 2 bytes in the ST_AsTWKB-version but in the agg version many of them will only use 1 byte if the delta value to the point before per axis is between -64 and 63</div>
        <div><br />
                <br />
                 2014-08-07 Sandro Santilli  wrote:<br />
                <br />
                On Thu, Aug 07, 2014 at 10:44:40AM +0200, Nicklas Avén wrote:<br />
                
>> <br />
                
>> <br />
                
>> 2014-08-07 Sandro Santilli  wrote:<br />
                
>> <br />
                
>> On Wed, Aug 06, 2014 at 07:04:34PM +0200, Nicklas Avén wrote:<br />
                
>> >> On on., 2014-08-06 at 18:40 +0200, Sandro Santilli wrote:<br />
                
>> >> > Nicklas, I was looking at ST_AsTWKB_agg but I think it's broken.<br />
                
>> >> > Why would otherwise the output of ST_AsTWKB_agg be smaller than<br />
                
>> >> > the output of ST_AsTWKB ?<br />
                
>> >> <br />
                
>> >> It is possible because the aggregate version uses delta values between<br />
                
>> >> the points which often gives smaller values to store. <br />
                
>> ><br />
                
>> >Is there no separator between records in the output of the aggregator ?<br />
                
>> >How's it different from collecting the geometries and passing the<br />
                
>> >collection to ST_AsTWKB ?<br />
                
>> <br />
                
>> The differnce is that by using ST_AsTWKBagg you won't loose the individual id:s.<br />
                
>> If you use ST_Collect it will just be a collection.<br />
                
><br />
                
>I requested no IDs, the queries were:<br />
                
><br />
                
> ST_AsTWKB   (g,0)<br />
                
> ST_AsTWKBagg(g,0)<br />
                
><br />
                
>The dataset I selected (10000 points) have this extent:<br />
                
><br />
                
> BOX(-169.499567541294 -79.583924216684,-160.680307442788 -71.3369439435191)<br />
                
><br />
                
>I specified 0 as number of digits.  This means that any absolute value<br />
                
>also fits a single byte, right ?<br />
                
><br />
                
>So, if IDs are absent in both and delta values fit within one byte in both...<br />
                
>what else could make 10k points take 60k bytes with the non-aggregate<br />
                
>and  20k bytes (1/3) with the aggregate call ?<br />
                
><br />
                
>--strk;<br />
                
><br />
                
>
 </div>
</body>
</html>