CN111524203A - 基于gpx数据的面状矢量图生成方法及系统 - Google Patents
基于gpx数据的面状矢量图生成方法及系统 Download PDFInfo
- Publication number
- CN111524203A CN111524203A CN202010328179.9A CN202010328179A CN111524203A CN 111524203 A CN111524203 A CN 111524203A CN 202010328179 A CN202010328179 A CN 202010328179A CN 111524203 A CN111524203 A CN 111524203A
- Authority
- CN
- China
- Prior art keywords
- route
- endpoint
- state
- closed polygon
- flight path
- 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.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T11/00—2D [Two Dimensional] image generation
- G06T11/20—Drawing from basic elements, e.g. lines or circles
- G06T11/203—Drawing of straight lines or curves
-
- 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
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/12—Use of codes for handling textual entities
- G06F40/151—Transformation
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- General Engineering & Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Remote Sensing (AREA)
- Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Computational Linguistics (AREA)
- General Health & Medical Sciences (AREA)
- Processing Or Creating Images (AREA)
- Navigation (AREA)
Abstract
本发明提供一种基于GPX数据的面状矢量图生成方法及系统,方法包括:导入GPX数据;识别出第1个闭合多边形;识别出第2个闭合多边形;依此类推,识别出所有的闭合多边形;在遍历得到所有闭合多边形后,将每个所述闭合多边形生成对应的面状矢量图,即得到最终的面状矢量图。本发明能够简单、快速、准确的将GPX数据生成多个面状矢量图,从而简化了系统配置的复杂度和开销,提高了数据处理的效率。本发明提供的基于GPX数据的面状矢量图生成方法及系统,可用于地理信息系统中对航线数据等进行信息处理。
Description
技术领域
本发明属于GPX数据处理技术领域,具体涉及一种基于GPX数据的面状矢量图生成方法及系统。
背景技术
GPX是GPS数据交换格式的简写,是一种比较小的XML(EXtensible MarkupLanguage)数据格式,包括航点坐标等GPS信息,可在网络上传输并且支持网络服务。
在获得GPX数据后,为将其应用于Google Earth(三维地球)、Map Source(garmin导航仪工具软件)等应用程序,通常需要将GPX数据生成面状矢量图。现有技术中,在图像检测等地理信息处理时,将GPX数据生成面状矢量图的方法,普遍具有过程复杂、系统开销大等问题。
发明内容
针对现有技术存在的缺陷,本发明提供一种基于GPX数据的面状矢量图生成方法及系统,可有效解决上述问题。
本发明采用的技术方案如下:
本发明提供一种基于GPX数据的面状矢量图生成方法,包括以下步骤:
步骤1,导入GPX数据;其中,所述GPX数据包括航点信息和航线信息;所述航点信息包括航点的经纬度信息;所述航线信息包括:航线两端点的航线端点坐标以及连接航线两端点的航迹信息;
步骤2,对所述GPX数据进行初步处理,将不属于航线端点的孤立的航点信息设置为无效的航点信息;
步骤3,建立航线信息配置表;所述航线信息配置表用于存储每条航线的航线ID、航线端点坐标、航迹信息以及航线状态的对应关系;其中,所述航线状态包括:无效状态和有效状态;所述有效状态进一步区分为有效初始航线状态、有效外边界航线状态和有效内边界航线状态;
初始时,设置每条航线的航线状态均为有效初始航线状态;
步骤4,遍历每条航线,如果遍历到的所述航线满足以下条件,表明该航线不可能作为闭合多边形的一条边,因此,将所述航线信息配置表中对应航线的状态修改为无效状态:
条件:所述航线的至少一个航线端点仅属于自身一条航线的航线端点,没有同时作为其他航线的航线端点;
步骤5,通过以下方式识别出第1个闭合多边形:
步骤5.1,通过以下方式识别出第1个闭合多边形的第1条边:
步骤5.1.1,检索所述航线信息配置表中有效状态的航线,定位到最靠北的航线端点,将定位到的所述航线端点称为P1端点;定位到的所述P1端点至少为两条航线的航线端点;
以P1端点正上方为基线,按逆时针方向依次计算基线与各条以P1端点为端点的各条航线的夹角,选择夹角最小的航线,将选择到的所述夹角最小的航线的状态修改为有效外边界航线状态,并将选择到的所述夹角最小的航线称为H1航线;
步骤5.1.2,从P1端点开始,沿H1航线的航迹追踪,直到追踪到H1航线的另一个端点,将追踪到的H1航线的另一个端点称为P2端点;
因此,记录以下信息:H1航线,其两端点分别为P1端点和P2端点,形成第1个闭合多边形的第1条边;
步骤5.2,通过以下方式识别出第1个闭合多边形的第2条边:
步骤5.2.1,判断P2端点是否仅为两条航线的航线端点,如果是,则执行步骤5.2.2;如果否,则执行步骤5.2.3;
步骤5.2.2,采用闭合多边形第一边界状态识别算法,识别出第1个闭合多边形的第2条边,具体步骤为:
P2端点不仅为H1航线的端点,还同时为另一条航线的端点,将另一条以P2端点作为端点的航线称为H2航线;将H2航线的状态修改为有效外边界航线状态;
从P2端点开始,沿H2航线的航迹追踪,直到追踪到H2航线的另一个端点,将追踪到的H2航线的另一个端点称为P3端点;
因此,记录以下信息:H2航线,其两端点分别为P2端点和P3端点,形成第1个闭合多边形的第2条边,状态为有效外边界航线状态;然后执行步骤5.3;
步骤5.2.3,采用闭合多边形第二边界状态识别算法,识别出第1个闭合多边形的第2条边,具体步骤为:
P2端点不仅为H1航线的端点,还同时为至少两条其他航线的端点;
以H1航线为基线,以P2端点为转点,以逆时针方向计算基线与其他各条以P2端点为端点的各条航线的夹角,选择夹角最大并且航线状态为有效状态的航线;
将选择到的夹角最大并且航线状态为有效状态的航线称为H2航线;将H2航线的状态修改为有效内边界航线状态;
从P2端点开始,沿H2航线的航迹追踪,直到追踪到H2航线的另一个端点,将追踪到的H2航线的另一个端点称为P3端点;
因此,记录以下信息:H2航线,其两端点分别为P2端点和P3端点,形成第1个闭合多边形的第2条边,状态为有效内边界航线状态;然后执行5.3;
步骤5.3,通过以下方式识别出第1个闭合多边形的第3条边,并判断第3条边是否为第1个闭合多边形的最后一条边,方法如下:
步骤5.3.1,判断P3端点是否仅为两条航线的航线端点,如果是,则执行步骤5.3.2;如果否,则执行步骤5.3.3;
步骤5.3.2,P3端点不仅为H2航线的端点,还同时为另一条航线的端点,将另一条以P3端点作为端点的航线称为H3航线;
从P3端点开始,沿H3航线的航迹追踪,直到追踪到H3航线的另一个端点,将追踪到的H3航线的另一个端点称为P4端点;
记录以下信息:H3航线,其两端点分别为P3端点和P4端点,形成第1个闭合多边形的第3条边,状态为有效外边界航线状态;然后执行步骤5.3.4;
步骤5.3.3,采用闭合多边形第二边界状态识别算法,以H2航线为基线、以P3端点为转点,以逆时针方向计算基线与其他各条以P3端点为端点的各条航线的夹角,选择夹角最大并且航线状态为有效状态的航线,记为H3航线;
从P3端点开始,沿H3航线的航迹追踪,直到追踪到H3航线的另一个端点,将追踪到的H3航线的另一个端点称为P4端点;
记录以下信息:H3航线,其两端点分别为P3端点和P4端点,形成第1个闭合多边形的第3条边,状态为有效内边界航线状态;然后执行步骤5.3.4;
步骤5.3.4,采用以下方法判断第3条边是否为第1个闭合多边形的最后一条边:
判断P4点坐标是否与P1点相同;如果是,P4端点与P1端点重合,P4端点即为P1端点,因此,第3条边即H3航线为第1个闭合多边形的最后一条边,由此识别到完整的第1个闭合多边形,其由以下端点首尾相接形成:P1端点-P2端点-P3端点-P1端点;
如果否,则表明H3航线不是第1个闭合多边形的最后一条边;
采用与步骤5.3相同的方法,识别出第1个闭合多边形的第4条边,并判断第4条边是否为第1个闭合多边形的最后一条边;如果是,则执行步骤6;如果否,则再采用与步骤5.3相同的方法,识别出第1个闭合多边形的第5条边,并判断第5条边是否为第1个闭合多边形的最后一条边,依此类推,直到识别出第1个闭合多边形的最后一条边,由此识别出完整的第1个闭合多边形,并定位到第1个闭合多边形的P1端点位置;
对于识别到的第1个闭合多边形,从第一条边开始,依次识别各条边的有效状态,定位到第一次出现的状态为有效内边界航线状态的边,设为第z条边,将第一条边到第z-1条边的状态更改为无效状态;然后,执行步骤6;
步骤6,从P1端点开始,沿第1个闭合多边形的航线的航迹进行追踪,直到追踪到某个端点,该端点同时作为另一个航线状态为有效初始航线状态的航线为止,该端点即为第2个闭合多边形的第1个航线端点,即为P1端点;
然后,采用与步骤5相同的方法,识别出第2个闭合多边形;依此类推,识别出所有的闭合多边形;
步骤7,在遍历得到所有闭合多边形后,将每个所述闭合多边形生成对应的面状矢量图,即得到最终的面状矢量图。
优选的,步骤3中,航线状态为有效初始航线状态,是指:航线为灰色;所述航线状态为无效状态,是指:将对应航线变为黑线;航线状态为有效外边界航线状态,是指:将对应航线变为红色;航线状态为有效内边界航线状态,是指:将对应航线变为绿色。
本发明还提供一种基于GPX数据的面状矢量图生成方法的系统,包括:
GPX数据导入模块,用于导入GPX数据;其中,所述GPX数据包括航点信息和航线信息;所述航点信息包括航点的经纬度信息;所述航线信息包括:航线两端点的航线端点坐标以及连接航线两端点的航迹信息;
初步处理模块,用于对所述GPX数据进行初步处理,将不属于航线端点的孤立的航点信息设置为无效的航点信息;
航线信息配置表,用于建立航线信息配置表;所述航线信息配置表用于存储每条航线的航线ID、航线端点坐标、航迹信息以及航线状态的对应关系;其中,所述航线状态包括:无效状态和有效状态;所述有效状态进一步区分为有效初始航线状态、有效外边界航线状态和有效内边界航线状态;
初始时,设置每条航线的航线状态均为有效初始航线状态;
无效状态航线初始定位模块,用于遍历每条航线,如果遍历到的所述航线满足以下条件,表明该航线不可能作为闭合多边形的一条边,因此,将所述航线信息配置表中对应航线的状态修改为无效状态:
条件:所述航线的至少一个航线端点仅属于自身一条航线的航线端点,没有同时作为其他航线的航线端点;
第1个闭合多边形识别模块,用于识别出第1个闭合多边形,具体包括:第1条边识别子模块,第2条边识别子模块,第3条边识别子模块;
第2个闭合多边形识别模块,用于从P1端点开始,沿第1个闭合多边形的航线的航迹进行追踪,直到追踪到某个端点,该端点同时作为另一个航线状态为有效初始航线状态的航线为止,该端点即为第2个闭合多边形的第1个航线端点,即为P1端点;
然后,识别出第2个闭合多边形;依此类推,识别出所有的闭合多边形;
面状矢量图生成模块,用于在遍历得到所有闭合多边形后,将每个所述闭合多边形生成对应的面状矢量图,即得到最终的面状矢量图。
本发明提供的基于GPX数据的面状矢量图生成方法及系统具有以下优点:
本发明能够简单、快速、准确的将GPX数据生成多个面状矢量图,从而简化了系统配置的复杂度和开销,提高了数据处理的效率。本发明提供的基于GPX数据的面状矢量图生成方法及系统,可用于地理信息系统中对航线数据等进行信息处理。
附图说明
图1为本发明提供的基于GPX数据的面状矢量图生成方法的流程示意图;
图2为本发明提供的基于GPX数据的面状矢量图生成方法的原理图;
图3为本发明提供的基于GPX数据的面状矢量图生成方法的原理图.
具体实施方式
为了使本发明所解决的技术问题、技术方案及有益效果更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。
本发明提供一种基于GPX数据的面状矢量图生成方法,参考图1,包括以下步骤:
步骤1,导入GPX数据;其中,所述GPX数据包括航点信息和航线信息;所述航点信息包括航点的经纬度信息;所述航线信息包括:航线两端点的航线端点坐标以及连接航线两端点的航迹信息;需要强调的是,实际应用中,一条航线可由两个或多个航点连线而成,考虑到本专利实际应用,本发明涉及到的所有航线皆定义为两航点之间连线形成的航线。
步骤2,对所述GPX数据进行初步处理,将不属于航线端点的孤立的航点信息设置为无效的航点信息;例如,参考图2,航线端点P15为孤立的航点信息设置,因此,直接将航线端点P15设置为无效的航点信息。
步骤3,建立航线信息配置表;所述航线信息配置表用于存储每条航线的航线ID、航线端点坐标、航迹信息以及航线状态的对应关系;其中,所述航线状态包括:无效状态和有效状态;所述有效状态进一步区分为有效初始航线状态、有效外边界航线状态和有效内边界航线状态;
初始时,设置每条航线的航线状态均为有效初始航线状态;
作为一种具体实现方式,步骤3中,航线状态为有效初始航线状态,是指:航线为灰色;所述航线状态为无效状态,是指:将对应航线变为黑线;航线状态为有效外边界航线状态,是指:将对应航线变为红色;航线状态为有效内边界航线状态,是指:将对应航线变为绿色。
步骤4,遍历每条航线,如果遍历到的所述航线满足以下条件,表明该航线不可能作为闭合多边形的一条边,因此,将所述航线信息配置表中对应航线的状态修改为无效状态:
条件:所述航线的至少一个航线端点仅属于自身一条航线的航线端点,没有同时作为其他航线的航线端点;
例如,参考图2,对于航线P12-P14,航线端点P14仅属于自身一条航线的航线端点,因此表明航线P12-P14不可能作为某个闭合多边形的一条边,直接将航线P12-P14状态修改为无效状态。当航线状态为无效状态时,可以简单理解为将此条航线删除,不再参与后续的面状矢量图生成步骤。
步骤5,通过以下方式识别出第1个闭合多边形:
步骤5.1,通过以下方式识别出第1个闭合多边形的第1条边:
步骤5.1.1,检索所述航线信息配置表中有效状态的航线,定位到最靠北的航线端点,将定位到的所述航线端点称为P1端点;定位到的所述P1端点至少为两条航线的航线端点;
以P1端点正上方为基线,按逆时针方向依次计算基线与各条以P1端点为端点的各条航线的夹角,选择夹角最小的航线,将选择到的所述夹角最小的航线的状态修改为有效外边界航线状态,并将选择到的所述夹角最小的航线称为H1航线;
步骤5.1.2,从P1端点开始,沿H1航线的航迹追踪,直到追踪到H1航线的另一个端点,将追踪到的H1航线的另一个端点称为P2端点;
因此,记录以下信息:H1航线,其两端点分别为P1端点和P2端点,形成第1个闭合多边形的第1条边;
步骤5.2,通过以下方式识别出第1个闭合多边形的第2条边:
步骤5.2.1,判断P2端点是否仅为两条航线的航线端点,如果是,则执行步骤5.2.2;如果否,则执行步骤5.2.3;
步骤5.2.2,采用闭合多边形第一边界状态识别算法,识别出第1个闭合多边形的第2条边,具体步骤为:
P2端点不仅为H1航线的端点,还同时为另一条航线的端点,将另一条以P2端点作为端点的航线称为H2航线;将H2航线的状态修改为有效外边界航线状态;
从P2端点开始,沿H2航线的航迹追踪,直到追踪到H2航线的另一个端点,将追踪到的H2航线的另一个端点称为P3端点;
因此,记录以下信息:H2航线,其两端点分别为P2端点和P3端点,形成第1个闭合多边形的第2条边,状态为有效外边界航线状态;然后执行步骤5.3;
步骤5.2.3,采用闭合多边形第二边界状态识别算法,识别出第1个闭合多边形的第2条边,具体步骤为:
P2端点不仅为H1航线的端点,还同时为至少两条其他航线的端点;
以H1航线为基线,以P2端点为转点,以逆时针方向计算基线与其他各条以P2端点为端点的各条航线的夹角,选择夹角最大并且航线状态为有效状态的航线;
将选择到的夹角最大并且航线状态为有效状态的航线称为H2航线;将H2航线的状态修改为有效内边界航线状态;
从P2端点开始,沿H2航线的航迹追踪,直到追踪到H2航线的另一个端点,将追踪到的H2航线的另一个端点称为P3端点;
因此,记录以下信息:H2航线,其两端点分别为P2端点和P3端点,形成第1个闭合多边形的第2条边,状态为有效内边界航线状态;然后执行5.3;
步骤5.3,通过以下方式识别出第1个闭合多边形的第3条边,并判断第3条边是否为第1个闭合多边形的最后一条边,方法如下:
步骤5.3.1,判断P3端点是否仅为两条航线的航线端点,如果是,则执行步骤5.3.2;如果否,则执行步骤5.3.3;
步骤5.3.2,P3端点不仅为H2航线的端点,还同时为另一条航线的端点,将另一条以P3端点作为端点的航线称为H3航线;
从P3端点开始,沿H3航线的航迹追踪,直到追踪到H3航线的另一个端点,将追踪到的H3航线的另一个端点称为P4端点;
记录以下信息:H3航线,其两端点分别为P3端点和P4端点,形成第1个闭合多边形的第3条边,状态为有效外边界航线状态;然后执行步骤5.3.4;
步骤5.3.3,采用闭合多边形第二边界状态识别算法,以H2航线为基线、以P3端点为转点,以逆时针方向计算基线与其他各条以P3端点为端点的各条航线的夹角,选择夹角最大并且航线状态为有效状态的航线,记为H3航线;
从P3端点开始,沿H3航线的航迹追踪,直到追踪到H3航线的另一个端点,将追踪到的H3航线的另一个端点称为P4端点;
记录以下信息:H3航线,其两端点分别为P3端点和P4端点,形成第1个闭合多边形的第3条边,状态为有效内边界航线状态;然后执行步骤5.3.4;
步骤5.3.4,采用以下方法判断第3条边是否为第1个闭合多边形的最后一条边:
判断P4点坐标是否与P1点相同;如果是,P4端点与P1端点重合,P4端点即为P1端点,因此,第3条边即H3航线为第1个闭合多边形的最后一条边,由此识别到完整的第1个闭合多边形,其由以下端点首尾相接形成:P1端点-P2端点-P3端点-P1端点;
如果否,则表明H3航线不是第1个闭合多边形的最后一条边;
采用与步骤5.3相同的方法,识别出第1个闭合多边形的第4条边,并判断第4条边是否为第1个闭合多边形的最后一条边;如果是,则执行步骤6;如果否,则再采用与步骤5.3相同的方法,识别出第1个闭合多边形的第5条边,并判断第5条边是否为第1个闭合多边形的最后一条边,依此类推,直到识别出第1个闭合多边形的最后一条边,由此识别出完整的第1个闭合多边形,并定位到第1个闭合多边形的P1端点位置;
对于识别到的第1个闭合多边形,从第一条边开始,依次识别各条边的有效状态,定位到第一次出现的状态为有效内边界航线状态的边,设为第z条边,将第一条边到第z-1条边的状态更改为无效状态;然后,执行步骤6;
步骤6,从P1端点开始,沿第1个闭合多边形的航线的航迹进行追踪,直到追踪到某个端点,该端点同时作为另一个航线状态为有效初始航线状态的航线为止,该端点即为第2个闭合多边形的第1个航线端点,即为P1端点;
然后,采用与步骤5相同的方法,识别出第2个闭合多边形;依此类推,识别出所有的闭合多边形;
以图2为例,步骤5和步骤6可描述为:
首先识别出第1个闭合多边形:
1)首先定位到最靠北的航线端点,即图2中的P1端点;
2)第一条边:
以P1端点正上方为基线,按逆时针方向依次计算基线与各条以P1端点为端点的各条航线的夹角,选择夹角最小的航线,即为H1航线,状态为有效外边界航线状态;
此处需要说明的是,对于第一条边,其状态一定是有效外边界航线状态,所以此处的航线状态可直接得出。
3)第二条边:
P2端点仅为两条航线的航线端点,因此,根据步骤5.2.2,P2端点到P3端点的连线为H2航线,状态为有效外边界航线状态,为第二条边;
第二条边一定不是第1个闭合多边形的最后一条边,所以此时不需要判断H2航线是否为第1个闭合多边形的最后一条边。
4)第三条边:
采用与第二条边同样的方法,定位到第三条边为H3航线,其两个端点分别为P3端点和P4端点,状态为有效外边界航线状态,为第三条边,并通过步骤5.3.4的方法,由于P4端点和P1点不相同,因此,H3航线不是第1个闭合多边形的最后一条边。
5)第四条边:
由于P4端点并不仅为两条航线的航线端点,采用步骤5.3.3的方法,以H3航线为基线、以P4端点为转点,以逆时针方向计算基线与其他各条以P4端点为端点的各条航线的夹角,选择夹角最大并且航线状态为有效状态的航线,定位到H4航线,其两个端点分别为P4端点和P8端点,状态为有效内边界航线状态,为第四条边,并可判断出H4航线不是第1个闭合多边形的最后一条边。
6)第五条边:
由于P8端点并不仅为两条航线的航线端点,采用步骤5.3.3的方法,以H4航线为基线、以P8端点为转点,以逆时针方向计算基线与其他各条以P8端点为端点的各条航线的夹角,选择夹角最大并且航线状态为有效状态的航线,定位到H5航线,其两个端点分别为P8端点和P9端点,状态为有效内边界航线状态,为第五条边,并可判断出H5航线不是第1个闭合多边形的最后一条边。
依此类推,可得到以下结论:
第一条边,H1航线,两个端点分别为P1端点和P2端点,状态为有效外边界航线状态;
第二条边,H2航线,两个端点分别为P2端点和P3端点,状态为有效外边界航线状态;
第三条边,H3航线,两个端点分别为P3端点和P4端点,状态为有效外边界航线状态;
第四条边,H4航线,两个端点分别为P4端点和P8端点,状态为有效内边界航线状态;
第五条边,H5航线,两个端点分别为P8端点和P9端点,状态为有效内边界航线状态;
第六条边,H6航线,两个端点分别为P9端点和P10端点,状态为有效外边界航线状态;
第七条边,H7航线,两个端点分别为P10端点和P1端点,状态为有效外边界航线状态,并且,第七条边为第1个闭合多边形的最后一条边。
由此得到第1个闭合多边形。
在得到第1个闭合多边形后,从第一条边开始,第一次出现的状态为有效内边界航线状态的边为H4航线,因此,将第一条边到第3条边的状态更改为无效状态,此时更改为无效状态的主要目的原因为:这三条边不再参与到第二个闭合多边形的识别过程中。可以理解为,在识别到第1个闭合多边形后,图2可转为图3的形式。
识别出第2个闭合多边形:
1)在识别第2个闭合多边形时,首先定位到P4端点;P4端点类似于第1个闭合多边形的P1端点,即为第2个闭合多边形识别的起始端点。
2)第一条边:
从P4端点开始,识别到第2个闭合多边形的第一条边为H8航线,两个端点分别为P4端点和P5端点,状态为有效外边界航线状态;
2)第二条边:
识别到第2个闭合多边形的第二条边为H9航线,两个端点分别为P5端点和P7端点,状态为有效内边界航线状态;
3)第三条边:
识别到第2个闭合多边形的第三条边为H10航线,两个端点分别为P7端点和P8端点,状态为有效内边界航线状态;
4)第四条边:
识别到第2个闭合多边形的第四条边为H4航线,两个端点分别为P8端点和P4端点,状态为有效内边界航线状态;同时,H4航线为第2个闭合多边形的最后一条边。
由此识别到第2个闭合多边形。
依此类推,识别其他所有闭合多边形。
步骤7,在遍历得到所有闭合多边形后,将每个所述闭合多边形生成对应的面状矢量图,即得到最终的面状矢量图。
本发明还提供一种基于GPX数据的面状矢量图生成方法的系统,包括:
GPX数据导入模块,用于导入GPX数据;其中,所述GPX数据包括航点信息和航线信息;所述航点信息包括航点的经纬度信息;所述航线信息包括:航线两端点的航线端点坐标以及连接航线两端点的航迹信息;
初步处理模块,用于对所述GPX数据进行初步处理,将不属于航线端点的孤立的航点信息设置为无效的航点信息;
航线信息配置表,用于建立航线信息配置表;所述航线信息配置表用于存储每条航线的航线ID、航线端点坐标、航迹信息以及航线状态的对应关系;其中,所述航线状态包括:无效状态和有效状态;所述有效状态进一步区分为有效初始航线状态、有效外边界航线状态和有效内边界航线状态;
初始时,设置每条航线的航线状态均为有效初始航线状态;
无效状态航线初始定位模块,用于遍历每条航线,如果遍历到的所述航线满足以下条件,表明该航线不可能作为闭合多边形的一条边,因此,将所述航线信息配置表中对应航线的状态修改为无效状态:
条件:所述航线的至少一个航线端点仅属于自身一条航线的航线端点,没有同时作为其他航线的航线端点;
第1个闭合多边形识别模块,用于识别出第1个闭合多边形,具体包括:第1条边识别子模块,第2条边识别子模块,第3条边识别子模块;
第2个闭合多边形识别模块,用于从P1端点开始,沿第1个闭合多边形的航线的航迹进行追踪,直到追踪到某个端点,该端点同时作为另一个航线状态为有效初始航线状态的航线为止,该端点即为第2个闭合多边形的第1个航线端点,即为P1端点;
然后,识别出第2个闭合多边形;依此类推,识别出所有的闭合多边形;
面状矢量图生成模块,用于在遍历得到所有闭合多边形后,将每个所述闭合多边形生成对应的面状矢量图,即得到最终的面状矢量图。
本发明提供的基于GPX数据的面状矢量图生成方法及系统具有以下优点:
本发明能够简单、快速、准确的将GPX数据生成多个面状矢量图,从而简化了系统配置的复杂度和开销,提高了数据处理的效率。本发明提供的基于GPX数据的面状矢量图生成方法及系统,可用于地理信息系统中对航线数据等进行信息处理。
本领域普通技术人员可以理解,实现上述实施例方法中的全部或部分流程,是可以通过与计算机程序指令相关的硬件来完成的,上述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,上述的存储介质可为磁碟、光盘、只读存储记忆体(ROM:Read-Only Memory)或随机存储记忆体(RAM:RandomAccess Memory)等。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视本发明的保护范围。
Claims (3)
1.一种基于GPX数据的面状矢量图生成方法,其特征在于,包括以下步骤:
步骤1,导入GPX数据;其中,所述GPX数据包括航点信息和航线信息;所述航点信息包括航点的经纬度信息;所述航线信息包括:航线两端点的航线端点坐标以及连接航线两端点的航迹信息;
步骤2,对所述GPX数据进行初步处理,将不属于航线端点的孤立的航点信息设置为无效的航点信息;
步骤3,建立航线信息配置表;所述航线信息配置表用于存储每条航线的航线ID、航线端点坐标、航迹信息以及航线状态的对应关系;其中,所述航线状态包括:无效状态和有效状态;所述有效状态进一步区分为有效初始航线状态、有效外边界航线状态和有效内边界航线状态;
初始时,设置每条航线的航线状态均为有效初始航线状态;
步骤4,遍历每条航线,如果遍历到的所述航线满足以下条件,表明该航线不可能作为闭合多边形的一条边,因此,将所述航线信息配置表中对应航线的状态修改为无效状态:
条件:所述航线的至少一个航线端点仅属于自身一条航线的航线端点,没有同时作为其他航线的航线端点;
步骤5,通过以下方式识别出第1个闭合多边形:
步骤5.1,通过以下方式识别出第1个闭合多边形的第1条边:
步骤5.1.1,检索所述航线信息配置表中有效状态的航线,定位到最靠北的航线端点,将定位到的所述航线端点称为P1端点;定位到的所述P1端点至少为两条航线的航线端点;
以P1端点正上方为基线,按逆时针方向依次计算基线与各条以P1端点为端点的各条航线的夹角,选择夹角最小的航线,将选择到的所述夹角最小的航线的状态修改为有效外边界航线状态,并将选择到的所述夹角最小的航线称为H1航线;
步骤5.1.2,从P1端点开始,沿H1航线的航迹追踪,直到追踪到H1航线的另一个端点,将追踪到的H1航线的另一个端点称为P2端点;
因此,记录以下信息:H1航线,其两端点分别为P1端点和P2端点,形成第1个闭合多边形的第1条边;
步骤5.2,通过以下方式识别出第1个闭合多边形的第2条边:
步骤5.2.1,判断P2端点是否仅为两条航线的航线端点,如果是,则执行步骤5.2.2;如果否,则执行步骤5.2.3;
步骤5.2.2,采用闭合多边形第一边界状态识别算法,识别出第1个闭合多边形的第2条边,具体步骤为:
P2端点不仅为H1航线的端点,还同时为另一条航线的端点,将另一条以P2端点作为端点的航线称为H2航线;将H2航线的状态修改为有效外边界航线状态;
从P2端点开始,沿H2航线的航迹追踪,直到追踪到H2航线的另一个端点,将追踪到的H2航线的另一个端点称为P3端点;
因此,记录以下信息:H2航线,其两端点分别为P2端点和P3端点,形成第1个闭合多边形的第2条边,状态为有效外边界航线状态;然后执行步骤5.3;
步骤5.2.3,采用闭合多边形第二边界状态识别算法,识别出第1个闭合多边形的第2条边,具体步骤为:
P2端点不仅为H1航线的端点,还同时为至少两条其他航线的端点;
以H1航线为基线,以P2端点为转点,以逆时针方向计算基线与其他各条以P2端点为端点的各条航线的夹角,选择夹角最大并且航线状态为有效状态的航线;
将选择到的夹角最大并且航线状态为有效状态的航线称为H2航线;将H2航线的状态修改为有效内边界航线状态;
从P2端点开始,沿H2航线的航迹追踪,直到追踪到H2航线的另一个端点,将追踪到的H2航线的另一个端点称为P3端点;
因此,记录以下信息:H2航线,其两端点分别为P2端点和P3端点,形成第1个闭合多边形的第2条边,状态为有效内边界航线状态;然后执行5.3;
步骤5.3,通过以下方式识别出第1个闭合多边形的第3条边,并判断第3条边是否为第1个闭合多边形的最后一条边,方法如下:
步骤5.3.1,判断P3端点是否仅为两条航线的航线端点,如果是,则执行步骤5.3.2;如果否,则执行步骤5.3.3;
步骤5.3.2,P3端点不仅为H2航线的端点,还同时为另一条航线的端点,将另一条以P3端点作为端点的航线称为H3航线;
从P3端点开始,沿H3航线的航迹追踪,直到追踪到H3航线的另一个端点,将追踪到的H3航线的另一个端点称为P4端点;
记录以下信息:H3航线,其两端点分别为P3端点和P4端点,形成第1个闭合多边形的第3条边,状态为有效外边界航线状态;然后执行步骤5.3.4;
步骤5.3.3,采用闭合多边形第二边界状态识别算法,以H2航线为基线、以P3端点为转点,以逆时针方向计算基线与其他各条以P3端点为端点的各条航线的夹角,选择夹角最大并且航线状态为有效状态的航线,记为H3航线;
从P3端点开始,沿H3航线的航迹追踪,直到追踪到H3航线的另一个端点,将追踪到的H3航线的另一个端点称为P4端点;
记录以下信息:H3航线,其两端点分别为P3端点和P4端点,形成第1个闭合多边形的第3条边,状态为有效内边界航线状态;然后执行步骤5.3.4;
步骤5.3.4,采用以下方法判断第3条边是否为第1个闭合多边形的最后一条边:
判断P4点坐标是否与P1点相同;如果是,P4端点与P1端点重合,P4端点即为P1端点,因此,第3条边即H3航线为第1个闭合多边形的最后一条边,由此识别到完整的第1个闭合多边形,其由以下端点首尾相接形成:P1端点-P2端点-P3端点-P1端点;
如果否,则表明H3航线不是第1个闭合多边形的最后一条边;
采用与步骤5.3相同的方法,识别出第1个闭合多边形的第4条边,并判断第4条边是否为第1个闭合多边形的最后一条边;如果是,则执行步骤6;如果否,则再采用与步骤5.3相同的方法,识别出第1个闭合多边形的第5条边,并判断第5条边是否为第1个闭合多边形的最后一条边,依此类推,直到识别出第1个闭合多边形的最后一条边,由此识别出完整的第1个闭合多边形,并定位到第1个闭合多边形的P1端点位置;
对于识别到的第1个闭合多边形,从第一条边开始,依次识别各条边的有效状态,定位到第一次出现的状态为有效内边界航线状态的边,设为第z条边,将第一条边到第z-1条边的状态更改为无效状态;然后,执行步骤6;
步骤6,从P1端点开始,沿第1个闭合多边形的航线的航迹进行追踪,直到追踪到某个端点,该端点同时作为另一个航线状态为有效初始航线状态的航线为止,该端点即为第2个闭合多边形的第1个航线端点,即为P1端点;
然后,采用与步骤5相同的方法,识别出第2个闭合多边形;依此类推,识别出所有的闭合多边形;
步骤7,在遍历得到所有闭合多边形后,将每个所述闭合多边形生成对应的面状矢量图,即得到最终的面状矢量图。
2.根据权利要求1所述的基于GPX数据的面状矢量图生成方法,其特征在于,步骤3中,航线状态为有效初始航线状态,是指:航线为灰色;所述航线状态为无效状态,是指:将对应航线变为黑线;航线状态为有效外边界航线状态,是指:将对应航线变为红色;航线状态为有效内边界航线状态,是指:将对应航线变为绿色。
3.一种基于权利要求1-2任一项所述的基于GPX数据的面状矢量图生成方法的系统,其特征在于,包括:
GPX数据导入模块,用于导入GPX数据;其中,所述GPX数据包括航点信息和航线信息;所述航点信息包括航点的经纬度信息;所述航线信息包括:航线两端点的航线端点坐标以及连接航线两端点的航迹信息;
初步处理模块,用于对所述GPX数据进行初步处理,将不属于航线端点的孤立的航点信息设置为无效的航点信息;
航线信息配置表,用于建立航线信息配置表;所述航线信息配置表用于存储每条航线的航线ID、航线端点坐标、航迹信息以及航线状态的对应关系;其中,所述航线状态包括:无效状态和有效状态;所述有效状态进一步区分为有效初始航线状态、有效外边界航线状态和有效内边界航线状态;
初始时,设置每条航线的航线状态均为有效初始航线状态;
无效状态航线初始定位模块,用于遍历每条航线,如果遍历到的所述航线满足以下条件,表明该航线不可能作为闭合多边形的一条边,因此,将所述航线信息配置表中对应航线的状态修改为无效状态:
条件:所述航线的至少一个航线端点仅属于自身一条航线的航线端点,没有同时作为其他航线的航线端点;
第1个闭合多边形识别模块,用于识别出第1个闭合多边形,具体包括:第1条边识别子模块,第2条边识别子模块,第3条边识别子模块;
第2个闭合多边形识别模块,用于从P1端点开始,沿第1个闭合多边形的航线的航迹进行追踪,直到追踪到某个端点,该端点同时作为另一个航线状态为有效初始航线状态的航线为止,该端点即为第2个闭合多边形的第1个航线端点,即为P1端点;
然后,识别出第2个闭合多边形;依此类推,识别出所有的闭合多边形;
面状矢量图生成模块,用于在遍历得到所有闭合多边形后,将每个所述闭合多边形生成对应的面状矢量图,即得到最终的面状矢量图。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010328179.9A CN111524203B (zh) | 2020-04-23 | 2020-04-23 | 基于gpx数据的面状矢量图生成方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010328179.9A CN111524203B (zh) | 2020-04-23 | 2020-04-23 | 基于gpx数据的面状矢量图生成方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111524203A true CN111524203A (zh) | 2020-08-11 |
CN111524203B CN111524203B (zh) | 2023-04-25 |
Family
ID=71904223
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010328179.9A Active CN111524203B (zh) | 2020-04-23 | 2020-04-23 | 基于gpx数据的面状矢量图生成方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111524203B (zh) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100332124A1 (en) * | 2009-06-30 | 2010-12-30 | Apple Inc. | Analyzing and Consolidating Track File Data |
CN106019987A (zh) * | 2016-07-19 | 2016-10-12 | 四川九洲空管科技有限责任公司 | 一种三维交互式模拟航迹生成方法及系统 |
CN106326492A (zh) * | 2016-09-19 | 2017-01-11 | 深圳市数字城市工程研究中心 | 空间矢量数据生成方法及装置 |
-
2020
- 2020-04-23 CN CN202010328179.9A patent/CN111524203B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100332124A1 (en) * | 2009-06-30 | 2010-12-30 | Apple Inc. | Analyzing and Consolidating Track File Data |
CN106019987A (zh) * | 2016-07-19 | 2016-10-12 | 四川九洲空管科技有限责任公司 | 一种三维交互式模拟航迹生成方法及系统 |
CN106326492A (zh) * | 2016-09-19 | 2017-01-11 | 深圳市数字城市工程研究中心 | 空间矢量数据生成方法及装置 |
Non-Patent Citations (1)
Title |
---|
吴小勇等: ""GPX数据在物探勘查项目设计中的应用"" * |
Also Published As
Publication number | Publication date |
---|---|
CN111524203B (zh) | 2023-04-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107784012B (zh) | 一种数字地图兴趣点的更新方法及装置 | |
CN105335597B (zh) | 用于获取路线的轨迹模式的方法和系统 | |
KR100971778B1 (ko) | 그래프 구조를 이용하여 파노라마 이미지에 대한 이미지 매칭을 수행하기 위한 방법, 시스템 및 컴퓨터 판독 가능한 기록 매체 | |
WO2020199565A1 (zh) | 一种基于路灯杆的车辆位姿的修正方法和装置 | |
CN109214314B (zh) | 一种车道线自动融合匹配算法 | |
CN109612475A (zh) | 高精度电子地图的更新方法、装置及可读存储介质 | |
US20210358166A1 (en) | Methods, apparatuses, systems, and storage media for loading visual localization maps | |
CN113139031B (zh) | 用于自动驾驶的交通标识的生成方法及相关装置 | |
CN114459471A (zh) | 定位信息确定方法、装置、电子设备及存储介质 | |
CN116958316B (zh) | 拓扑图生成方法、装置、计算机设备及存储介质 | |
CN114440905A (zh) | 中间图层的构建方法、装置、电子设备及存储介质 | |
CN111524203B (zh) | 基于gpx数据的面状矢量图生成方法及系统 | |
CN118031952A (zh) | 一种地图场景验证方法、路径规划方法及相关装置 | |
CN118097045A (zh) | 一种融合多源信息的局部地图动态生成方法及系统 | |
CN109631873A (zh) | 高精地图的道路生成方法、装置及可读存储介质 | |
CN116561240A (zh) | 电子地图处理方法、相关装置和介质 | |
CN111964665A (zh) | 基于车载环视图像的智能车定位方法、系统及存储介质 | |
CN114111817B (zh) | 基于slam地图与高精度地图匹配的车辆定位方法及系统 | |
CN114838729A (zh) | 一种路径规划方法、装置及设备 | |
CN116246030A (zh) | 基于非新增道路场景的高精地图单要素更新方法及装置 | |
CN111522896A (zh) | 确定平面多边形凹凸点的方法及系统 | |
CN113074735B (zh) | 一种地图数据结构的处理方法 | |
CN112379692B (zh) | 无人机航线的确定方法、装置、设备及存储介质 | |
CN114705180A (zh) | 高精地图的数据修正方法、装置、设备及存储介质 | |
CN111458735B (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 |