2017-12-15 2 views
0

Auf dem Link unten [1] kann ich sehen, wie man die URL der Kachel für spezifische Latlon bekommt.Breiten- und Längengrad zum Kartenkachel Set

var zoom = 15; 
var lat = 47; 
var lon = 8; 

function long2tile(lon,zoom) { return (Math.floor((lon+180)/360*Math.pow(2,zoom))); } 
function lat2tile(lat,zoom) { return (Math.floor((1-Math.log(Math.tan(lat*Math.PI/180) + 1/Math.cos(lat*Math.PI/180))/Math.PI)/2 *Math.pow(2,zoom))); } 

var x = long2tile(lon, zoom); 
var y = long2tile(lat, zoom); 

tileUrl = "tile.osm.org/" + zoom + "/" + x + "/" + y + ".png" 

Ich möchte wissen, wie man alle Kachel-URLs für die umliegenden Kacheln erhält. Normalerweise gibt es ein Raster von etwa 3x3 Kacheln und ich schaue in die Mitte, das wäre meine Base Latlon. Wie bekomme ich URLs für alle anderen benachbarten Kacheln?

[1] http://wiki.openstreetmap.org/wiki/Slippy_map_tilenames#ECMAScript_.28JavaScript.2FActionScript.2C_etc..29

Antwort

2

Dies sind nur Koordinaten in einem Raster. Erhöhen/verringern Sie Ihre X- und Y-Koordinaten entsprechend, um alle umgebenden Kacheln zu erhalten. Beispiel:

enter image description here

aus dem Wiki Zitiert:

  • X geht von 0 (linker Kante 180 ° W) bis 2^Zoom - 1 (rechte Kante 180 ° E)
  • Y geht von 0 (Oberkante ist 85,0511 ° N) bis 2^Zoom - 1 (Unterkante ist 85,0511 ° S) in einer Mercator-Projektion

Für den neugierigen , die Zahl 85.0511 ist das Ergebnis von arctan (sinh (π)). Durch Verwendung dieser Grenze wird die gesamte Karte zu einem (sehr großen) Quadrat.

+0

Nur eine kleine Frage, die latlong, für die ich die Fliese berechne, ist in der Mitte dieser Fliese oder in der oberen linken Ecke? – Ska

+0

Wenn Sie die umliegenden Fliesen bekommen möchten, dann ist Ihr Lat/Lon-Paar in der Mitte. – scai

+0

Ich meinte nicht, welche Fliese, aber innerhalb einer gegebenen Fliese, die latlong ist in der Mitte dieser Fliese oder in der oberen linken Ecke dieser Fliese? – Ska

Verwandte Themen