[發(fā)明專(zhuān)利]一種公路橫斷面線批量生成方法有效
| 申請(qǐng)?zhí)枺?/td> | 202110785974.5 | 申請(qǐng)日: | 2021-07-12 |
| 公開(kāi)(公告)號(hào): | CN113486430B | 公開(kāi)(公告)日: | 2023-08-18 |
| 發(fā)明(設(shè)計(jì))人: | 王瑩;汪詩(shī)奇;聞平;楊勇喜;楊彥梅;汪松;呂孟;謝飛;李澤邦;莽燕 | 申請(qǐng)(專(zhuān)利權(quán))人: | 中國(guó)電建集團(tuán)昆明勘測(cè)設(shè)計(jì)研究院有限公司 |
| 主分類(lèi)號(hào): | G06F30/13 | 分類(lèi)號(hào): | G06F30/13 |
| 代理公司: | 昆明盛鼎宏圖知識(shí)產(chǎn)權(quán)代理事務(wù)所(特殊普通合伙) 53203 | 代理人: | 王輝 |
| 地址: | 650000 云南*** | 國(guó)省代碼: | 云南;53 |
| 權(quán)利要求書(shū): | 查看更多 | 說(shuō)明書(shū): | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 一種 公路 橫斷面 批量 生成 方法 | ||
1.一種公路橫斷面線批量生成方法,其特征在于,所述的方法包括如下步驟:
步驟1,收集公路設(shè)計(jì)中心線數(shù)據(jù),解析出中心線節(jié)點(diǎn)序列;
步驟2,計(jì)算各節(jié)點(diǎn)處里程值,得到節(jié)點(diǎn)里程序列;
步驟3,設(shè)定橫斷面里程參數(shù)文件格式;
步驟4,解析橫斷面里程參數(shù)文件,得到每一里程處的里程值、左端偏移、右端偏移,形成里程參數(shù)集合;
步驟5,根據(jù)里程參數(shù)以及設(shè)計(jì)中心線計(jì)算各里程處的斷面線中點(diǎn)、左端點(diǎn)及右端點(diǎn)坐標(biāo);
步驟6,按照里程值分別對(duì)各里程的斷面線中點(diǎn)、左端點(diǎn)和右端點(diǎn)坐標(biāo)進(jìn)行保存;
所述的步驟1:收集公路設(shè)計(jì)中心線數(shù)據(jù),解析出中心線節(jié)點(diǎn)序列Ds,具體步驟為:
(1)收集DXF格式的公路設(shè)計(jì)中心線數(shù)據(jù);
(2)利用dxflib庫(kù)讀取公路設(shè)計(jì)中心線數(shù)據(jù)文件,解析出中心線各節(jié)點(diǎn)坐標(biāo)(x,y)以及凸度參數(shù);
(3)確定公路設(shè)計(jì)中心線起始點(diǎn)及起始里程l0,按照起止順序?qū)?jié)點(diǎn)進(jìn)行排序,形成中心線節(jié)點(diǎn)序列Ds{Ds|pi(xi,yi,0,bulgei)∈Ds};
所述的步驟2,計(jì)算各節(jié)點(diǎn)處里程值,得到節(jié)點(diǎn)里程序列Ls{Ls|lsk∈Ls},具體步驟為:
(1)設(shè)定起始節(jié)點(diǎn)的里程值ls0為l0;
(2)從中心線節(jié)點(diǎn)序列Ds中取出第k個(gè)節(jié)點(diǎn)pk?2≤k≤N,N為中心線節(jié)點(diǎn)序列的數(shù)量;
(3)計(jì)算中心線上節(jié)點(diǎn)pk-1到pk的距離S,則第k個(gè)節(jié)點(diǎn)的里程值lsk等于ls0加上S;
(4)重復(fù)過(guò)程(2)和(3),直到所有節(jié)點(diǎn)里程都計(jì)算完畢;
所述的步驟5,根據(jù)里程參數(shù)以及設(shè)計(jì)中心線計(jì)算各里程處的斷面線中點(diǎn)、左端點(diǎn)及右端點(diǎn)坐標(biāo),具體步驟為:
(1)從里程參數(shù)集合Lc中取出某個(gè)里程處的參數(shù)數(shù)據(jù)Lj(lcj,LeftRangej,RightRangej)1≤j≤M,M為里程參數(shù)的數(shù)量;
(2)遍歷節(jié)點(diǎn)里程序列Ls,直到滿(mǎn)足lsk-1≤lcjlsk?2≤k≤N,則表明當(dāng)前里程位于節(jié)點(diǎn)pk-1與pk之間;
(3)計(jì)算直線段或圓弧線段內(nèi)的里程差Disj=lcj-lsk-1;
(4)如果pk-1與pk之間為直線段,pk-1凸度為零,則執(zhí)行過(guò)程(5)~(8);如果為圓弧線段,pk-1凸度不為零,則執(zhí)行過(guò)程(9)~(12);
(5)根據(jù)pk-1與pk的坐標(biāo)構(gòu)造向量計(jì)算向量的長(zhǎng)度為DL;
(6)設(shè)當(dāng)前里程在當(dāng)前直線段上的點(diǎn)為q,則向量再根據(jù)pk-1的坐標(biāo)即可得到點(diǎn)q的坐標(biāo);
(7)設(shè)當(dāng)前直線段pk-1pk的右側(cè)法向量為長(zhǎng)度為DLr,記右端點(diǎn)為rp,則向量再根據(jù)q點(diǎn)坐標(biāo)可得到右端點(diǎn)rp的坐標(biāo);
(8)記左端點(diǎn)為lp,則向量再根據(jù)q點(diǎn)坐標(biāo)可得到左端點(diǎn)lp的坐標(biāo);
(9)根據(jù)pk-1與pk的坐標(biāo)構(gòu)造弦向量記pk-1與pk的中點(diǎn)為Q,則Q點(diǎn)的坐標(biāo)為(pk-1+pk)/2;
(10)記pk-1pk右側(cè)法向量為向量長(zhǎng)度為DLr,根據(jù)節(jié)點(diǎn)pk-1的凸度正負(fù)判斷圓弧的方向,凸度為正表示圓弧為逆時(shí)針,圓心位于左側(cè),凸度為負(fù)表示圓弧為順時(shí)針,圓心位于右側(cè);
(11)記圓心為O,半徑為R,圓弧段對(duì)應(yīng)的圓心角為θ,計(jì)算Q點(diǎn)到O的距離為dH=R*cos(0.5*θ),再根據(jù)Q點(diǎn)坐標(biāo),法向量和凸度得到圓心O的坐標(biāo);
(12)根據(jù)里程差Disj和圓弧段參數(shù)得到當(dāng)前里程在圓弧線段上的點(diǎn)q的坐標(biāo),然后再根據(jù)q點(diǎn)坐標(biāo)、圓心O點(diǎn)坐標(biāo)以及左端偏移和右端偏移計(jì)算出左端點(diǎn)和右端點(diǎn)的坐標(biāo);
(13)重復(fù)執(zhí)行過(guò)程(1)~(4),直到所有里程參數(shù)遍歷完畢。
該專(zhuān)利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專(zhuān)利權(quán)人授權(quán)。該專(zhuān)利全部權(quán)利屬于中國(guó)電建集團(tuán)昆明勘測(cè)設(shè)計(jì)研究院有限公司,未經(jīng)中國(guó)電建集團(tuán)昆明勘測(cè)設(shè)計(jì)研究院有限公司許可,擅自商用是侵權(quán)行為。如果您想購(gòu)買(mǎi)此專(zhuān)利、獲得商業(yè)授權(quán)和技術(shù)合作,請(qǐng)聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202110785974.5/1.html,轉(zhuǎn)載請(qǐng)聲明來(lái)源鉆瓜專(zhuān)利網(wǎng)。





