This is my (verbose) translation in Java:<br><br> private static final double MIN_LAT = -85.0511;<br> private static final double MAX_LAT = 85.0511;<br> private static final double MAX_Y = toY(MAX_LAT);<br> private static final double MIN_Y = toY(MIN_LAT);
<br> private static final double RANGE_Y = MAX_Y - MIN_Y;<br><br> public static short getY(int z, double lat) {<br>
return (short) Math.floor(((MAX_Y - toY(lat)) / RANGE_Y) * worldSize(z));<br>
}<br>
<br>
public static short getX(int z, double lon) {<br>
return (short) Math.floor(((lon + 180) / 360) * worldSize(z));<br>
}<br>
<br> public static double toY(double lat) {<br> double latRad = toRads(lat);<br> return Math.log(Math.tan(PI/4 + latRad/2));<br> }<br><br> private static int worldSize(int z) {<br> return 1 << z;
<br> }<br> <br><br><br><div><span class="gmail_quote">2007/7/29, Rob Aerts <<a href="mailto:rob@coolbegin.com">rob@coolbegin.com</a>>:</span><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
i try to calculate the x and y tile url in c<br> <br>the example on the wiki (in perl code) looks like <br>my $xtile = int( ($lon+180)/360 *2**$z ) ;<br> my $ytile = int( (1 - log(tan($lat*pi/180) + sec($lat*pi/180))/pi)/2 *2**$z ) ;
<br><br>i can't figure out the sec formula in the $ytile <br><br>wiki : <a href="http://wiki.openstreetmap.org/index.php/Slippy_map_tilenames" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">
http://wiki.openstreetmap.org/index.php/Slippy_map_tilenames</a>
<br>_______________________________________________<br>dev mailing list<br><a onclick="return top.js.OpenExtLink(window,event,this)" href="mailto:dev@openstreetmap.org">dev@openstreetmap.org</a><br><a onclick="return top.js.OpenExtLink(window,event,this)" href="http://lists.openstreetmap.org/cgi-bin/mailman/listinfo/dev" target="_blank">
http://lists.openstreetmap.org/cgi-bin/mailman/listinfo/dev</a><br><br></blockquote></div><br>