x

Koordinaten der Tiles berechnen


  1. Koordinaten der Tiles berechnen · blakeks (Gast) · 01.03.2008 17:46 · [flux]

    Hallo, wie kann ich den Latitude Wert einer Tile aus dem y und zoom Wert berechnen? Für den Longitude Wert weiß ich es, glaube ich: lon=(360*x/2^zoom)-180 Aber wie rechne ich den y Wert zur Latitude um?


    • Re: Koordinaten der Tiles berechnen · Henry Every (Gast) · 15.03.2008 16:43 · [flux]

      Hi, es soll angeblich mit mTempLat = Math.Atan(Math.Sinh(Math.PI - (Math.PI * (y + 0.5) / Math.Pow(2, z - 1))))*180/Math.PI; gehen, allerdings ist es bei mir immer off. Wenn ich 10968 als y nehme erhalte ich 51.01029 anstelle von 50.88763. Verwende ich http://almien.co.uk/OSM/Tools/Coord/?x= … 10986&z=15 dann erhalte ich 50.885639 was auch nicht ganz stimmt.


    • Re: Koordinaten der Tiles berechnen · Deelkar (Gast) · 15.04.2008 02:11 · [flux]

      im SVN ist (perl-)Code, wie tiles@home (osmarender) projiziert: http://svn.openstreetmap.org/applicatio … project.pm Das Zentrum eines Tiles ist auch nicht der arithmetische Mittelwert aus Oberkante und Unterkante, sondern die Unterkante des oberen Subtiles aus dem nächsten Zoom (Y*2,Z+1) Je größer der Zoom, desto mehr nähern sich die beiden an. Der größte Fehler passiert bei etwa 45°N/S. im Zoombereich von z14-18 ist der Fehler kleiner als 1 Pixel (evtl. schon vorher, nicht getestet).


    • Re: Koordinaten der Tiles berechnen · Henry Every (Gast) · 15.04.2008 18:55 · [flux]

      Ich hatte vergessen zu posten das es mittlerweile ziemlich genau klappt. Für Tile Center Lat : mTempLat = Math.Atan(Math.Sinh(Math.PI - (Math.PI * (y + 0.5) / Math.Pow(2, z - 1)))) * 180 / Math.PI; Für Tile Center Lon: mTempLon = 360 * ((x + 0.5) / Math.Pow(2, z)) - 180; Top Lat: mTopLat = 360 * Math.Atan(Math.Sinh(Math.PI * (1 - 2 * (y * (1 / Math.Pow(2, z)))))) / (2 * Math.PI); Bottom Lat y1 = (y * (1 / Math.Pow(2, z))) + (1 / Math.Pow(2, z)); mBottomLat = 360 * Math.Atan(Math.Sinh(Math.PI * (1 - 2 * y1)))/(2*Math.PI); LeftLon: mLeftLon = -180 + x * (360 / Math.Pow(2, z)); RightLon mRightLon = (-180 + x * (360 / Math.Pow(2, z))) + (360 / Math.Pow(2, z)); Damit lassen sich die 5 Punkte eine Kachel ermitteln


    • Re: Koordinaten der Tiles berechnen · wartburgritter (Gast) · 16.04.2008 22:38 · [flux]

      http://almien.co.uk/OSM/Tools/Coord/ Da kann man sich die Koordinaten hin und her rechnen lassen. Gruss der wartburgritter


    • Re: Koordinaten der Tiles berechnen · Henselfamily (Gast) · 05.03.2009 08:14 · [flux]

      wartburgritter wrote:

      http://almien.co.uk/OSM/Tools/Coord/ Da kann man sich die Koordinaten hin und her rechnen lassen. Gruss der wartburgritter

      Leider geht der Link nicht mehr 🙁

      Wo kann ich die Umrechnungen noch finden?

      Gruß Andi


    • Re: Koordinaten der Tiles berechnen · Henselfamily (Gast) · 05.03.2009 16:49 · [flux]

      Habs gerade selber gefunden: http://wiki.openstreetmap.org/wiki/Slippy_map_tilenames

      Gruß Andi