Tengo un servicio de ArcGIS configurado como se muestra en este pastbin . Específicamente, el primer LOD se ve así:
{
"level": 0,
"resolution": 222.2222222222222,
"scale": 256000
}
Determiné cómo convertir desde la escala de 256000 para llegar a una resolución de 222.222:
var dotsPerInch = 96.0;
var inchesPerFoot = 12.0;
var dotsPerUnit = dotsPerInch * inchesPerFoot;
var scale = 256000;
var resolution = scale / dotsPerUnit;
Pero el servicio WMTS asociado informa un valor "ScaleDenominator" de 241904.7619047619:
<TileMatrix>
<ows:Identifier>0</ows:Identifier>
<ScaleDenominator>241904.7619047619</ScaleDenominator>
<TopLeftCorner>-1.77905E7 4.643889999999999E7</TopLeftCorner>
<TileWidth>256</TileWidth>
<TileHeight>256</TileHeight>
<MatrixWidth>3</MatrixWidth>
<MatrixHeight>3</MatrixHeight>
</TileMatrix>
¿Cuáles son las matemáticas detrás de este valor? Es decir, dada una escala de 256000, ¿cómo llegó ESRI a un ScaleDenominator de 241904.7619?
arcgis-10.1
wmts
ca0v
fuente
fuente
Respuestas:
WMTS asume un DPI 90.7 en lugar de 96 como está claramente documentado en el documento WMTSCapabilities que establece,
0.28 mm por píxel = 0.0110236 pulgadas por píxel o 90.71446714322 píxeles por pulgada.
Si reemplaza 96 en la ecuación anterior con 90.71428571429, obtendrá el valor ScaleDenominator para que ESRI use una constante de conversión diferente. Después de un poco de investigación , aprendí que
Como hay 25.4 mm en una pulgada, entonces 25.4 / .28 = 90.71428571429 DPI, que es el valor que buscamos para DPI. Aquí hay un sitio que confirma este cálculo.
fuente