[Tilesathome] Maximum distance between nodes for tile rendering

Dirk Stöcker openstreetmap at dstoecker.de
Wed Nov 26 14:37:56 GMT 2008


On Wed, 26 Nov 2008, Frederik Ramm wrote:

> If you go to http://tools.geofabrik.de/osmi/?view=geometry there's a view 
> (Europe only atm) that will show you all nodes placed more than 10km apart 
> (the green lines).
>
> The following is an exercise in computing the maximum allowed distance 
> between nodes so that the line still gets rendered.
>
> T at h downloads a rectangular buffer around the z12 tile to be rendered. This 
> buffer extends the tile size by 17% of the tile height on the N and S side of 
> the tile, and 50% of the tile width at the E and W side of the tile (as 
> configured in general.conf).
>
> We're looking for the shortest line between two points where both points are 
> outside of the buffer (thus the line is not downloaded) but the line itself 
> intersects the z12 tile inside the buffer (thus its omission gets noticed).
>
> The tile 2218.624 that you mention is at lon=14.94140, lat=77.15716. It is 
> roughly 0.0878 degrees wide and 0.0195 degrees high, so the buffer extends to 
> the left by 0.0439 degrees and to the top by 0.0033 degrees.
>
> I make the back-of-the-envelope assumption that the shortest straight line 
> we're looking for will pass through the buffer at a 45° angle, and it touches 
> the above mentioned tile corner; so it computes that it intersects the buffer 
> at lon=14.8975, lat=77.1132 and at lon=14.9447, lat=77.16046. The great 
> circle distance between these points is about 5.4km, so even allowing for the 
> error incurred by using planar geometry, it should not be possible to 
> construct a 3922.84 metre segment that gives you trouble.
>
> Of course this calculation is only valid for the given latitude.
>
> I have no idea if what I calculated above is correct and would be interested 
> to hear other approaches to the question "what's the maximum way length to 
> ensure t at h compliance".
>
> (I'm attaching a PNG sketch but don't know if it will make it through.)

To be a bit nitpicking: If the extension to one side is 50% and 17% to the 
other, than 45 degree is not correct. Anyway that does not influence the 
result a lot. To get a valid lower value you could use the two 
extension values directly, as every line must be longer than the sum of 
these two values. On the other hand you also need to take half of the 
width of the lines into account, as well as the bezier curve hinting :-)

Ciao
-- 
http://www.dstoecker.eu/ (PGP key available)


More information about the Tilesathome mailing list