一种电子地图分层管理方法
【专利摘要】本发明公开了一种电子地图分层管理方法,首先建立电子地图分层模型,确定基本图层地图图片与地面的平面转换关系和画面的偏移与比例关系,当画面缩放和画面平移式,分别对新地图图片进行查找和显示。本发明采用模糊分层管理算法,便于地图的部分修改和更换,不需要专门的维护管理工具,适用于小型电子地图的应用;对某个图层只有局部画面需要显示内容时,只要保存局部画面,不需要保存完整画面,大大减少地图创建和维护工作量。
【专利说明】
一种电子地图分层管理方法
【技术领域】
[0001]本发明涉及一种电子地图,特别是一种电子地图分层管理方法。
【背景技术】
[0002]电子地图已在很多管理系统中得到应用,绘制应用电子地图,制图时可以用一些矢量化绘图软件,分层显示时,每层有不同的细节。
[0003]但一些绘图软件有自己独有的不开放的数据存储格式,且不提供解析器,只可提供可以保存其他通用格式的非矢量化的图形文件。商用绘图软件在存图时,由于不能设定显示比例,也不能自动划分区块进行存图,需要手工进行存图,每幅图的范围和比例很难精确控制,要想在放大时实现全图的拼接难度和工作量很大,通常需要开发专门的绘图工具软件和维护管理软件,而此类的工具及维护软件的开发工作量也往往大于使用软件,大大增加了开发周期和成本。
[0004]当某个图层只有局部画面需要显示的内容时,需要保存完整画面,地图创建和维护的工作量很大。
【发明内容】
[0005]本发明的目的在于提供一种便于地图的部分修改和更换的电子地图分层管理方法。
[0006]实现本发明目的的技术方案为:一种电子地图分层管理方法,包括以下步骤:
[0007]步骤1、建立电子地图分层显示模型:
[0008]步骤1-1、根据需要显示的内容设定N个图层,N为自然数;
[0009]步骤1-2、设定基本图层,设定基本图层的显示比例为LI,保存基本图层地图图片,记录地图图片角点的地面坐标,一维平面地图记录左上角点和右上角点的地面坐标,仿三维2D地图记录左上角、右上角和左下角的地面坐标;
[0010]步骤1-3、设定其他图层相对于基本图层的放大比例;设定模糊比例系数f,其中O
<f < I ;
[0011]步骤1-4、绘制和截取其他图层的地图图片,地图图片的观察视角与基本图层地图图片相同,若图层的放大比例为Ln,地图图片中地图的显示比例L满足Ln*f < L < Ln/f ;保存其他图层的地图图片,记录左上角点和右上角点的地面坐标;
[0012]其中,画面是指显示屏幕画面,地图图片是指按照给定格式保存的地图截图;
[0013]步骤2、根据基本图层地图图片的左上角、右上角和左下角的像素位置和相对应的地面坐标点位置的对应关系确定基本图层地图图片与地面坐标的平面转换关系;
[0014]步骤3、根据地图图片左上角与右上角像素位置和相对应的地面的坐标点位置的对应关系确定画面的偏移和放大比例;
[0015]步骤4、若进行画面中地图缩放,执行步骤5 ;若进行画面中地图平移,执行步骤6 ;
[0016]步骤5、画面中地图缩放时,新地图图片的查找和显示包括以下步骤:
[0017]步骤5 - 1、确定当前画面中显示的地图相对于基本图层画面地图的放大/缩小比例;
[0018]步骤5 - 2、在所有地图图片中,寻找放大比例小于画面显示比例且包含当前鼠标点所在地图的坐标的所有地图图片;
[0019]步骤5 - 3、从步骤5 - 2得到的地图图片中确定放大比例的极大值Imax,放大比例的极小值Imin = lmax*f2,查找当前画面显示比例I满足Imin < I < Imax的所有地图图片;
[0020]步骤5 - 4、计算步骤5 - 3得到的地图图片的中心点的地面坐标,比较寻找中心点地面坐标距离当前画面鼠标点所在地图的坐标最近的地图图片;
[0021]步骤5-5、通过以上步骤,确定是否找到新地图图片,若没有找到新地图图片,显示原地图图片;
[0022]若找到新地图图片,则调出新地图图片,缩放新地图图片的显示比例至当前画面显示比例,移动地图图片的窗口显示位置,使得鼠标点在该地图图片中的地面坐标与在原地图图片中的地面坐标重合,显示新地图图片;
[0023]步骤6、画面中地图平移时,新地图图片的查找和显示包括以下步骤:
[0024]步骤6 - 1、判断窗口中心点所对应的地面坐标位置是否在当前地图图片中,若地图图片边缘移出了中心点,按步骤5在同一层的地图图片中重新寻找合适的新地图图片;
[0025]步骤6 -2、在同一图层地图图片中寻找,若在同层地图图片中找不到新地图图片,在下一层地图图片中继续寻找,依次循环,直到找到新地图图片,显示新地图图片;
[0026]循环至基本图层时,确定基本地图图片为新地图图片;调出新地图图片,根据当前的显示比例和区域,调整新地图图片的显示比例并偏移,保证鼠标点所在位置的地面坐标不变,显示新地图图片。
[0027]本发明与现有技术相比,其显著优点为:(1)本发明采用模糊分层管理算法,便于地图的部分修改和更换,不需要专门的维护管理工具,适用于小型电子地图的应用;(2)本发明只需要保存局部画面,不需要保存完整画面,大大减少了地图创建和维护工作量;(3)可以借用多种商用绘图工具最为应用软件的绘图工具,提高效率,加快开发进度。
[0028]下面结合附图对本发明做进一步说明。
【专利附图】
【附图说明】
[0029]图1为本发明的电子地图分层管理方法的流程图。
【具体实施方式】
[0030]结合图1,一种电子地图分层管理方法,包括以下步骤:
[0031]步骤1、建立电子地图分层显示模型:
[0032]步骤1-1、根据需要显示的内容设定N个图层,N为自然数;
[0033]步骤1-2、设定基本图层,设定基本图层的显示比例为LI,保存基本图层地图图片,记录地图图片角点的地面坐标,一维平面地图记录左上角点和右上角点的地面坐标,仿三维2D地图记录左上角、右上角和左下角的地面坐标;
[0034]步骤1-3、设定其他图层相对于基本图层的放大比例;设定模糊比例系数f,其中O
<f < I ;
[0035]步骤1-4、绘制和截取其他图层的地图图片,地图图片的观察视角与基本图层地图图片相同,若图层的放大比例为Ln,地图图片中地图的显示比例L满足Ln*f < L < Ln/f ;保存其他图层的地图图片,记录左上角点和右上角点的地面坐标;
[0036]其中,画面是指显示屏幕画面,地图图片是指按照给定格式保存的地图截图;
[0037]步骤2、根据基本图层地图图片的左上角、右上角和左下角的像素位置和相对应的地面坐标点位置的对应关系确定基本图层地图图片与地面坐标的平面转换关系;基本图层地图图片与地面坐标的平面转换关系为:
[0038]设画面象素坐标为[X,y],地面坐标为[X,Y],透视变换函数为F (参见《OpenGL》的 glFrustumO,gluPerspectiveO 和 glOrthoO),则:
[0039][x,y] = F([X,Y])
[0040][Χ,Υ] = FT([x,y])
[0041]其中Ft Sf的逆函数。
[0042]步骤3、根据地图图片左上角与右上角像素位置和相对应的地面的坐标点位置的对应关系确定画面的偏移和放大比例;画面的偏移和比例关系为:
[0043]设画面的偏移为[bx, by],比例关系为s,画面的偏移和比例关系为:
[0044][x, y] = F([X, Y])*s+[bx, by];
[0045][X, Y] = Ft ([x, y])/s-[bx, by];
[0046]步骤4、若进行画面中地图缩放,执行步骤5 ;若进行画面中地图平移,执行步骤6 ;
[0047]步骤5、画面中地图缩放时,新地图图片的查找和显示包括以下步骤:
[0048]步骤5 - 1、确定当前画面中显示的地图相对于基本图层画面地图的放大/缩小比例;
[0049]步骤5 - 2、在所有地图图片中,寻找放大比例小于画面显示比例且包含当前鼠标点所在地图的坐标的所有地图图片;
[0050]步骤5 - 3、从步骤5 - 2得到的地图图片中确定放大比例的极大值Imax,放大比例的极小值Imin = lmax*f2,查找当前画面显示比例I满足Imin < I < Imax的所有地图图片;
[0051]步骤5 - 4、计算步骤5 - 3得到的地图图片的中心点的地面坐标,比较寻找中心点地面坐标距离当前画面鼠标点所在地图的坐标最近的地图图片;
[0052]步骤5-5、通过以上步骤,确定是否找到新地图图片,若没有找到新地图图片,显示原地图图片;
[0053]若找到新地图图片,则调出新地图图片,缩放新地图图片的显示比例至当前画面显示比例,移动地图图片的窗口显示位置,使得鼠标点在该地图图片中的地面坐标与在原地图图片中的地面坐标重合,显示新地图图片;
[0054]步骤6、画面中地图平移时,新地图图片的查找和显示包括以下步骤:
[0055]步骤6-1、判断窗口中心点所对应的地面坐标位置是否在当前地图图片中,若地图图片边缘移出了中心点,按步骤4在同一层的地图图片中重新寻找合适的新地图图片;合适的新地图图片的优先选择顺序为:
[0056]首先,选择包含当前窗口中心点的地图图片;
[0057]其次,选择包含当前鼠标点的地图图片;
[0058]最后,选择画面中心点与窗口中心点最接近的地图图片;
[0059]步骤6 -2、在同一图层地图图片中寻找,若在同层地图图片中找不到新地图图片,在下一层地图图片中继续寻找,依次循环,直到找到新地图图片,显示新地图图片;
[0060]循环至基本图层时,确定基本地图图片为新地图图片;调出新地图图片,根据当前的显示比例和区域,调整新地图图片的显示比例并偏移,保证鼠标点所在位置的地面坐标不变,显示新地图图片。
[0061]本发明中模糊比例系数、图层放大比例、显示比例均根据具体情况设定,且均大于O0
[0062]本发明采用模糊分层管理算法,便于地图的部分修改和更换,不需要专门的维护管理工具,适用于小型电子地图的应用;同时对某个图层只有局部画面有需要显示内容,只要保存局部画面,不需要保存完整画面,大大减少地图创建和维护工作量。
【权利要求】
1.一种电子地图分层管理方法,其特征在于,包括以下步骤: 步骤1、建立电子地图分层显示模型: 步骤1-1、根据需要显示的内容设定N个图层,N为自然数; 步骤1-2、设定基本图层,设定基本图层的显示比例为LI,保存基本图层地图图片,记录地图图片角点的地面坐标,一维平面地图记录左上角点和右上角点的地面坐标,仿三维2D地图记录左上角、右上角和左下角的地面坐标; 步骤1-3、设定其他图层相对于基本图层的放大比例;设定模糊比例系数f,其中O < f< I ; 步骤1-4、绘制和截取其他图层的地图图片,地图图片的观察视角与基本图层地图图片相同,若图层的放大比例为Ln,地图图片中地图的显示比例L满足Ln*f < L < Ln/f ;保存其他图层的地图图片,记录左上角点和右上角点的地面坐标; 其中,画面是指显示屏幕画面,地图图片是指按照给定格式保存的地图截图; 步骤2、根据基本图层地图图片的左上角、右上角和左下角的像素位置和相对应的地面坐标点位置的对应关系确定基本图层地图图片与地面坐标的平面转换关系; 步骤3、根据地图图片左上角、右上角像素位置和相对应的地面的坐标点位置的对应关系确定画面的偏移和放大比例; 步骤4、若进行画面中地图缩放,执行步骤5 ;若进行画面中地图平移,执行步骤6 ; 步骤5、画面中地图缩放时,新地图图片的查找和显示包括以下步骤: 步骤5 - 1、确定当前画面中显示的地图相对于基本图层画面地图的放大/缩小比例;步骤5 - 2、在所有地图图片中,寻找放大比例小于画面显示比例且包含当前鼠标点所在地图的坐标的所有地图图片; 步骤5 -3、从步骤5 - 2得到的地图图片中确定放大比例的极大值lmax,放大比例的极小值Imin = lmax*f2,查找当前画面显示比例I满足Imin < I < Imax的所有地图图片;步骤5 - 4、计算步骤5 - 3得到的地图图片的中心点的地面坐标,比较寻找中心点地面坐标距离当前画面鼠标点所在地图的坐标最近的地图图片; 步骤5-5、通过以上步骤,确定是否找到新地图图片,若没有找到新地图图片,显示原地图图片; 若找到新地图图片,则调出新地图图片,缩放新地图图片的显示比例至当前画面显示比例,移动地图图片的窗口显示位置,使得鼠标点在该地图图片中的地面坐标与在原地图图片中的地面坐标重合,显示新地图图片; 步骤6、画面中地图平移时,新地图图片的查找和显示包括以下步骤: 步骤6 - 1、判断窗口中心点所对应的地面坐标位置是否在当前地图图片中,若地图图片边缘移出了中心点,按步骤5在同一层的地图图片中重新寻找合适的新地图图片; 步骤6 - 2、在同一图层地图图片中寻找,若在同层地图图片中找不到新地图图片,在下一层地图图片中继续寻找,依次循环,直到找到新地图图片,显示新地图图片; 循环至基本图层时,确定基本地图图片为新地图图片;调出新地图图片,根据当前的显示比例和区域,调整新地图图片的显示比例并偏移,保证鼠标点所在位置的地面坐标不变,显示新地图图片。
2.根据权利要求1所述的电子地图分层管理方法,其特征在于,步骤2中基本图层地图图片与地面坐标的平面转换关系为: 设画面象素坐标为[X,y],地面坐标为[X,Y],透视变换函数为F,则:
[x, y] = F([X, Y])
[X, Y] = Ft ([x, y]) 其中Ft为F的逆函数。
3.根据权利要求2所述的电子地图分层管理方法,其特征在于,步骤3中画面的偏移和比例关系为: 设画面的偏移为[bx,by],比例关系为s,画面的偏移和比例关系为:
[X,y] = F([X, Y])*s+[bx, by];
[X,Y] = Ft ([x, y])/s- [bx, by]。
4.根据权利要求1所述的电子地图分层管理方法,其特征在于,步骤6-1中合适的新地图图片的优先选择顺序为: 首先,选择包含当前窗口中心点的地图图片; 其次,选择包含当前鼠标点的地图图片; 最后,选择画面中心点与窗口中心点最接近的地图图片。
【文档编号】G06T3/00GK104346771SQ201410534705
【公开日】2015年2月11日 申请日期:2014年10月11日 优先权日:2014年10月11日
【发明者】衡思坤, 张自伟, 周光宇, 王清华, 杨甫, 朱立位 申请人:国家电网公司, 江苏省电力公司, 江苏省电力公司连云港供电公司, 上海申瑞电网控制系统有限公司