栅格地图技术与VML融合的WebGIS研究(3)
时间:2025-07-11
时间:2025-07-11
栅格地图技术与VML融合的WebGIS研究
702009,45(13)
ComputerEngineeringandApplications计算机工程与应用
(2)矢量地图的栅格化。矢量地图转换为栅格地图按如下步骤进行。
步骤1通过各个厂家提供的地图制作工具,对矢量地图的呈现进行美化和设计;
步骤2把制作好的地图进行加载;
步骤3根据分割算法计算出每个栅格块的图形范围;步骤4根据图形的范围从矢量图形中提取出相应的图片和命名规则,输出到设定的存储路径。
二次开发SDK,通过统一的接口和格式进行提取和存储,在存储上也根据WebGIS的应用情况,通过大型数据库或者XML文件等形式进行存储和数据提取。在空间数据的存储上使用标
准的XML进行描述,存储的格式描述如下:
<Name>地物名称</Name><Type>类型</Type><Points>
<Point>
<X>116.715</X><Y>40.25</Y></Point></Points>
4.3WebGIS开发包
WebGIS开发包是应用层进行GIS呈现的核心基础API。
开发包中包含了地图控制接口、数据读取接口、事件控制接口客户端通过引用开发包的API接口进行GIS的呈现和应用等。开发。空间数据WebGIS开发包集成了在客户端进行地图呈现、呈现、数据运算的一系列功能。在具体的开发和设计上利用分布式计算的原理,将WebGIS呈现的计算分布到了各个客户端,并利用Web的缓存和Ajax等技术降低客户端访问的流量,有效地降低了对服务器端依赖。在客户端API的设计上主要分为3层:核心对象层、地图绘制容器层、如图4API控制层,所示。
4.2栅格地图制作
采用栅格地图技术的WebGIS最具性能优势的特点是进行地图的预生成和栅格化读取。而栅格地图制作的功能就是把
厂家提供的矢量地图进行图形的预生成和栅格化,并且进行格其步骤是:首式化存储,以提供给各个客户端进行地图的读取。
先通过厂家提供的地图制作工具进行地图的美化和制作;然后通过栅格地图制作工具进行矢量地图读取,计算需要生成的栅格图片的切割点和切割范围;然后按照预定义的规则进行图片的切割和存储。
(1)栅格地图切图的计算原理和存储的规则。①栅格地图的放大是2倍关系,例如第一层瓦片数目为1,第二层为4,以此类推,计算出所有层级的瓦片数量。每层栅格图片的名称必须按照固定的算法进行存储和放置,例如以行和列进行命名0-1,0-2。②根据瓦片的数量和位置关系,对整图进行等分切割,并输出到指定的文件路径。
例如,将一个地图切割成两级的WebGIS栅格图形。步骤首先确定地图的四个角的坐标,形成一个地图的范围。步骤1:
根据计算出的该地图需要分成的等份,计算每个栅格的坐标2:
进行等分。如图3所示。
图4客户端API的层次结构
(a)(b)
(1)核心对象层主要实现对GIS所使用到的相关模型的抽
象,在客户端可以通过核心对象表示WebGIS中的相关概念。包括:Point对象、Zoom对象、Marker对象、Line对象、Sharp对象、Tile对象等。
(2)地图绘制容器是在地图绘制上对各种不同对象呈现容器的划分。在WebGIS的呈现过程中,主要是栅格地图、点状地物以及矢量图形的呈现和控制。在地图绘制的过程中,不同的对象在呈现方式、计算和绘制方式上是有概念上的区别的;栅格地图主要是HTML的Image对象构成,而点状地物对象是
(Icon+Shawdown+InfoWindow)对象的呈现容器,由ImageMarker
对象和普通的Div构成;必须由VML的VML矢量对象的绘制,
画布容器来进行承载,在栅格地图上进行图形的叠加操作,形成对矢量地图的呈现。为了把VML容器无缝地嵌入到普通的
在开发中必须申明对VML对象的引用,并且把HTML对象中,
VML的容器加入到HTML对象树中。下面就是具体的实现方式。
<styletype="text/css">
(#default#VML)}v\
:*
{behavior:url
HTMLCode+=’<v:groupid="draw_sharp’"style="transparent:true;position:absolute;z-index:150;"coordorigin="-500000000,-;500000000"coordsize="1000000000,1000000000"></v:group>’
(c)
图3
地图切割示例
this.container.innerHTML+=HTMLCode;
当客户端自定义的各种事件触发的时候,首先是通过事件
上一篇:秦始皇.汉武帝的功与过
下一篇:26个经典求职信结束语