Les mathématiques derrière la conversion de l'échelle en résolution?

11

J'ai un service ArcGIS configuré comme indiqué dans ce pastbin . Plus précisément, le premier LOD ressemble à ceci:

{
  "level": 0,
  "resolution": 222.2222222222222,
  "scale": 256000
}

J'ai déterminé comment convertir à partir de l'échelle de 256000 pour arriver à une résolution de 222,222:

var dotsPerInch = 96.0;
var inchesPerFoot = 12.0;   
var dotsPerUnit = dotsPerInch * inchesPerFoot;
var scale = 256000;
var resolution = scale / dotsPerUnit;

Mais le service WMTS associé signale une valeur "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>

Quelles sont les mathématiques derrière cette valeur? Autrement dit, étant donné une échelle de 256000, comment ESRI est-il arrivé à un ScaleDenominator de 241904.7619?

ca0v
la source
merci pour l'explication de l'échelle / résolution. Je ne l'ai trouvé nulle part!
Krystian

Réponses:

12

WMTS suppose un DPI 90,7 au lieu de 96 comme cela est clairement documenté dans le document WMTSCapabilities qui stipule,

"L'ensemble de matrice de tuiles qui a des valeurs d'échelle calculées sur la base du dpi défini par la spécification OGC (dpi suppose 0,28 mm comme la distance physique d'un pixel)."

0,28 mm par pixel = 0,0110236 pouces par pixel ou 90,71446714322 pixels par pouce.

Si vous remplacez 96 dans l'équation ci-dessus par 90.71428571429, vous obtiendrez la valeur ScaleDenominator afin qu'ESRI utilise une constante de conversion différente. Après un peu de recherche, j'ai appris que

1 po = 2,54 cm (je pensais que c'était une approximation mais c'est par définition )

Puisqu'il y a 25,4 mm dans un pouce, alors 25,4 / 0,28 = 90,71428571429 DPI, qui est la valeur que nous recherchons pour DPI. Voici un site qui confirme ce calcul.

ca0v
la source
1
+1 Il y a deux pieds différents; vous avez décrit l'International Foot. La définition de l'autre, l' enquête des États - Unis pied , est que un pied = 12 / 39,37 mètres ( ce qui, le rythme Eric Weisstein, est encore en usage intensif). Ils diffèrent de deux parties par million: une petite quantité, mais suffisamment grande pour que lorsque les systèmes de coordonnées ont des valeurs se chiffrant en millions ou en dizaines de millions, cela fait une différence appréciable.
whuber
1
C'est la spécification OGC WMTS, pas le document WMTSCapabilities qui définit 0,28 mm par pixel.
John Powell
@ JohnBarça C'est la réponse réelle d'ESRI WMTSCapabilities que je cite ici.
ca0v