Eu tenho um serviço ArcGIS configurado como mostrado nesta lixeira . Especificamente, o primeiro LOD se parece com isso:
{
"level": 0,
"resolution": 222.2222222222222,
"scale": 256000
}
Eu determinei como converter da escala de 256000 para chegar a uma resolução de 222.222:
var dotsPerInch = 96.0;
var inchesPerFoot = 12.0;
var dotsPerUnit = dotsPerInch * inchesPerFoot;
var scale = 256000;
var resolution = scale / dotsPerUnit;
Mas o serviço WMTS associado relata um 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>
Quais são as matemáticas por trás desse valor? Ou seja, dada uma escala de 256000, como a ESRI chegou a um ScaleDenominator de 241904.7619?
arcgis-10.1
wmts
ca0v
fonte
fonte
Respostas:
O WMTS assume um DPI 90.7 em vez de 96, como está claramente documentado no documento WMTSCapabilities que declara,
0,28 mm por pixel = 0,0110236 polegadas por pixel ou 90,71446714322 pixels por polegada.
Se você substituir 96 na equação acima por 90.71428571429, obterá o valor ScaleDenominator para que o ESRI usasse uma constante de conversão diferente. Depois de um pouco de pesquisa , aprendi que
Como existem 25,4 mm em uma polegada, 25,4 / 0,28 = 90,71428571429 DPI, que é o valor que buscamos para o DPI. Aqui está um site que confirma esse cálculo.
fonte