El objetivo es trabajar en EPSG 3785 y, en particular, los Mapas de Google, quiere representar (en una pieza) un círculo de un radio dado en metros. La representación se realiza en píxeles.
Supongo que uno podría tener una muy lineal simple enfoque para identificar los metros por píxel para un determinado azulejo de zoom:
metersPerPixel = MercWorldWidthMeters / (2 ^ zoom) / tileSize
Ahora, teniendo en cuenta que usted desea dibujar un radio de 100 metros alrededor de un punto en píxeles, a continuación, convertir a los píxeles:
pixelRadius = metersRadius / metersPerPixel
Esto se debe en mi mente crear un círculo de metersRadius en el azulejo.
Sin embargo, en realidad la medición de la producción de círculo con radio de un círculo producido en WGS 84 y el Gran Círculo de la lógica, se demuestra que es en realidad alrededor de un 40% menor de lo esperado... una gran diferencia.
¿La lógica de arriba tienen un defecto?
Tenga en cuenta que yo soy no interesado en encontrar un algoritmo alternativo (va a Gran Círculo cálculos y similares)... mi pregunta es:"¿por qué los resultados (tanto) diferente de lo esperado".
Todas las conversiones este momento han estado trabajando muy bien con la lógica anterior, pero una vez que me decidí a calcular la distancia real en EPSG 3785 me parece estar pegando un salto de la pared.
Para dar un ejemplo con cifras:
Radius: 0.08 miles ( = 128.74752 meters )
MercWorldWidthMeters: 20037508.342789 * 2
Zoom: 16
TileSize: 256
Por encima de la lógica sugiere un círculo de ~107 píxeles de diámetro.
Gran Círculo sugiere un círculo de ~175 píxeles de diámetro.