资源描述
2.5维电子地图研究1引言三维模型占用空间大,格式不统一,网络环境较差的情况下传输速度非常慢且容易卡死,一般基于Web勺三维需要安装三维客户端插件进行浏览,对计算机性能要求高,体验效果差。将三维模型进行多方向投影,以二维电子地图瓦片的形式在浏览器中显示,既达到了浏览速度的要求,又能从多方向感受三维场景, 将大大提升用户体验。 本文基于国产三维软件CityMaker,以数字泸州地理信息公共服务平台城市原始3DMaXE维模型为基础数据,进行三维模型转换,并结合倾斜影像和矢量图发布服务,最终在“天地图泸州”进行2.5维电子地图快速的瓦片与矢量联动展示,使数字城市三维信息得以基于Web8行快速可视化和充分表达。2FDB与三维模型转换CityMaker是致力于研究三维数据制作和可视化的一款国产软件,包含Builder、ServerExplore等一系列产品,其三维模型采用FD暗式进行存储,地形采用TE璐式存储。FDB是一组表达地理特征概念及其关系,并按照这种概念及其关系来组织、存储地理特征数据的数据库模式。FD脸包含了CityMaker7对于空间数据的三级组织方式的定义,也包含了对于3DGIS空间数据的独特理解,同时引入了一些行业系统中常用的概念,比如值域、同步、分布式等概念,为高层系统建模提供了更多的便利性。数字城市建设的三维模型是基于3DMaxt立的,不利于进行网络可视化和数据整合处理。本文基于泸州市主城区三维景观模型,CityMaker对原始模型进行统一入库处理,形成FDBtH型文件库。基于FDB的模型库将原有3dMax多个模型文件、多种贴图文件、多类繁杂图层进行了统一整合与优化,生成单个标准的FDB文件,可包含多个数据集,数据集中存储多个图层。本文基于泸州的三维模型最终采用一个数据集,四个图层进行存储,图层包括地面、建筑、植被和水系。本文的2.5维电子地图制作流程如图1所示。3坐标转换与2.5维投影城市三维模型的建立一般是基于某一空间直角坐标系统进行的, 可以从多个角度进行浏览。基于该空间直角坐标系统,将从某一固定视角观察时所看到的场景投影到一个新的平面直角坐标系上,则可获取该方向的2.5维影像。在投影过程中,坐标的变化与基准面的高度、投影的旋转角度及倾斜角度相关。原有空间坐标与投影平面采用同一平面原点,原始坐标经过相对应的矩阵运算即转换为新的平面坐标,且各投影之后的坐标可以经过参数进行相互转换,达到不同角度投影经过切换之后始终能显示同一区域的三维模型。基于三维模型基准面建立的平面坐标与投影之后坐标原点一致,三维模型投影面是基准面经过绕原X、Y、Z轴旋转三次之后得到的,所有原三维模型在投影面上的坐标由原坐标经坐标转换得到。坐标点由原点绕X、Y、Z轴旋转之后得到新的投影面X、Y坐标, 因为原点存有高程, 且与基准面存有相对高度,因此在计算投影坐标时需要将基准面高度计算在内,否则将出现三维建筑物的楼顶和楼底在2.5维上是同一个点。北方方位为0顺时针递增至360o3.1三维旋转右手定则2.5维地图的一个优势, 就是可以根据需求定制不同侧视角度的地图,以二维方式多方位展示三维模型。本文对三维模型进行的是平行投影,因此三维模型坐标到2.5维坐标的转换,可以看做是三维几何变换中的旋转变换,三维旋转变换满足右手定则,三维模型与投影之后的坐标可用矩阵运算形式进行转换,矩阵各元素代表坐标绕各坐标轴旋转角度的正弦值或余弦值。若旋转角为8,三维旋转齐次坐标变换矩阵5如式(1)。从三维模型到2.5维可以看作为先绕X轴旋转角度值为俯视角度0c,之后再绕Z轴旋转角度值为侧视角度B。 因此,由三维坐标计算2.5维坐标的公式如式(2)。因为2.5维地图无高程值,最终的Z值统一设置为0。2.5维反算三维坐标即对矩阵进行求逆。3.22.5维投影将三维模型转换为2.5维平面即得到从某一视角观察三维模型时的视觉效果。投影过程即是对三维模型进行像素采样的过程,可生成影像文件和三维模型轮廓矢量文件,采样单元越小,得到的2.5维影像越精细,放大显示效果越好,同时投影时间越长,数据量也越大。本文基于FDB三维模型库进行2.5维影像生成采用0.2米采样间隔进行八个方向的投影,根据多种俯视角度出图实验结果,最终认为实验区域30。的视野俯视角度投影出的2.5维地图效果较好,投影过程如下:(1)设置投影范围、基准高程、俯视角度、侧视角度、分块大小和采样间隔。三维模型是基于空间直角坐标系建立的,选择四个角点即可设置出图矩形范围。 (2)系统对每个分块分别进行指定角度扫描,根据分块大小和采样间隔计算分块采样的行列数,循环获取各行列内三维模型纹理像素值,并进行投影方向与三维模型轮廓的碰撞检测。(3)根据投影角度和基准高程面计算投影后的像素坐标值和矢量轮廓坐标值。(4)将获取到的灰度值和相对应格所处坐标位置写入出图影像文件,最终得到带坐标信息的影像文件,影像分块存有坐标信息,用ArcGIS加载之后可无缝浏览。(5)将投影方向与三维模型轮廓碰撞检测成功的坐标值和相对应属性信息写入Shape面文件,最终得到带坐标信息和属性信息的建筑物轮廓矢量文件,生成的矢量采用ArcGIS进行抽稀和细碎多边形处理。最终生成影像和建筑物矢量效果如图2所示。42.5维电子地图制作4.1矢量动态加载三维模型建筑物生成的2.5维矢量轮廓数目多, 若在前台一次性加载矢量数据和属性效率低下,根据当前地图级别和范围进行实时查询和加载将大大提升矢量数据加载速度。实验将生成的2.5维矢量shp文件发布要素查询服务,传递当前地图级别范围,返回范围内要素几何坐标和属性,基于OpenLayer矢量要素图层进行存储和渲染,根据鼠标位置实时显示当前建筑物矢量轮廓样式和属性信息,当鼠标位置超出建筑物轮廓时,建筑物轮廓样式隐藏,效果如图3所示。4.2影像切片瓦片地图是目前最常见的地图表现方式,具有传输速度快、分区请求、无插件浏览等特点。其展现的数据是相同像素、数据量小的图片文件。2.5维影像文件同样可以通过切片之后在浏览器中展示,不仅达到了三维的体验效果,又具有二维地图浏览速度快的优势,并可在瓦片地图上叠加三维模型轮廓矢量服务,动态加载建筑物模型信息。因为不同方向投影生成的2.5维影像坐标范围不一致, 因此若要展示多个方向的瓦片,需要按照各自不同的范围进行相对应切片。 本文采用ArcGISServer进行2.5维的15-20级切片并发布瓦片服务,基于OpenLayer加载瓦片服务。实现八方向坐标自动转换。根据侧视角度和俯视角度预先定义从三维模型坐标系至2.5维坐标相互转换的八方向矩阵和2.5维向三维坐标转换的反算矩阵。本文以泸州市主城区三维模型为实验数据, 基准面设为模型平均高度值300米,采用伟景行CityMaker对三维模型进行北、东北、东、东南、南、西南、西、西北共八个方向2.5维投影,生成Tiff格式影像、建筑物轮廓shp文件、坐标边界范围及转换矩阵,采用ArcGISServer进行影像切片并发布瓦片服务,基于OpenLayer前台进行开发调用瓦片服务,调用转换矩阵、投影角度、倾斜角度和基准高程参数进行二维电子地图与2.5维八方向电子地图之间的相互动态切换。二维平面坐标转2.5维坐标转换过程是由旋转矩阵直接计算转换后的2.5维坐标。2.5维坐标转二维平面坐标转换步骤为:(1)由旋转矩阵计算经矩阵旋转的坐标。(2)计算投影方向正弦、余弦、正切值。(3)计算投影方向X、Y坐标产生的偏移值。(4)计算投影方向二维X、Y校正后的最终坐标值c生成不同方向的2.5维电子地图,具显示效果如图4所示。5数字城市应用在城市规划和建设的同时, 为增强基础地理信息数据的管理, 泸州市住建局建立了基于国产软件CityMaker的三维模型数据库,但因为数据量大,三维模型数据并没有基于WebW互联网进行发布,三维数据的作用没有得到充分发挥。在“数字泸州”建设过程中,基于原有及更新的三维模型和升级CityMaker三维软件, 进行了泸州市80平方千米三维模型的统一入库, 并制作和发布了包含模型瓦片和矢量数据的2.5维电子地图,在“天地图泸州”上与二维电子地图进行集成与联动可视化。6结语2.5维电子地图集三维模型与矢量于一体,传输速度快,显示效果好,更加丰富地表达了城市三维信息,进一步展示了数字城市建设的成果,将更好地辅助领导决策,为公众服务,更大地发挥数字城市的作用。2.5维电子地图研究
展开阅读全文