一种桥梁联跨表达式的解析方法、系统及介质与流程

文档序号:36362289发布日期:2023-12-14 05:39阅读:30来源:国知局
一种桥梁联跨表达式的解析方法与流程

本发明属于桥梁联跨表达式自动识别,具体涉及一种桥梁联跨表达式的解析方法、系统及介质。


背景技术:

1、随着桥梁建设的不断发展,桥梁信息化建设逐渐得到推广和应用。桥梁结构的设计、施工和维护过程中产生了大量的数据和信息需要进行处理和管理。桥梁联跨表达式是指描述桥梁结构中各跨之间的连接方式和布置规律的一种表达式,它对于桥梁设计、施工和维护具有重要的指导意义。传统的桥梁联跨表达式解析方法主要依赖于人工解析,设计师需要根据桥梁的结构特点和设计要求,手动解析出联跨表达式。这种方法存在着人力成本高、效率低、容易出错等问题。


技术实现思路

1、为了解决上述问题,本发明提出一种桥梁联跨表达式解析方法、系统及介质。该方法利用计算机和相关算法,通过对桥梁联跨表达式进行分析和处理,自动识别和解析出桥梁联跨结果。

2、实现本发明目的之一的一种桥梁联跨表达式解析方法,包括如下步骤:

3、s1、对用户输入的桥梁联跨表达式进行分词提取处理;所述桥梁联跨表达式包括:用于表示梁类型的联示符号、设定的一种或多种运算符、用于表示联倍数和/或跨倍数的数字;

4、s2、利用栈对进行了分词提取处理后的桥梁联跨表达式进行解析,得到桥梁联跨解析结果,所述桥梁联跨解析结果包括联倍数、每一联包含的跨倍数、每一跨的跨径。

5、桥梁的一联指相邻伸缩缝之间的桥梁,联倍数表示桥梁的联数量;两相邻桥墩之间的桥梁为一跨,跨倍数表示桥梁的跨数量;桥梁的一联包括两跨或两跨以上,在联跨表达式中用联示符号包括起来的表达式叫一联。

6、上述技术方案中,步骤s1还包括进行分词提取处理时,如果识别到空格时,视为无效字符,直接丢弃。

7、上述技术方案中,步骤s1还包括对进行分词提取处理后的桥梁联跨表达式进行校验,如果识别到的任一分词不为用于表示梁类型的设定的联示符号,且不为设定的一种或多种运算符中的任一种,且不为数字则校验失败。

8、上述技术方案中,所述多种运算符包括:*、+;所述用于表示梁类型的设定的联示符号包括:{}、[]、【】、‘’、”,且联示符号成对出现,联示符号中的表达式用于表示跨倍数、跨径;所述跨倍数表示跨径对应的跨数量。

9、上述技术方案中,对进行分词提取处理后的桥梁联跨表达式进行校验的方法还包括:

10、如果桥梁联跨表达式中出现连续多个相同的非数字的字符,如果是,则检验不通过;

11、如果桥梁联跨表达式中出现“*+”或者“+*”或者联式符号中的左符号和右符号相邻,如果是,则校验不通过;所述左符号、右符号举例如下:如联示符号“{}”中“{”为左符号,“}”为右符号;联示符号“【】”中“【”为左符号,“】”为右符号,依此类推。

12、如果桥梁联跨表达式以*或者+开头,则校验不通过;

13、如果桥梁联跨表达式中联式符号的左符号和右符号非成对出现,则校验不通过。

14、上述技术方案中,所述桥梁联跨表达式中,具备相同跨规格的桥梁联的格式包括:

15、a*联式左符号k1*x1+k2*x2,...,ki+xi,...kn*xn联式右符号

16、式中:

17、a表示联倍数;

18、ki表示第i跨的跨倍数;

19、xi表示第i跨的跨径;

20、所述具备相同跨规格即该桥梁联包含的跨数量相同、每一跨的跨倍数和跨径均相同。

