通过计算机构造电子地图中的调整图例和指北针的方法
【技术领域】
[0001 ] 本发明属于电子地图的技术领域,具体涉及一种通过计算机构造电子地图中的调整图例和指北针的方法。
【背景技术】
[0002]现有的电子地图的制作过程中经常需要往往是要把地图、图例和指北针放置在一起,避免重叠并且实现最佳位置的摆放,但是现在通常还是使用手动的形式来实现,这样的实现方式往往效率低下并且难以实现最佳位置的摆放。
【发明内容】
[0003]本发明的目的提供一种通过计算机构造电子地图中的调整图例和指北针的方法,依次经过预处理阶段、导入阶段、由虚线边构成的第一矩形设定阶段、附加矩形的设定阶段、交集的求出阶段、计算宽度和高度的阶段、计算图例的最佳位置阶段、计算指北针的最佳位置阶段和第一矩形QO位置的再确定阶段。这样的方法可有效避免现有技术中的使用手动的形式来实现的方式往往效率低下并且难以实现最佳位置的摆放的缺陷。
[0004]为了克服现有技术中的不足,本发明提供了一种通过计算机构造电子地图中的调整图例和指北针的方法的解决方案,具体如下:
[0005]一种通过计算机构造电子地图中的调整图例和指北针的方法,步骤如下:
[0006]步骤1:预处理阶段,所述的预处理阶段为首先在计算机中设置有用来调整图例和指北针的模块;
[0007]步骤2:导入阶段,所述的导入阶段为通过计算机启动用来调整图例和指北针的模块来输入用于电子地图将要显示的地图全部范围的多边形轮廓PO、图例的轮廓、指北针的轮廓;
[0008]步骤3:由虚线边构成的第一矩形设定阶段,由虚线边构成的矩形设定阶段为作由虚线边构成的第一矩形Q0,使得虚线边构成的第一矩形QO的虚线边相切于地图全部范围的多边形轮廓PO,且虚线边构成的第一矩形QO包含地图全部范围的多边形轮廓PO,且虚线边构成的第一矩形QO各边平行或垂直于设定的平面直角坐标系的坐标轴;
[0009]步骤4:附加矩形的设定阶段,所述的附加矩形的设定阶段为在由虚线边构成的第一矩形QO的右上角、左上角、左下角以及右下角分别放置由虚线边构成的第二矩形Q1、由虚线边构成的第三矩形Q2、由虚线边构成的第四矩形Q3和由虚线边构成的第五矩形Q4,使得由虚线边构成的第二矩形Ql和由虚线边构成的第三矩形Q2与外接于指北针的轮廓的矩形大小一致,且由虚线边构成的第四矩形Q3和由虚线边构成的第五矩形Q4与外接于图例的轮廓的矩形大小一致;
[0010]将由虚线边构成的第二矩形Ql的X坐标最小值和Y坐标最小值分别记为Ql.Xmin和 Ql.Ymin ;
[0011]将由虚线边构成的第三矩形Q2的X坐标最大值和Y坐标最小值分别记为Q2.Xmax和 Q2.Ymin ;
[0012]将由虚线边构成的第四矩形Q3的X坐标最大值和Y坐标最大值分别记为Q3.Xmax和 Q3.Ymax ;
[0013]将由虚线边构成的第五矩形Q4的X坐标最小值和Y坐标最大值分别记为Q4.Xmin和 Q4.Ymax ;
[0014]步骤5:交集的求出阶段,所述的交集的求出阶段为求由虚线边构成的第一矩形PO分别与由虚线边构成的第二矩形Q1、由虚线边构成的第三矩形Q2、由虚线边构成的第四矩形Q3和由虚线边构成的第五矩形Q4在二维直角坐标系下的交集,分别得到第一多边形R1、第二多边形R2、第三多边形R3和第四多边形R4 ;
[0015]将第一多边形Rl的X坐标最大值和Y坐标最大值分别记为Rl.Xmax和Rl.Ymax ;
[0016]将第二多边形R2的X坐标最小值和Y坐标最大值分别记为R2.Xmin和R2.Ymax ;
[0017]将第三多边形R3的X坐标最小值和Y坐标最小值分别记为R3.Xmin和R3.Ymin ;
[0018]将第四多边形R4的X坐标最大值和Y坐标最小值分别记为R4.Xmax和R4.Ymin ;
[0019]步骤6:计算宽度和高度的阶段,所述的计算宽度和高度的阶段为计算第一宽度数值wl、第二宽度数值《2、第三宽度数值《3、第四宽度数值《4、第一高度数值hl、第二高度数值h2、第三高度数值h3和第四高度数值h4,具体如下:
[0020]当第一多边形Rl存在时计算第一宽度数值wl和第一高度数值hl,使得:wl =Rl.Xmax-Q1.Xmin, hi = Rl.Ymax-Q1.Ymin ;当第一多边形 Rl 不存在时,wl = O, hi = O ;
[0021]当第二多边形R2存在时计算第二宽度数值w2和第二高度数值h2,使得:w2 =Q2.Xmax-R2.Xmin, h2 = R2.Ymax-Q2.Ymin ;当第二多边形 R2 不存在时,w2 = O, h2 = O ;
[0022]当第三多边形R3存在时计算第三宽度数值w3和第三高度数值h3,使得:w3 =Q3.Xmax-R3.Xmin, h3 = Q3.Ymax-R3.Ymin ;当第三多边形 R3 不存在时,w3 = O, h3 = O ;
[0023]当第四多边形R4存在时计算第四宽度数值w4和第四高度数值h4,使得:w4 =R4.Xmax-Q4.Xmin, h4 = Q4.Ymax-R4.Ymin ;当多边形 R4 不存在时,w4 = O, h4 = O ;
[0024]步骤7:计算图例的最佳位置阶段,所述的计算图例的最佳位置阶段为计算数值第一最佳位置系数dl、第三最佳位置系数d3和第四最佳位置系数d4,并确定图例相对于图框的最佳位置:
[0025]如果h3 = min(w3, w4, h3, h4),贝丨J dl = 0,d3 = 0,d4 = h3,图例最佳位置为图框左下角;
[0026]否则如果w3 = min (w3, w4, h3, h4),则 dl = 0,d3 = w3,d4 = 0,图例最佳位置为图框左下角;
[0027]否则如果M = min (w3, w4, h3, h4),则 dl = 0,d3 = 0,d4 = h4,图例最佳位置为图框右下角;
[0028]否则dl = w4,d3 = 0,d4 = 0,图例最佳位置为图框右下角;
[0029]步骤8:计算指北针的最佳位置阶段,所述的计算指北针的最佳位置阶段为计算第二最佳位置系数并确定指北针相对于图框的最佳位置:
[0030]如果wl>dl且w2>d3且hi = min (hi, h2),贝丨J d2 = hi,指北针最佳位置为图框右上角;
[0031]否则如果wl>dl且w2>d3且h2 = min (hi, h2),则d2 = h2,指北针最佳位置为图框左上角;
[0032]否则如果wl〈dl且w2〈d3且图例最佳位置为图框左下角,则d2 = 0,指北针最佳位置为图框右上角;
[0033]否则如果wl〈dl且w2〈d3且图例最佳位置为图框右下角,则d2 = 0,指北针最佳位置为图框左上角;
[0034]否则如果wl〈dl,则d2 = 0,指北针最佳位置为图框右上角;
[0035]否则w2〈d2,则d2 = 0,指北针最佳位置为图框左上角;
[0036]步骤9:第一矩形QO位置的再确定阶段,所述的第一矩形QO位置的再确定阶段为将由虚线边构成的第一矩形QO的左边、上边、右边、下边分别向矩形外平移dl、d2、d3和d4的距离,得到新的由虚线边构成的第一矩形QO的位置。这样就能由步骤7确定的图例相对于图框的最佳位置、步骤8确定的指北针相对于图框的最佳位置,以及步骤9得到的新的由虚线边构成的第一矩形QO的位置。
[0037]由这些技术特征,本发明的调整方法生成效率高,能够真正实现自动调整。
【附图说明】
[0038]图1为本发明的一种电子地图制作的批量生成系统流程示意图。
[0039]图2为本发明实施例的步骤3的效果示意图。
[0040]图3为本发明实施例的步骤4的效果示意图。
[0041]图4为本发明实施例的步骤5的效果示意图。
【具体实施方式】
[0042]本发明的目的是研制自动化的高效的一种通过计算机构造电子地图中的调整图例和指北针的方法,通过附图和实施例来进行进一步的说明:
[0043]如图1所示,通过计算机构造电子地图中的调整图例和指北针的方法,步骤如下:
[0044]步骤1:预处理阶段,所述的预处理阶段为首先在计算机中设置有用来调整图例和指北针的模块;
[0045]步骤2:导入阶段,所述的导入阶段为通过计算机启动用来调整图例和指北针的模块来输入用于电子地图将要显示的地图全部范围的多边形轮廓PO、图例的轮廓、指北针的轮廓;
[0046]步骤3:由虚线边构成的第一矩形设定阶段,如图2所示,由虚线边构成的矩形设定阶段为作由虚线边构成的第一矩形Q0,使得虚线边构成的第一矩形QO的虚线边相切于地图全部范围的多边形轮廓PO,且虚线边构成的第一矩形QO包含地图全部范围的多边形轮廓PO,且虚线边构成的第一矩形QO各边平行或垂直于设定的平面直角坐标系的坐标轴;
[0047]步骤4:附加矩形的设定阶段,如图3所示,所述的附加矩形的设定阶段为在由虚线边构成的第一矩形QO的右上角、左上角、左下角以及右下角分别放置由虚线边构成的第二矩形Q1、由虚线边构成的第三矩形Q2、由虚线边构成的第四矩形Q3和由虚线边构成的第五矩形Q4,使得由虚线边构成的第二矩形Ql和由虚线边构成的第三矩形Q2与外接于指北针的轮廓的矩形大小一致,且由虚线边构成的第四矩形Q3和由虚线边构成的第五矩形Q4与外接于图例的轮廓的矩形大小一致;
[0048]将由虚线边构成的第二矩形Ql的X坐标最小值和Y坐标最小值分别记为Ql.Xmin和 Ql.Ymin ;
[0049]将由虚线边构成的第三矩形Q2的X坐标最大值和Y坐标最小值分别记为Q2.Xmax和 Q2.Ymin ;
[0050]将由虚线边构成的第四矩形Q3的X坐标最大值和Y坐标最大值分别记为Q3.Xmax和 Q3.Ymax ;
[0051]将由虚线边构成的第五矩形Q4的X坐标最小值和Y坐标最大值分别记为Q4.Xmin和 Q4.Ymax ;
[0052]步骤5:交集的求出阶段,如图4所示,所述的交集的求出阶段为求由虚线边构成的第一矩形PO分别与由虚线边构成的第二矩形Ql、由虚线边构成的第三矩形Q2、由虚线边构成的第四矩形Q3和由虚线边构成的第五矩形Q4在二维直角坐标系下的交集,分别得到第一多边形R1、第二多边形R2、第三多边形R3和第四多边形R4 ;
[0053]将第一多边形Rl的X坐标最大值和Y坐标最大值分别记为Rl.Xmax和Rl.Ymax ;
[0054]将第二多边形R2的X坐标最小值和Y坐标最大值分别记为R2.Xmin和R2.Ymax ;
[0055]将第三多边形R3的X坐标最小值和Y坐标