У меня есть сервис ArcGIS, настроенный так, как показано в этом прошлом . В частности, первый LOD выглядит так:
{
"level": 0,
"resolution": 222.2222222222222,
"scale": 256000
}
Я определил, как конвертировать из масштаба 256000, чтобы получить разрешение 222,222:
var dotsPerInch = 96.0;
var inchesPerFoot = 12.0;
var dotsPerUnit = dotsPerInch * inchesPerFoot;
var scale = 256000;
var resolution = scale / dotsPerUnit;
Но соответствующий сервис WMTS сообщает значение ScaleDenominator 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>
Какие математики стоят за этим значением? То есть, учитывая масштаб 256000, как ESRI пришел к ScaleDenominator 241904.7619?
arcgis-10.1
wmts
ca0v
источник
источник
Ответы:
WMTS предполагает DPI 90,7 вместо 96, как четко задокументировано в документе WMTSCapabilities, в котором говорится,
0,28 мм на пиксель = 0,0110236 дюймов на пиксель или 90,71446714322 пикселей на дюйм.
Если вы замените 96 в приведенном выше уравнении на 90.71428571429, вы получите значение ScaleDenominator, чтобы ESRI использовал другую константу преобразования. После небольшого исследования я узнал, что
Поскольку в одном дюйме 25,4 мм, то 25,4 / .28 = 90,71428571429 DPI - это то значение, которое нам нужно для DPI. Вот сайт, который подтверждает этот расчет.
источник