Ist alles sauber im OpenStreetMap-Projekt definiert[1].
Klassisch sind die Kacheln auf Level 14 bezogen, die kleine Squadrats-Kacheln sind Level 17.
Wird alles in/für Mercator-Projektion berechnet, daher ist das zumindest winkeltreu (bleibt also eine Art™ Quadrat)
Für die Umrechnung nutze ich eine Library[2], die ich mal irgendwann für ein anderes Projekt geschrieben hatte. Die implementiert aber auch nur die Formeln des OSM-Wikis.
Das Matching der Tracks auf die Tiles ist auf den ersten Blick trivial, führt aber sehr schnell zu ganz vielen merkwürdigen Spezialfällen und benötigt eine Menge weitere Logik. Auf jeden Fall komme ich mittlerweile zu 99,96 % auf die gleichen Ergebnisse wie Squadrats bei den Level 17-Kacheln ;-)
[1]:
https://wiki.openstreetmap.org/wiki/Slippy_map_tilenames#Zoom_levels
[2]:
https://github.com/ministryofweb/php-osm-tiles