JP3381993B2 - Center line calculator - Google Patents

Center line calculator

Info

Publication number
JP3381993B2
JP3381993B2 JP35329593A JP35329593A JP3381993B2 JP 3381993 B2 JP3381993 B2 JP 3381993B2 JP 35329593 A JP35329593 A JP 35329593A JP 35329593 A JP35329593 A JP 35329593A JP 3381993 B2 JP3381993 B2 JP 3381993B2
Authority
JP
Japan
Prior art keywords
line data
point
line
data
road
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.)
Expired - Lifetime
Application number
JP35329593A
Other languages
Japanese (ja)
Other versions
JPH07200861A (en
Inventor
吾一 小笠原
孝平 川野
潔 米山
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Tokyo Gas Co Ltd
Original Assignee
Tokyo Gas Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Tokyo Gas Co Ltd filed Critical Tokyo Gas Co Ltd
Priority to JP35329593A priority Critical patent/JP3381993B2/en
Publication of JPH07200861A publication Critical patent/JPH07200861A/en
Application granted granted Critical
Publication of JP3381993B2 publication Critical patent/JP3381993B2/en
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Landscapes

  • Processing Or Creating Images (AREA)
  • Image Analysis (AREA)

Description

【発明の詳細な説明】Detailed Description of the Invention

【0001】[0001]

【産業上の利用分野】本発明は、道路の中心線を算出す
る中心線算出装置に関するものである。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a centerline calculating device for calculating a centerline of a road.

【0002】[0002]

【従来の技術】一般に、マッピングシステムでは、道路
境界等の地図データがラインデータ(ベクトルデータ)
として保持され、オペレータの指示に応じて適宜ディス
プレイ等に表示され利用される。
2. Description of the Related Art Generally, in a mapping system, map data such as road boundaries is line data (vector data).
And is displayed and used as appropriate on a display or the like in response to an operator's instruction.

【0003】[0003]

【発明が解決しようとする課題】ところで、このような
マッピングシステムにおいては、道路境界だけでなく、
道路の中心線もデジタイザから入力していた。道路中心
線を道路距離計算や小縮尺図面出図の際の道路幅員調整
(道路の整飾)に利用するためである。
By the way, in such a mapping system, not only road boundaries but also
The center line of the road was also input from the digitizer. This is because the road center line is used for road width calculation (road decoration) when calculating road distances and drawing small-scale drawings.

【0004】しかしながら、道路中心線を入力するに
は、道路データを一旦出図し、これに道路中心線を書き
入れて下図を作成し、この下図をデジタイザに貼り付け
道路中心線を入力していたので、作業が煩わしいもので
あった。
However, in order to input the road center line, the road data is once output, the road center line is written in the road data to create the following figure, and the following figure is pasted on the digitizer to input the road center line. Therefore, the work was troublesome.

【0005】このため、本出願人は道路の中心線を自動
的に算出するシステムを開発し、これを既に特許出願し
ている(特願平5−238758)。
Therefore, the present applicant has developed a system for automatically calculating the center line of a road, and has already applied for a patent for this system (Japanese Patent Application No. 5-238758).

【0006】しかしながら、特願平5−238758の
中心線算出装置では1つの道路の途中に他の道路が交わ
る場合の処理は開示されていない。
However, the center line calculation device of Japanese Patent Application No. 5-238758 does not disclose processing when one road intersects another road.

【0007】本発明は、このような要望に鑑みてなされ
たもので、その目的とするところは、1つの道路に他の
道路が交わるような場合でも、道路の中心線を自動的に
算出することのできる中心線算出装置を提供することに
ある。
The present invention has been made in view of such a demand, and its object is to automatically calculate the center line of a road even when one road intersects with another road. It is to provide a center line calculation device capable of performing the above.

【0008】[0008]

【課題を解決するための手段】前述した目的を達成する
ために本発明は、ポリゴンを構成する閉じたラインデー
タを格納するデータベースと、前記データベースのライ
ンデータの終端部分を検索する手段と、前記ラインデー
タを基にして前記終端部分からみて、左側の部分と右側
の部分のデータを1対の対向するラインデータとして抽
出する手段と、前記1対の対向するラインデータの対応
する点の座標を算出する対応点算出手段と、前記対応す
る点のそれぞれの中点の座標を算出する手段と、算出さ
れた中点の座標をデータベースに格納する手段と、を具
備し、前記対応点算出手段は、相手側のラインデータが
直線であるときは、当該ラインデータ上の点から相手側
のラインデータに垂線を降ろし、その交点の座標を対応
する点の座標として求め、当該ラインデータ上の点が屈
曲点であるときには、相手側のラインデータの屈曲点の
座標を対応する点の座標とする中心線算出装置である。
In order to achieve the above-mentioned object, the present invention provides a database for storing closed line data constituting a polygon, a means for searching an end portion of the line data of the database, Based on the line data, the means for extracting the data of the left side portion and the right side portion as a pair of opposing line data when viewed from the end portion, and the coordinates of the corresponding points of the pair of opposing line data are The corresponding point calculating means includes means for calculating corresponding point calculating means, means for calculating coordinates of respective middle points of the corresponding points, and means for storing the calculated coordinates of the middle point in a database. If the line data of the other party is a straight line, draw a perpendicular line from the point on the line data to the line data of the other party, and use the coordinates of the intersection as the coordinates of the corresponding point. It determined, when a point on the line data is bending point is the center line calculation device according to the coordinates of the point corresponding to the coordinates of the bending points of the line data of the other party.

【0009】[0009]

【作用】本発明では、データベースのラインデータの終
端部分を検索し、ラインデータを基にして終端部分から
みて、左側の部分と右側の部分のデータを1対の対向す
るラインデータとして抽出し、1対の対向するラインデ
ータの対応する点の座標を算出し、対応する点のそれぞ
れの中点の座標を算出し、算出された中点の座標をデー
タベースに格納する。
According to the present invention, the end portion of the line data of the database is searched, and the data of the left side portion and the right side portion are extracted as a pair of opposing line data when viewed from the end portion based on the line data, The coordinates of the corresponding points of the pair of opposing line data are calculated, the coordinates of the middle points of the corresponding points are calculated, and the calculated coordinates of the middle points are stored in the database.

【0010】[0010]

【実施例】以下、図面に基づいて本発明の実施例を詳細
に説明する。図1は、本発明の1実施例に係る中心線算
出装置のハードウェアの構成を示すブロック図である。
Embodiments of the present invention will now be described in detail with reference to the drawings. FIG. 1 is a block diagram showing a hardware configuration of a center line calculation device according to one embodiment of the present invention.

【0011】データベース1には道路境界等のラインデ
ータが格納されている。コンピュータ3はデータベース
1に格納されたラインデータを用いて、その中心線を算
出し、算出された中心線のデータを再びデータベース1
に格納する。
The database 1 stores line data such as road boundaries. The computer 3 uses the line data stored in the database 1 to calculate the center line, and the calculated center line data is used again in the database 1
To store.

【0012】図2は道路境界を示すラインデータの1例
を示す図であり、図3はデータベース1に格納されたラ
インデータのレコード11を示す図である。このライン
データはポリゴン(多角形)を表現するために閉じた座
標列となっている。ポリゴンとしているのは、道路の面
積や、道路内設備を抽出する場合に使用するためであ
る。またこのポリゴンは右回りとされている。
FIG. 2 is a diagram showing an example of line data indicating a road boundary, and FIG. 3 is a diagram showing a record 11 of the line data stored in the database 1. This line data is a closed coordinate sequence for expressing a polygon. The polygon is used to extract the area of the road and the equipment on the road. Also, this polygon is clockwise.

【0013】図2に示すようにラインデータは点[1]
から[9]によって構成される。そして点[2]、点
[3]で他の道路と交わっている。図3において「1
3」はデータ数を示す。すなわち、X、Yをペアとして
「13」の後に13個のデータが書き込まれる。データ
数の後に点[1]、点[2]の座標データが格納され
る。「−2」、「0」は陰線を示すフラグであり、道路
の終端あるいは他の道路と交わる部分にこのフラグが挿
入される。陰線はディスプレイ上に表示されないか、あ
るいは破線等で表示される。その後、点[3]から点
[5]までの座標値が格納され、陰線を示す「−2」、
「0」の後に点[6]から点[9]までの座標値が格納
され、陰線を示す「−2」、「0」の後に点[10]の
座標値が格納される。なお、点[10]と点[1]は同
一の点を表わしている。ステップ401、402 図4は、コンピュータ3の処理を示すフローチャートで
ある。コンピュータ3は、まず道路の終端部分を検索し
(ステップ401)、終端部分からみて左側の道路境界
を示すラインデータ13と右側の道路境界を示すライン
データ15を生成する(ステップ402)。
As shown in FIG. 2, the line data has a point [1].
To [9]. And it intersects with other roads at points [2] and [3]. In FIG. 3, “1
"3" indicates the number of data. That is, 13 pieces of data are written after "13" with X and Y as a pair. Coordinate data of point [1] and point [2] is stored after the number of data. "-2" and "0" are flags indicating hidden lines, and these flags are inserted at the end of the road or a portion intersecting with another road. The hidden line is not displayed on the display or is displayed as a broken line. After that, the coordinate values from the point [3] to the point [5] are stored, and "-2" indicating a hidden line,
The coordinate value from the point [6] to the point [9] is stored after "0", and the coordinate value of the point [10] is stored after "-2" and "0" indicating a hidden line. The point [10] and the point [1] represent the same point. Steps 401 and 402 FIG. 4 is a flowchart showing the processing of the computer 3. The computer 3 first searches for the end portion of the road (step 401), and generates line data 13 indicating the road boundary on the left side and line data 15 indicating the road boundary on the right side as viewed from the end portion (step 402).

【0014】図5は、ステップ401の処理を示すフロ
ーチャートである。まず、パラメータiをクリアし(ス
テップ501)、iを「1」増加させ(ステップ50
2)、座標データXi 、Yi を取り出す(ステップ50
3)。Xi が「−2」に等しいか否かを判定し、「−
2」に等しくない場合、ステップ502に戻る。
FIG. 5 is a flowchart showing the processing of step 401. First, the parameter i is cleared (step 501) and i is incremented by "1" (step 50).
2) Take out the coordinate data X i , Y i (step 50)
3). It is determined whether X i is equal to “−2”, and “−
If not equal to 2 ”, then return to step 502.

【0015】すなわち、道路の終端および他の道路と交
わる部分ではフラグが「−2」となっているので、「−
2」のフラグを検出することによって道路の終端を検出
する。 Xi が「−2」に等しい場合(ステップ50
4)、(i−1)の値をjに代入し、(i+1)の値を
kに代入し(ステップ505)、Xj をXL0に、Yj
L0に、Xk をXR0、Yk をYR0に代入する(ステップ
506)。
That is, since the flag is "-2" at the end of the road and the portion where it intersects with another road, "-"
The end of the road is detected by detecting the "2" flag. If X i is equal to "-2" (step 50)
4), the value of (i-1) is assigned to j, the value of (i + 1) is assigned to k (step 505), X j is set to X L0 , Y j is set to Y L0 , and X k is set to X R0. , Y k into Y R0 (step 506).

【0016】つぎに、jを「1」減少させ(ステップ5
07)、Xj 、Yj を取り出し(ステップ508)、
[(Xj −XL02 +(Yj −YL02 1/2 の値をL
に代入し(ステップ509)、算出されたLと閾値LM
とを比較し(ステップ510)、L<LM ならばステッ
プ507に戻り、L≧LM ならば次の処理に進む。
Next, j is decreased by "1" (step 5
07), take out X j , Y j (step 508),
[(X j -X L0) 2 + (Y j -Y L0) 2] 1/2 values L
To the calculated L and threshold L M (step 509)
Are compared with each other (step 510), and if L <L M , the process returns to step 507, and if L ≧ L M , the process proceeds to the next process.

【0017】つぎに、kを「1」増加させ(ステップ5
11)、Xk 、Yk を取り出し(ステップ512)、
[(Xk −XR02 +(Yk −YR02 1/2 の値をL
に代入し(ステップ513)、算出されたLと閾値LM
とを比較し(ステップ514)、L<LM ならばステッ
プ511に戻り、L≧LM ならば次の処理に進む。
Next, k is increased by "1" (step 5
11), take out X k , Y k (step 512),
[(X k -X R0) 2 + (Y k -Y R0) 2] 1/2 values L
To the calculated L and threshold L M (step 513)
Are compared (step 514), and if L <L M , the process returns to step 511, and if L ≧ L M , the process proceeds to the next process.

【0018】ステップ510、ステップ514の処理は
交差点近辺では短いベクトルが多いので、閾値LM をた
とえば50mとして交差点付近の特異な形状を取り除く
ものである。
Since there are many short vectors near the intersection in the processes of steps 510 and 514, the threshold L M is set to, for example, 50 m to remove a peculiar shape near the intersection.

【0019】つぎに、(Xj −XL0)・(Xk −XR0
と「0」との大小関係を比較し(ステップ515)、
(Xj −XL0)・(Xk −XR0)<0ならばステップ5
02に戻り、(Xj −XL0)・(Xk −XR0)>0なら
ば次のステップに進む。
Next, (X j −X L0 ) · (X k −X R0 ).
And "0" are compared in magnitude (step 515),
If (X j −X L0 ) · (X k −X R0 ) <0, step 5
Return to 02, proceed to (X j -X L0) · ( X k -X R0)> 0 if the next step.

【0020】図6は、ステップ515の処理の説明図で
ある。図6(a)に示すように、Xj 、XL0、XR0、X
k がこの順にほぼ直線上に並んでいる場合、 (Xj −XL0)・(Xk −XR0)<0 となる。また、図6(b)に示すように、XL0、XR0
道路の終端である場合には、 (Xj −XL0)・(Xk −XR0)>0 となる。したがって、(Xj −XL0)・(Xk −XR0
>0となる条件により道路の終端を検出することができ
る。
FIG. 6 is an explanatory diagram of the processing of step 515. As shown in FIG. 6A , X j , X L0 , X R0 , X
When k are arranged in this order on a substantially straight line, (X j −X L0 ) · (X k −X R0 ) <0. Further, as shown in FIG. 6B, when X L0 and X R0 are the ends of the road, (X j −X L0 ) · (X k −X R0 )> 0. Therefore, (X j −X L0 ) · (X k −X R0 ).
The end of the road can be detected under the condition of> 0.

【0021】ステップ515で(Xj −XL0)・(Xk
−XR0)>0の場合、Xi に「−10」を代入する(ス
テップ516)。
At step 515, (X j −X L0 ) · (X k
If -X R0 )> 0, "-10" is substituted for X i (step 516).

【0022】図7は、ステップ401の処理を行ったの
ちのレコード20を示す。
FIG. 7 shows the record 20 after the processing of step 401 is performed.

【0023】図8は、ステップ402の処理を示すフロ
ーチャートである。まず、パラメータi、jおよびデー
タ数を示すパラメータMをクリアし(ステップ80
1)、i、jを「1」増加させ(ステップ802)、レ
コード20からXi 、Yi を取り出し(ステップ80
3)、Xi が「−10」と等しいか否かを判定する(ス
テップ804)。Xi が「−10」と等しくない場合に
はXi 、Yi の値をそれぞれXj 、Yj に代入し(ステ
ップ805)、Mを「1」増加させ(ステップ80
6)、ステップ802に戻る。
FIG. 8 is a flowchart showing the process of step 402. First, the parameters i and j and the parameter M indicating the number of data are cleared (step 80
1), i and j are incremented by "1" (step 802), and X i and Y i are extracted from the record 20 (step 80).
3), it is determined whether X i is equal to "-10" (step 804). If X i is not equal to “−10”, the values of X i and Y i are substituted into X j and Y j , respectively (step 805) and M is increased by “1” (step 80).
6) and returns to step 802.

【0024】ステップ804においてXi が「−10」
と等しい場合には、Xj に「−5」を代入し(ステップ
807)、次のステップに進む。
In step 804, X i is "-10".
If equal the substitutes "-5" to X j (step 807), the process proceeds to the next step.

【0025】ステップ801からステップ807までの
処理は道路の終端部分からみて、道路の左側の境界を示
すラインデータを抽出する処理である。図9(a)は、
ステップ801からステップ807までの処理を受けた
ラインデータ(Xj ,Yj )(j=1〜7)を示すもの
である。ラインデータ13の最初の部分にはデータ数M
として「7」が格納され、それに続いて(Xj ,Yj
が格納される。
The processing from step 801 to step 807 is processing for extracting line data indicating the left boundary of the road when viewed from the end portion of the road. FIG. 9A shows
The line data (X j , Y j ) (j = 1 to 7) subjected to the processing from step 801 to step 807 is shown. In the first part of the line data 13, the number of data M
"7" is stored as, followed by (X j , Y j )
Is stored.

【0026】図8において再びパラメータi、j、Mを
クリアし(ステップ808)、i、jを「1」増加させ
(ステップ809)、レコード20からXN-i 、YN-i
を取り出し(ステップ810)、XN-i が「−10」と
等しいか否かを判定する(ステップ811)。XN-i
「−10」と等しくない場合にはXN-i 、YN-i の値を
それぞれXk 、Yk に代入し(ステップ812)、Mを
「1」増加させ(ステップ813)、ステップ809に
戻る。
In FIG. 8, the parameters i, j and M are cleared again (step 808), i and j are incremented by “1” (step 809), and X Ni and Y Ni from the record 20 are read.
Is taken out (step 810) and it is determined whether X Ni is equal to “−10” (step 811). If X Ni is not equal to “−10”, the values of X Ni and Y Ni are substituted into X k and Y k , respectively (step 812), M is increased by “1” (step 813), and step 809 is performed. Return.

【0027】ステップ811においてXN-i が「−1
0」と等しい場合には、Xk に「−5」を代入する(ス
テップ814)。
At step 811, X Ni becomes "-1".
If equal to 0 "assigns" -5 "to X k (step 814).

【0028】ステップ808からステップ814までの
処理は道路の終端部分からみて、道路の右側の境界を示
すラインデータを抽出する処理である。図9(b)は、
ステップ808からステップ814までの処理を受けた
ラインデータ(Xj ,Yj )(j=1〜7)を示すもの
である。ラインデータ17の最初の部分にはデータ数M
として「5」が格納され、それに続いて(Xj ,Yj
が格納される。ステップ403 つぎに各点間の距離と勾配を求める(ステップ40
3)。図10はレコード13について算出される距離と
勾配を示したものである。ここで距離とは各点間の直線
距離であり、たとえば点[1]と点[2]の距離がL2
である。勾配aは、たとえば点[I](Xi ,Yi )と
点[J](Xj ,Yj )の間の勾配であれば、 a=
(Yi −Yj )/(Xi −Xj )で求められる。図11
はレコード17に対して算出された距離と勾配を示す図
である。ステップ404 つぎに対向するラインデータ上の対応する座標点を算出
する(ステップ404)。すなわち図12に示すように
ラインデータ13上の点[2]に対応するラインデータ
17上の点[2´](XB ,YB )を算出し、同様にラ
インデータ17上の点[4´]に対応するラインデータ
13上の点[4](XA ,YA )を算出する。
The processing from step 808 to step 814 is processing for extracting line data indicating the right boundary of the road when viewed from the end portion of the road. FIG. 9B shows
The line data (X j , Y j ) (j = 1 to 7) subjected to the processing from step 808 to step 814 is shown. In the first part of the line data 17, the number of data M
Is stored as "5", followed by (X j , Y j )
Is stored. Step 403 Next, the distance and gradient between each point are calculated (Step 40
3). FIG. 10 shows the distance and the gradient calculated for the record 13. Here, the distance is a straight line distance between the points, and for example, the distance between the point [1] and the point [2] is L 2
Is. If the gradient a is, for example, the gradient between the point [I] (X i , Y i ) and the point [J] (X j , Y j ), then a =
Obtained in (Y i -Y j) / ( X i -X j). Figure 11
FIG. 6 is a diagram showing a distance and a gradient calculated for a record 17. Step 404 Next, the corresponding coordinate points on the opposing line data are calculated (step 404). That is, as shown in FIG. 12, the point [2 ′] (X B , Y B ) on the line data 17 corresponding to the point [2] on the line data 13 is calculated, and similarly, the point [4] on the line data 17 is calculated. The point [4] (X A , Y A ) on the line data 13 corresponding to “′” is calculated.

【0029】図13はステップ404の処理を詳細に示
すフローチャートである。同図においてSAはラインデ
ータ13において起点[1]からの全延長、SBはライ
ンデータ17において起点[1´]からの全延長、iA
はラインデータ13上のデータの番号、iBはラインデ
ータ17上のデータの番号を示す。
FIG. 13 is a flow chart showing in detail the processing of step 404. In the figure, SA is the full extension from the starting point [1] in the line data 13, SB is the full extension from the starting point [1 ′] in the line data 17, iA
Indicates the data number on the line data 13, and iB indicates the data number on the line data 17.

【0030】まずパラメータSA、SBをクリアし(ス
テップ1001)、パラメータiA、iBに「2」を代
入する(ステップ1002)。つぎにSA、SBに
iA、LiBをそれぞれ加えたものを新たなSA、SBと
する(ステップ1003)。ここでLiA、LiBは図7、
図8に示す各点間の距離である。
First, the parameters SA and SB are cleared (step 1001), and "2" is substituted into the parameters iA and iB (step 1002). Then, new SA and SB are obtained by adding L iA and L iB to SA and SB, respectively (step 1003). Here, L iA and L iB are shown in FIG.
It is the distance between each point shown in FIG.

【0031】つぎにXiA、XiBが共に「−5」であるか
否かが判断され(ステップ1004)、「−5」である
場合にはデータの終了であるので処理を終了する。
iA、XiBが共に「−5」でない場合、全延長SAと全
延長SBを比較し(ステップ1005)、SAの方がS
Bよりもかなり小さいときには、ラインデータ13の点
iAからラインデータ17の点(iB−1)と点iBの
間に垂線を下ろし、交点(X,Y)を求める(ステップ
1006)。
Next, it is judged whether or not both X iA and X iB are "-5" (step 1004). If they are "-5", it means that the data has ended and the process is ended.
If both X iA and X iB are not “−5”, the full extension SA and the full extension SB are compared (step 1005), and SA is S
When it is considerably smaller than B, a perpendicular is drawn between the point iA of the line data 13 and the point (iB-1) of the line data 17 and the point iB to obtain the intersection (X, Y) (step 1006).

【0032】図14は、このときの処理を示すもので、
点Kから点Iと点Jの間に垂線を下ろし、交点M(X,
Y)を求める場合の説明図である。
FIG. 14 shows the processing at this time.
A perpendicular line is drawn from the point K to the points I and J, and the intersection point M (X,
It is explanatory drawing when Y) is calculated | required.

【0033】交点M(X,Y)は、線分IJ上にあるの
で、 Y=(Yj −Yi )/(Xj −Xi )・(X−Xi )+
i ……(1) であり、また、線分KMは線分
IJと直交するのでその勾配は、 −(Xj −Xi )/(Yj −Yi )であり、交点M
(X,Y)は、線分KM上にあるので、 Y=−(Xj −Xi )/(Yj −Yi )・(X−Xk
+Yk ……(2)が成立する。
The intersection M (X, Y) is, is on a line segment IJ, Y = (Y j -Y i) / (X j -X i) · (X-X i) +
Y i (1), and since the line segment KM is orthogonal to the line segment IJ, its gradient is − (X j −X i ) / (Y j −Y i ), and the intersection point M is
Since (X, Y) is on the line segment KM, Y = − (X j −X i ) / (Y j −Y i ) · (X−X k ).
+ Y k (2) is established.

【0034】式1(1)と式(2)とを整理すると、 (Xj −Xi )Y−(Yj −Yi )X+Yi j −Yj
i =0 ……(3) (Yj −Yi )Y+(Xj
i )X+Yk (Yj −Yj ) +(Xj −Xi )Xk =0
……(4)となり、式(3)と式(4)の連立
方程式を解くことにより交点M(X,Y)を求める。
[0034] Formula 1 (1) and when organizing the formula (2), (X j -X i) Y- (Y j -Y i) X + Y i X j -Y j
X i = 0 (3) (Y j −Y i ) Y + (X j
X i ) X + Y k (Y j −Y j ) + (X j −X i ) X k = 0
(4), and the intersection point M (X, Y) is obtained by solving the simultaneous equations of the equations (3) and (4).

【0035】つぎにラインデータ17の点iB以後の座
標データを1データ分後方にシフトする(ステップ10
07)。そしてXiB、YiBにそれぞれ交点の座標X、Y
を代入し(ステップ1008)、iAを1増加させ(ス
テップ1009)、SAをLiAだけ増加させ(ステップ
1010)、ステップ1004に戻る。
Next, the coordinate data of the line data 17 after the point iB is shifted backward by one data (step 10).
07). Then, the coordinates X and Y of the intersection are respectively added to X iB and Y iB.
(Step 1008), iA is incremented by 1 (step 1009), SA is incremented by L iA (step 1010), and the process returns to step 1004.

【0036】ステップ1005においてSAの方がSB
よりもかなり小さいときには、ラインデータ17の点i
Bからラインデータ13の点(iA−1)と点iAの間
に垂線を下ろし、交点(X,Y)を求める(ステップ1
011)。
In step 1005, SA is SB
Is much smaller than point i of line data 17
A perpendicular line is drawn from B to the point (iA-1) of the line data 13 and the point iA to obtain the intersection point (X, Y) (step 1).
011).

【0037】つぎにラインデータ13の点iA以後の座
標データを1データ分後方にシフトする(ステップ10
12)。そしてXiA、YiAにそれぞれ交点の座標X、Y
を代入し(ステップ1013)、iBを1増加させ(ス
テップ1014)、SBをLiBだけ増加させ(ステップ
1015)、ステップ1004に戻る。
Next, the coordinate data after the point iA of the line data 13 is shifted backward by one data (step 10).
12). Then, the coordinates X and Y of the intersection are respectively added to X iA and Y iA.
Is substituted (step 1013), iB is incremented by 1 (step 1014), SB is incremented by L iB (step 1015), and the process returns to step 1004.

【0038】ステップ1005においてSAとSBがほ
ぼ等しい場合には、勾配aiA、aiA+1、aiB、aiB+1
ほぼ等しいか否かを判断し(ステップ1016)、ほぼ
等しくない場合にはラインデータ13、17の交点フラ
グFiA、FiBを「1」とする(ステップ1017)。次
にiA、iBをそれぞれ「1」増加させ(ステップ10
18)、SAをLiAだけ増加させ(ステップ101
9)、SBをLiBだけ増加させ(ステップ1020)、
ステップ1004に戻る。
If SA and SB are approximately equal in step 1005, it is judged whether or not the gradients a iA , a iA + 1 , a iB , and a iB + 1 are approximately equal (step 1016). In this case, the intersection flags F iA and F iB of the line data 13 and 17 are set to “1” (step 1017). Next, iA and iB are each increased by "1" (step 10
18) and increase SA by L iA (step 101
9) increase SB by LiB (step 1020),
Returning to step 1004.

【0039】図15、図16はこのような処理を受けた
ラインデータ13とラインデータ17を示す図である。
ここで、交点フラグは一方のラインデータの1つの屈曲
点が他方のラインデータの複数の屈曲点に対応する場合
等に利用される。ステップ405 このようにして対向するラインデータ上の対応する座標
点が算出されると、対応する座標点の中点の座標を算出
する(ステップ405)。
FIGS. 15 and 16 are diagrams showing the line data 13 and the line data 17 which have undergone such processing.
Here, the intersection point flag is used, for example, when one bending point of one line data corresponds to a plurality of bending points of the other line data. Step 405 When the corresponding coordinate points on the opposing line data are calculated in this way, the coordinates of the middle point of the corresponding coordinate points are calculated (step 405).

【0040】図17は中点の座標を算出する際の説明図
である。前述した手順によりラインデータ13上で点
[1]から点[5]までの座標値が算出されており、ラ
インデータ17上で点[1]から点[5]までの座標値
が算出される。そして、対応する点(例えば点[1]と
点[1´])の中点(1)〜中点(5)を求める。
FIG. 17 is an explanatory diagram for calculating the coordinates of the midpoint. The coordinate value from the point [1] to the point [5] is calculated on the line data 13 by the above-described procedure, and the coordinate value from the point [1] to the point [5] is calculated on the line data 17. . Then, the midpoint (1) to the midpoint (5) of the corresponding points (for example, the point [1] and the point [1 ′]) are obtained.

【0041】すなわち、点[I](Xi ,Yi )と点
[J](Xj ,Yj )の中点(X,Y)であれば、 X=(Xi +Xj )/2 Y=(Yi +Yj )/2 に従って中点の座標を算出する。ステップ406 そして中点(1)〜中点(5)を連結して中心ラインデ
ータとし、データベース1に格納する(ステップ40
6)。
That is, if the midpoint (X, Y) of the point [I] (X i , Y i ) and the point [J] (X j , Y j ), then X = (X i + X j ) / 2. The coordinates of the midpoint are calculated according to Y = (Y i + Y j ) / 2. Step 406 Then, the midpoint (1) to the midpoint (5) are connected to form the center line data, which is stored in the database 1 (step 40).
6).

【0042】このように本実施例では、道路のような対
向するラインデータの中心線を容易に算出することがで
きる。
As described above, according to the present embodiment, the center line of the line data facing each other such as a road can be easily calculated.

【0043】なお、図18に示すように道路31に道路
33が交わっている場合で、点[2]、点[3]および
点[4]、点[5]で取り付け部が構成されているよう
な場合、点[3]、点[4]を無視して処理すればよ
い。
In the case where the road 33 intersects with the road 31 as shown in FIG. 18, the mounting portion is constituted by the points [2], [3] and [4], [5]. In such a case, point [3] and point [4] may be ignored and processed.

【0044】また図19に示すような順序でデータが構
成されている場合、ステップ401の処理を2回繰り返
すことにより、始点と終点を求め、ステップ402のラ
インデータを始点から終点まで求めればよい。
If the data is arranged in the order shown in FIG. 19, the start point and the end point are obtained by repeating the process of step 401 twice, and the line data of step 402 is obtained from the start point to the end point. .

【0045】なお本発明は、ポリゴンでない対向する2
つのラインデータ(例えば鉄道等の対向する2つのライ
ンデータ)の中心線を求める場合にも応用することがで
きる
It should be noted that in the present invention, the two opposing polygons are not polygons.
It can also be applied to the case of finding the center line of one line data (for example, two line data facing each other such as a railway).

【0046】。..

【発明の効果】以上、詳細に説明したように本発明によ
れば、1つの道路に他の道路が交わるような場合でも、
道路の中心線を自動的に算出することができる。
As described above in detail, according to the present invention, even when one road intersects with another road,
The center line of the road can be calculated automatically.

【図面の簡単な説明】[Brief description of drawings]

【図1】 本発明の1実施例を実施するためのシステム
の構成図
FIG. 1 is a block diagram of a system for carrying out an embodiment of the present invention.

【図2】 ポリゴンを構成する閉じたラインデータを示
す図
FIG. 2 is a diagram showing closed line data forming a polygon.

【図3】 データベース1に格納されたラインデータを
示す図
FIG. 3 is a diagram showing line data stored in a database 1.

【図4】 コンピュータ3の処理を示すフローチャートFIG. 4 is a flowchart showing the processing of the computer 3.

【図5】 ステップ401の処理を示すフローチャートFIG. 5 is a flowchart showing the processing of step 401.

【図6】 終端部分の検出の説明図FIG. 6 is an explanatory diagram of detection of a terminal portion.

【図7】 変換されたラインデータを示す図FIG. 7 is a diagram showing converted line data.

【図8】 ステップ402の処理を示すフローチャートFIG. 8 is a flowchart showing the process of step 402.

【図9】 ラインデータ13、17を示す図FIG. 9 is a diagram showing line data 13 and 17

【図10】 距離および勾配が算出されたラインデータ
13に関するテーブルを示す図
FIG. 10 is a diagram showing a table regarding the line data 13 in which the distance and the gradient are calculated.

【図11】 距離および勾配が算出されたラインデータ
17に関するテーブルを示す図
FIG. 11 is a diagram showing a table regarding the line data 17 in which the distance and the gradient are calculated.

【図12】 対応する点が算出されたラインデータを示
す図
FIG. 12 is a diagram showing line data in which corresponding points are calculated.

【図13】 ステップ404の処理を詳細に示すフロー
チャート
FIG. 13 is a flowchart showing the process of step 404 in detail.

【図14】 垂線の交点の算出の説明図FIG. 14 is an explanatory diagram of calculation of intersections of perpendicular lines.

【図15】 ラインデータ13に関するテーブルを示す
FIG. 15 is a diagram showing a table related to line data 13.

【図16】 ラインデータ17に関するテーブルを示す
FIG. 16 is a diagram showing a table relating to line data 17.

【図17】 ラインデータ13、17および中心線を示
す図
FIG. 17 is a diagram showing line data 13 and 17 and a center line.

【図18】 他のラインデータを示す図FIG. 18 is a diagram showing another line data.

【図19】 他のラインデータを示す図FIG. 19 is a diagram showing another line data.

【符号の説明】[Explanation of symbols]

1………データベース 3………コンピュータ 13、15、17………ラインデータ 1 ... database 3 ... Computer 13, 15, 17 ... Line data

フロントページの続き (58)調査した分野(Int.Cl.7,DB名) G06T 1/00 G06T 7/00 - 7/60 G06T 11/60 G06F 17/50 Front page continuation (58) Fields surveyed (Int.Cl. 7 , DB name) G06T 1/00 G06T 7 /00-7/60 G06T 11/60 G06F 17/50

Claims (2)

(57)【特許請求の範囲】(57) [Claims] 【請求項1】 ポリゴンを構成する閉じたラインデータ
を格納するデータベースと、 前記データベースのラインデータの終端部分を検索する
手段と、 前記ラインデータを基にして前記終端部分からみて、左
側の部分と右側の部分のデータを1対の対向するライン
データとして抽出する手段と、 前記1対の対向するラインデータの対応する点の座標を
算出する対応点算出手段と、 前記対応する点のそれぞれの中点の座標を算出する手段
と、 算出された中点の座標をデータベースに格納する手段
と、 を具備し、 前記対応点算出手段は、相手側のラインデータが直線で
あるときは、当該ラインデータ上の点から相手側のライ
ンデータに垂線を降ろし、その交点の座標を対応する点
の座標として求め、当該ラインデータ上の点が屈曲点で
あるときには、相手側のラインデータの屈曲点の座標を
対応する点の座標とすることを特徴とする 中心線算出装
置。
1. A database for storing closed line data forming a polygon, a means for searching an end portion of the line data of the database, and a portion on the left side of the line data based on the end portion. Means for extracting the data of the right part as a pair of opposing line data, corresponding point calculating means for calculating the coordinates of the corresponding points of the pair of opposing line data, and each of the corresponding points. And a means for storing the coordinates of the calculated midpoint in a database , wherein the corresponding point calculation means is such that the line data of the other party is a straight line.
If there is a line on the other side,
A perpendicular line is drawn on the data and the coordinates of the intersection are
The coordinates on the line data are the bending points.
Sometimes, the coordinates of the bending point of the line data of the other side are
A center line calculation device characterized by using coordinates of corresponding points .
【請求項2】 前記対応点算出手段は、 対応点が他の道路の取り付け部であるか否かを判定する
手段と、 取り付け部である場合には対応座標点を無視する手段
と、 を有することを特徴とする請求項1に記載の中心線算出
装置。
2. The corresponding point calculating means includes means for determining whether or not the corresponding point is a mounting portion of another road, and means for ignoring the corresponding coordinate point when the corresponding point is a mounting portion. The centerline calculation device according to claim 1, wherein
JP35329593A 1993-12-30 1993-12-30 Center line calculator Expired - Lifetime JP3381993B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP35329593A JP3381993B2 (en) 1993-12-30 1993-12-30 Center line calculator

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP35329593A JP3381993B2 (en) 1993-12-30 1993-12-30 Center line calculator

Publications (2)

Publication Number Publication Date
JPH07200861A JPH07200861A (en) 1995-08-04
JP3381993B2 true JP3381993B2 (en) 2003-03-04

Family

ID=18429875

Family Applications (1)

Application Number Title Priority Date Filing Date
JP35329593A Expired - Lifetime JP3381993B2 (en) 1993-12-30 1993-12-30 Center line calculator

Country Status (1)

Country Link
JP (1) JP3381993B2 (en)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6405132B1 (en) 1997-10-22 2002-06-11 Intelligent Technologies International, Inc. Accident avoidance system
US7295925B2 (en) 1997-10-22 2007-11-13 Intelligent Technologies International, Inc. Accident avoidance systems and methods
US6370475B1 (en) * 1997-10-22 2002-04-09 Intelligent Technologies International Inc. Accident avoidance system
US7426437B2 (en) 1997-10-22 2008-09-16 Intelligent Technologies International, Inc. Accident avoidance systems and methods
US6720920B2 (en) 1997-10-22 2004-04-13 Intelligent Technologies International Inc. Method and arrangement for communicating between vehicles
US10240935B2 (en) 1998-10-22 2019-03-26 American Vehicular Sciences Llc Vehicle software upgrade techniques
JP5194452B2 (en) * 2007-01-10 2013-05-08 朝日航洋株式会社 Road data generation method, apparatus and program
JP5717310B1 (en) * 2015-01-13 2015-05-13 株式会社オーエムアイ Resting place candidate position specifying device, resting place candidate position specifying method, and program

Also Published As

Publication number Publication date
JPH07200861A (en) 1995-08-04

Similar Documents

Publication Publication Date Title
JP4298749B2 (en) Time-series data dimension compressor
JP3381993B2 (en) Center line calculator
CN101114377A (en) Image interpolation method and apparatus therefor
CN110427574B (en) Route similarity determination method, device, equipment and medium
CN110210564B (en) Similar house type detection method and device
CN115423852A (en) Point cloud data registration method and system, electronic device and storage medium
JPH0785136A (en) Triangle and tetrahedron retrieval system and analysis area division device
CN115409070A (en) Method, device and equipment for determining critical point of discrete data sequence
WO2010092680A1 (en) Map information processing device, map information processing method, map information processing program, and recording medium
CN113689524A (en) Method, device, electronic equipment and medium for constructing convex hull facing to plane point set
JP3340813B2 (en) Center line calculator
CN113607183A (en) Transportation route planning method and device for vehicle, storage medium and terminal
CN112015914B (en) Knowledge graph path searching method based on deep learning
CN111707280A (en) 2D map software AR navigation method, device, equipment and storage medium
CN118152598A (en) Line element data processing method and device, electronic equipment, storage medium and product
JPS61194571A (en) Graphic recognition mode
CN112798006B (en) Method, device, storage medium and terminal for analyzing difference points of different paths
JP3430207B2 (en) Geographic information system for contact route search
JP2790724B2 (en) Ambiguous search methods
JP3522665B2 (en) Route search method, route search device, and recording medium storing route search program
CN116412833A (en) Method, device, equipment and storage medium for determining coordinates of map interest points
JP3296099B2 (en) Corresponding point position measurement method and apparatus for correlation matching
JP2005267374A (en) Information retrieval support device
JPS6114514B2 (en)
CN115158339A (en) Lane line parameter simulation method, device and equipment

Legal Events

Date Code Title Description
R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20071220

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20081220

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20081220

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20091220

Year of fee payment: 7

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20101220

Year of fee payment: 8

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20101220

Year of fee payment: 8

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20111220

Year of fee payment: 9

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20111220

Year of fee payment: 9

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20121220

Year of fee payment: 10

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20121220

Year of fee payment: 10

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20131220

Year of fee payment: 11

EXPY Cancellation because of completion of term