将比例转换为分辨率的数学背后?


11

我有一个配置好的 ArcGIS服务,如以下pastbin所示 。具体来说,第一个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?


感谢您对比例/分辨率的解释。我在任何地方都找不到!
Krystian

Answers:


12

WMTS假设DPI为90.7,而不是96,如WMTSCapabilities文档中明确说明的那样,

“具有根据OGC规范定义的dpi计算的比例值的图块矩阵集(dpi假定像素的物理距离为0.28mm)。”

每像素0.28毫米=每像素0.0110236英寸或每英寸90.71446714322像素。

如果用90.71428571429替换上面公式中的96,您将获得ScaleDenominator值,因此ESRI使用了不同的转换常数。经过一番研究,我了解到

1英寸= 2.54厘米(我认为这是一个近似值,但根据定义

由于一英寸有25.4毫米,则25.4 / .28 = 90.71428571429 DPI,这是我们追求的DPI值。 是一个确认此计算的站点。


1
+1有两种不同的脚;您已经描述了国际脚。另一只的定义是“ 美国测量脚”,即一只脚= 12 / 39.37米(按照Eric Weisstein的步伐仍在广泛使用)。它们相差百万分之二:很小,但是足够大,以至于当坐标系的值达到数百万或数千万时,它会产生可观的差异。
ub

1
它是OGC WMTS规范,而不是WMTSCapabilities文档定义了每个像素0.28mm。
约翰·鲍威尔

@JohnBarça我在这里引用的是实际的ESRI WMTSCapabilities响应。
ca0v
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.