zoukankan      html  css  js  c++  java
  • 感想——关于球

    一直以来都对三维GIS的评价不高,认为只是个花架子。但是不可否认三维GIS改变了我们对于世界的认识 。GoogleEarth等三维软件给我们展现了一幅真实、直观的地球,确实很炫。

    先将三维球分为两类:A类:ArcGlobe、skyline;B类:GoogleEarth等和好多可以运行在Pad上的球——ArcGIS也可以属于这一类。

    工作进了国内一家三维GIS软件公司,最近一直参与的项目研发,产生了一些思考:

    先说说A类的球,这类球不完全(ArcGIS可以使用WMS和ArcGIS Online的瓦片数据)依赖于缓存切片,可以直接加载本地影像数据(构建了金字塔),全球性的数据显示和网络显示似乎不是很合适。ArcGIS对数据的处理很好,但是基于这类平台做一些三维特效很困难,扩展比较困难。B类球可以很好的显示全球数据,可以很好的扩展一些自己的三维特效,因为它就是个游戏。但是B类球存在的问题更多!

    1. 比例尺问题:三维地球通过经纬度和视点高度控制显示的范围和精度。这和传统二维地图采用比例尺不同。这样就无法真正的将系统的数据应用于工程项目。产生这样的问题原因有两方面:一个是三维往往采用一系列的坐标转换,尤其是采用了透视投影,和二维GIS有本质不同。二是三维的球采用WGS84大地坐标系,这样也限制了工程项目应用,工程项目多采用高斯平面坐标系。如果要实现二三维一体化需要坐标转换,七参数计算必不可少。

    三维球一般采用球形墨卡托投影,而不是椭球墨卡托投影,本身对地图瓦片会产生精度损失。

    2. 缓存数据:三维的球如果采用LOD技术,比如四叉树,需要从服务器上下载影像和DEM切片Tile,这样显示符合用户的习惯和数据传输压力减小,但是通过视域体剔除,当前显示的数据未必就是真实的地形,而是缓存的数据,这样对研究区的数据进行空间分析必然是不正确的。而且在切片的过程中也会产生数据精度的缺失。本来影像分割和重采样就会产生这样的问题。拿缓存的影像进行坡度分析或者淹没分析,产生的结果不十分可信。

    3. 图形绘制:三维绘制始终比较困难,这点ArcGIS做的都不是很好,CAD相对来说要好很多,CAD通过设置UC坐标系,可以设置当前绘制的面,这样进行射线求交的时候就有很多好处。而球都是通过屏幕坐标转换到视域体,再转换到世界坐标,计算过程中精度损失就不说了,仅仅在与球面的相交计算上就存在问题,CAD多采用捕捉的方式获取坐标而非仅仅通过计算得到坐标,因而CAD的优势球上基本没有。绘制贴地的面,这个基本是通过网格Mesh来表现,网格的大小和Tile大小一样,显示的很不精细!

    4. 数据的导入导出:三维的系统似乎不是很重视数据的导入和导出,首先加载矢量数据上,目前可能支持加载shp的比较多,但是导出数据的好像只有kml。导出影像的更加少了,比如坡度分析和淹没分析的结果导出了别的系统也用不了,其实完全可以导出成栅格数据的!

  • 相关阅读:
    es之java插入优化(批量插入)
    es之java操作插入文档
    使用java操作elasticsearch之与es简历连接
    es之关于consistency(数据一致性问题)
    es之词库热更新解决方案
    es之IK分词器
    es之分词器和分析器
    es之Source字段和store字段
    Elasticsearch的聚合操作
    中缀表达式实现简单计算器
  • 原文地址:https://www.cnblogs.com/yhlx125/p/3236031.html
Copyright © 2011-2022 走看看