通過計算機構(gòu)造電子地圖中的調(diào)整圖例和指北針的方法
【技術(shù)領(lǐng)域】
[0001 ] 本發(fā)明屬于電子地圖的技術(shù)領(lǐng)域,具體涉及一種通過計算機構(gòu)造電子地圖中的調(diào)整圖例和指北針的方法。
【背景技術(shù)】
[0002]現(xiàn)有的電子地圖的制作過程中經(jīng)常需要往往是要把地圖、圖例和指北針放置在一起,避免重疊并且實現(xiàn)最佳位置的擺放,但是現(xiàn)在通常還是使用手動的形式來實現(xiàn),這樣的實現(xiàn)方式往往效率低下并且難以實現(xiàn)最佳位置的擺放。
【發(fā)明內(nèi)容】
[0003]本發(fā)明的目的提供一種通過計算機構(gòu)造電子地圖中的調(diào)整圖例和指北針的方法,依次經(jīng)過預(yù)處理階段、導(dǎo)入階段、由虛線邊構(gòu)成的第一矩形設(shè)定階段、附加矩形的設(shè)定階段、交集的求出階段、計算寬度和高度的階段、計算圖例的最佳位置階段、計算指北針的最佳位置階段和第一矩形QO位置的再確定階段。這樣的方法可有效避免現(xiàn)有技術(shù)中的使用手動的形式來實現(xiàn)的方式往往效率低下并且難以實現(xiàn)最佳位置的擺放的缺陷。
[0004]為了克服現(xiàn)有技術(shù)中的不足,本發(fā)明提供了一種通過計算機構(gòu)造電子地圖中的調(diào)整圖例和指北針的方法的解決方案,具體如下:
[0005]一種通過計算機構(gòu)造電子地圖中的調(diào)整圖例和指北針的方法,步驟如下:
[0006]步驟1:預(yù)處理階段,所述的預(yù)處理階段為首先在計算機中設(shè)置有用來調(diào)整圖例和指北針的模塊;
[0007]步驟2:導(dǎo)入階段,所述的導(dǎo)入階段為通過計算機啟動用來調(diào)整圖例和指北針的模塊來輸入用于電子地圖將要顯示的地圖全部范圍的多邊形輪廓PO、圖例的輪廓、指北針的輪廓;
[0008]步驟3:由虛線邊構(gòu)成的第一矩形設(shè)定階段,由虛線邊構(gòu)成的矩形設(shè)定階段為作由虛線邊構(gòu)成的第一矩形Q0,使得虛線邊構(gòu)成的第一矩形QO的虛線邊相切于地圖全部范圍的多邊形輪廓PO,且虛線邊構(gòu)成的第一矩形QO包含地圖全部范圍的多邊形輪廓PO,且虛線邊構(gòu)成的第一矩形QO各邊平行或垂直于設(shè)定的平面直角坐標(biāo)系的坐標(biāo)軸;
[0009]步驟4:附加矩形的設(shè)定階段,所述的附加矩形的設(shè)定階段為在由虛線邊構(gòu)成的第一矩形QO的右上角、左上角、左下角以及右下角分別放置由虛線邊構(gòu)成的第二矩形Q1、由虛線邊構(gòu)成的第三矩形Q2、由虛線邊構(gòu)成的第四矩形Q3和由虛線邊構(gòu)成的第五矩形Q4,使得由虛線邊構(gòu)成的第二矩形Ql和由虛線邊構(gòu)成的第三矩形Q2與外接于指北針的輪廓的矩形大小一致,且由虛線邊構(gòu)成的第四矩形Q3和由虛線邊構(gòu)成的第五矩形Q4與外接于圖例的輪廓的矩形大小一致;
[0010]將由虛線邊構(gòu)成的第二矩形Ql的X坐標(biāo)最小值和Y坐標(biāo)最小值分別記為Ql.Xmin和 Ql.Ymin ;
[0011]將由虛線邊構(gòu)成的第三矩形Q2的X坐標(biāo)最大值和Y坐標(biāo)最小值分別記為Q2.Xmax和 Q2.Ymin ;
[0012]將由虛線邊構(gòu)成的第四矩形Q3的X坐標(biāo)最大值和Y坐標(biāo)最大值分別記為Q3.Xmax和 Q3.Ymax ;
[0013]將由虛線邊構(gòu)成的第五矩形Q4的X坐標(biāo)最小值和Y坐標(biāo)最大值分別記為Q4.Xmin和 Q4.Ymax ;
[0014]步驟5:交集的求出階段,所述的交集的求出階段為求由虛線邊構(gòu)成的第一矩形PO分別與由虛線邊構(gòu)成的第二矩形Q1、由虛線邊構(gòu)成的第三矩形Q2、由虛線邊構(gòu)成的第四矩形Q3和由虛線邊構(gòu)成的第五矩形Q4在二維直角坐標(biāo)系下的交集,分別得到第一多邊形R1、第二多邊形R2、第三多邊形R3和第四多邊形R4 ;
[0015]將第一多邊形Rl的X坐標(biāo)最大值和Y坐標(biāo)最大值分別記為Rl.Xmax和Rl.Ymax ;
[0016]將第二多邊形R2的X坐標(biāo)最小值和Y坐標(biāo)最大值分別記為R2.Xmin和R2.Ymax ;
[0017]將第三多邊形R3的X坐標(biāo)最小值和Y坐標(biāo)最小值分別記為R3.Xmin和R3.Ymin ;
[0018]將第四多邊形R4的X坐標(biāo)最大值和Y坐標(biāo)最小值分別記為R4.Xmax和R4.Ymin ;
[0019]步驟6:計算寬度和高度的階段,所述的計算寬度和高度的階段為計算第一寬度數(shù)值wl、第二寬度數(shù)值《2、第三寬度數(shù)值《3、第四寬度數(shù)值《4、第一高度數(shù)值hl、第二高度數(shù)值h2、第三高度數(shù)值h3和第四高度數(shù)值h4,具體如下:
[0020]當(dāng)?shù)谝欢噙呅蜶l存在時計算第一寬度數(shù)值wl和第一高度數(shù)值hl,使得:wl =Rl.Xmax-Q1.Xmin, hi = Rl.Ymax-Q1.Ymin ;當(dāng)?shù)谝欢噙呅?Rl 不存在時,wl = O, hi = O ;
[0021]當(dāng)?shù)诙噙呅蜶2存在時計算第二寬度數(shù)值w2和第二高度數(shù)值h2,使得:w2 =Q2.Xmax-R2.Xmin, h2 = R2.Ymax-Q2.Ymin ;當(dāng)?shù)诙噙呅?R2 不存在時,w2 = O, h2 = O ;
[0022]當(dāng)?shù)谌噙呅蜶3存在時計算第三寬度數(shù)值w3和第三高度數(shù)值h3,使得:w3 =Q3.Xmax-R3.Xmin, h3 = Q3.Ymax-R3.Ymin ;當(dāng)?shù)谌噙呅?R3 不存在時,w3 = O, h3 = O ;
[0023]當(dāng)?shù)谒亩噙呅蜶4存在時計算第四寬度數(shù)值w4和第四高度數(shù)值h4,使得:w4 =R4.Xmax-Q4.Xmin, h4 = Q4.Ymax-R4.Ymin ;當(dāng)多邊形 R4 不存在時,w4 = O, h4 = O ;
[0024]步驟7:計算圖例的最佳位置階段,所述的計算圖例的最佳位置階段為計算數(shù)值第一最佳位置系數(shù)dl、第三最佳位置系數(shù)d3和第四最佳位置系數(shù)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:計算指北針的最佳位置階段,所述的計算指北針的最佳位置階段為計算第二最佳位置系數(shù)并確定指北針相對于圖框的最佳位置:
[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位置的再確定階段為將由虛線邊構(gòu)成的第一矩形QO的左邊、上邊、右邊、下邊分別向矩形外平移dl、d2、d3和d4的距離,得到新的由虛線邊構(gòu)成的第一矩形QO的位置。這樣就能由步驟7確定的圖例相對于圖框的最佳位置、步驟8確定的指北針相對于圖框的最佳位置,以及步驟9得到的新的由虛線邊構(gòu)成的第一矩形QO的位置。
[0037]由這些技術(shù)特征,本發(fā)明的調(diào)整方法生成效率高,能夠真正實現(xiàn)自動調(diào)整。
【附圖說明】
[0038]圖1為本發(fā)明的一種電子地圖制作的批量生成系統(tǒng)流程示意圖。
[0039]圖2為本發(fā)明實施例的步驟3的效果示意圖。
[0040]圖3為本發(fā)明實施例的步驟4的效果示意圖。
[0041]圖4為本發(fā)明實施例的步驟5的效果示意圖。
【具體實施方式】
[0042]本發(fā)明的目的是研制自動化的高效的一種通過計算機構(gòu)造電子地圖中的調(diào)整圖例和指北針的方法,通過附圖和實施例來進行進一步的說明:
[0043]如圖1所示,通過計算機構(gòu)造電子地圖中的調(diào)整圖例和指北針的方法,步驟如下:
[0044]步驟1:預(yù)處理階段,所述的預(yù)處理階段為首先在計算機中設(shè)置有用來調(diào)整圖例和指北針的模塊;
[0045]步驟2:導(dǎo)入階段,所述的導(dǎo)入階段為通過計算機啟動用來調(diào)整圖例和指北針的模塊來輸入用于電子地圖將要顯示的地圖全部范圍的多邊形輪廓PO、圖例的輪廓、指北針的輪廓;
[0046]步驟3:由虛線邊構(gòu)成的第一矩形設(shè)定階段,如圖2所示,由虛線邊構(gòu)成的矩形設(shè)定階段為作由虛線邊構(gòu)成的第一矩形Q0,使得虛線邊構(gòu)成的第一矩形QO的虛線邊相切于地圖全部范圍的多邊形輪廓PO,且虛線邊構(gòu)成的第一矩形QO包含地圖全部范圍的多邊形輪廓PO,且虛線邊構(gòu)成的第一矩形QO各邊平行或垂直于設(shè)定的平面直角坐標(biāo)系的坐標(biāo)軸;
[0047]步驟4:附加矩形的設(shè)定階段,如圖3所示,所述的附加矩形的設(shè)定階段為在由虛線邊構(gòu)成的第一矩形QO的右上角、左上角、左下角以及右下角分別放置由虛線邊構(gòu)成的第二矩形Q1、由虛線邊構(gòu)成的第三矩形Q2、由虛線邊構(gòu)成的第四矩形Q3和由虛線邊構(gòu)成的第五矩形Q4,使得由虛線邊構(gòu)成的第二矩形Ql和由虛線邊構(gòu)成的第三矩形Q2與外接于指北針的輪廓的矩形大小一致,且由虛線邊構(gòu)成的第四矩形Q3和由虛線邊構(gòu)成的第五矩形Q4與外接于圖例的輪廓的矩形大小一致;
[0048]將由虛線邊構(gòu)成的第二矩形Ql的X坐標(biāo)最小值和Y坐標(biāo)最小值分別記為Ql.Xmin和 Ql.Ymin ;
[0049]將由虛線邊構(gòu)成的第三矩形Q2的X坐標(biāo)最大值和Y坐標(biāo)最小值分別記為Q2.Xmax和 Q2.Ymin ;
[0050]將由虛線邊構(gòu)成的第四矩形Q3的X坐標(biāo)最大值和Y坐標(biāo)最大值分別記為Q3.Xmax和 Q3.Ymax ;
[0051]將由虛線邊構(gòu)成的第五矩形Q4的X坐標(biāo)最小值和Y坐標(biāo)最大值分別記為Q4.Xmin和 Q4.Ymax ;
[0052]步驟5:交集的求出階段,如圖4所示,所述的交集的求出階段為求由虛線邊構(gòu)成的第一矩形PO分別與由虛線邊構(gòu)成的第二矩形Ql、由虛線邊構(gòu)成的第三矩形Q2、由虛線邊構(gòu)成的第四矩形Q3和由虛線邊構(gòu)成的第五矩形Q4在二維直角坐標(biāo)系下的交集,分別得到第一多邊形R1、第二多邊形R2、第三多邊形R3和第四多邊形R4 ;
[0053]將第一多邊形Rl的X坐標(biāo)最大值和Y坐標(biāo)最大值分別記為Rl.Xmax和Rl.Ymax ;
[0054]將第二多邊形R2的X坐標(biāo)最小值和Y坐標(biāo)最大值分別記為R2.Xmin和R2.Ymax ;
[0055]將第三多邊形R3的X坐標(biāo)最小值和Y坐標(biāo)