GeoWebCache参数之pixelSize(像素大小)

news/2024/5/19 19:16:47 标签: reference, flex, system, 服务器, 文档, list

转自:http://www.cnblogs.com/cleverxy/archive/2012/04/28/2474624.html


  如果你想搭建GeoWebCache,这个网址适合你http://geowebcache.org/docs/current/

  如果你对GeoWebCache.XML涉及到的参数有不理解或理解不透的,这个网址适合你http://geowebcache.org/schema/docs

 

 

  之前用GeoWebCache切图,在flex控件中显示发现字体非常的模糊,与存储在GWC服务器上的图片有差别,最后是发现pixelSize这个参数搞的鬼。

  Pixel size在GeoWebCache的帮助文档的Gridsets and Gridsubsets一节中有提

gridset is a global definition (i.e. not layer-specific) that specifies:

  • list-style:inherit">A spatial reference system (EPSG code)
  • list-style:inherit">A bounding box describing an extent, typically the maximum extent for the above reference system
  • list-style:inherit">One of either a list of scale denominators, resolutions, or zoom levels
  • list-style:inherit">The tile dimensions in pixels (which will be constant for all zoom levels)
  • list-style:inherit">(Optional) Pixel size (to calculate scales). The default is 0.28mm/pixel, corresponding to 90.71428571428572 DPI.

  首先先来说说分辨率和比例尺之间的关系,这对理解出错原因很重要。

  分辨率    在GIS中所提到的分辨率,也称地面分辨率(Ground Resolution)或空间分辨率(Spatial Resolution),表示一个像素(pixel)代表的地面实际距离。 以谷歌地图为例:在缩放级别为 1 时,图片大小为4个 256*256 的图片,那么赤道上的空间分辨率为:地球赤道周长(实地距离)除以256*2(像素大小)。其他纬度上的分辨率则为:纬度圈长度/512。 因此可以看出,分辨率取决于两个参数:纬度和缩放级别。缩放级别决定了像素的多少,纬度决定了地面距离的长短。 因此谷歌地图某视图下的分辨率计算公式为(单位:米/像素):

 

F(X,Y):地图分辨率;

X:纬度值;

Y:缩放级别;

R:常量 6378137,表示地球半径,单位:米。

     比例尺    比例尺通常以比率(如 1:10000 )来表示,表示图上距离与实地距离之比。例如 1:10000 表示图上 1cm 代表实际距离 10000cm,即100米。 由于比例尺起源较早,通常用(纸质)图上的距离衡量实际距离;而分辨率则通常用设备屏幕上的距离来衡量实际距离。而同一个地图视图,尺度是唯一的,比例尺和分辨率只不过是两种表示方法,因此它们是一一对应的。 比例尺与分辨率之间的换算公式如下:

 

Scale:地图比例尺;

Resolution:地图分辨率;

PPI:每英寸的像素点数。

其中 PPI,即 Pixel per Inch,即每英寸的像素点数(在不混淆情况下,也有用 DPI 来表示该参数);0.0254 为英寸和米的转换常数。

  在 WMS 图层参数中有 bbox、height 和 width 这三个参数可唯一确定所请求的地理视图范围与缩放级别。bbox 指可视的地理范围,由4个边界值可确定中心点,而 bbox 的宽度(实地距离)除以 width(图片距离)即是 Resolution(分辨率)。但是没有 PPI,是不能确定 Scale (比例尺)的。换句话说,由 Resolution、Center、Width、Height 可唯一确定可视范围,但 Sclae无法确定。

 

  所以如果之前在定义Gridset中你采用的是分辨率(resolutions),那么这个参数没有什么影响,如果你用的是比例尺(scaleDenominators),那么就要认真对待pixelSize这个参数了,从官方问当中可以看出,可选参数pixe size所对应的默认DPI为90.71428571428572,但现在的电脑默认的DPI为96,这就使得从GWC传入客户端的图片被缩小了,这样字体也与之变小。所以在Gridset中将pixeSize改为0.26458mm/pixel ,问题解决。



http://www.niftyadmin.cn/n/1054425.html

相关文章

C performance Optimization

http://www.eventhelix.com/realtimemantra/basics/optimizingcandcppcode.htm转载于:https://blog.51cto.com/general/345922

数组实现优先队列

优先队列支持的操作: 插入元素和删除最大元素 public class MaxPQByArr {//保存数值private int[] arr;//最大元素所在数组的位置索引,N从1开始private int N;private int len;public MaxPQByArr(int max) {arr new int[max];N 0;len arr.length - 1;}/*** 降序…

python正常时间和unix时间戳相互转换的方法

python正常时间和unix时间戳相互转换的方法 本文实例讲述了python正常时间和unix时间戳相互转换的方法。分享给大家供大家参考。具体分析如下: 这段代码可以用来转换常规时间格式为unix时间戳,也可以将unix时间戳转换回来, 例如:1…

SAS 中读取文件的方式

首先明确文件的格式: 1. 文本文件 2. xlsx 文件(电子表格文件) 对于文本文件,由于有很大的变化性,比如使用空格分隔,使用逗号分隔,使用冒号分隔等等,当然也可以按列读取。 &#xff…

手机网页显示内容太小,调整手机端网页缩放

工作需要&#xff0c;要做一个手机自适应的网页效果&#xff0c;终于搞定&#xff0c;先分享并记录&#xff01; 其实主要就是改掉HTML页面声明&#xff1a; 在网页中加入以下代码&#xff0c;就可以正常显示了&#xff1a; 代码如下: <meta name"viewport" conte…

测试工具汇集

1.持续集成 CruiseControl&#xff0c;TinderBox2.单元测试 JUnit &#xff0c;NUnit3.代码覆盖率 Clover&#xff0c;PureCoverage4.功能测试 httpUnit&#xff0c;Selenium&#xff0c;Quick Test Professional5.用户验收测试 Fitness&#xff0c;Quick Test Professional6.…

Windows环境配置path后依然出现***不是内部命令或外部命令

工作需要使用phbricator,配置了php、git、arcanist、libphutil后&#xff0c;在命令行中输入arc help出现"arc 不是内部命令或者外部命令"&#xff0c;这个错误提示一般是没有配置命令的path&#xff0c;但是我已经配置了path的情况下依然报这个错&#xff0c;想到可…

论一个十七岁废物的自我修养

在12月24日&#xff0c;我是一个十六岁的废物。25日的时候&#xff0c;就是十七岁的废物了。 虽然是废物&#xff0c;但是还是要有自我修养的。场子里那些初三的&#xff0c;那些高一的&#xff0c;那些奇奇怪怪的生物&#xff0c;实在是可怕。 在这一年中&#xff0c;毕竟学到…