字符串配置裝置制造方法
【專利摘要】本發(fā)明的字符串配置裝置具備:字符串配置數(shù)據(jù)獲取部(2),獲取用于沿著道路配置字符串的字符串配置數(shù)據(jù);道路節(jié)點(diǎn)列間除部(3),對(duì)構(gòu)成由字符串配置數(shù)據(jù)獲取部(2)獲取的字符串配置數(shù)據(jù)中包含的道路節(jié)點(diǎn)列的節(jié)點(diǎn)的一部分進(jìn)行間除;控制點(diǎn)列制作部(4),根據(jù)由道路節(jié)點(diǎn)列間除部(3)間除之后的道路節(jié)點(diǎn)列制作控制點(diǎn)列;曲線近似部(5),制作用直線對(duì)由通過(guò)控制點(diǎn)列制作部(4)制作的控制點(diǎn)列形成的曲線進(jìn)行了近似的節(jié)點(diǎn)列;曲線近似節(jié)點(diǎn)列存儲(chǔ)部(6),將由曲線近似部(5)制作出的節(jié)點(diǎn)列保存為曲線近似節(jié)點(diǎn)列;以及字符串配置處理部(13a),根據(jù)曲線近似節(jié)點(diǎn)列存儲(chǔ)部(6)中保存的曲線近似節(jié)點(diǎn)列進(jìn)行字符串的配置處理。
【專利說(shuō)明】字符串配置裝置
【技術(shù)領(lǐng)域】
[0001 ] 本發(fā)明涉及在地圖上配置道路名稱等字符串的字符串配置裝置。
【背景技術(shù)】
[0002]以往,已知搭載了字符串配置功能的車輛導(dǎo)航系統(tǒng),其中,所述字符串配置功能是將道路名稱等字符串從開(kāi)始字符串的配置的節(jié)點(diǎn)(以下稱為“配置開(kāi)始節(jié)點(diǎn)”)起沿著道路線(以下稱為“道路節(jié)點(diǎn)列”)配置字符串的功能(例如,參照專利文獻(xiàn)I?專利文獻(xiàn)3)。如果使用該字符串配置功能,則與道路平行地配置字符,所以在配置橫跨2個(gè)線路(link)的字符串的情況下,道路線路的角度變化(以下稱為“道路角度變化”)和字符的配置角度的變化(以下稱為“字符角度變化”)變得相等。
[0003]專利文獻(xiàn)1:日本特開(kāi)2008-76593號(hào)公報(bào)
[0004]專利文獻(xiàn)2:日本特開(kāi)2000-29450號(hào)公報(bào)
[0005]專利文獻(xiàn)3:日本特開(kāi)平6-259525號(hào)公報(bào)
【發(fā)明內(nèi)容】
[0006]關(guān)于使用上述以往的字符串配置裝置中的字符串配置功能來(lái)顯示的字符串,由于道路角度變化和字符角度變化相等,所以存在如下問(wèn)題:隨著道路角度變化變大,字符角度變化也變大,字符串的可讀性降低。
[0007]本發(fā)明是為了解決該問(wèn)題而完成的,其課題在于提供一種提高了字符串的可讀性的字符串配置裝置。
[0008]本發(fā)明涉及的字符串配置裝置具備:字符串配置數(shù)據(jù)獲取部,獲取用于沿著道路配置字符串的字符串配置數(shù)據(jù);道路節(jié)點(diǎn)列間除部,對(duì)構(gòu)成由字符串配置數(shù)據(jù)獲取部獲取的字符串配置數(shù)據(jù)中包含的道路節(jié)點(diǎn)列的節(jié)點(diǎn)的一部分進(jìn)行間除;控制點(diǎn)列制作部,根據(jù)由道路節(jié)點(diǎn)列間除部間除之后的道路節(jié)點(diǎn)列,制作控制點(diǎn)列;曲線近似部,制作用直線對(duì)由通過(guò)控制點(diǎn)列制作部制作出的控制點(diǎn)列形成的曲線進(jìn)行了近似的節(jié)點(diǎn)列;曲線近似節(jié)點(diǎn)列存儲(chǔ)部,將由曲線近似部制作出的節(jié)點(diǎn)列保存為曲線近似節(jié)點(diǎn)列;以及字符串配置處理部,根據(jù)曲線近似節(jié)點(diǎn)列存儲(chǔ)部中保存的曲線近似節(jié)點(diǎn)列,進(jìn)行字符串的配置處理。
[0009]根據(jù)本發(fā)明的字符串配置裝置,通過(guò)在根據(jù)道路線路制作出的曲線上配置字符串,能夠減小字符角度變化,所以能夠提高字符串的可讀性。
【專利附圖】
【附圖說(shuō)明】
[0010]圖1是示出本發(fā)明的實(shí)施方式I的字符串配置裝置的結(jié)構(gòu)的框圖。
[0011]圖2是示出本發(fā)明的實(shí)施方式I的字符串配置裝置的曲線近似部的詳細(xì)的結(jié)構(gòu)的框圖。
[0012]圖3是示出本發(fā)明的實(shí)施方式I的字符串配置裝置的字符串配置計(jì)算部的詳細(xì)的結(jié)構(gòu)的框圖。[0013]圖4是示出本發(fā)明的實(shí)施方式I的字符串配置裝置的字符配置部的詳細(xì)的結(jié)構(gòu)的框圖。
[0014]圖5是示出本發(fā)明的實(shí)施方式I的字符串配置裝置的動(dòng)作的流程圖。
[0015]圖6是示出在本發(fā)明的實(shí)施方式I的字符串配置裝置中作為處理對(duì)象的道路節(jié)點(diǎn)列中的節(jié)點(diǎn)與線路的關(guān)系的例子的圖。
[0016]圖7是示出本發(fā)明的實(shí)施方式I的字符串配置裝置的道路節(jié)點(diǎn)列間除部中進(jìn)行的道路節(jié)點(diǎn)列的間除處理的流程圖。
[0017]圖8是示出在本發(fā)明的實(shí)施方式I的字符串配置裝置中進(jìn)行的間除處理后的道路節(jié)點(diǎn)列中的節(jié)點(diǎn)與線路的關(guān)系的例子的圖。
[0018]圖9是示出在本發(fā)明的實(shí)施方式I的字符串配置裝置中的間除處理后作為處理對(duì)象的道路節(jié)點(diǎn)列中的節(jié)點(diǎn)與線路的關(guān)系的例子的圖。
[0019]圖10是示出本發(fā)明的實(shí)施方式I的字符串配置裝置的控制點(diǎn)列制作部中進(jìn)行的控制點(diǎn)列的制作處理的流程圖。
[0020]圖11是示出本發(fā)明的實(shí)施方式I的字符串配置裝置的控制點(diǎn)列制作部中進(jìn)行的控制點(diǎn)列的制作處理中求出的控制點(diǎn)列的例子的圖。
[0021]圖12是示出本發(fā)明的實(shí)施方式I的字符串配置裝置的曲線近似部中進(jìn)行的曲線近似節(jié)點(diǎn)列的制作處理的流程圖。
[0022]圖13是用于說(shuō)明本發(fā)明的實(shí)施方式I的字符串配置裝置中進(jìn)行的曲線近似節(jié)點(diǎn)列的制作處理的說(shuō)明圖。
[0023]圖14是詳細(xì)地示出本發(fā)明的實(shí)施方式I的字符串配置裝置中進(jìn)行的曲線近似節(jié)點(diǎn)列的制作處理的一部分的流程圖。
[0024]圖15是示出由本發(fā)明的實(shí)施方式I的字符串配置裝置在曲線近似后獲取的曲線近似節(jié)點(diǎn)列與道路節(jié)點(diǎn)列的關(guān)系的圖。
[0025]圖16是示出本發(fā)明的實(shí)施方式I的字符串配置裝置的字符串配置計(jì)算部中進(jìn)行的字符串配置處理的流程圖。
[0026]圖17是示出本發(fā)明的實(shí)施方式I的字符串配置裝置的字符配置部中進(jìn)行的字符配置處理的詳細(xì)內(nèi)容的流程圖。
[0027]圖18是用于說(shuō)明本發(fā)明的實(shí)施方式I的字符串配置裝置中進(jìn)行的字符的配置處理的圖。
[0028]圖19是用于說(shuō)明本發(fā)明的實(shí)施方式I的字符串配置裝置中進(jìn)行的字符的配置處理的圖。
[0029]圖20是用于說(shuō)明通過(guò)本發(fā)明的實(shí)施方式I的字符串配置裝置中進(jìn)行的字符的配置處理而配置的字符串的圖。
[0030]圖21是用于說(shuō)明通過(guò)本發(fā)明的實(shí)施方式I的字符串配置裝置中進(jìn)行的字符的配置處理而配置的字符串的圖。
[0031](符號(hào)說(shuō)明)
[0032]1:字符串配置數(shù)據(jù)存儲(chǔ)部;2:字符串配置數(shù)據(jù)獲取部;3:道路節(jié)點(diǎn)列間除部;4:控制點(diǎn)列制作部;5:曲線近似部;6:曲線近似節(jié)點(diǎn)列存儲(chǔ)部;7:曲線近似節(jié)點(diǎn)登記部;8:直線判定部;9:曲線上中間點(diǎn)制作部;10:如半曲線近似部;11:后半曲線近似部;12:單數(shù)直線近似部;13a:字符串配置處理部;13:曲線近似節(jié)點(diǎn)列獲取部;14:字符串配置計(jì)算部;15:字符串配置登記部;16:輸出字符串配置存儲(chǔ)部;17:線路角度計(jì)算部;18:字符配置部;19:字符線路外判定部;20:重疊判定部;21:參數(shù)更新部;22:字符數(shù)判定部;23:初始字符判定部;24:字符配置位置決定部;25:字符左下坐標(biāo)計(jì)算部;26:下一字符配置距尚更新部。
【具體實(shí)施方式】
[0033]以下,參照附圖,詳細(xì)說(shuō)明本發(fā)明的實(shí)施方式。
[0034]實(shí)施方式1.[0035]圖1是示出本發(fā)明的實(shí)施方式I的字符串配置裝置的結(jié)構(gòu)的框圖。該字符串配置裝置具備字符串配置數(shù)據(jù)存儲(chǔ)部1、字符串配置數(shù)據(jù)獲取部2、道路節(jié)點(diǎn)列間除部3、控制點(diǎn)列制作部4、曲線近似部5、曲線近似節(jié)點(diǎn)列存儲(chǔ)部6以及字符串配置處理部13a,進(jìn)而,字符串配置處理部13a具備曲線近似節(jié)點(diǎn)列獲取部13、字符串配置計(jì)算部14、字符串配置登記部15以及輸出字符串配置存儲(chǔ)部16。
[0036]字符串配置數(shù)據(jù)存儲(chǔ)部I存儲(chǔ)字符串配置數(shù)據(jù)。字符串配置數(shù)據(jù)包括表示構(gòu)成字符串的多個(gè)字符、各字符的縱寬以及橫寬、字符串所沿著的道路節(jié)點(diǎn)列以及字符串的配置開(kāi)始節(jié)點(diǎn)的數(shù)據(jù)。字符串配置數(shù)據(jù)存儲(chǔ)部I中存儲(chǔ)的字符串配置數(shù)據(jù)通過(guò)字符串配置數(shù)據(jù)獲取部2讀出。
[0037]字符串配置數(shù)據(jù)獲取部2從字符串配置數(shù)據(jù)存儲(chǔ)部I讀出并獲取字符串配置數(shù)據(jù)。由該字符串配置數(shù)據(jù)獲取部2獲取的字符串配置數(shù)據(jù)被送到道路節(jié)點(diǎn)列間除部3。
[0038]道路節(jié)點(diǎn)列間除部3對(duì)構(gòu)成從字符串配置數(shù)據(jù)獲取部2送來(lái)的字符串配置數(shù)據(jù)中包含的道路節(jié)點(diǎn)列的節(jié)點(diǎn)的一部分進(jìn)行間除(thinning)。由該道路節(jié)點(diǎn)列間除部3對(duì)節(jié)點(diǎn)的一部分進(jìn)行了間除之后的道路節(jié)點(diǎn)列被送到控制點(diǎn)列制作部4。通過(guò)該道路節(jié)點(diǎn)列間除部3中的間除,能夠使字符串的軌跡平滑。
[0039]控制點(diǎn)列制作部4根據(jù)從道路節(jié)點(diǎn)列間除部3送來(lái)的、字符串所沿著的道路節(jié)點(diǎn)列,制作用于生成曲線的控制點(diǎn)列。由該控制點(diǎn)列制作部4制作的控制點(diǎn)列被送到曲線近似部5。
[0040]曲線近似部5根據(jù)從控制點(diǎn)列制作部4送來(lái)的控制點(diǎn)列來(lái)制作曲線,對(duì)該制作出的曲線進(jìn)行直線近似而生成節(jié)點(diǎn)列。由該曲線近似部5生成的節(jié)點(diǎn)列作為曲線近似節(jié)點(diǎn)列被送到曲線近似節(jié)點(diǎn)列存儲(chǔ)部6。通過(guò)用直線來(lái)近似在該曲線近似部5中根據(jù)道路線路制作出的曲線,從而能夠使字符配置高速化。關(guān)于該曲線近似部5的詳細(xì)內(nèi)容,在后面描述。
[0041]曲線近似節(jié)點(diǎn)列存儲(chǔ)部6保存從曲線近似部5送來(lái)的曲線近似節(jié)點(diǎn)列。由曲線近似節(jié)點(diǎn)列獲取部13讀出該曲線近似節(jié)點(diǎn)列存儲(chǔ)部6中保存的曲線近似節(jié)點(diǎn)列。曲線近似節(jié)點(diǎn)列獲取部13從曲線近似節(jié)點(diǎn)列存儲(chǔ)部6讀出并獲取曲線近似節(jié)點(diǎn)列。由該曲線近似節(jié)點(diǎn)列獲取部13獲取的曲線近似節(jié)點(diǎn)列被送到字符串配置計(jì)算部14。
[0042]字符串配置計(jì)算部14根據(jù)從曲線近似節(jié)點(diǎn)列獲取部13送來(lái)的曲線近似節(jié)點(diǎn)列,計(jì)算字符串的配置位置。由該字符串配置計(jì)算部14計(jì)算出的字符串的配置位置被送到字符串配置登記部15。關(guān)于該字符串配置計(jì)算部14的詳細(xì)內(nèi)容,在后面描述。
[0043]字符串配置登記部15在從字符串配置計(jì)算部14送來(lái)的判定結(jié)果表示達(dá)到了既定的字符數(shù)的情況下,將從該字符串配置計(jì)算部14送來(lái)的字符串的配置位置登記到輸出字符串配置存儲(chǔ)部16。輸出字符串配置存儲(chǔ)部16存儲(chǔ)由字符串配置登記部15登記的字符串的配置位置。
[0044]接下來(lái),說(shuō)明上述曲線近似部5的詳細(xì)內(nèi)容。圖2是示出曲線近似部5的詳細(xì)的結(jié)構(gòu)的框圖。曲線近似部5具備曲線近似節(jié)點(diǎn)登記部7、直線判定部8、曲線上中間點(diǎn)制作部9、前半曲線近似部10、后半曲線近似部11以及單數(shù)直線近似部12。
[0045]曲線近似節(jié)點(diǎn)登記部7將從后半曲線近似部11或者單數(shù)直線近似部12送來(lái)的曲線近似節(jié)點(diǎn)列登記到曲線近似節(jié)點(diǎn)列存儲(chǔ)部6。直線判定部8判定根據(jù)從控制點(diǎn)列制作部4送來(lái)的控制點(diǎn)列制作出的曲線能否用直線近似、換言之判定是否接近直線。如果在該直線判定部8中判斷為不接近直線,則順序(sequence)轉(zhuǎn)移到曲線上中間點(diǎn)制作部9中的處理,如果判斷為接近直線,則轉(zhuǎn)移到單數(shù)直線近似部12中的處理。
[0046]曲線上中間點(diǎn)制作部9制作根據(jù)從控制點(diǎn)列制作部4送來(lái)的控制點(diǎn)列制作出的曲線上的中間點(diǎn)。由該曲線上中間點(diǎn)制作部9制作出的中間點(diǎn)被送到前半曲線近似部10以及后半曲線近似部U。前半曲線近似部10用直線近似根據(jù)從控制點(diǎn)列制作部4送來(lái)的控制點(diǎn)列制作出的曲線中的、在從曲線上中間點(diǎn)制作部9送來(lái)的中間點(diǎn)之前的曲線。通過(guò)該前半曲線近似部10中的直線近似來(lái)制作出的節(jié)點(diǎn)列被送到后半曲線近似部11。
[0047]后半曲線近似部11用直線近似根據(jù)從控制點(diǎn)列制作部4送來(lái)的控制點(diǎn)列制作出的曲線中的、在從曲線上中間點(diǎn)制作部9送來(lái)的中間點(diǎn)之后的曲線。通過(guò)該后半曲線近似部11中的直線近似來(lái)制作出的節(jié)點(diǎn)列與從前半曲線近似部10送來(lái)的節(jié)點(diǎn)列連起來(lái)作為曲線近似節(jié)點(diǎn)列被送到曲線近似節(jié)點(diǎn)登記部7。
[0048]單數(shù)直線近似部12用I條直線近似根據(jù)從控制點(diǎn)列制作部4送來(lái)的控制點(diǎn)列制作出的曲線。在該單數(shù)直線近似部12中通過(guò)直線近似來(lái)制作出的節(jié)點(diǎn)列作為曲線近似節(jié)點(diǎn)列被送到曲線近似節(jié)點(diǎn)登記部7。
[0049]接下來(lái),說(shuō)明上述字符串配置計(jì)算部14的詳細(xì)內(nèi)容。圖3是示出字符串配置計(jì)算部14的詳細(xì)的結(jié)構(gòu)的框圖。字符串配置計(jì)算部14具備線路角度計(jì)算部17、字符配置部18、字符線路外判定部19、重疊判定部20、參數(shù)更新部21以及字符數(shù)判定部22。
[0050]線路角度計(jì)算部17根據(jù)從曲線近似節(jié)點(diǎn)列獲取部13送來(lái)的曲線近似節(jié)點(diǎn)列,計(jì)算在各節(jié)點(diǎn)處線路形成的角度(以下稱為“線路角度”)。由該線路角度計(jì)算部17計(jì)算出的線路角度被送到字符配置部18。
[0051]字符配置部18根據(jù)從線路角度計(jì)算部17送來(lái)的線路角度,配置字符。由該字符配置部18配置的字符被送到字符線路外判定部19。關(guān)于該字符配置部18的詳細(xì)內(nèi)容,在后面描述。字符線路外判定部19判定從字符配置部18送來(lái)的字符是否在線路外。該字符線路外判定部19中的判定結(jié)果被送到重疊判定部20。
[0052]重疊判定部20根據(jù)從字符線路外判定部19送來(lái)的判定結(jié)果,判定字符彼此是否重疊。該重疊判定部20中的判定結(jié)果被送到參數(shù)更新部21。參數(shù)更新部21依照從重疊判定部20送來(lái)的判定結(jié)果,更新字符串配置中使用的參數(shù)。由該參數(shù)更新部21更新后的參數(shù)被送到字符數(shù)判定部22。
[0053]字符數(shù)判定部22參照從參數(shù)更新部21送來(lái)的參數(shù),判定是否達(dá)到了既定的字符數(shù)。該字符數(shù)判定部22中的判定結(jié)果被送到字符串配置登記部15。[0054]接下來(lái),說(shuō)明上述字符配置部18的詳細(xì)內(nèi)容。圖4是示出字符配置部18的詳細(xì)的結(jié)構(gòu)的框圖。字符配置部18具備初始字符判定部23、字符配置位置決定部24、字符左下坐標(biāo)計(jì)算部25以及下一字符配置距離更新部26。
[0055]初始字符判定部23判定根據(jù)從線路角度計(jì)算部17送來(lái)的線路角度配置的字符是否為字符串中的第I個(gè)字符。該初始字符判定部23中的判定結(jié)果被送到字符配置位置決定部24以及字符左下坐標(biāo)計(jì)算部25。
[0056]字符配置位置決定部24根據(jù)從初始字符判定部23送來(lái)的判定結(jié)果、或者根據(jù)由字符左下坐標(biāo)計(jì)算部25計(jì)算出的字符的左下坐標(biāo),決定字符的配置位置。由該字符配置位置決定部24決定的配置位置被送到字符配置位置決定部24或者字符左下坐標(biāo)計(jì)算部25。
[0057]字符左下坐標(biāo)計(jì)算部25根據(jù)從初始字符判定部23送來(lái)的判定結(jié)果,計(jì)算字符的左下坐標(biāo)。由字符左下坐標(biāo)計(jì)算部25計(jì)算出的字符的左下坐標(biāo)被送到字符配置位置決定部24或者下一字符配置距離更新部26。下一字符配置距離更新部26根據(jù)由字符左下坐標(biāo)計(jì)算部25計(jì)算出的字符的左下坐標(biāo),決定直至下一字符為止的距離,更新字符間隔。由該下一字符配置距離更新部26更新后的字符間隔被送到字符線路外判定部19。
[0058]接下來(lái),說(shuō)明如上那樣構(gòu)成的實(shí)施方式I的字符串配置裝置的動(dòng)作。圖5是示出字符串配置裝置的動(dòng)作的流程圖。
[0059]在實(shí)施方式I中,作為一個(gè)例子,設(shè)為如下而進(jìn)行說(shuō)明:字符串配置數(shù)據(jù)包括字符串“String”中的各字符的橫寬、縱寬以及字符串“String”所沿著的道路節(jié)點(diǎn)列,字符串“String”中的各字符的縱寬是10、橫寬是5,字符串“String”所沿著的道路節(jié)點(diǎn)列是P (I)=(0,10), P (2)= (5,10), P (3)= (10,10), P (4)= (50,10)以及 P (5)= (10,50),開(kāi)始字符串的配置的節(jié)點(diǎn)是P (D= (0,10)o
[0060]另外,設(shè)為表示對(duì)曲線進(jìn)行直線近似時(shí)的線路的條數(shù)的SEPARATE_NUM是2,作為是用I條線路對(duì)曲線進(jìn)行近似還是用多條線路對(duì)曲線進(jìn)行近似的判斷中使用的距離的邊界的SEPARATE_THRESHOLD是15,作為是用I條線路對(duì)曲線進(jìn)行近似還是用多條線路對(duì)曲線進(jìn)行近似的判斷中使用的角度變化的邊界的STRAIGHT_THRESHOLD是10,作為判斷可否間除的距離的邊界的CULLING_THRESHOLD是10,作為range的增量的STEP_SIZE是1,詳細(xì)內(nèi)容在后面描述。圖6示出道路節(jié)點(diǎn)列中的節(jié)點(diǎn)與線路的關(guān)系的例子。
[0061]當(dāng)字符串配置裝置的動(dòng)作開(kāi)始時(shí),首先,獲取字符串?dāng)?shù)據(jù)(步驟ST11)。S卩,字符串配置數(shù)據(jù)獲取部2從字符串配置數(shù)據(jù)存儲(chǔ)部I讀出字符串配置數(shù)據(jù),獲取字符串所沿著的道路節(jié)點(diǎn)列和字符串的配置開(kāi)始節(jié)點(diǎn)。在該例子中,獲取字符串“String”所沿著的道路節(jié)點(diǎn)列和開(kāi)始字符串“String”的配置的節(jié)點(diǎn)。
[0062]接下來(lái),進(jìn)行道路節(jié)點(diǎn)列的間除(步驟ST12)。即,道路節(jié)點(diǎn)列間除部3為了制作平滑的曲線,對(duì)構(gòu)成由字符串配置數(shù)據(jù)獲取部2獲取的字符串配置數(shù)據(jù)中包含的道路節(jié)點(diǎn)列的節(jié)點(diǎn)的一部分進(jìn)行間除。此處,參照?qǐng)D7所示的流程圖,說(shuō)明在道路節(jié)點(diǎn)列間除部3中進(jìn)行的道路節(jié)點(diǎn)列的間除處理的詳細(xì)內(nèi)容。
[0063]在道路節(jié)點(diǎn)列的間除處理中,道路節(jié)點(diǎn)列中包含的節(jié)點(diǎn)被依次掃描,滿足以下的3個(gè)條件的全部條件的節(jié)點(diǎn)從道路節(jié)點(diǎn)列被間除。
[0064](I)節(jié)點(diǎn)不是道路節(jié)點(diǎn)列的配置開(kāi)始節(jié)點(diǎn)或者配置結(jié)束節(jié)點(diǎn)
[0065](2)未對(duì)前面的節(jié)點(diǎn)進(jìn)行間除[0066](3)與前面的節(jié)點(diǎn)的距離是⑶LLING_THRESHOLD以下
[0067]當(dāng)?shù)缆饭?jié)點(diǎn)列的間除處理開(kāi)始時(shí),首先,變量ir被初始化為I (步驟ST121)。接下來(lái),如果變量ir是道路節(jié)點(diǎn)數(shù)以下,則循環(huán)開(kāi)始(步驟ST122)。當(dāng)循環(huán)開(kāi)始時(shí),首先,調(diào)查節(jié)點(diǎn)P (ir)是否為配置開(kāi)始節(jié)點(diǎn)或者配置結(jié)束節(jié)點(diǎn)(步驟ST123)。即,道路節(jié)點(diǎn)列間除部3調(diào)查從字符串配置數(shù)據(jù)獲取部2送來(lái)的字符串配置數(shù)據(jù)中包含的道路節(jié)點(diǎn)列中的節(jié)點(diǎn)P(ir)是否為配置開(kāi)始節(jié)點(diǎn)或者配置結(jié)束節(jié)點(diǎn)。如果在該步驟ST123中判斷為節(jié)點(diǎn)P(ir)是配置開(kāi)始節(jié)點(diǎn)或者配置結(jié)束節(jié)點(diǎn),則不滿足上述3個(gè)條件中的(I ),所以不進(jìn)行節(jié)點(diǎn)P (ir )的間除,順序進(jìn)入步驟ST127。
[0068]如果在上述步驟ST123中判斷為節(jié)點(diǎn)P (ir)不是配置開(kāi)始節(jié)點(diǎn)或者配置結(jié)束節(jié)點(diǎn),則接下來(lái),調(diào)查節(jié)點(diǎn)P (ir — I)是否被間除(步驟ST124)。即,道路節(jié)點(diǎn)列間除部3調(diào)查是否對(duì)前一個(gè)節(jié)點(diǎn)P (ir — I)進(jìn)行了間除。如果在該步驟ST124中判斷為節(jié)點(diǎn)P (ir —I)被間除,則不滿足上述3個(gè)條件中的(2),所以不進(jìn)行節(jié)點(diǎn)P (ir)的間除,順序進(jìn)入步驟ST127。
[0069]如果在上述步驟ST124中判斷為未對(duì)節(jié)點(diǎn)P (ir — I)進(jìn)行間除,則接下來(lái),調(diào)查節(jié)點(diǎn)P (ir — I)與節(jié)點(diǎn)P (ir)的距離是否為CULLING_THRESHOLD以下(步驟ST125)。即,道路節(jié)點(diǎn)列間除部3調(diào)查前面的節(jié)點(diǎn)P (ir — I)與當(dāng)前的節(jié)點(diǎn)P (ir)之間的距離是否為⑶LLING_THRESHOLD (在該例子中為10)以下。如果在該步驟ST125中判斷為節(jié)點(diǎn)P (ir —O與節(jié)點(diǎn)P (ir)的距離并非⑶LLING_THRESHOLD以下,則不滿足上述3個(gè)條件中的(3),所以不進(jìn)行節(jié)點(diǎn)P (ir)的間除,順序進(jìn)入步驟ST127。
[0070]另一方面,如果在步驟ST125中判斷為節(jié)點(diǎn)P (ir -1)與節(jié)點(diǎn)P (ir)的距離是⑶LLING_THRESHOLD以下,則理解為滿足了上述3個(gè)條件的全部的意思,接下來(lái),進(jìn)行節(jié)點(diǎn)P(ir)的刪除(步驟ST126)。即,道路節(jié)點(diǎn)列間除部3對(duì)從字符串配置數(shù)據(jù)獲取部2送來(lái)的字符串配置數(shù)據(jù)中包含的道路節(jié)點(diǎn)列中的節(jié)點(diǎn)(ir)進(jìn)行間除。之后,順序進(jìn)入步驟ST127。在步驟ST127中,變量ir被遞增,以后反復(fù)進(jìn)行步驟ST122與步驟ST127之間的處理,直至變量ir變得比道路節(jié)點(diǎn)數(shù)大為止。
[0071]通過(guò)以上的反復(fù)處理,節(jié)點(diǎn)P (I)?P (5)被如下那樣處理。首先,研究節(jié)點(diǎn)P(I)可否間除。此處,節(jié)點(diǎn)P (I)是道路節(jié)點(diǎn)列的配置開(kāi)始節(jié)點(diǎn),所以不被間除。接下來(lái),研究節(jié)點(diǎn)P (2)可否間除。此處,節(jié)點(diǎn)P (2)不是道路節(jié)點(diǎn)列的配置開(kāi)始節(jié)點(diǎn)或者配置結(jié)束節(jié)點(diǎn),前面的節(jié)點(diǎn)P (I)未被間除,并且節(jié)點(diǎn)P (I)與節(jié)點(diǎn)P (2)之間的距離是5,是作為⑶LLING_THRESHOLD的10以下。因此,滿足上述3個(gè)條件的全部,所以節(jié)點(diǎn)P (2)被間除。
[0072]接下來(lái),研究節(jié)點(diǎn)P (3)可否間除。此處,節(jié)點(diǎn)P (3)不是道路線路的配置開(kāi)始節(jié)點(diǎn)或者配置結(jié)束節(jié)點(diǎn),但前面的節(jié)點(diǎn)P (2)被間除,所以節(jié)點(diǎn)P (3)不被間除。以下同樣地,對(duì)節(jié)點(diǎn)P (4)以后也進(jìn)行處理。
[0073]以上處理的結(jié)果,如圖8所示,制作出節(jié)點(diǎn)P (2)被間除了的道路節(jié)點(diǎn)列、即由節(jié)點(diǎn)P (1)、P (3)、P (4)以及P (5)構(gòu)成的道路節(jié)點(diǎn)列。此處,如圖9所示,將間除后的道路節(jié)點(diǎn)列 P (1)、P (3)、P (4)以及 P (5)分別設(shè)為 P’(1)、P’(2)、Ρ’(3)以及 P’(4)來(lái)說(shuō)明以后的處理。
[0074]當(dāng)以上的道路節(jié)點(diǎn)列的間除處理結(jié)束時(shí),接下來(lái),如圖5的流程圖所示,制作控制點(diǎn)列(步驟ST13)。即,控制點(diǎn)列制作部4根據(jù)間除后的道路節(jié)點(diǎn)列,制作控制點(diǎn)列。此處,參照?qǐng)D10所示的流程圖,說(shuō)明控制點(diǎn)列的制作處理的詳細(xì)內(nèi)容。
[0075]在控制點(diǎn)列的制作處理中,首先,設(shè)定控制點(diǎn)列B (ic){ic=l,...,間除后的道路節(jié)點(diǎn)數(shù)一 2}。詳細(xì)而言,首先,變量ic被初始化為I (步驟ST131)。接下來(lái),如果變量ic是“間除后的道路節(jié)點(diǎn)數(shù)一 2”以下,則開(kāi)始循環(huán)(步驟ST132)。當(dāng)循環(huán)開(kāi)始時(shí),依照下述(I)式計(jì)算控制點(diǎn)B (ic)(步驟ST133)。之后,順序進(jìn)入步驟ST134。
[0076]B(ic)=P’(ic+1)…(I)
[0077]此處,ic=l,…,間除后的道路節(jié)點(diǎn)數(shù)一 2。
[0078]在步驟ST134中,變量ic被遞增,以后反復(fù)進(jìn)行步驟ST132與步驟ST134之間的處理,即反復(fù)進(jìn)行步驟ST133的處理,直至變量ic變得比“間除后的道路節(jié)點(diǎn)數(shù)一 2”大為止。
[0079]在以上的反復(fù)處理中,得到間除后的道路節(jié)點(diǎn)數(shù)=4,且控制點(diǎn)B (1)=P’ (2)=(10,10)以及控制點(diǎn) B (2)=P,(3)= (50,10)。
[0080]接下來(lái),設(shè)定控制點(diǎn)列A(ic){ic=l,...,間除后的道路節(jié)點(diǎn)數(shù)一I}。詳細(xì)而言,首先,變量ic被初始化為1(步驟ST135)。接下來(lái),如果變量ic是“間除后的道路節(jié)點(diǎn)數(shù)一 I”以下,則開(kāi)始循環(huán)(步驟ST136)。當(dāng)循環(huán)開(kāi)始時(shí),首先,調(diào)查變量ic是否為1(步驟ST137)。如果在該步驟ST137中判斷為變量ic是1,則接下來(lái),設(shè)定控制點(diǎn)A (ic)=P’ (ic)(步驟ST138)。之后,順序進(jìn)入步驟ST142。
[0081 ] 如果在上述步驟ST137中判斷為變量ic不是I,則接下來(lái),調(diào)查變量ic是否為“道路節(jié)點(diǎn)數(shù)一 I”(步驟ST139)。如果在該步驟ST139中判斷為變量ic是“道路節(jié)點(diǎn)數(shù)一 1”,則設(shè)定為控制點(diǎn)A (ic — 1)=P’ (ic)(步驟ST140)。之后,順序進(jìn)入步驟ST142。
[0082]另一方面,如果在步驟ST139中判斷為變量ic不是“道路節(jié)點(diǎn)數(shù)一 1”,則設(shè)定為控制點(diǎn)A (ic)= (B (ic - 1)+B (ic))/2 (步驟ST141)。之后,順序進(jìn)入步驟ST142。在步驟ST142中,變量ic被遞增,以后反復(fù)進(jìn)行步驟ST136與步驟ST142之間的處理,直至變量ic變得比“間除后的道路節(jié)點(diǎn)數(shù)一 I”大為止。
[0083]通過(guò)以上的反復(fù)處理,控制點(diǎn)A(ic)如以下所示,設(shè)定值根據(jù)變量ic的值而變化。首先,在ic=l的情況下,對(duì)控制點(diǎn)A (ic)設(shè)定節(jié)點(diǎn)P’(1),在變量ic是“道路節(jié)點(diǎn)數(shù)一 I”的情況下,對(duì)控制點(diǎn)A (ic — I)設(shè)定節(jié)點(diǎn)P’(ic)。在變量ic既不是I也不是“間除后的道路節(jié)點(diǎn)數(shù)一 I”的情況下,對(duì)控制點(diǎn)A (ic)設(shè)定控制點(diǎn)B (ic)與B (ic -1)的中點(diǎn)。
[0084]以上處理的結(jié)果,首先,設(shè)定控制點(diǎn)A (I)。關(guān)于控制點(diǎn)A (1),由于是ic=l,所以設(shè)定節(jié)點(diǎn)P’(I)。接下來(lái),設(shè)定控制點(diǎn)A (2)。關(guān)于控制點(diǎn)A (2),由于是ic古1、3,所以成為控制點(diǎn)B (I)與B (2)的中點(diǎn)(30,10)。之后,設(shè)定控制點(diǎn)A (3)。關(guān)于控制點(diǎn)A (3),由于是ic=3,所以設(shè)定節(jié)點(diǎn)P’(4)。這樣,如圖11所示,求出控制點(diǎn)列A (I)、A (2)以及A (3)、和控制點(diǎn)列B (I)以及B (2)。
[0085]當(dāng)以上的控制點(diǎn)列的制作處理結(jié)束時(shí),接下來(lái),如圖5的流程圖所示,制作對(duì)曲線進(jìn)行了近似的直線(步驟ST14)。即,曲線近似部5根據(jù)控制點(diǎn)列,制作對(duì)曲線進(jìn)行了近似的直線。此處,參照?qǐng)D12所示的流程圖,說(shuō)明在曲線近似部5中進(jìn)行的對(duì)曲線進(jìn)行了近似的直線(以下,曲線近似節(jié)點(diǎn)列)的制作處理的詳細(xì)內(nèi)容。
[0086]在曲線近似節(jié)點(diǎn)列的制作處理中,首先,變量ia被初始化為I (步驟ST151)。接下來(lái),進(jìn)行節(jié)點(diǎn)的登記(步驟ST152)。即,曲線近似節(jié)點(diǎn)登記部7將控制點(diǎn)A (I)保存到曲線近似節(jié)點(diǎn)列存儲(chǔ)部6。在該情況下,A (I) = (0,10)被保存到曲線近似節(jié)點(diǎn)列存儲(chǔ)部6。
[0087]接下來(lái),如果變量ia是“間除后的道路節(jié)點(diǎn)數(shù)一2”以下,則開(kāi)始循環(huán)(步驟ST153)。當(dāng)循環(huán)開(kāi)始時(shí),調(diào)查是否為線路(A (ia)、B (ia))與線路(B (ia)、A (ia+1))的角度變化<STRAIGHT_THRESHOLD (步驟ST154)。即,直線判定部8判定通過(guò)控制點(diǎn)A (ia)、B(ia)以及A (ia+Ι)制作的2次貝塞爾曲線(以后簡(jiǎn)稱為“貝塞爾曲線”)能否用直線近似。具體而言,首先,判定線路(A (ia),B (ia))與線路(B (ia),A (ia+1))的角度變化是否小于STRAIGHT_THRESHOLD。另外,變量ia表示控制點(diǎn)列的索引,線路(A (ia),B (ia))與線路(B (ia), A (ia+Ι))的角度變化Θ如圖13所示,是線路(A (ia), B (ia))的朝向與線路(B (ia), A (ia+Ι))的朝向的差分的絕對(duì)值。此處,線路(A (ia), B (ia))的朝向是將X軸設(shè)為0°、將y軸設(shè)為90°時(shí)的偏角。
[0088]在該例子中,在變量ic是I的情況下,如圖11所示,線路(A (1),B (I))的朝向成為0°,線路(B (I),A (2))的朝向也成為0°。因此,線路(A (I),B (I))與線路(B (I),A (2))的角度變化成為0°,在步驟ST154中判定為“是”。
[0089]如果在上述步驟ST154中,判斷為是線路(A (ia), B (ia))與線路(B (ia), A(ia+Ι))的角度變化<STRAIGHT_THRESHOLD,則用I條線路近似曲線(步驟ST155)。S卩,單數(shù)直線近似部12用線路(A (ia),A (ia+1))近似通過(guò)控制點(diǎn)A (ia)、B (ia)以及A (ia+1)制作的貝塞爾曲線。在該例子中,用線路(A (I), A (2))近似通過(guò)控制點(diǎn)A (I)、B (I)以及A (2)制作的貝塞爾曲線。
[0090]接下來(lái),進(jìn)行節(jié)點(diǎn)的登記(步驟ST156)。S卩,曲線近似節(jié)點(diǎn)登記部7將從單數(shù)直線近似部12送來(lái)的線路中的、除了已經(jīng)登記的A (I)以外的節(jié)點(diǎn)作為曲線近似節(jié)點(diǎn)保存到曲線近似節(jié)點(diǎn)列存儲(chǔ)部6。在該例子中,保存控制點(diǎn)A (2)。之后,順序進(jìn)入步驟ST166。
[0091]如果在上述步驟ST154中判斷為并非是線路(A (ia)、B (ia))與線路(B (ia)、A(ia+1))的角度變化<STRAIGHT_THRESHOLD,則順序進(jìn)入步驟ST157。在該例子中,如果進(jìn)入接下來(lái)的循環(huán)而變量ic成為2, 則直線判定部8調(diào)查線路(A (2),B (2))與線路(B (2), A(3))的角度變化是否小于STRAIGHT_THRESHOLD,由于線路(A (2),B (2))的朝向是0°,線路(B CZ), k (3))的朝向是135°,所以判定為線路(A (2),B (2))與線路(B CZ), k (3))的角度變化是STRAIGHT_THRESHOLD以上。因此,在步驟ST154中判定為“否”,順序進(jìn)入步驟ST157,進(jìn)行用多個(gè)直線近似通過(guò)控制點(diǎn)A (2)、B (2)以及A (3)制作的貝塞爾曲線的處理。
[0092]具體而言,在步驟ST157中,計(jì)算曲線上的中間點(diǎn)即點(diǎn)MP(ia)。S卩,曲線上中間點(diǎn)制作部9依照下述(2)式計(jì)算貝塞爾曲線上的點(diǎn)MP (ia)。在該例子中,如果在(2)式中代AA (2)= (30,10),B (2)= (50,10),A (3)= (10,50),則曲線上的點(diǎn) MP (2)= (35,20)。
[0093]MP (ia) = (1-0.5) 2A (ia) +2 (1-0.5).0.5B (ia) +0.52A (ia+1)…(2)
[0094]接下來(lái),調(diào)查是否為曲線上的點(diǎn)MP (ia)與控制點(diǎn)A (ia)之間的距離<SEPARATE_THRESHOLD(步驟ST158)。即,前半曲線近似部10調(diào)查通過(guò)下述(3)式求出的控制點(diǎn)A(ia)與曲線上的點(diǎn)MP (ia)之間的距離Distl是否小于SEPARATE_THRESHOLD。
[0095]如果在該步驟ST158中判斷為是曲線上的點(diǎn)MP (ia)與控制點(diǎn)A (ia)之間的距離<SEPARATE_THRESHOLD,則用I條線路近似曲線(步驟ST159)。即,單數(shù)直線近似部12用I條線路(A (ia),MP (ia))近似控制點(diǎn)A (ia)與曲線上的點(diǎn)MP (ia)之間的貝塞爾曲線。[0096]接下來(lái),進(jìn)行節(jié)點(diǎn)的登記(步驟ST160)。S卩,曲線近似節(jié)點(diǎn)登記部7將從單數(shù)直線近似部12送來(lái)的、用I條線路近似的節(jié)點(diǎn)保存到曲線近似節(jié)點(diǎn)列存儲(chǔ)部6。之后,順序進(jìn)入步驟ST162。
[0097]另一方面,如果在步驟ST158中判斷為并非是曲線上的點(diǎn)MP (ia)與控制點(diǎn)A (ia)之間的距離<SEPARATE_THRESHOLD,即判斷為距離Distl是SEPARATE_THRESHOLD以上,則用通過(guò)SEPARATE_NUM表示的條數(shù)的線路來(lái)近似控制點(diǎn)A (ia)與曲線上的點(diǎn)MP (ia)之間的貝塞爾曲線(步驟ST161)。
[0098]參照?qǐng)D14所示的流程圖,說(shuō)明在該步驟ST161中進(jìn)行的處理的詳細(xì)內(nèi)容。在該處理中,首先,變量im被初始化為I (步驟ST171)。接下來(lái),如果變量im是SEPARATE_NUM以下,則循環(huán)開(kāi)始(步驟ST172)。當(dāng)循環(huán)開(kāi)始時(shí),首先,計(jì)算曲線上的節(jié)點(diǎn)(步驟ST173)。SP,前半曲線近似部10依照下述(4)式,計(jì)算曲線上的點(diǎn)MP (ia)與控制點(diǎn)A (ia)之間的曲線上的節(jié)點(diǎn)。
[0099]Distl = I IA (ia)-MP (ia) | 1...(3)
[0100]BP (ia, im) = (l_t (im)) 2A (ia)+2 (l_t (im)) t (im) B (ia)+t (im) 2A (ia+Ι)…(4)
[0101]t(im) = 0.5 X im/SERARATE_NUM…(5)
[0102]此處,(4)式中的t (im)是(5)式所示的值,BP (ia,im)是在控制點(diǎn)A (ia)與曲線上的點(diǎn)MP (ia)之間的貝塞爾曲線上制作的第im個(gè)節(jié)點(diǎn)。
[0103]接下來(lái),進(jìn)行節(jié)點(diǎn)的登記(步驟ST174)。S卩,曲線近似節(jié)點(diǎn)登記部7將由前半曲線近似部10計(jì)算出的節(jié)點(diǎn)中的、除了已經(jīng)登記的節(jié)點(diǎn)以外的曲線上的節(jié)點(diǎn)登記到曲線近似節(jié)點(diǎn)列存儲(chǔ)部6。接下 來(lái),變量im被遞增,以后反復(fù)進(jìn)行步驟ST172與步驟ST175之間的處理,直至變量im變得比SEPARATE_NUM大為止。如果在該反復(fù)處理中變量im變得比SEPARATE_NUM大,則順序進(jìn)入圖12所示的步驟ST162。
[0104]在該情況下,Distl是 11.18,是 SEPARATE_THRESHOLD 以下。因此,用線路(A(2),MP (2))近似控制點(diǎn)A (2)與曲線上的點(diǎn)MP (2)之間的曲線。在該情況下,在節(jié)點(diǎn)的登記中,保存曲線上的點(diǎn)MP (2)。
[0105]在步驟ST162中,調(diào)查是否為曲線上的點(diǎn)MP (ia)與控制點(diǎn)A (ia+Ι)之間的距離<SEPARATE_THRESHOLD。即,后半曲線近似部11調(diào)查依照下述(6)式計(jì)算出的曲線上的點(diǎn)MP (ia)與控制點(diǎn) A (ia+Ι)的距離 Dist2 是否小于 SEPARATE_THRESHOLD。
[0106]如果在該步驟ST162中判斷為是曲線上的點(diǎn)MP (ia)與控制點(diǎn)A (ia+Ι)之間的距離<SEPARATE_THRESHOLD,則用I條線路近似曲線(步驟ST163)。即,單數(shù)直線近似部12用I條線路(MP (ia),A (ia))近似曲線上的點(diǎn)MP (ia)與控制點(diǎn)A (ia+Ι)之間的貝塞爾曲線。
[0107]接下來(lái),進(jìn)行節(jié)點(diǎn)的登記(步驟ST164)。S卩,曲線近似節(jié)點(diǎn)登記部7將從單數(shù)直線近似部12送來(lái)的用I條線路近似的節(jié)點(diǎn)保存到曲線近似節(jié)點(diǎn)列存儲(chǔ)部6。之后,順序進(jìn)入步驟ST166。
[0108]另一方面,如果在步驟ST162中判斷為并非是曲線上的點(diǎn)MP (ia)與控制點(diǎn)A(ia+Ι)之間的距離 <SEPARATE_THRESHOLD、即判斷為距離 Dist2 是 SEPARATE_THRESHOLD 以上,則用通過(guò)SEPARATE_NUM表示的條數(shù)的線路,近似曲線上的點(diǎn)MP (ia)與控制點(diǎn)A (ia+1)之間的貝塞爾曲線(步驟ST165)。之后,順序進(jìn)入步驟ST166。[0109]參照?qǐng)D14所示的流程圖,說(shuō)明上述步驟ST165中進(jìn)行的處理的詳細(xì)內(nèi)容。在該處理中,首先,變量im被初始化為I (步驟ST171)。接下來(lái),如果變量im是SEPARATE_NUM以下,則循環(huán)開(kāi)始(步驟ST172)。當(dāng)循環(huán)開(kāi)始時(shí),首先,計(jì)算曲線上的節(jié)點(diǎn)(步驟ST173)。SP,前半曲線近似部10依照上述(4)式,計(jì)算曲線上的點(diǎn)MP (ia)與控制點(diǎn)A (ia)之間的曲線上的節(jié)點(diǎn)。
[0110]Dist2 = I IMP(ia)-A(ia+1) | 丨…(6)
[0111]t(iM) =0.5 X im/SEPARATE_NUM+0.5...(7)
[0112]此處,(4)式中的t (im)是(7)式所示的值,此時(shí)的BP (ia,im)是在曲線上的點(diǎn)MP (ia)與控制點(diǎn)A (ia+Ι)之間的貝塞爾曲線上制作的第im個(gè)節(jié)點(diǎn)。
[0113]接下來(lái),進(jìn) 行節(jié)點(diǎn)的登記(步驟ST174)。即,曲線近似節(jié)點(diǎn)登記部7將由后半曲線近似部11計(jì)算出的節(jié)點(diǎn)中的、除了已經(jīng)登記的節(jié)點(diǎn)以外的曲線上的節(jié)點(diǎn)登記到曲線近似節(jié)點(diǎn)列存儲(chǔ)部6。接下來(lái),變量im被遞增,以后反復(fù)進(jìn)行步驟ST172與步驟ST175之間的處理,直至變量im變得比SEPARATE_NUM大為止。之后,順序進(jìn)入步驟ST166。
[0114]在該情況下,Dist2是 26.9,是 SEPARATE_THRESHOLD 以上。因此,用 SEPARATE_NUM個(gè)線路,近似曲線上的點(diǎn)MP (2)與控制點(diǎn)A (ia+Ι)之間的曲線。具體而言,首先,計(jì)算 im=l 的節(jié)點(diǎn)。根據(jù)(7)式,t (1)=0.75, BP (2,1)= (26.25,32.5)。之后,BP (2,I)被保存到曲線近似節(jié)點(diǎn)列存儲(chǔ)部6。接下來(lái),計(jì)算BP (2,2)。同樣地,在由用(7)式求出的t(2) =1計(jì)算出了 BP (2,2)= (10,50)之后,BP (2,2)被保存到曲線近似節(jié)點(diǎn)列存儲(chǔ)部6。
[0115]在步驟ST166中,變量ia被遞增,以后反復(fù)進(jìn)行步驟ST153與步驟ST166之間的處理,直至變量ia變得比“間除后的道路節(jié)點(diǎn)數(shù)一 2”大為止。如此方式,對(duì)根據(jù)控制點(diǎn)列制作出的曲線進(jìn)行了直線近似的曲線近似節(jié)點(diǎn)被依次保存到曲線近似節(jié)點(diǎn)列存儲(chǔ)部6。
[0116]另外,在前半曲線近似部10和后半曲線近似部11中,除了 t (im)的計(jì)算方法以外是相同的處理,所以前半曲線近似部10的在MP (ia)與控制點(diǎn)A (ia)之間的距離是SEPARATE_THRESHOLD以上的情況下、和后半曲線近似部11的在MP (ia)與控制點(diǎn)A (ia+1)之間的距離是SEPARATE_THRESHOLD以上的情況下的處理相同。
[0117]當(dāng)以上的對(duì)曲線進(jìn)行了近似的直線的制作處理結(jié)束時(shí),接下來(lái),如圖5的流程圖所示,獲取字符串?dāng)?shù)據(jù)(步驟ST15)。即,字符串配置數(shù)據(jù)獲取部2從字符串配置數(shù)據(jù)存儲(chǔ)部I讀出字符串配置數(shù)據(jù),獲取構(gòu)成I個(gè)字符串的多個(gè)字符、和各字符的縱寬以及橫寬。在該情況下,獲取字符串“String”的字符“S”、“t”、“r”、“i”、“n”、“g”、和“String”中的各字符的縱寬以及橫寬。
[0118]接下來(lái),獲取曲線近似節(jié)點(diǎn)列(步驟ST16)。即,曲線近似節(jié)點(diǎn)列獲取部13從曲線近似節(jié)點(diǎn)列存儲(chǔ)部6獲取曲線近似節(jié)點(diǎn)列。在該情況下,獲取在上述處理中登記的節(jié)點(diǎn)P”
(I)= (0,10)、P,,(2)= (30,10)、P,,(3) =MP (2)= (35,20)、P,,(4) =BP (2,1)= (26.25,32.5)以及P” (5) =BP (2,2)= (10,50)。圖15示出所獲取的曲線近似節(jié)點(diǎn)列與道路節(jié)點(diǎn)列的關(guān)系。
[0119]接下來(lái),進(jìn)行字符串的配置(步驟ST17)。即,字符串配置計(jì)算部14配置字符串。此處,參照?qǐng)D16所示的流程圖,說(shuō)明字符串配置處理的詳細(xì)內(nèi)容。
[0120]在字符串配置處理中,首先,參數(shù)被初始化為ip=l、is=l以及range=0 (步驟ST181 )。接下來(lái),如果參數(shù)ip是“曲線近似節(jié)點(diǎn)列的數(shù)一 I ”以下,則循環(huán)開(kāi)始(步驟ST182)。當(dāng)循環(huán)開(kāi)始時(shí),接下來(lái),在該循環(huán)中,進(jìn)而開(kāi)始無(wú)限循環(huán)(步驟ST183)。當(dāng)無(wú)限循環(huán)開(kāi)始時(shí),接下來(lái),計(jì)算線路的朝向Θ’(步驟ST184)。即,線路角度計(jì)算部17計(jì)算線路(P”(ip),P”(ip+1))的朝向Θ’。在該例子中,線路(P”(1),P”(2))的朝向θ,=0。。
[0121]接下來(lái),進(jìn)行第is個(gè)字符(以下稱為“字符is”)的配置(步驟ST185)。S卩,字符配置部18根據(jù)線路的朝向Θ ’以及字符間隔range,決定字符is的配置。此處,參照?qǐng)D17所示的流程圖,說(shuō)明決定字符is的配置的字符配置處理的詳細(xì)內(nèi)容。
[0122]在字符配置處理中,首先,調(diào)查是否為is=l(步驟ST200)。即,初始字符判定部23判定表示所配置的字符的參數(shù)is是否為1、即是否為第I個(gè)字符。如果在該步驟ST200中判斷為是is=l,則轉(zhuǎn)移到配置字符is的處理。在該例子中,在初始狀態(tài)下是is=l,所以轉(zhuǎn)移到配置字符is的處理。
[0123]在配置字符is的處理中,字符配置位置決定部24對(duì)節(jié)點(diǎn)P”(I)配置字符is,視為字符線路內(nèi)而結(jié)束字符配置處理。更詳細(xì)而言,首先,字符is的左下坐標(biāo)LD( is)被設(shè)定于節(jié)點(diǎn)P” (O (步驟ST201)。即,字符配置位置決定部24將字符is的左下坐標(biāo)LD (is)設(shè)定到節(jié)點(diǎn)P”(I)。
[0124]接下來(lái),對(duì)LD (is)配置字符is (步驟ST202)。即,字符配置位置決定部24對(duì)字符is的左下坐標(biāo)LD(is)配置字符is。此處,字符配置是指如下處理:在將字符is的左下坐標(biāo)LD (is)設(shè)定于節(jié)點(diǎn)P”(I)之后,對(duì)字符is的左上坐標(biāo)LT (is)、右下坐標(biāo)RD (is)以及右上坐標(biāo)RT (is)設(shè)定用下述(8)式求出的值。另外,(8)式中的W (is)以及H (is)分別表示字符is的橫寬以及縱寬。在該例子中,成為L(zhǎng)D (I)= (0,10),LT (I)= (0,20),RD (I)= (5,10),RT (I)= (5,20)。
【權(quán)利要求】
1.一種字符串配置裝置,具備: 字符串配置數(shù)據(jù)獲取部,獲取用于沿著道路配置字符串的字符串配置數(shù)據(jù); 道路節(jié)點(diǎn)列間除部,對(duì)構(gòu)成由所述字符串配置數(shù)據(jù)獲取部獲取的字符串配置數(shù)據(jù)中包含的道路節(jié)點(diǎn)列的節(jié)點(diǎn)的一部分進(jìn)行間除; 控制點(diǎn)列制作部,根據(jù)由所述道路節(jié)點(diǎn)列間除部間除之后的道路節(jié)點(diǎn)列,制作控制點(diǎn)列; 曲線近似部,制作用直線對(duì)由通過(guò)所述控制點(diǎn)列制作部制作出的控制點(diǎn)列形成的曲線進(jìn)行了近似的節(jié)點(diǎn)列; 曲線近似節(jié)點(diǎn)列存儲(chǔ)部,將由所述曲線近似部制作出的節(jié)點(diǎn)列保存為曲線近似節(jié)點(diǎn)列;以及 字符串配置處理部,根據(jù)所述曲線近似節(jié)點(diǎn)列存儲(chǔ)部中保存的曲線近似節(jié)點(diǎn)列,進(jìn)行字符串的配置處理。
2.根據(jù)權(quán)利要求1所述的字符串配置裝置,其特征在于, 曲線近似部具備: 直線判定部,判定能否用直線近似由通過(guò)控制點(diǎn)列制作部制作出的控制點(diǎn)列形成的曲線.曲線上中間點(diǎn)制作部,在所述直線判定部中判定為無(wú)法用直線近似的情況下,制作由通過(guò)所述控制點(diǎn)列制作部制作出的控制點(diǎn)列形成的曲線上的中間點(diǎn); 前半曲線近似部,輸出用直線對(duì)`由來(lái)自所述控制點(diǎn)列制作部的控制點(diǎn)列形成的曲線中的、在通過(guò)所述曲線上中間點(diǎn)制作部制作出的中間點(diǎn)之前的曲線進(jìn)行近似而制作出的節(jié)點(diǎn)列; 后半曲線近似部,將用直線對(duì)由來(lái)自所述控制點(diǎn)列制作部的控制點(diǎn)列形成的曲線中的、在通過(guò)所述曲線上中間點(diǎn)制作部制作出的中間點(diǎn)之后的曲線進(jìn)行近似而制作出的節(jié)點(diǎn)列連到通過(guò)所述前半曲線近似部對(duì)直線進(jìn)行近似而制作出的節(jié)點(diǎn)列來(lái)輸出; 單數(shù)直線近似部,在所述直線判定部中判定為能夠用直線近似的情況下,輸出用I條直線對(duì)由通過(guò)所述控制點(diǎn)列制作部制作出的控制點(diǎn)列形成的曲線進(jìn)行近似而制作出的節(jié)點(diǎn)列;以及 曲線近似節(jié)點(diǎn)登記部,將來(lái)自所述后半曲線近似部的節(jié)點(diǎn)列、或者來(lái)自所述單數(shù)直線近似部的節(jié)點(diǎn)列作為曲線近似節(jié)點(diǎn)列而登記到曲線近似節(jié)點(diǎn)列存儲(chǔ)部。
3.根據(jù)權(quán)利要求1所述的字符串配置裝置,其特征在于, 字符串配置處理部具備: 曲線近似節(jié)點(diǎn)列獲取部,從曲線近似節(jié)點(diǎn)列存儲(chǔ)部獲取字符串所沿著的節(jié)點(diǎn)列; 字符串配置計(jì)算部,根據(jù)通過(guò)所述曲線近似節(jié)點(diǎn)列獲取部獲取的曲線近似節(jié)點(diǎn)列,計(jì)算字符串的配置位置; 輸出字符串配置存儲(chǔ)部,保存字符串的配置位置;以及 字符串配置登記部,將通過(guò)所述字符串配置計(jì)算部計(jì)算出的字符串的配置位置登記到所述輸出字符串配置存儲(chǔ)部。
4.根據(jù)權(quán)利要求3所述的字符串配置裝置,其特征在于, 字符串配置計(jì)算部具備:線路角度計(jì)算部,根據(jù)通過(guò)曲線近似節(jié)點(diǎn)列獲取部獲取的曲線近似節(jié)點(diǎn)列,計(jì)算在各節(jié)點(diǎn)中由線路形成的線路角度; 字符配置部,根據(jù)在所述線路角度計(jì)算部中計(jì)算出的線路角度,配置字符; 字符線路外判定部,判定通過(guò)所述字符配置部配置的字符是否處于線路外; 重疊判定部,在通過(guò)所述字符線路外判定部判定為不處于線路外的情況下,判定字符彼此是否重疊; 參數(shù)更新部,根據(jù)所述重疊判定部中的判定結(jié)果,更新參數(shù);以及字符數(shù)判定部,根據(jù)通過(guò)所述參數(shù)更新部更新后的參數(shù),判定是否達(dá)到既定的字符數(shù),在判定為達(dá)到既定的字符數(shù)的情況下結(jié)束處理。
5.根據(jù)權(quán)利要求4所述的字符串配置裝置,其特征在于, 字符配置部具備: 初始字符判定部,判定根據(jù)通過(guò)線路角度計(jì)算部計(jì)算出的線路角度配置的字符是否為字符串中的第I個(gè)字符; 字符左下坐標(biāo)計(jì)算部,根據(jù)所述初始字符判定部中的判定結(jié)果,計(jì)算字符的左下坐標(biāo); 字符配置位置決定部,根據(jù)通過(guò)所述初始字符判定部得到的判定結(jié)果或者通過(guò)字符左下坐標(biāo)計(jì)算部計(jì)算出的字符的左下坐標(biāo),決定字符的配置位置;以及 下一字符配置距離更新部,根據(jù)通過(guò)所述字符左下坐標(biāo)計(jì)算部計(jì)算出的字符的左下坐標(biāo),決定直至下一字符為止的距離。
【文檔編號(hào)】G06T11/60GK103430226SQ201180069255
【公開(kāi)日】2013年12月4日 申請(qǐng)日期:2011年3月14日 優(yōu)先權(quán)日:2011年3月14日
【發(fā)明者】宮本健 申請(qǐng)人:三菱電機(jī)株式會(huì)社