21、上述技术方案中,步骤s2中,对进行了分词提取处理后的桥梁联跨表达式进行解析的方法包括:

22、步骤1、联倍数赋值为1,跨倍数赋值为1;设置梁类型为默认梁类型;

23、步骤2、逐个读取并识别分词,并对识别的分词进行步骤3所述的操作;

24、步骤3、当识别到数字时:

25、如果最近一次入栈的元素不为数字,则将此数字入栈;

26、如果最近一次入栈的元素为数字,则将最近一次入栈的数字从栈中取出后乘以10,再加上本次入栈的数字后得到新的计算值,将该计算值入栈;

27、当识别到*号时,将*号进栈;

28、当识别到联示符号的左符号时:

29、如果此时栈为空,则返回步骤2;

30、否则栈底数字则为联倍数,清空栈;

31、根据联示符号的左符号和设定的联示符号规则确定梁类型;

32、当识别到+号或者联示符号的右符号或者联跨表达式到末尾时,如果栈不为空,根据设定的规则解析当前栈中的元素,得到桥梁联跨解析结果,联倍数赋值为1,跨倍数赋值为1;设置梁类型为默认梁类型,返回步骤2。

33、上述技术方案中,所述设定的规则包括:

34、步骤3.1、从栈中弹出的第一个元素解析为跨径,如果此时栈为空,跳转到步骤s3.6,否则执行下一步;

35、步骤3.2、弹出栈中的下一元素n1;此时n1肯定为*号;

36、步骤3.3、弹出栈中的下一元素n2;如果此时栈不为空,跳转到下一步;否则:跨倍数赋值为n2,即栈中的所有元素取出后的表达式的形式为:n2*跨径,跳转到步骤s3.6;

37、步骤3.4、弹出下一栈的内容n3;此时n3肯定为*号;

38、步骤3.5、弹出下一栈的内容n4;将联倍数赋值为n4,跨倍数赋值为n2,跳转到步骤s3.6;即栈中的所有元素取出后的表达式的形式为:n4*n2*跨径;

39、步骤3.6、保存当前的联倍数、跨倍数、跨径、梁类型到桥梁联跨解析结果中。

40、上述技术方案中,所述栈即计算机语言中定义的线性数据结构,只允许在一端进行插入和删除操作,遵循先进后出的原则。

41、实现本发明目的之二的一种桥梁联跨表达式解析系统,包括分词处理模块、桥梁联跨解析模块;

42、所述分词处理模块用于对用户输入的桥梁联跨表达式进行分词提取处理;所述桥梁联跨表达式包括用于表示梁类型的联示符号、多个运算符、用于表示联倍数和跨倍数的数字;

43、所述桥梁联跨解析模块用于根据联跨表达式的格式利用栈对进行了分词提取处理后的桥梁联跨表达式进行解析,得到桥梁联跨解析结果,所述桥梁联跨解析结果包括联倍数、每一联包含的跨倍数、每一跨的跨径。

44、实现本发明目的之三的一种非暂态计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现所述桥梁联跨表达式解析方法的任一步骤。

45、有益效果:

46、本发明提供的一种桥梁联跨表达式的解析方法、系统及介质,首先,用户在系统对话框中输入桥梁联跨表达式,系统获取用户输入的桥梁联跨表达式;然后,对用户输入的桥梁联跨表达式,按输入字符逐个拆分,进行分词提取处理;接着,根据用户自定义规则,校验桥梁联跨表达式是否正确;紧接着,根据联跨表达式规则自动识别解析,输出联倍数、跨倍数、跨径、联示符号;最后,通过自动识别解析的联倍数、跨倍数、跨径、联示符号,经过双层循环生成每一跨的联号、跨号、跨径、跨类型,输出桥梁联跨解析结果;本发明提高了桥梁设计和施工的效率,减少人力成本,为桥梁信息化建设提供技术支持。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1