CN111967071B - 路基横断面数据处理系统及其方法 - Google Patents
路基横断面数据处理系统及其方法 Download PDFInfo
- Publication number
- CN111967071B CN111967071B CN202010754011.4A CN202010754011A CN111967071B CN 111967071 B CN111967071 B CN 111967071B CN 202010754011 A CN202010754011 A CN 202010754011A CN 111967071 B CN111967071 B CN 111967071B
- Authority
- CN
- China
- Prior art keywords
- cross
- section
- line
- value
- key
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000012545 processing Methods 0.000 title claims abstract description 33
- 238000000034 method Methods 0.000 title claims abstract description 18
- 238000003672 processing method Methods 0.000 claims abstract description 12
- 238000013461 design Methods 0.000 claims description 26
- 230000002452 interceptive effect Effects 0.000 claims description 20
- 238000013515 script Methods 0.000 claims description 9
- 230000003993 interaction Effects 0.000 claims description 7
- 230000002688 persistence Effects 0.000 claims description 7
- 239000002689 soil Substances 0.000 claims description 6
- 238000004364 calculation method Methods 0.000 claims description 5
- 230000015572 biosynthetic process Effects 0.000 claims description 4
- 238000004422 calculation algorithm Methods 0.000 claims description 3
- 238000012544 monitoring process Methods 0.000 claims description 3
- FGUUSXIOTUKUDN-IBGZPJMESA-N C1(=CC=CC=C1)N1C2=C(NC([C@H](C1)NC=1OC(=NN=1)C1=CC=CC=C1)=O)C=CC=C2 Chemical compound C1(=CC=CC=C1)N1C2=C(NC([C@H](C1)NC=1OC(=NN=1)C1=CC=CC=C1)=O)C=CC=C2 FGUUSXIOTUKUDN-IBGZPJMESA-N 0.000 claims description 2
- 230000007547 defect Effects 0.000 abstract description 4
- 230000006870 function Effects 0.000 description 5
- 238000010586 diagram Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 230000005484 gravity Effects 0.000 description 2
- 238000007726 management method Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000011835 investigation Methods 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 230000026676 system process Effects 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
- 238000012800 visualization Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/10—Geometric CAD
- G06F30/12—Geometric CAD characterised by design entry means specially adapted for CAD, e.g. graphical user interfaces [GUI] specially adapted for CAD
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/25—Integrating or interfacing systems involving database management systems
- G06F16/258—Data format conversion from or to a database
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/28—Databases characterised by their database models, e.g. relational or object models
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/29—Geographical information databases
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/10—Geometric CAD
- G06F30/13—Architectural design, e.g. computer-aided architectural design [CAAD] related to design of buildings, bridges, landscapes, production plants or roads
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/20—Design optimisation, verification or simulation
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Geometry (AREA)
- Databases & Information Systems (AREA)
- General Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Computational Mathematics (AREA)
- Pure & Applied Mathematics (AREA)
- Mathematical Optimization (AREA)
- Mathematical Analysis (AREA)
- Architecture (AREA)
- Civil Engineering (AREA)
- Structural Engineering (AREA)
- Human Computer Interaction (AREA)
- Remote Sensing (AREA)
- Processing Or Creating Images (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明提供了一种路基横断面数据处理系统及其方法,其特征在于包括以下步骤:a.发布新建项目并进行项目配置操作;b.从数字地形模型切割生成横断面地面线;c.编辑实测横断面地面线;d.从地质纵断面切割生成横断面地层线;e.编辑横断面地质填绘;f.保存项目。本发明的目的就是针对现有技术的缺陷,提供一种路基横断面数据处理系统及其方法,能够更加灵活、简单、高效、准确地处理路基横断面数据。
Description
技术领域
本发明涉及公路铁路路基设计技术领域,具体涉及一种路基横断面数据处理系统及其方法。
背景技术
目前,对于公路、城市道路、铁路、城市轨道交通的路基工程设计,国内外软件不管是二维设计软件还是三维设计软件,都是基于横断面设计的模式做的开发。在路基横断面设计,需要实时编辑大量的横断面地面线和地层线数据。
现有的国内外路基设计软件,对路基横断面地面线和地层线数据的处理方法主要有以下两种:一是将这些数据保存在不同的自定义平面文件中,如自定义数据存储格式的txt文件、cvs文件、Excel文件等,然后根据不同的设计场景,自己编写各种操控数据增删查改的程序功能,其缺陷在于:每次进行路基横断面设计、地基处理设计及支挡结构设计等路基设计场景时,都需要操控大量的数据,而平面文件读写查找效率低下,且程序逻辑错误不容易查错,系统容易出错,不同的设计软件定义的数据格式各不相同,需要编写文件格式转换程序才能实现不同软件之间的数据交换;二是将这些数据保存在统一的项目关系数据库中,如access数据库、SQLite数据库等,然后根据不同的设计场景,用标准的结构化查询语言SQL或者借助一些对象关系映射ORM中间件编写各种操控数据增删查改的功能,其缺陷在于:仅实现了操控大量数据的高效、准确,逻辑错误容易查错,由于路基工程设计不同的设计场景涉及到很多繁杂无序的数据计算,传统的关系数据库,要求程序开发者具有成熟的关系数据库设计经验,要求严格满足各种数据库设计范式要求,才能开发出多种扩展应用程序,传统的关系数据库对于土木工程师来说灵活性较差,编制扩展应用程序难度较大。
因此,针对现有技术中没有一套灵活、简单、高效、准确、容易查错的路基横断面数据处理方法的情况,需要一种新的路基横断面数据处理方法以达到更为理想的处理效果。
发明内容
本发明的目的就是针对现有技术的缺陷,提供一种路基横断面数据处理系统及其方法,能够更加灵活、简单、高效、准确地处理路基横断面数据。
本发明提供了一种路基横断面数据处理方法,其特征在于包括以下步骤:
a.发布新建项目并进行项目配置操作;
b.从数字地形模型切割生成横断面地面线;
c.编辑实测横断面地面线;
d.从地质纵断面切割生成横断面地层线;
e.编辑横断面地质填绘;
f.保存项目。
上述技术方案中,所述步骤b中具体包括以下步骤:
步骤(2.1),向辅助设计系统发布从数字地形模型切割生成横断面地面线指令,根据外部指令选择数字地形模型和线路设计方案并指定需要切割生成的横断面里程,计算生成指定里程的横断面地面线;
步骤(2.2),对横断面地面线上每个线段的端点按从左到右的顺序从1开始依次编号1、2、3…;
步骤(2.3),按照编号依次将各线段的横断面地面线数据通过带有嵌套层次的JSON进行格式化:
步骤(2.4),将格式化完成后的横断面地面线数据存储在非关系数据库的临时集合temp中。
上述技术方案中,所述步骤c具体包括以下步骤:
步骤(3.1),向系统发布实测横断面地面线编辑指令,根据外部指令获取横断面地面线的交互绘图信息和数据;
步骤(3.2),根据获取的横断面地面线信息对横断面地面线上每个线段的端点按从左到右的顺序从1开始依次编号1、2、3…;
步骤(3.3),按照编号依次将横断面地面线数据通过带有嵌套层次的JSON进行格式化,
步骤(3.4),将格式化完成后的横断面地面线数据存储在非关系数据库的临时集合temp中。
上述技术方案中,所述步骤d中具体包括以下步骤:
步骤(4.1),向系统发布从地质纵断面切割生成横断面地层线指令后,根据外部指令选择地质纵断面和需要切割生成的横断面里程,计算生成指定里程的横断面地层线;
步骤(4.2),对横断面地层线上每个线段的端点按从左到右、从上到下的顺序从-1开始依次编号-1、-2、-3…;
步骤(4.3),按照编号依次将横断面地层线数据通过带有嵌套层次的JSON进行格式化;
步骤(4.4),将格式化完成后横断面地层线数据存储在非关系数据库的临时集合temp中。
上述技术方案中,所述步骤e具体包括以下步骤:
步骤(5.1),向系统发布横断面地质填绘指令后,根据外部指令获取横断面地层线的交互绘图信息和数据;
步骤(5.2),对横断面地层线上每个线段的端点按从左到右、从上到下的顺序从-1开始依次编号-1、-2、-3…;
步骤(5.3),按照编号依次将横断面地层线数据通过带有嵌套层次的JSON进行格式化,
步骤(5.4),将格式化完成后的横断面地面线数据存储在非关系数据库的临时集合temp中。
上述技术方案中,所述步骤f具体包括以下步骤:
将非关系数据库临时集合temp中的地面线和地层线JSON文件转存到带有版本编号的正式项目集合中,集合名称为“项目名称_版本编号”。
上述技术方案中,所述步骤(2.3)和步骤(3.3)包括如下相同的步骤:
将每个线段的横断面地面线数据都保存在一个以“横断面”字符串作为键名的JSON文档对象中,“横断面”键的值是一个内嵌的JSON文档,该内嵌的JSON文档以"桩号"、"中桩"、"左侧"、"右侧"共4个字符串作为键名,其中"桩号"键的值存储该横断面的里程(里程数采用浮点数表示,其中浮点数是表示带符号实数的十进制数字,带符号实数的表现形式包括整数部分、小数部分和指数,在计算机中使用的浮点数被国际电气电子工程师协会(IEEE)规范化为IEEE 754标准)。
"中桩"键的值是一个内嵌的JSON文档,该内嵌的JSON文档有"端点"、"平距"、"高差"、"地面高程"、"工程坐标X"、"工程坐标Y"共6个字符串作为键名,"端点"键的值存储该横断面地面线线路中心点的编号(编号为整数),"平距"键的值存储该横断面地面线线路中心点距离线路中心点的水平距离(水平距离值采用浮点数表示,此处为0),线路中心点具体是指公路铁路路基横断面上线路平面设计几何中心线与该横断面的交点,"高差"键的值存储该横断面地面线线路中心点距离线路中心点的垂直距离(垂直距离值采用浮点数表示,此处为0),"地面高程"键的值存储该横断面地面线线路中心点的水准标高(水准标高采用浮点数表示),"工程坐标X"键的值存储该横断面地面线线路中心点的工程坐标系X轴坐标(坐标值采用浮点数表示),"工程坐标Y"键的值存储该横断面地面线线路中心点的工程坐标系Y轴坐标(坐标值采用浮点数表示);
"左侧"键的值是一个数组,数组的每一个元素都是一个具有相同结构的内嵌JSON文档,该内嵌JSON文档有"端点"、"平距"、"高差"、"地面高程"、"工程坐标X"、"工程坐标Y"共6个字符串作为键名,"端点"键的值存储该横断面地面线线路中心线左侧端点的编号(编号为整数),"平距"键的值存储该横断面地面线线路中心线左侧端点距离线路中心点的水平距离(距离值大小采用浮点数表示),"高差"键的值存储该横断面地面线线路中心线左侧端点距离线路中心点的垂直距离(距离值采用浮点数表示,端点在线路中心点高程之上为正值,在线路中心点高程之下为负值),"地面高程"键的值存储该横断面地面线线路中心线左侧端点的水准标高(标高值采用浮点数表示),"工程坐标X"键的值存储该横断面地面线线路中心线左侧端点的工程坐标系X轴坐标(坐标值采用浮点数表示),"工程坐标Y"键的值存储该横断面地面线线路中心线左侧端点的工程坐标系Y轴坐标(坐标值采用浮点数表示);
"右侧"键的值是一个数组,数组的每一个元素都是一个具有相同结构的内嵌JSON文档,该内嵌JSON文档有"端点"、"平距"、"高差"、"地面高程"、"工程坐标X"、"工程坐标Y"共6个字符串作为键名,"端点"键的值存储该横断面地面线线路中心线右侧端点的编号(编号为整数),"平距"键的值存储该横断面地面线线路中心线右侧端点距离线路中心点的水平距离(距离值采用浮点数表示),"高差"键的值存储该横断面地面线线路中心线右侧端点距离线路中心点的垂直距离(距离值采用浮点数表示,端点在线路中心点高程之上为正值,在线路中心点高程之下为负值),"地面高程"键的值存储该横断面地面线线路中心线右侧端点的水准标高(标高值采用浮点数表示),"工程坐标X"键的值存储该横断面地面线线路中心线右侧端点的工程坐标系X轴坐标(坐标值采用浮点数表示),"工程坐标Y"键的值存储该横断面地面线线路中心线右侧端点的工程坐标系Y轴坐标(坐标值采用浮点数表示)。
上述技术方案中,所述步骤(4.3)和(5.3)包括以下相同的步骤:
每个线段横断面地层线数据都保存在一个以“横断面”字符串作为键名的JSON文档对象中,“横断面”键的值是一个内嵌的JSON文档,该内嵌的JSON文档有"桩号"、"地层点集"、"地层集"共3个字符串作为键名,其中"桩号"键的值存储该横断面的里程(里程数采用浮点数表示);
"地层点集"键的值是一个数组,数组的每一个元素都是一个具有相同结构的内嵌JSON文档,该内嵌JSON文档有"地层点"、"平距"、"高差"、"高程"、"工程坐标X"、"工程坐标Y"共6个字符串作为键名,"地层点"键的值存储该横断面地层线端点的编号(所述编号为负整数),"平距"键的值存储该横断面地层线端点距离线路中心点的水平距离(距离值采用浮点数表示,左侧为负数,右侧为整数),"高差"键的值存储该横断面地层线端点距离线路中心点的垂直距离(距离值采用浮点数表示,端点在线路中心点高程之上为正值,在线路中心点高程之下为负值),"高程"键的值存储该横断面地层线端点的水准标高(标高值采用浮点数表示),"工程坐标X"键的值存储该横断面地层线端点的工程坐标系X轴坐标(坐标值采用浮点数表示),"工程坐标Y"键的值存储该横断面地层线端点的工程坐标系Y轴坐标(坐标值采用浮点数表示);
"地层集"键的值是一个数组,数组的每一个元素都是一个具有相同基本结构的内嵌JSON文档,该内嵌JSON文档可以根据实际情况进行扩展,其基本结构有"地层"、"地层类型"、"重度"、"内摩擦角"、"地层顶边"、"地层底边"共6个字符串作为键名,"地层"键的值存储该横断面中地层的编号(编号为整数整数),"地层类型"键的值存储该横断面中地层的类型名称(采用字符串定义),"重度"键的值存储该横断面中地层的岩土重度参数(参数用浮点数表示),"内摩擦角"键的值存储该横断面中地层的岩土内摩擦角参数(参数用浮点数表示),"地层顶边"键的值是一个数组,数组的每一个元素都是构成该地层顶边的地层线(或地面线)端点编号(编号为整数),"地层底边"键的值是一个数组,数组的每一个元素都是构成该地层底边的地层线端点编号(编号为整数)。
本发明提供了一种路基横断面数据处理系统,其特征在于包括前台人机界面模块、中台计算模块、后台数据库;其中,前台人机界面模块用于获取外部指令;中台计算模块根据外部指令获取横断面的设定参数,以计算生成指定里程的横断面地面线和横断面地层线并根据外部指令进行横断面地面线和地层线的编辑,将横断面地面线和地层线数据格式化后存储在后台数据库。
上述技术方案中,所述中台计算模块,包括系统初始化模块、图形界面交互事件处理模块、命令行脚本模块、图形计算模块、横断面模型模块、数据持久层模块;所述系统初始化模块用于初始化系统的所有对象实例,所述图形界面交互事件处理模块用于监听鼠标、键盘事件并调用相应的业务逻辑进行处理,具体是指处理用户指令和横断面参数的输入及编辑指令。所述命令行脚本模块用于执行命令行指令及Python脚本并通过Python语言对用户提供应用程序编程接口,所述图形计算模块提供横断面数据处理用到的算法,所述横断面模型模块用于描述公路铁路路基横断面模型,具体是指与横断面JSON数据对应的面向对象横断面模型模块,本系统运行时用户输入的横断面数据以及从后台数据库调取的横断面JSON数据在内存中都存储在横断面模型模块进行处理,所述数据持久层模块用于将横断面模型持久化到后台数据库。
本发明的有益效果是:通过系统提供的图形界面交互处理路基横断面地面线和地层线数据,可以让工程师沿用传统勘察习惯无需特别学习就能非常直观地进行横断面数据输入及编辑,提出了一种将横断面数据编码为嵌套层次JSON半结构化数据的方法,并采用更为先进的非关系数据库进行存储管理,该编码过程沿用传统勘测习惯,键值表述的参数概念清晰明确,同行工程师之间不会产生理解歧义,无需人工做任何特殊设计,系统自动编码格式化数据,且编码后的JSON半结构化数据文档对人类阅读友好易于理解核对除错,模块化的系统架构设计,非常易于系统的编程实现、代码测试、后期维护升级,实现了相比传统技术更加灵活、简单、高效、准确地处理路基横断面数据,大大减降低了用户扩展开发新功能的难度,中台计算模块对用户提供应用程序编程接口(API),为用户自定义横断面数据调取利用模块,活用路基横断面数据预留了开放的接口,这种通过提供应用程序编程接口(API)为用户预留开放接口的架构设计,实现了用户活用数据库时,可以有效统一管理每个项目的路基横断面数据,减少设计差错几率的有益效果。
附图说明
图1为本发明路基横断面数据处理系统的功能结构图。
图2为本发明路基横断面数据处理方法的流程图。
图3为本发明实施例方法的将横断面数据编码为嵌套层次JSON半结构化数据的步骤流程图。
具体实施方式
下面结合附图和具体实施例对本发明作进一步的详细说明,便于清楚地了解本发明,但它们不对本发明构成限定。
如图1所示,是本发明路基横断面数据处理系统的功能结构图;本发明实例用于路基横断面数据处理系统1,系统为基于Python语言和非关系数据库MongoDB自主开发的系统,包括:
横断面数据处理前台人机界面模块2,包括菜单栏、工具栏、参数实时显示浮动窗口、命令行显示浮动窗口、动态帮助显示浮动窗口、交互绘图窗口;
横断面数据处理中台计算模块3,包括系统初始化模块、图形界面交互事件处理模块、命令行脚本模块、图形计算模块、横断面模型模块、数据持久层模块;
横断面数据处理后台数据库4,包括横断面非关系数据库。
横断面数据处理中台计算模块3,其特征在于,所述系统初始化模块用于初始化系统的所有对象实例,所述图形界面交互事件处理模块用于监听鼠标、键盘事件并调用相应的业务逻辑进行处理,所述命令行脚本模块用于执行命令行指令及Python脚本并通过Python语言对用户提供应用程序编程接口(API),所述图形计算模块提供横断面数据处理用到的算法,所述横断面模型模块用于描述公路铁路路基横断面模型,所述数据持久层模块用于将横断面模型持久化到后台数据库。
横断面数据处理后台数据库4,其特征在于,所述横断面非关系数据库用于以JSON格式统一存储公路铁路的路基横断面模型。
如图2所示,是本发明路基横断面数据处理方法的流程图;本发明实例用于路基横断面数据处理方法,其特征在于包括如下步骤:
步骤(1),用户点击菜单按钮,或点击工具栏按钮,或在命令行输入命令,向系统发布新建项目指令,用户在图形界面对话框窗口进行项目配置操作;
步骤(2),用户点击菜单按钮,或点击工具栏按钮,或在命令行输入命令,向系统发布从数字地形模型切割生成横断面地面线指令,用户在交互绘图窗口进行生成横断面地面线的交互操作;
步骤(3),用户点击菜单按钮,或点击工具栏按钮,或在命令行输入命令,向系统发布实测横断面地面线编辑指令,用户在交互绘图窗口进行实测横断面编辑的交互操作;
步骤(4),用户点击菜单按钮,或点击工具栏按钮,或在命令行输入命令,向系统发布从地质纵断面切割生成横断面地层线指令,用户在交互绘图窗口进行生成横断面地层线的交互操作;
步骤(5),用户点击菜单按钮,或点击工具栏按钮,或在命令行输入命令,向系统发布横断面地质填绘指令,用户在交互绘图窗口进行横断面地质填绘编辑的交互操作;
步骤(6),用户点击菜单按钮,或点击工具栏按钮,或在命令行输入命令,向系统发布保存项目指令,用户在图形界面对话框窗口进行项目数据保存操作。
所述步骤(2)从数字地形模型切割生成横断面地面线具体为:
步骤(2.1),向辅助设计系统发布从数字地形模型切割生成横断面地面线指令后,系统会提示选择数字地形模型DEM和线路设计方案,用户选中数字地形模型后和线路设计方案后系统将在交互窗口提示用户指定需要切割生成的横断面里程,用户指定需要切割生成的横断面里程后,系统计算生成指定里程的横断面地面线;
步骤(2.2),接步骤(2.1)系统计算生成指定里程的横断面地面线后,系统对横断面地面线上每个线段的端点按从左到右的顺序从1开始依次编号1、2、3…;
步骤(2.3),接步骤(2.2)系统对横断面地面线上每个线段的端点完成编号后,将横断面地面线数据按照如下带有嵌套层次的JSON进行格式化:
上述编程语言的目的在于将横断面地面线数据格式化为带有嵌套层次的JSON文档对象,具体为:每一个横断面地面线数据都保存在一个以“横断面”字符串作为键名的JSON文档对象中,“横断面”键的值是一个内嵌的JSON文档,该内嵌的JSON文档有"桩号"、"中桩"、"左侧"、"右侧"共4个字符串作为键名,"桩号"键的值存储该横断面的里程(浮点数),"中桩"键的值是一个内嵌的JSON文档,该内嵌的JSON文档有"端点"、"平距"、"高差"、"地面高程"、"工程坐标X"、"工程坐标Y"共6个字符串作为键名,"端点"键的值存储该横断面地面线线路中心点的编号(整数),"平距"键的值存储该横断面地面线线路中心点距离线路中心点的水平距离(浮点数,此处为0),"高差"键的值存储该横断面地面线线路中心点距离线路中心点的垂直距离(浮点数,此处为0),"地面高程"键的值存储该横断面地面线线路中心点的水准标高(浮点数),"工程坐标X"键的值存储该横断面地面线线路中心点的工程坐标系X轴坐标(浮点数),"工程坐标Y"键的值存储该横断面地面线线路中心点的工程坐标系Y轴坐标(浮点数),"左侧"键的值是一个数组,数组的每一个元素都是一个具有相同结构的内嵌JSON文档,该内嵌JSON文档有"端点"、"平距"、"高差"、"地面高程"、"工程坐标X"、"工程坐标Y"共6个字符串作为键名,"端点"键的值存储该横断面地面线线路中心线左侧端点的编号(整数),"平距"键的值存储该横断面地面线线路中心线左侧端点距离线路中心点的水平距离(浮点数),"高差"键的值存储该横断面地面线线路中心线左侧端点距离线路中心点的垂直距离(浮点数,端点在线路中心点高程之上为正值,在线路中心点高程之下为负值),"地面高程"键的值存储该横断面地面线线路中心线左侧端点的水准标高(浮点数),"工程坐标X"键的值存储该横断面地面线线路中心线左侧端点的工程坐标系X轴坐标(浮点数),"工程坐标Y"键的值存储该横断面地面线线路中心线左侧端点的工程坐标系Y轴坐标(浮点数),"右侧"键的值是一个数组,数组的每一个元素都是一个具有相同结构的内嵌JSON文档,该内嵌JSON文档有"端点"、"平距"、"高差"、"地面高程"、"工程坐标X"、"工程坐标Y"共6个字符串作为键名,"端点"键的值存储该横断面地面线线路中心线右侧端点的编号(整数),"平距"键的值存储该横断面地面线线路中心线右侧端点距离线路中心点的水平距离(浮点数),"高差"键的值存储该横断面地面线线路中心线右侧端点距离线路中心点的垂直距离(浮点数,端点在线路中心点高程之上为正值,在线路中心点高程之下为负值),"地面高程"键的值存储该横断面地面线线路中心线右侧端点的水准标高(浮点数),"工程坐标X"键的值存储该横断面地面线线路中心线右侧端点的工程坐标系X轴坐标(浮点数),"工程坐标Y"键的值存储该横断面地面线线路中心线右侧端点的工程坐标系Y轴坐标(浮点数)。
格式化完成后将数据存储在非关系数据库的临时集合temp中。
所述步骤(3)实测横断面地面线编辑具体为:
步骤(3.1),向系统发布实测横断面地面线编辑指令后,系统会提示用户在交互绘图窗口和数据填写窗口进行横断面地面线编辑;
步骤(3.2),接步骤(3.1)用户通过图形界面交互操作将实测横断面地面线输入完毕后,系统对横断面地面线上每个线段的端点按从左到右的顺序从1开始依次编号1、2、3…;
步骤(3.3),接步骤(3.2)同步骤(2.3)将横断面地面线数据按照带有嵌套层次的JSON进行格式化,格式化完成后将数据存储在非关系数据库的临时集合temp中。
所述步骤(4)从地质纵断面切割生成横断面地层线具体为:
步骤(4.1),向系统发布从地质纵断面切割生成横断面地层线指令后,系统会提示选择地质纵断面,用户选中地质纵断面后系统将在交互窗口提示用户指定需要切割生成的横断面里程,用户指定需要切割生成的横断面里程后,系统计算生成指定里程的横断面地层线;
步骤(4.2),接步骤(4.1)系统计算生成指定里程的横断面地层线后,系统对横断面地层线上每个线段的端点按从左到右、从上到下的顺序从-1开始依次编号-1、-2、-3…;
步骤(4.3),接步骤(4.2)系统对横断面地层线上每个线段的端点完成编号后,将横断面地层线数据按照如下带有嵌套层次的JSON进行格式化:
上述编程语言的目的在于将横断面地层线数据格式化为带有嵌套层次的JSON文档对象,具体为,每一个横断面地层线数据都保存在一个以“横断面”字符串作为键名的JSON文档对象中,“横断面”键的值是一个内嵌的JSON文档,该内嵌的JSON文档有"桩号"、"地层点集"、"地层集"共3个字符串作为键名,"桩号"键的值存储该横断面的里程(浮点数),"地层点集"键的值是一个数组,数组的每一个元素都是一个具有相同结构的内嵌JSON文档,该内嵌JSON文档有"地层点"、"平距"、"高差"、"高程"、"工程坐标X"、"工程坐标Y"共6个字符串作为键名,"地层点"键的值存储该横断面地层线端点的编号(负整数),"平距"键的值存储该横断面地层线端点距离线路中心点的水平距离(浮点数,左侧为负数,右侧为整数),"高差"键的值存储该横断面地层线端点距离线路中心点的垂直距离(浮点数,端点在线路中心点高程之上为正值,在线路中心点高程之下为负值),"高程"键的值存储该横断面地层线端点的水准标高(浮点数),"工程坐标X"键的值存储该横断面地层线端点的工程坐标系X轴坐标(浮点数),"工程坐标Y"键的值存储该横断面地层线端点的工程坐标系Y轴坐标(浮点数),"地层集"键的值是一个数组,数组的每一个元素都是一个具有相同基本结构的内嵌JSON文档,该内嵌JSON文档可以根据实际情况进行扩展,其基本结构有"地层"、"地层类型"、"重度"、"内摩擦角"、"地层顶边"、"地层底边"共6个字符串作为键名,"地层"键的值存储该横断面中地层的编号(整数),"地层类型"键的值存储该横断面中地层的类型名称(字符串),"重度"键的值存储该横断面中地层的岩土重度参数(浮点数),"内摩擦角"键的值存储该横断面中地层的岩土内摩擦角参数(浮点数),"地层顶边"键的值是一个数组,数组的每一个元素都是构成该地层顶边的地层线(或地面线)端点编号(整数),"地层底边"键的值是一个数组,数组的每一个元素都是构成该地层底边的地层线端点编号(整数)。
格式化完成后将数据存储在非关系数据库的临时集合temp中。
所述步骤(5)横断面地质填绘具体为:
步骤(5.1),向系统发布横断面地质填绘指令后,系统会提示用户在交互绘图窗口和数据填写窗口进行横断面地层线编辑;
步骤(5.2),接步骤(5.1)系统计算生成指定里程的横断面地层线后,系统对横断面地层线上每个线段的端点按从左到右、从上到下的顺序从-1开始依次编号-1、-2、-3…;
步骤(5.3),接步骤(5.2)同步骤(4.3)将横断面地面线数据按照带有嵌套层次的JSON进行格式化,格式化完成后将数据存储在非关系数据库的临时集合temp中,格式化完成后将数据存储在非关系数据库的临时集合temp中。
所述步骤(6)保存项目具体为:将非关系数据库临时集合temp中的地面线和地层线JSON文件转存到带有版本编号的正式项目集合中,集合名称为“项目名称_版本编号”。
实施例1:
如图3所示,以最复杂的实施例来详细说明本发明的实施方式,图3为有透镜体的路基横断面,该路基横断面数据处理方法如下:
按所述步骤(3)使用本发明系统提供的实测横断面地面线编辑功能,用户通过图形界面交互操作将实测横断面地面线输入完毕后,系统对横断面地面线上每个线段的端点按从左到右的顺序从1开始依次编号1、2、3、4、5、6、7,将横断面地面线数据按照如下带有嵌套层次的JSON进行格式化:
格式化完成后将数据存储在非关系数据库的临时集合temp中。
按所述步骤(5)使用本发明系统提供的横断面地质填绘功能,用户在交互绘图窗口和数据填写窗口输入完横断面地层线后,系统对横断面地层线上每个线段的端点按从左到右、从上到下的顺序从-1开始依次编号-1、-2、-3、-4、-5、-6、-7、-8、-9、-10、-11、-12,将横断面地层线数据按照如下带有嵌套层次的JSON进行格式化:
格式化完成后将数据存储在非关系数据库的临时集合temp中。
按所述步骤(6)将非关系数据库临时集合temp中的地面线和地层线JSON文件转存到带有版本编号的正式项目集合中,集合名称为“项目名称_版本编号”。
当用户需要开发一个重力式路堑挡土墙计算程序时,可以通过横断面数据处理中台计算模块所提供的Python语言应用程序编程接口(API)简单、高效、准确地调取利用路基横断面的几何和物理参数,易于用户扩展路基设计不同场景的应用,灵活性强。
与现有技术相比,本发明的路基横断面数据处理系统和方法具有以下特点:
(1)本系统通过图形界面交互处理路基横断面地面线和地层线数据,概念清晰可视化效果好,采用更为先进的非关系数据库进行存储管理,实现了相比传统技术更加灵活、简单、高效、准确地处理路基横断面数据,大大减降低了用户扩展开发新功能的难度,中台计算模块对用户提供应用程序编程接口(API),方便用户自定义横断面数据调取利用模块,活用路基横断面数据,有效统一管理每个项目的路基横断面数据,减少了设计差错几率。
(2)本方法提出了一种将横断面数据编码为嵌套层次JSON半结构化数据的方法,简单直观可扩展,与传统方法相比,土木工程师不需要学习复杂的数据格式或数据库建模方法,可以简单灵活高效地针对不同的路基设计场景开发用户自定义的应用。
本说明书未作详细描述的内容属于本领域专业技术人员公知的现有技术。
Claims (5)
1.一种路基横断面数据处理方法,其特征在于包括以下步骤:
a.发布新建项目并进行项目配置操作;
b.从数字地形模型切割生成横断面地面线;
c.编辑实测横断面地面线;
d.从地质纵断面切割生成横断面地层线;
e.编辑横断面地质填绘;
f.保存项目;
所述步骤b中具体包括以下步骤:
步骤(2.1),向辅助设计系统发布从数字地形模型切割生成横断面地面线指令,根据外部指令选择数字地形模型和线路设计方案并指定需要切割生成的横断面里程,计算生成指定里程的横断面地面线;
步骤(2.2),对横断面地面线上每个线段的端点按从左到右的顺序从1开始依次编号1、2、3…;
步骤(2.3),按照编号依次将各线段的横断面地面线数据通过带有嵌套层次的JSON进行格式化:
步骤(2.4),将格式化完成后的横断面地面线数据存储在非关系数据库的临时集合temp中;
所述步骤c具体包括以下步骤:
步骤(3.1),向系统发布实测横断面地面线编辑指令,根据外部指令获取横断面地面线的交互绘图信息和数据;
步骤(3.2),根据获取的横断面地面线信息对横断面地面线上每个线段的端点按从左到右的顺序从1开始依次编号1、2、3…;
步骤(3.3),按照编号依次将横断面地面线数据通过带有嵌套层次的JSON进行格式化;
步骤(3.4),将格式化完成后的横断面地面线数据存储在非关系数据库的临时集合temp中;
所述步骤d中具体包括以下步骤:
步骤(4.1),向系统发布从地质纵断面切割生成横断面地层线指令后,根据外部指令选择地质纵断面和需要切割生成的横断面里程,计算生成指定里程的横断面地层线;
步骤(4.2),对横断面地层线上每个线段的端点按从左到右、从上到下的顺序从-1开始依次编号-1、-2、-3…;
步骤(4.3),按照编号依次将横断面地层线数据通过带有嵌套层次的JSON进行格式化;
步骤(4.4),将格式化完成后横断面地层线数据存储在非关系数据库的临时集合temp中;
所述步骤e具体包括以下步骤:
步骤(5.1),向系统发布横断面地质填绘指令后,根据外部指令获取横断面地层线的交互绘图信息和数据;
步骤(5.2),对横断面地层线上每个线段的端点按从左到右、从上到下的顺序从-1开始依次编号-1、-2、-3…;
步骤(5.3),按照编号依次将横断面地层线数据通过带有嵌套层次的JSON进行格式化,
步骤(5.4),将格式化完成后的横断面地面线数据存储在非关系数据库的临时集合temp中;
所述步骤f具体包括以下步骤:
将非关系数据库临时集合temp中的地面线和地层线JSON文件转存到带有版本编号的正式项目集合中,集合名称为“项目名称_版本编号”。
2.根据权利要求1所述的路基横断面数据处理方法,其特征在于所述步骤(2.3)和步骤(3.3)包括如下相同的步骤:
将每个线段的横断面地面线数据都保存在一个以“横断面”字符串作为键名的JSON文档对象中,“横断面”键的值是一个内嵌的JSON文档,该内嵌的JSON文档以"桩号"、"中桩"、"左侧"、"右侧"共4个字符串作为键名,其中"桩号"键的值存储该横断面的里程;
"中桩"键的值是一个内嵌的JSON文档,该内嵌的JSON文档有"端点"、"平距"、"高差"、"地面高程"、"工程坐标X"、"工程坐标Y"共6个字符串作为键名,"端点"键的值存储该横断面地面线线路中心点的编号,"平距"键的值存储该横断面地面线线路中心点距离线路中心点的水平距离,线路中心点具体是指公路铁路路基横断面上线路平面设计几何中心线与该横断面的交点;"高差"键的值存储该横断面地面线线路中心点距离线路中心点的垂直距离,"地面高程"键的值存储该横断面地面线线路中心点的水准标高,"工程坐标X"键的值存储该横断面地面线线路中心点的工程坐标系X轴坐标,"工程坐标Y"键的值存储该横断面地面线线路中心点的工程坐标系Y轴坐标;
"左侧"键的值是一个数组,数组的每一个元素都是一个具有相同结构的内嵌JSON文档,该内嵌JSON文档有"端点"、"平距"、"高差"、"地面高程"、"工程坐标X"、"工程坐标Y"共6个字符串作为键名,"端点"键的值存储该横断面地面线线路中心线左侧端点的编号,"平距"键的值存储该横断面地面线线路中心线左侧端点距离线路中心点的水平距离,"高差"键的值存储该横断面地面线线路中心线左侧端点距离线路中心点的垂直距离,"地面高程"键的值存储该横断面地面线线路中心线左侧端点的水准标高,"工程坐标X"键的值存储该横断面地面线线路中心线左侧端点的工程坐标系X轴坐标,"工程坐标Y"键的值存储该横断面地面线线路中心线左侧端点的工程坐标系Y轴坐标;
"右侧"键的值是一个数组,数组的每一个元素都是一个具有相同结构的内嵌JSON文档,该内嵌JSON文档有"端点"、"平距"、"高差"、"地面高程"、"工程坐标X"、"工程坐标Y"共6个字符串作为键名,"端点"键的值存储该横断面地面线线路中心线右侧端点的编号,"平距"键的值存储该横断面地面线线路中心线右侧端点距离线路中心点的水平距离,"高差"键的值存储该横断面地面线线路中心线右侧端点距离线路中心点的垂直距离,"地面高程"键的值存储该横断面地面线线路中心线右侧端点的水准标高,"工程坐标X"键的值存储该横断面地面线线路中心线右侧端点的工程坐标系X轴坐标,"工程坐标Y"键的值存储该横断面地面线线路中心线右侧端点的工程坐标系Y轴坐标。
3.根据权利要求2所述的路基横断面数据处理方法,其特征在于所述步骤(4.3)和(5.3)包括以下相同的步骤:
每个线段横断面地层线数据都保存在一个以“横断面”字符串作为键名的JSON文档对象中,“横断面”键的值是一个内嵌的JSON文档,该内嵌的JSON文档有"桩号"、"地层点集"、"地层集"共3个字符串作为键名,其中"桩号"键的值存储该横断面的里程;
"地层点集"键的值是一个数组,数组的每一个元素都是一个具有相同结构的内嵌JSON文档,该内嵌JSON文档有"地层点"、"平距"、"高差"、"高程"、"工程坐标X"、"工程坐标Y"共6个字符串作为键名,"地层点"键的值存储该横断面地层线端点的编号,"平距"键的值存储该横断面地层线端点距离线路中心点的水平距离,"高差"键的值存储该横断面地层线端点距离线路中心点的垂直距离,"高程"键的值存储该横断面地层线端点的水准标高,"工程坐标X"键的值存储该横断面地层线端点的工程坐标系X轴坐标,"工程坐标Y"键的值存储该横断面地层线端点的工程坐标系Y轴坐标;
"地层集"键的值是一个数组,数组的每一个元素都是一个具有相同基本结构的内嵌JSON文档,该内嵌JSON文档可以根据实际情况进行扩展,其基本结构有"地层"、"地层类型"、"重度"、"内摩擦角"、"地层顶边"、"地层底边"共6个字符串作为键名,"地层"键的值存储该横断面中地层的编号,"地层类型"键的值存储该横断面中地层的类型名称,"重度"键的值存储该横断面中地层的岩土重度参数,"内摩擦角"键的值存储该横断面中地层的岩土内摩擦角参数,"地层顶边"键的值是一个数组,数组的每一个元素都是构成该地层顶边的地层线或地面线端点编号,"地层底边"键的值是一个数组,数组的每一个元素都是构成该地层底边的地层线端点编号。
4.一种路基横断面数据处理系统,其特征在于包括前台人机界面模块、中台计算模块、后台数据库;其中,前台人机界面模块用于获取外部指令;中台计算模块根据外部指令获取横断面的设定参数,以执行权利要求1所述的方法,计算生成指定里程的横断面地面线和横断面地层线并根据外部指令进行横断面地面线和地层线的编辑,将横断面地面线和地层线数据格式化后存储在后台数据库。
5.根据权利要求4所述的路基横断面数据处理系统,其特征在于所述中台计算模块,包括系统初始化模块、图形界面交互事件处理模块、命令行脚本模块、图形计算模块、横断面模型模块、数据持久层模块;所述系统初始化模块用于初始化系统的所有对象实例,所述图形界面交互事件处理模块用于监听鼠标、键盘事件并调用相应的业务逻辑进行处理,所述命令行脚本模块用于执行命令行指令及Python脚本并通过Python语言对用户提供应用程序编程接口,所述图形计算模块提供横断面数据处理用到的算法,所述横断面模型模块用于描述公路铁路路基横断面模型,所述数据持久层模块用于将横断面模型持久化到后台数据库。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010754011.4A CN111967071B (zh) | 2020-07-30 | 2020-07-30 | 路基横断面数据处理系统及其方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010754011.4A CN111967071B (zh) | 2020-07-30 | 2020-07-30 | 路基横断面数据处理系统及其方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111967071A CN111967071A (zh) | 2020-11-20 |
CN111967071B true CN111967071B (zh) | 2024-02-02 |
Family
ID=73363078
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010754011.4A Active CN111967071B (zh) | 2020-07-30 | 2020-07-30 | 路基横断面数据处理系统及其方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111967071B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113626546B (zh) * | 2021-06-16 | 2023-09-22 | 中国铁路设计集团有限公司 | 一种铁路桥梁地质图形数字化存储及应用的方法 |
CN113486430B (zh) * | 2021-07-12 | 2023-08-18 | 中国电建集团昆明勘测设计研究院有限公司 | 一种公路横断面线批量生成方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101685471A (zh) * | 2008-09-26 | 2010-03-31 | 黑龙江工程学院 | 公路路线cad辅助设计系统 |
CN101866370A (zh) * | 2009-04-17 | 2010-10-20 | 铁道第三勘察设计院集团有限公司 | 路基工程横断面设计的模板处理方法 |
CN111368437A (zh) * | 2020-03-05 | 2020-07-03 | 中铁二院工程集团有限责任公司 | 基于bim技术的铁路路基工程设计方法 |
-
2020
- 2020-07-30 CN CN202010754011.4A patent/CN111967071B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101685471A (zh) * | 2008-09-26 | 2010-03-31 | 黑龙江工程学院 | 公路路线cad辅助设计系统 |
CN101866370A (zh) * | 2009-04-17 | 2010-10-20 | 铁道第三勘察设计院集团有限公司 | 路基工程横断面设计的模板处理方法 |
CN111368437A (zh) * | 2020-03-05 | 2020-07-03 | 中铁二院工程集团有限责任公司 | 基于bim技术的铁路路基工程设计方法 |
Non-Patent Citations (3)
Title |
---|
刘奉喜等.路基工程.用户自定义边坡脚本模板在路基横断面设计中的应用.2015,(第2015年第6期),58-60. * |
基于Cesium的路基参数化三维建模方法;荆倩婧等;土木建筑工程信息技术;第第12卷卷(第第2期期);第68-73页 * |
基于数据库的铁路路基横断面设计系统;王卫东,詹振炎;中国铁道科学(03);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN111967071A (zh) | 2020-11-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110134724A (zh) | 一种建筑信息模型的数据智能提取与显示系统及方法 | |
US5278946A (en) | Method of presenting multimedia data in a desired form by comparing and replacing a user template model with analogous portions of a system | |
CN102201129B (zh) | 一种三维可视化地铁综合管线运营维护系统及维护方法 | |
CN111967071B (zh) | 路基横断面数据处理系统及其方法 | |
CN112381937A (zh) | 一种基于钻孔和复杂地质剖面的多源地质数据耦合建模方法 | |
CN107562833A (zh) | 基于等高线的复杂地形三维离散单元法数值模型建模方法 | |
CN105205864B (zh) | 基于多源数据的地质结构面三维模型自动建模方法和系统 | |
CN105957146B (zh) | 线状工程三维地质建模方法 | |
CN111383336A (zh) | 三维地质模型构建方法 | |
CN103177103A (zh) | 一种三维地理信息系统管理平台 | |
CN114549774A (zh) | 一种基于钻孔数据的三维地层建模方法 | |
CN113626455A (zh) | 图库联动更新方法及装置、电子设备、存储介质 | |
CN114936390A (zh) | 基于Dynamo可视化编程对工程桩实际桩长的计算方法 | |
CN111986325B (zh) | 一种三维地质体模型隐式剖切方法 | |
CN106023311B (zh) | 提高三维地形生成精度的方法 | |
CN104090945B (zh) | 一种地理空间实体构建方法及系统 | |
CN118298117A (zh) | 一种三维多层级地质模型构建方法 | |
CN113868728A (zh) | 一种基于Bentley软件的挖方填方工程数量计算方法 | |
Zhang et al. | Method and application of urban 3D rapid modeling of geology based on CAD Borehole Logs | |
CN116578564B (zh) | 一种多测合一生产质检一体化应用服务系统 | |
CN117237550A (zh) | 一种基于3de平台的纬地数据解析并生成模型的方法 | |
CN110837668A (zh) | 一种基于bim软件的计算不同土质土方量的方法及装置 | |
CN115690340A (zh) | 一种基于二、三维实时联动的交叉地质剖面界线调整方法 | |
CN102467573B (zh) | 数字测图简拼编码法和内部排序法为辅的最短距离排序法 | |
CN112562080A (zh) | 一种基于钻孔数据的地质结构降维模型建模方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |