CN111460197A - 一种国土平面交叉路口矢量要素的识别方法 - Google Patents
一种国土平面交叉路口矢量要素的识别方法 Download PDFInfo
- Publication number
- CN111460197A CN111460197A CN202010280837.1A CN202010280837A CN111460197A CN 111460197 A CN111460197 A CN 111460197A CN 202010280837 A CN202010280837 A CN 202010280837A CN 111460197 A CN111460197 A CN 111460197A
- Authority
- CN
- China
- Prior art keywords
- intersection
- angle
- seq
- vector
- neo4j
- 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
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/50—Information retrieval; Database structures therefor; File system structures therefor of still image data
- G06F16/56—Information retrieval; Database structures therefor; File system structures therefor of still image data having vectorial format
-
- E—FIXED CONSTRUCTIONS
- E01—CONSTRUCTION OF ROADS, RAILWAYS, OR BRIDGES
- E01C—CONSTRUCTION OF, OR SURFACES FOR, ROADS, SPORTS GROUNDS, OR THE LIKE; MACHINES OR AUXILIARY TOOLS FOR CONSTRUCTION OR REPAIR
- E01C1/00—Design or layout of roads, e.g. for noise abatement, for gas absorption
- E01C1/02—Crossings, junctions or interconnections between roads on the same level
-
- 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
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/74—Image or video pattern matching; Proximity measures in feature spaces
- G06V10/75—Organisation of the matching processes, e.g. simultaneous or sequential comparisons of image or video features; Coarse-fine approaches, e.g. multi-scale approaches; using context analysis; Selection of dictionaries
- G06V10/751—Comparing pixel values or logical combinations thereof, or feature values having positional relevance, e.g. template matching
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Databases & Information Systems (AREA)
- Computing Systems (AREA)
- Evolutionary Computation (AREA)
- Civil Engineering (AREA)
- Structural Engineering (AREA)
- Data Mining & Analysis (AREA)
- Health & Medical Sciences (AREA)
- Architecture (AREA)
- General Engineering & Computer Science (AREA)
- Artificial Intelligence (AREA)
- General Health & Medical Sciences (AREA)
- Medical Informatics (AREA)
- Software Systems (AREA)
- Multimedia (AREA)
- Image Analysis (AREA)
- Image Generation (AREA)
Abstract
本发明公开了一种国土平面交叉路口矢量要素的识别方法,该方法包括以下步骤:分析交叉路口特征;定义基于角度+长度的矢量图形模型;采用Neo4j图库为矢量图形建模;依据交叉路口特征,定义角度+长度的模式;在Neo4j图库中,执行模式匹配。通过该方法,为图形分析提供了除GIS工具以外的其它分析方法,并在基于角度和长度特征的分析中有比GIS工具更好的便利性和高效性;自动化、准确地识别了存在交叉路口的图形,节省了时间和人力,提高了准确率。
Description
技术领域
本发明涉及矢量图形技术领域,具体来说,涉及一种国土平面交叉路口矢量要素的识别方法。
背景技术
第三次全国国土调查技术规程中关于线状地物的调查如是规定:“地面线状地物连续表示,但线状地物平面交互时,应保持高等级的道路贯通,低等级道路在交叉处打断”。该规定简而言之,就是不允许仅用一个图形来表达十字路口、T字路口。目前对该规定的符合性检查,主要是依靠人眼逐图斑识别,但这样的检查方式需要投入大量的人力和时间成本,而且漏判的概率非常高,为数据的质量埋下隐患,并进一步对后续的数据应用和分析造成影响。
发明内容
针对相关技术中的上述技术问题,本发明提出一种国土平面交叉路口矢量要素的识别方法,能够克服现有技术的上述不足。
为实现上述技术目的,本发明的技术方案是这样实现的:
一种国土平面交叉路口矢量要素的识别方法,该方法包括以下步骤:
S1:分析交叉路口特征;
S2:定义基于角度+长度的矢量图形模型,其中,角度为节点的属性,长度为边的属性;
S3:采用Neo4j图库为矢量图形建模,其中,Neo4j图库为NOSQL图形数据库,Neo4j图库含有节点、关系属性;
S4:依据交叉路口特征,定义角度+长度的模式;
S5:在Neo4j图库中,执行模式匹配。
进一步的,所述步骤S1包括以下步骤:
S11:获取并分析交叉路口的图形;
S12:提炼交叉路口图形的特征信息,其中,交叉路口形态至少分为类十字路口、类T字路口。
进一步的,所述步骤S1进一步包括以下步骤:
S101:分析类十字路口特征信息;
S102:分析类T字路口特征信息,其中,类T字路口图斑分为长边中间有节点图斑、长边中间无节点图斑。
进一步的,所述步骤S3包括以下步骤:
S31:设定矢量图形模型中的节点为Neo4j模型中的节点;
S32:设定矢量图形模型中的边为Neo4j模型中的关系;
S33:矢量图形建模。
进一步的,所述步骤S4包括以下步骤:
S41:将分析出的交叉路口特征信息抽象为角度+长度模式;
S42:采用Cypher定义角度+长度模式,其中,Cypher为Neo4j图库支持的查询语言。
进一步的,所述步骤S31中,矢量图形模型中的节点必须具有BSM、RING_SEQ、SEQ、ANGLE属性,其中,BSM表示用来描述该点属于哪个要素图形,RING_SEQ表示用来描述该点属于图形的哪个环,SEQ表示用来描述该点在环中的序号,ANGLE表示用来描述该点的角度值。
进一步的,所述步骤S32中,矢量图形模型中的边必须具有DISTANCE属性,其中,DISTANCE表示边长。
进一步的,所述步骤S5中,查询两个信息,查询存在交叉路口的图形信息和定位交叉路口在图形中的位置信息。
本发明的有益效果:通过该方法,为图形分析提供了除GIS工具以外的其它分析方法,并在基于角度和长度特征的分析中有比GIS工具更好的便利性和高效性;自动化、准确地识别了存在交叉路口的图形,节省了时间和人力,提高了准确率。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是根据本发明实施例所述的一种国土平面交叉路口矢量要素的识别方法的流程框图;
图2是根据本发明实施例所述的一种国土平面交叉路口矢量要素的识别方法的类十字路路口一图;
图3是根据本发明实施例所述的一种国土平面交叉路口矢量要素的识别方法的类十字路路口二图;
图4是根据本发明实施例所述的一种国土平面交叉路口矢量要素的识别方法的类十字路路口三图;
图5是根据本发明实施例所述的一种国土平面交叉路口矢量要素的识别方法的类十字路路口抽象一图;
图6是根据本发明实施例所述的一种国土平面交叉路口矢量要素的识别方法的类十字路路口抽象二图;
图7是根据本发明实施例所述的一种国土平面交叉路口矢量要素的识别方法的类十字路路口抽象三图;
图8是根据本发明实施例所述的一种国土平面交叉路口矢量要素的识别方法的类十字路路口角1顺时针旋转一边一图;
图9是根据本发明实施例所述的一种国土平面交叉路口矢量要素的识别方法的类十字路路口角1顺时针旋转一边二图;
图10是根据本发明实施例所述的一种国土平面交叉路口矢量要素的识别方法的类十字路路口角1顺时针旋转一边三图;
图11是根据本发明实施例所述的一种国土平面交叉路口矢量要素的识别方法的类十字路路口角1顺时针旋转一边四图;
图12是根据本发明实施例所述的一种国土平面交叉路口矢量要素的识别方法的线和长条形套合图;
图13是根据本发明实施例所述的一种国土平面交叉路口矢量要素的识别方法的类T字路口一图;
图14是根据本发明实施例所述的一种国土平面交叉路口矢量要素的识别方法的类T字路口二图;
图15是根据本发明实施例所述的一种国土平面交叉路口矢量要素的识别方法的类T字路口三图;
图16是根据本发明实施例所述的一种国土平面交叉路口矢量要素的识别方法的类T字路口四图;
图17是根据本发明实施例所述的一种国土平面交叉路口矢量要素的识别方法的类T字路口抽象一图;
图18是根据本发明实施例所述的一种国土平面交叉路口矢量要素的识别方法的类T字路口抽象二图;
图19是根据本发明实施例所述的一种国土平面交叉路口矢量要素的识别方法的类T字路口抽象三图;
图20是根据本发明实施例所述的一种国土平面交叉路口矢量要素的识别方法的类T字路口抽象四图;
图21是根据本发明实施例所述的一种国土平面交叉路口矢量要素的识别方法的类T字路口的长边中间有节点一图;
图22是根据本发明实施例所述的一种国土平面交叉路口矢量要素的识别方法的类T字路口的长边中间无节点一图;
图23是根据本发明实施例所述的一种国土平面交叉路口矢量要素的识别方法的类T字路口的长边中间有节点交叉点分析图;
图24是根据本发明实施例所述的一种国土平面交叉路口矢量要素的识别方法的类T字路口的长边中间无节点交叉点分析图;
图25是根据本发明实施例所述的一种国土平面交叉路口矢量要素的识别方法的基于角度+长度的图形模型示意图;
图26是根据本发明实施例所述的一种国土平面交叉路口矢量要素的识别方法的T字路口长边中间无节点的图形二图;
图27是根据本发明实施例所述的一种国土平面交叉路口矢量要素的识别方法的T字路口长边中间有节点的图形二图;
图28是根据本发明实施例所述的一种国土平面交叉路口矢量要素的识别方法的Y字路口的图形图;
图29是根据本发明实施例所述的一种国土平面交叉路口矢量要素的识别方法的十字路口的图形图;
图30是根据本发明实施例所述的一种国土平面交叉路口矢量要素的识别方法的标准矩形图;
图31是根据本发明实施例所述的一种国土平面交叉路口矢量要素的识别方法的数据的图形化呈现效果图;
图32是根据本发明实施例所述的一种国土平面交叉路口矢量要素的识别方法的判断图形是否存在交叉路口的检查结果图;
图33是根据本发明实施例所述的一种国土平面交叉路口矢量要素的识别方法的进一步判断交叉路口位置的检查结果图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员所获得的所有其他实施例,都属于本发明保护的范围。
如图1所示,根据本发明实施例所述的一种国土平面交叉路口矢量要素的识别方法,包括以下步骤:
S1:分析交叉路口特征;
S2:定义基于角度+长度的矢量图形模型,其中,角度为节点的属性,长度为边的属性;
S3:采用Neo4j图库为矢量图形建模,其中,Neo4j图库为NOSQL图形数据库,Neo4j图库含有节点、关系属性;
S4:依据交叉路口特征,定义角度+长度的模式;
S5:在Neo4j图库中,执行模式匹配。
步骤S1包括以下步骤:
S11:获取并分析交叉路口的图形;
S12:提炼交叉路口图形的特征信息,其中,交叉路口形态至少分为类十字路口、类T字路口。
步骤S1进一步包括以下步骤:
S101:分析类十字路口特征信息;
S102:分析类T字路口特征信息,其中,类T字路口图斑分为长边中间有节点图斑、长边中间无节点图斑。
步骤S3包括以下步骤:
S31:设定矢量图形模型中的节点为Neo4j模型中的节点;
S32:设定矢量图形模型中的边为Neo4j模型中的关系;
S33:矢量图形建模。
步骤S4包括以下步骤:
S41:将分析出的交叉路口特征信息抽象为角度+长度模式;
S42:采用Cypher定义角度+长度模式,其中,Cypher为Neo4j图库支持的查询语言。
在本发明的一个具体实施例中,所述步骤S31中,矢量图形模型中的节点必须具有BSM、RING_SEQ、SEQ、ANGLE属性,其中,BSM表示用来描述该点属于哪个要素图形,RING_SEQ表示用来描述该点属于图形的哪个环,SEQ表示用来描述该点在环中的序号,ANGLE表示用来描述该点的角度值。
在本发明的一个具体实施例中,所述步骤S32中,矢量图形模型中的边必须具有DISTANCE属性,其中,DISTANCE表示边长。
在本发明的一个具体实施例中,所述步骤S5中,查询两个信息,查询存在交叉路口的图形信息和定位交叉路口在图形中的位置信息。
为了方便理解本发明的上述技术方案,以下对本发明的上述技术方案进行详细说明。
具体技术方法包括:
1、交叉路口特征分析
对存在交叉路口的图形进行分析,提炼交叉路口图形的特征。通过对图形的归纳,交叉路口主要分两种形态:类十字路口、类T字路口。
1)类十字路口特征分析
类十字路路口有如下几种图形形状,如图2-4所示。
将道路表达有宽度的长条形,如果进一步抽象,将道路表达成无宽度的线,类十字路口的形状如图5-7所示。
从图5-7可以看出角1+角2+角3+角4等于一个完整的闭环,即角1+角2+角3+角4=360°。
如图8-11所示,现在我们接着分析角1-角4各角的取值范围。以角1为例,若将角1某一边确定,顺时针旋转另一边,可知角1的角度范围为(0°-360°)。同理角2-角4的角度范围也为(0°-360°)。
因此,可以得到了两个结论:
A.角1+角2+角3+角4=360°;
B.角1-角4的角度范围为(0°-360°)。
现在将线和长条形套合起来,如图12所示。
假设将角2命名为β2,此时α2等于β2,而与α2相补的角(称为~α2),也就多边形的内角,其角度值为360°-β2,我们将角α2的顶点称为交叉点。十字路口相交,会产生4个这样的交叉点,如图12中,圆圈中圈住的几个部分。四个交叉点一共八个角具有如下关系:
α1+~α1+α2+~α2+α3+~α3+α4+~α4=360*4=1440°,
而由于α1+α2+α3+α4=β1+β2+β3+β4=360°,所以得到:
~α1+~α2+~α3+~α4=1080°。
因为~α1、~α2、~α3、~α4各自取值范围为(0°-360°),因此,可得出如下结论:
~α1、~α2、~α3、~α4任意两个角的合计值大于360°。
2)类T字路口特征分析
类T字路口有几种图形形状,如图13-16。
将图13-16进一步抽象,将道路表达成无宽度的线,类T字路口的形状如图17-20所示。
同十字路口的分析方法一致,可以得到如下两个结论:
A.角1+角2+角3=360°;
B.角1-角3的角度范围为(0°-360°)。
类T字路口图斑根据长边(未中断边)中间是否有节点,又分为两种情况,如图21-22所示。
两种图形类型,其分析方式是不一样的。
A.长边中间有节点
对于长边中间有节点的图形,其交叉点情况如图23所示。
分析方式同类十字路口,可进一步得到结论:
~α1、~α2、~α3任意两个角的合计值大于360°;
B.长边中间无节点
对于长边中间无节点的图形,其交叉点情况如图24所示。
存在如下两个等式:
~α1+~α2+~α3+=360*3–360=720°,
~α3=180。
因此,可以得到:
~α1+~α2=540°
考虑到~α1+、~α2取值范围都在(0°-360°),可进一步得到结论:
~α1、~α2任意角均大于180°
2、定义一种全新的基于角度+长度的矢量图形模型
我们将矢量图形视作角度+长度的连续排列组合,因此某一形状的图形实际上是角度与长度的某种特定模式。在这个模型中,有两个核心概念:角度和长度。角度是节点的属性,长度是边的属性。因此基于角度+长度的图形模型,其示意图如图25所示:
3、使用Neo4j图库为矢量图形建模
由图25的图形模型示意图可知,矢量图形是由一组节点和连接这些节点的边构成的。这个模型与Neo4j图库的图模型竟深度契合。Neo4j遵循图模型来存储和管理其数据,它在图(网络)中而不是表中存储数据,它包括两个最基础的概念:节点(Node)、关系(Relationship)。Neo4j将所有数据都存储在节点和关系中,节点即是图中的各个实体,关系则用来描述实体之间的某种联系(关系具有方向)。我们将矢量图形模型中的节点作为Neo4j模型中的节点(Node)、将边作为Neo4j模型中关系(Relationship),就可用Neo4j来为矢量图形建模。
节点和边长在建模时,符合如下的要求:
角作为节点,它需要具备如下几项属性:
[
BSM:用来描述该点属于哪个要素图形
RING_SEQ:用来描述该点属于图形的哪个RING(环)
SEQ:用来描述该点在RING中的序号
ANGLE:用来描述该点的角度值
]
边作为关系,它需要具备如下几项属性:
[
DISTANCE:边长
]
4、根据交叉路口特征定义角度+长度的模式
比较常用的模式是字符串模式。字符串是各种类型字符(例如字母、数字、符号、空格)的排列组合,对于字符串,我们经常会有这样的需求:查询文档中是否有“以A开头,中间有6个数字,最后以Z结果”的字符串,或者查询符合“XXXX-XXXX-XXXX-XXXX”编码方式的字符串。目前,几乎所有的开发语言都支持通过正则表达式来定义特定的字符串模式,例如“^A\d{6}Z$”即是表示“以A开头,中间有6个数字,最后以Z结果”的字符串模式。
就像通过正则表达式来定义字符串的某种模式一样,我们要使用一种语法或数据结构来定义角度+长度的模式,且这种定义能够被Neo4j解释。
Cypher是Neo4j支持的查询语言,它用于定义基于Node+Relationship的模式,而Node+Relationship的模式在本例中就是角度+长度的模式。因此,只需将第1步中分析出的交叉路口特征抽象为模式,再用Cypher定义该模式,理论上即可对该模式进行检索,查询出符合模式特征的图形。在本例中,主要在探索定义交叉路口的模式,但实际上可定义任意图形形状的模式。
5、在Neo4j图库中执行模式匹配
根据上一步用Cypher定义的交叉路口的模式,在图库中进行模式匹配,查询两个信息:
(1)查询存在交叉路口的图形;
(2)定位交叉路口在图形中的位置。
具体实施流程如下:
1、交叉路口特征分析
2、定义一种全新的基于角度+长度的矢量图形模型
3、使用Neo4j图库为矢量图形建模
根据技术流程中介绍的模型,本发明将为含T字形路口图形、含Y字形路口图形、含十字形路口图形、标准矩形图形建模。各图形建模脚本如下:
1)T字路口长边中间无节点(见图26)
create(p1:Point{bsm:1,ring_seq:1,seq:1,angle:90})
create(p2:Point{bsm:1,ring_seq:1,seq:2,angle:90})
create(p3:Point{bsm:1,ring_seq:1,seq:3,angle:270})
create(p4:Point{bsm:1,ring_seq:1,seq:4,angle:90})
create(p5:Point{bsm:1,ring_seq:1,seq:5,angle:90})
create(p6:Point{bsm:1,ring_seq:1,seq:6,angle:270})
create(p7:Point{bsm:1,ring_seq:1,seq:7,angle:90})
create(p8:Point{bsm:1,ring_seq:1,seq:8,angle:90})
create
(p1)-[:CONNECT_TO{distance:1}]->(p2),
(p2)-[:CONNECT_TO{distance:1}]->(p3),
(p3)-[:CONNECT_TO{distance:1}]->(p4),
(p4)-[:CONNECT_TO{distance:1}]->(p5),
(p5)-[:CONNECT_TO{distance:1}]->(p6),
(p6)-[:CONNECT_TO{distance:1}]->(p7),
(p7)-[:CONNECT_TO{distance:1}]->(p8),
(p8)-[:CONNECT_TO{distance:3}]->(p1);
2)T字路口长边中间有节点(见图27)
create(p1:Point{bsm:2,ring_seq:1,seq:1,angle:90})
create(p2:Point{bsm:2,ring_seq:1,seq:2,angle:90})
create(p3:Point{bsm:2,ring_seq:1,seq:3,angle:270})
create(p4:Point{bsm:2,ring_seq:1,seq:4,angle:90})
create(p5:Point{bsm:2,ring_seq:1,seq:5,angle:90})
create(p6:Point{bsm:2,ring_seq:1,seq:6,angle:270})
create(p7:Point{bsm:2,ring_seq:1,seq:7,angle:90})
create(p8:Point{bsm:2,ring_seq:1,seq:8,angle:90})
create(p9:Point{bsm:2,ring_seq:1,seq:9,angle:180})
create
(p1)-[:CONNECT_TO{distance:1}]->(p2),
(p2)-[:CONNECT_TO{distance:2}]->(p3),
(p3)-[:CONNECT_TO{distance:1}]->(p4),
(p4)-[:CONNECT_TO{distance:2}]->(p5),
(p5)-[:CONNECT_TO{distance:1}]->(p6),
(p6)-[:CONNECT_TO{distance:2}]->(p7),
(p7)-[:CONNECT_TO{distance:1}]->(p8),
(p8)-[:CONNECT_TO{distance:3}]->(p9),
(p9)-[:CONNECT_TO{distance:3}]->(p1);
3)Y字路口(见图28)
create(p1:Point{bsm:3,ring_seq:1,seq:1,angle:90})
create(p2:Point{bsm:3,ring_seq:1,seq:2,angle:90})
create(p3:Point{bsm:3,ring_seq:1,seq:3,angle:225})
create(p4:Point{bsm:3,ring_seq:1,seq:4,angle:90})
create(p5:Point{bsm:3,ring_seq:1,seq:5,angle:90})
create(p6:Point{bsm:3,ring_seq:1,seq:6,angle:275})
create(p7:Point{bsm:3,ring_seq:1,seq:7,angle:90})
create(p8:Point{bsm:3,ring_seq:1,seq:8,angle:90})
create(p9:Point{bsm:3,ring_seq:1,seq:9,angle:225})
create
(p1)-[:CONNECT_TO{distance:1}]->(p2),
(p2)-[:CONNECT_TO{distance:2}]->(p3),
(p3)-[:CONNECT_TO{distance:2}]->(p4),
(p4)-[:CONNECT_TO{distance:1}]->(p5),
(p5)-[:CONNECT_TO{distance:2}]->(p6),
(p6)-[:CONNECT_TO{distance:2}]->(p7),
(p7)-[:CONNECT_TO{distance:1}]->(p8),
(p8)-[:CONNECT_TO{distance:2}]->(p9),
(p9)-[:CONNECT_TO{distance:2}]->(p1);
4)十字路口(见图29)
create(p1:Point{bsm:4,ring_seq:1,seq:1,angle:90})
create(p2:Point{bsm:4,ring_seq:1,seq:2,angle:90})
create(p3:Point{bsm:4,ring_seq:1,seq:3,angle:270})
create(p4:Point{bsm:4,ring_seq:1,seq:4,angle:90})
create(p5:Point{bsm:4,ring_seq:1,seq:5,angle:90})
create(p6:Point{bsm:4,ring_seq:1,seq:6,angle:270})
create(p7:Point{bsm:4,ring_seq:1,seq:7,angle:90})
create(p8:Point{bsm:4,ring_seq:1,seq:8,angle:90})
create(p9:Point{bsm:4,ring_seq:1,seq:9,angle:270})
create(p10:Point{bsm:4,ring_seq:1,ring_seq:1,seq:10,angle:90})
create(p11:Point{bsm:4,ring_seq:1,ring_seq:1,seq:11,angle:90})
create(p12:Point{bsm:4,ring_seq:1,ring_seq:1,seq:12,angle:270})
create
(p1)-[:CONNECT_TO{distance:1}]->(p2),
(p2)-[:CONNECT_TO{distance:1}]->(p3),
(p3)-[:CONNECT_TO{distance:1}]->(p4),
(p4)-[:CONNECT_TO{distance:1}]->(p5),
(p5)-[:CONNECT_TO{distance:1}]->(p6),
(p6)-[:CONNECT_TO{distance:1}]->(p7),
(p7)-[:CONNECT_TO{distance:1}]->(p8),
(p8)-[:CONNECT_TO{distance:1}]->(p9),
(p9)-[:CONNECT_TO{distance:1}]->(p10),
(p10)-[:CONNECT_TO{distance:1}]->(p11),
(p11)-[:CONNECT_TO{distance:1}]->(p12),
(p12)-[:CONNECT_TO{distance:1}]->(p1);
5)标准矩形(见图30)
create(p1:Point{bsm:5,ring_seq:1,seq:1,angle:90})
create(p2:Point{bsm:5,ring_seq:1,seq:2,angle:90})
create(p3:Point{bsm:5,ring_seq:1,seq:3,angle:90})
create(p4:Point{bsm:5,ring_seq:1,seq:4,angle:90})
create
(p1)-[:CONNECT_TO{distance:2}]->(p2),
(p2)-[:CONNECT_TO{distance:2}]->(p3),
(p3)-[:CONNECT_TO{distance:2}]->(p4),
(p4)-[:CONNECT_TO{distance:2}]->(p1);
建模之后,在Neo4j中查看数据如图31所示。
4、根据交叉路口特征定义角度+长度的模式
根据“交叉路口特征分析”,交叉路口的图形特征为:存在3个角,其中任意两角之间的和计值大于360°,或者任意两个角均大于180°。
使用Cypher将图形特征定义为如下Neo4j可解释的模式:
p=(p1:Point)-[*]->(p2:Point)-[*]->(p3:Point)where(p1.angle+p2.angle>360 and p1.angle+p3.angle>360 and p2.angle+p3.angle>360 and p1.seq<p2.seq andp2.seq<p3.seq)or(p1.angle>180 and p2.angle>180 and p1.seq<p2.seq);
5、在Neo4j图库中执行模式匹配
根据上文使用Cypher定义的模式,执行模式匹配。
(1)判断图形是否存在交叉路口:
match p=(p1:Point)-[*]->(p2:Point)-[*]->(p3:Point)where(p1.angle+p2.angle>360 and p1.angle+p3.angle>360 and p2.angle+p3.angle>360 and p1.seq<p2.seq and p2.seq<p3.seq)or(p1.angle>180and p2.angle>180 and p1.seq<p2.seq)return distinct(p1.bsm)order by p1.bsm;
返回结果如图32所示。经验证BSM为1、2、3、4(即图26、27、28、29所代表的)的图形分别为T字形图斑(长边中间无节点)、T字形图斑(长边中间有节点)、Y字形图斑、十字形图斑。检查结果正确,匹配成功。
(2)根据已经找到的存在交叉路口的图斑,进一步判断交叉路口的位置:
match(p1:Point)-[*]->(p2:Point)-[*]->(p3:Point)where(p1.angle+p2.angle>360 and p1.angle+p3.angle>360 and p2.angle+p3.angle>360 and p1.seq<p2.seq and p2.seq<p3.seq)or(p1.angle>180 and p3.angle>180 and p2.angle<180and p1.seq<p2.seq and p2.seq<p3.seq)return distinct p1.bsm,p1.seq,p1.angle,p3.seq,p3.angle order by p1.bsm,p1.seq;
返回结果如图33所示。经验证,检查结果正确,模式匹配成功。
综上所述,借助于本发明的上述技术方案,通过该方法,为图形分析提供了除GIS工具以外的其它分析方法,并在基于角度和长度特征的分析中有比GIS工具更好的便利性和高效性;自动化、准确地识别了存在交叉路口的图形,节省了时间和人力,提高了准确率。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (8)
1.一种国土平面交叉路口矢量要素的识别方法,其特征在于,包括以下步骤:
S1:分析交叉路口特征;
S2:定义基于角度+长度的矢量图形模型,其中,角度为节点的属性,长度为边的属性;
S3:采用Neo4j图库为矢量图形建模,其中,Neo4j图库为NOSQL图形数据库,Neo4j图库含有节点、关系属性;
S4:依据交叉路口特征,定义角度+长度的模式;
S5:在Neo4j图库中,执行模式匹配。
2.根据权利要求1所述的一种国土平面交叉路口矢量要素的识别方法,其特征在于,所述步骤S1包括以下步骤:
S11:获取并分析交叉路口的图形;
S12:提炼交叉路口图形的特征信息,其中,交叉路口形态至少分为类十字路口、类T字路口。
3.根据权利要求2所述的一种国土平面交叉路口矢量要素的识别方法,其特征在于,所述步骤S1进一步包括以下步骤:
S101:分析类十字路口特征信息;
S102:分析类T字路口特征信息,其中,类T字路口图斑分为长边中间有节点图斑、长边中间无节点图斑。
4.根据权利要求1所述的一种国土平面交叉路口矢量要素的识别方法,其特征在于,所述步骤S3包括以下步骤:
S31:设定矢量图形模型中的节点为Neo4j模型中的节点;
S32:设定矢量图形模型中的边为Neo4j模型中的关系;
S33:矢量图形建模。
5.根据权利要求1所述的一种国土平面交叉路口矢量要素的识别方法,其特征在于,所述步骤S4包括以下步骤:
S41:将分析出的交叉路口特征信息抽象为角度+长度模式;
S42:采用Cypher定义角度+长度模式,其中,Cypher为Neo4j图库支持的查询语言。
6. 根据权利要求1所述的一种国土平面交叉路口矢量要素的识别方法,其特征在于,所述步骤S31中,矢量图形模型中的节点必须具有BSM、RING_SEQ、SEQ、ANGLE 属性,其中,BSM 表示用来描述该点属于哪个要素图形,RING_SEQ表示用来描述该点属于图形的哪个环,SEQ表示用来描述该点在环中的序号,ANGLE表示用来描述该点的角度值。
7.根据权利要求1所述的一种国土平面交叉路口矢量要素的识别方法,其特征在于,所述步骤S32中,矢量图形模型中的边必须具有DISTANCE属性,其中,DISTANCE表示边长。
8.根据权利要求1所述的一种国土平面交叉路口矢量要素的识别方法,其特征在于,所述步骤S5中,查询两个信息,查询存在交叉路口的图形信息和定位交叉路口在图形中的位置信息。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010068363 | 2020-01-21 | ||
CN2020100683634 | 2020-01-21 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111460197A true CN111460197A (zh) | 2020-07-28 |
CN111460197B CN111460197B (zh) | 2023-07-25 |
Family
ID=71685272
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010280837.1A Active CN111460197B (zh) | 2020-01-21 | 2020-04-10 | 一种国土平面交叉路口矢量要素的识别方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111460197B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112766113A (zh) * | 2021-01-08 | 2021-05-07 | 广州小鹏自动驾驶科技有限公司 | 一种路口检测方法、装置、设备及存储介质 |
CN113704304A (zh) * | 2021-08-30 | 2021-11-26 | 北京百度网讯科技有限公司 | 路口数据处理方法、路口检索方法及装置 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20120317149A1 (en) * | 2011-06-09 | 2012-12-13 | Salesforce.Com, Inc. | Methods and systems for processing graphs using distributed memory and set operations |
CN103236085A (zh) * | 2013-04-07 | 2013-08-07 | 昆明理工大学 | 一种flac3d复杂三维地质体模型自动建立的方法 |
CN104899156A (zh) * | 2015-05-07 | 2015-09-09 | 中国科学院信息工程研究所 | 一种面向大规模社交网络的图数据存储及查询方法 |
-
2020
- 2020-04-10 CN CN202010280837.1A patent/CN111460197B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20120317149A1 (en) * | 2011-06-09 | 2012-12-13 | Salesforce.Com, Inc. | Methods and systems for processing graphs using distributed memory and set operations |
CN103236085A (zh) * | 2013-04-07 | 2013-08-07 | 昆明理工大学 | 一种flac3d复杂三维地质体模型自动建立的方法 |
CN104899156A (zh) * | 2015-05-07 | 2015-09-09 | 中国科学院信息工程研究所 | 一种面向大规模社交网络的图数据存储及查询方法 |
Non-Patent Citations (1)
Title |
---|
高歌;张越美;刘寒;李智;顾明;: "基于知识库的IFC模型检查方法研究" * |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112766113A (zh) * | 2021-01-08 | 2021-05-07 | 广州小鹏自动驾驶科技有限公司 | 一种路口检测方法、装置、设备及存储介质 |
CN112766113B (zh) * | 2021-01-08 | 2023-09-15 | 广州小鹏自动驾驶科技有限公司 | 一种路口检测方法、装置、设备及存储介质 |
CN113704304A (zh) * | 2021-08-30 | 2021-11-26 | 北京百度网讯科技有限公司 | 路口数据处理方法、路口检索方法及装置 |
CN113704304B (zh) * | 2021-08-30 | 2024-03-05 | 北京百度网讯科技有限公司 | 路口数据处理方法、路口检索方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN111460197B (zh) | 2023-07-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Hijmans et al. | Package ‘terra’ | |
CN110457420B (zh) | 兴趣点位置识别方法、装置、设备及存储介质 | |
US12099907B2 (en) | Automated geospatial data analysis | |
KR101764615B1 (ko) | 공간 지식 추출기 및 추출 방법 | |
CN111460197A (zh) | 一种国土平面交叉路口矢量要素的识别方法 | |
CN110750590A (zh) | 管线三维可视化平台自动生成方法 | |
JP2023530795A (ja) | 地理的位置区域の符号化方法、符号化モデルを確立する方法、及び装置 | |
Yang et al. | A map‐algebra‐based method for automatic change detection and spatial data updating across multiple scales | |
CN114661744B (zh) | 一种基于深度学习的地形数据库更新方法及系统 | |
Abdelmoty et al. | Towards maintaining consistency of spatial databases | |
Nguyen et al. | Realistic road path reconstruction from GIS data | |
Willrich | Quality control and updating of road data by GIS-driven road extraction from imagery | |
Dunkars | Matching of Datasets. | |
CN111966732B (zh) | 全智能化地质填图方法、装置、设备及可读存储介质 | |
Siejka et al. | Correction of topological errors in geospatial databases | |
CN114202445A (zh) | 基于人工智能的学区围栏处理方法、装置及设备 | |
CN201637861U (zh) | 一种基于岩性地层数据的地质图件的图例矢量化装置 | |
Raines et al. | Progress report Digital geologic map data model | |
Giovanella et al. | Detection and evaluation of topological consistency in CityGML datasets | |
CN113657669B (zh) | 一种街区空间编码图的智能建构方法、系统及存储介质 | |
Eder | Geometry-based Railway Track Extraction from OpenStreetMap Data | |
Moreno | A vector-based geographical cellular automata model to mitigate scale sensitivity and to allow objects’ geometric transformation | |
Ilienko et al. | English for Geodesy and Land Management Students: tutorial. | |
Esfahani | Interoperability of traffic infrastructure planning and Geospatial Information Systems | |
KR100588740B1 (ko) | 지번도를 이용한 지리정보체계 데이터베이스 구축 방법 |
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 |