zoukankan      html  css  js  c++  java
  • GIS软件中的各种要素的尺寸关系(转)

    http://blog.3snews.net/space.php?uid=3502&do=blog&id=59302

    最近用ArcGIS,碰到出图中符号和布局要素大小问题,结合自己做GIS平台的经验进行总结。对于ArcGIS部分,实验不是完全充分,但根据经验来看,应该是这样的。

     
    1 对于GIS软件,几套不同要素都有尺寸,这些尺寸的单位有区别,之间通过一些关系换算出来
         1) 地图要素尺寸:地图中的要素都有坐标,坐标有单位,比如米。地图要素打印出来后的尺寸,并不是其坐标单位表示的尺寸,要根据比例尺计算,比如打印1:1万比例尺地图,地图上的100m到图纸上就是1cm。 
        2)  布局要素尺寸:软件布局页面设计时使用的布局要素尺寸单位跟打印出来图纸上的尺寸单位是一样的,比如线宽、点距等,都以毫米、厘米之类的为单位。布局页面通常有一个表示纸张尺寸的框,供用户参考,比如用A4的纸张进行打印,纸张的尺寸就是29.7*21cm。
        这两者在软件中都以米、厘米之类的为单位,但打印出来一个要按照比例尺重新计算,一个是无需计算直接输出,是有区别的。
        3) 地图符号和字体尺寸
        计算机屏幕上绘制图形图像,都是以屏幕像素为单位(屏幕像素可看做是电脑屏幕最小的显示单元),因此设置符号尺寸时,常以像素为单位。每个像素最终打印到图纸上的尺寸要根据ppi(pixels per inch,每英寸多少个点,分辨率)来计算。通常电脑屏幕是96ppi,而1英寸=25.4mm,所以每个像素尺寸为1/96*25.4=0.26458毫米。
         另外,图纸打印时,用到一个dpi(dots per inch,也叫分辨率)的概念,跟ppi差不多,只不过因为打印机不使用像素为最小单位,而使用点为最小单位。软件中设置一个尺寸为n个像素或者点的符号,实际打印出来的尺寸为n/dpi*25.4毫米。
    有的软件支持用像素为单位设置尺寸,有的则支持用点(如在ArcGIS软件中,其按照PostScript的规定,每英寸有72个points,一个点尺寸为1/72*25.4=0.35278毫米)。
         符号显示通常是固定尺寸的,1个像素尺寸的符号在电脑屏幕上显示的尺寸是0.26458毫米(按96ppi计算)。如果设置一个基准比例尺,并在此基础上按比例缩放符号尺寸,则“当前比例尺/基准比例尺*符号尺寸(计算成毫米后的尺寸)”为屏幕上显示的符号尺寸。
         在ArcGIS中,符号单位不是用像素,而是用点,不知其跟屏幕分辨率如何发生关系。如果把点直接作为像素,则在屏幕上显示的大小,用尺子量出的大小会偏小,1英寸(72个点)大的符号应该在屏幕上显示大小为19.05毫米(25.4*72/96)。但实际上测试发现在屏幕上显示的大小为20毫米多些,所以搞不清楚。
         符号化的地图打印出来后,符号的尺寸要根据打印的dpi计算。如果按照100dpi打印图纸,则1个像素或点(此时单位是点还是像素没有关系,最终都作为一个点)大小的符号,打印出来的尺寸是1/dpi*25.4毫米。
         很多符号是用字体编辑器编辑的,字体编辑器中的尺寸单位是点,这跟ArcGIS相同。但实际上在ArcGIS用字体做点符号时,可以重新指定符号大小,估计是把字体整体大小缩放到跟该符号大小相同了吧。
     
    2 如何在ArcGIS中为打印进行配图和布局设计
         1) ArcGIS配置符号的时候,指定尺寸时都可以指定单位,虽然其实质还是转换成point为单位存起来,但可以方便我们设置要打印出来的符号大小。比如设置符号大小1英寸,且地图没有设置符号随比例缩放,则该符号打印出来就是1英寸。
        2) 如果用point为单位设置符号大小,要注意72points=1inch,即1point=0.35278mm,或者1mm=2.8346point。比如我们要设置一个打印出来为2mm的一个符号,在ArcGIS中设置其大小为2.8346*2=5.6693个point。
        3) ArcGIS的布局要素,很多都只能指定点为单位的尺寸,跟符号一样,为了保证其输出毫米或厘米为单位的尺寸,要基于上面的换算关系计算出要多少个point。
     
    3 地图矢量化的精度问题
         对于地形图,国家的规定都是针对打印出来的图纸进行规定的。比如1:1万比例尺的地形图,在《数字地形图系列和基本要求GBT18315-2001》中规定地物点平面中误差是不能超过0.5毫米,乘以10000,也就是地物点误差不超过5米。
         地形图扫描后的象元尺寸跟扫描分辨率有关,如扫描时指定用100dpi,则图纸上每0.254毫米会被扫描成一个像素(100dpi表示每英寸有100个像素,也就是每个像素1/100*25.4=0.254毫米)。
         如果扫描矢量化后还要再打印出来,就又要注意打印的分辨率。如果1:1万地形图,100分辨率扫描,而矢量化时人工误差达到一个象元,再按照100分辨率打印,则打印出来的地形图矢量化误差为0.254毫米,如果按照200分辨率打印,则误差达到0.508毫米。而很多规范要求相对于工作底图,矢量化后的扫描点位误差不大于 0.15mm,线划误差不大于 0.2mm。所以我们应该提高扫描分辨率,此时每个象元达标的尺寸要小些,矢量化时的精度可以提高。
  • 相关阅读:
    Mysql:Group Replication & Replication
    使用winsw包装服务将nginx包装为Windows服务
    Nginx的一些常用配置
    在ASP.NET Core 2.0中使用Facebook进行身份验证
    展现层实现增删改查
    ABP创建应用服务
    ABP领域层定义仓储并实现
    ABP领域层创建实体
    通过模板创建一个ABP项目
    Android UI组件:布局管理器
  • 原文地址:https://www.cnblogs.com/daidaigua/p/2537955.html
Copyright © 2011-2022 走看看