zoukankan      html  css  js  c++  java
  • GeoWebCache参数之pixelSize(像素大小)

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

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

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

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

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

    • A spatial reference system (EPSG code)
    • A bounding box describing an extent, typically the maximum extent for the above reference system
    • One of either a list of scale denominators, resolutions, or zoom levels
    • The tile dimensions in pixels (which will be constant for all zoom levels)
    • (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 ,问题解决。

  • 相关阅读:
    Access restriction: The type BASE64Encoder is not accessible due to restrict(转载)
    ECLIPSE控制台信息导出
    ZUI分页器的使用案例(ECLIPSE SMS项目)
    关于PLSQL启动用时较长的问题解决
    javax.naming.NamingException: Cannot create resource instance报错修改
    百度AI人脸识别的学习总结
    ECharts3.0饼状图使用问题总结
    jni开发
    AndroidStudio封装jar并混淆
    Androidstudio代码混淆
  • 原文地址:https://www.cnblogs.com/cleverxy/p/2474624.html
Copyright © 2011-2022 走看看