(57)【要約】      （修正有）【課題】高解像度の交差点を迅速に描画し、精細化された描画の目標を達成し、人工描画のコストを効果的に削減させるだけでなく、描画された交差点を真実の世界により近づけ、交差点の描画の精度を向上させることができる交差点の描画方法、装置、サーバと記憶媒体を開示する。【解決手段】交差点のベクトルデータから交差点の全ての分岐道路の道路線を取得するステップＳ１０１と、各道路線に基づいて線面拡張を行い、交差点内の分岐道路の路面の２本のサイドラインを取得するステップＳ１０２と、交差点のサイドラインにおいて同一の道路線に属さず、かつ、隣接するサイドラインペアを決定し、サイドラインペアのコーナーにコーナー弧線を描画するステップＳ１０３とを含む。【選択図】図１ａ
2020160448.tif 000002
【特許請求の範囲】
【請求項１】
交差点のベクトルデータから前記交差点内の全ての分岐道路の道路線を取得するステップと、
各道路線に基づいて線面拡張を行い、前記交差点内の分岐道路の路面の２本のサイドラインを取得するステップと、
前記交差点のサイドラインにおいて同一の道路線に属さず、かつ、隣接するサイドラインペアを決定し、サイドラインペアのコーナーにコーナー弧線を描画するステップと、
を含む交差点の描画方法。
【請求項２】
各道路線に基づいて線面拡張を行い、前記交差点内の分岐道路の路面の２本のサイドラインを取得するステップが、
各道路線に基づいて前記交差点の幅を総拡張距離とし、道路線の両側へ拡張し、ターゲット交差点内の分岐道路の路面のサイドラインを取得するステップを含む請求項１に記載の方法。
【請求項３】
前記方法が、
各路面の２本のサイドラインと道路線とのバインディング関係、及び各サイドラインとそれが属する道路線との位置関係を記録するステップであって、前記位置関係が道路線の左又は道路線の右に位置することを含むステップを含み、
相応的に、前記交差点のサイドラインにおいて同一の道路線に属さず、かつ、隣接するサイドラインペアを決定するステップが、
前記ベクトルデータに基づいて前記交差点内の全ての分岐道路の道路線ベクトルを決定し、設定座標軸の設定方向に対する各道路線ベクトルの夾角を計算するステップであって、前記設定方向が正方向又は負方向を含むステップと、
前記夾角の大きさに基づいて各道路線をソートし、道路線順番を取得するステップと、
前記位置関係と道路線順番とに基づいて、時計回り又は反時計回りで各サイドラインをソートし、サイドライン順番を取得するステップと、
前記サイドライン順番と前記バインディング関係とに基づいて、同一の道路線に属さず、かつ、隣接する全てのサイドラインペアを決定するステップと、
を含む請求項１に記載の方法。
【請求項４】
前記サイドライン順番と前記バインディング関係とに基づいて、同一の道路線に属さず、かつ、隣接する全てのサイドラインペアを決定するステップが、
予め設定された平行線交差角度閾値に基づいて、前記サイドラインに少なくとも２本の平行なサイドラインがあるか否かを判断するステップと、
任意の２本のターゲット平行サイドラインのうちの１本のサイドラインにおけるターゲットポイントを任意に取り、クロス積法により該ターゲットポイントと該２本のターゲット平行サイドラインのうちのもう１本のサイドラインとのターゲット位置関係を判断するステップと、
前記ターゲット位置関係に基づいて前記サイドライン順番を補正するステップと、
前記補正されたサイドライン順番と前記バインディング関係とに基づいて、同一の道路線に属さず、かつ、隣接する全てのサイドラインペアを決定するステップと、
を含む請求項３に記載の方法。
【請求項５】
前記サイドラインペアのコーナーにコーナー弧線を描画するステップが、
ベジェ曲線関数を用いてサイドラインペアのコーナーにコーナー弧線を描画するステップを含む請求項１に記載の方法。
【請求項６】
前記ベジェ曲線関数を用いてサイドラインペアのコーナーにコーナー弧線を描画するステップが、
非平行サイドラインペアに対して、２次ベジェ曲線関数を用いてコーナー弧線を描画するステップと、
平行サイドラインペアに対して、３次ベジェ曲線関数を用いてコーナー弧線を描画するステップと、を含み、
サイドラインペアが平行であるか否かは、予め設定された平行線交差角度閾値に基づいて判断する請求項５に記載の方法。
【請求項７】
前記ベジェ曲線関数を用いてサイドラインペアのコーナーにコーナー弧線を描画するステップが、
前記ベクトルデータに基づいて、サイドラインペアが属する交差点の中心から離れる方向に、サイドラインペアの２本のサイドラインの延長線が交差するとの特徴を有する特定のサイドラインペアがある場合、３次ベジェ曲線関数を用いてコーナー弧線を描画するステップを含む請求項５に記載の方法。
【請求項８】
２次ベジェ曲線の制御ポイントが、サイドラインペアの交点と、サイドラインペアの各サイドラインにおける、該サイドラインペアのぞれぞれが属する道路線のオフセットポイントの垂線の足とを含み、
３次ベジェ曲線の制御ポイントが、サイドラインペアにおける、該サイドラインペアが属する交差点に近い端点と、サイドラインペアの各サイドラインにおける、該サイドラインペアのぞれぞれが属する道路線のオフセットポイントの垂線の足とを含み、
前記オフセットポイントの決定方式が、
サイドラインペアにおける各サイドラインが属する路面の共通部分を取得し、共通面を取得するステップと、
前記共通面内の全てのポイントのうち、前記サイドラインペアが属する道路線との交差点に最も遠いポイントまでの距離を決定するステップと、
前記距離と予め設定された閾値との合計をオフセットの長さとして計算するステップと、
前記サイドラインペアのそれぞれが属する道路線における、前記道路線の交差点からの距離が前記オフセットの長さであるポイントが前記オフセットポイントであるステップと、
を含む請求項６又は７に記載の方法。
【請求項９】
前記方法が、
前記ベクトルデータに基づいて、前記交差点の路面に基づいて凸包アルゴリズムを用いて道路凸包を描画するステップであって、前記道路凸包において、道路コーナーが直線で表されるステップを含み、
相応的に、前記サイドラインペアのコーナーにコーナー弧線を描画するステップの後、前記方法が、
前記道路凸包のコーナー直線を前記コーナー弧線に置き換えるステップを含む請求項１に記載の方法。
【請求項１０】
交差点のベクトルデータから前記交差点内の全ての分岐道路の道路線を取得するための道路線取得モジュールと、
各道路線に基づいて線面拡張を行い、前記交差点内の分岐道路の路面の２本のサイドラインを取得するための線面拡張及びサイドライン取得モジュールと、
前記交差点のサイドラインにおいて同一の道路線に属さず、かつ、隣接するサイドラインペアを決定し、サイドラインペアのコーナーにコーナー弧線を描画するためのコーナー弧線描画モジュールと、
を含む交差点の描画装置。
【請求項１１】
一又は複数のプロセッサと、
一又は複数のプログラムが記憶するための記憶装置と、を含み、
前記一又は複数のプログラムが前記一又は複数のプロセッサによって実行される場合、前記一又は複数のプロセッサが請求項１から９のいずれか一項に記載の交差点の描画方法を実現するサーバ。
【請求項１２】
コンピュータプログラムが記憶されているコンピュータ読み取り可能な記憶媒体であって、該プログラムがプロセッサによって実行される場合、請求項１から９のいずれか一項に記載の交差点の描画方法が実現されるコンピュータ読み取り可能な記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施例は地図分野に関し、特に交差点の描画方法、装置、サーバ及び記憶媒体に関する。
【背景技術】
【０００２】
スマート端末とインターネット技術の発展に伴い、人々の出かけとナビゲーション地図がますます緊密になり、地図の明瞭さに対する人々の要求もますます高くなる。各地域の道路の複雑さが一般的に高く、特に地図における、縦横に交差する交差点の明瞭さと表示効果が人々を正しく通行するようにガイドすることに重要な役割を果たしている。
【０００３】
従来技術では、高解像度の交差点の描画は主に手動描画方法又は凸包計算方法を用いる。しかしながら、手動描画により交差点の効果を十分に示すことができるが、この方法は、作業員が豊富な専門知識を持ち、描画ソフトウェアの使用に習熟することが要求され、しかも操作が複雑であり、周期が長く、更新速度が遅く、数千万レベルの交差点数がある場合、該方法は、迅速に対応することが困難である。凸包計算方法は簡単に実現され、簡単な交差点効果を迅速に構築することができるが、該方法により示される効果が悪く、実際の交差点の形態とは大きく異なる。
【発明の概要】
【０００４】
本発明の実施例は、従来技術における高解像度の交差点の描画効果が悪く、実現の複雑さが高いという問題を解決するために、交差点の描画方法、装置、サーバ及び記憶媒体を提供する。
【０００５】
第１の態様では、本発明の実施例に係る交差点の描画方法は、交差点のベクトルデータから前記交差点内の全ての分岐道路の道路線を取得するステップと、各道路線に基づいて線面拡張を行い、前記交差点内の分岐道路の路面の２本のサイドラインを取得するステップと、前記交差点のサイドラインにおいて同一の道路線に属さず、かつ、隣接するサイドラインペアを決定し、サイドラインペアのコーナーにコーナー弧線を描画するステップと、を含む。
第２の態様では、本発明の実施例に係る交差点の描画装置は、交差点のベクトルデータから前記交差点内の全ての分岐道路の道路線を取得する道路線取得モジュールと、各道路線に基づいて線面拡張を行い、前記交差点内の分岐道路の路面の２本のサイドラインを取得する線面拡張及びサイドライン取得モジュールと、前記交差点のサイドラインにおいて同一の道路線に属さず、かつ、隣接するサイドラインペアを決定し、サイドラインペアのコーナーにコーナー弧線を描画するためのコーナー弧線描画モジュールと、を含む。
【０００６】
第３の態様では、本発明の実施例に係るサーバは、一又は複数のプロセッサと、一又は複数のプログラムが記憶するための記憶装置と、を含み、前記一又は複数のプログラムが前記一又は複数のプロセッサによって実行される場合、前記一又は複数のプロセッサが上記実施例のいずれかに記載の交差点の描画方法を実現する。
【０００７】
第４の態様では、本発明の実施例に係るコンピュータプログラムが記憶されているコンピュータ読み取り可能な記憶媒体は、該プログラムがプロセッサによって実行される場合、上記実施例のいずれかに記載の交差点の描画方法が実現される。
【０００８】
本発明の実施例では、ターゲット交差点のベクトルデータを用いて交差点の全ての分岐道路の道路線を取得し、線面拡張により路面を取得し、一つの大まかな交差点を取得し、その後、交差点のコーナー弧線を描画する必要がある路面のサイドラインペアに対してコーナー弧線を描画し、大まかな交差点から精細化された交差点までの描画を完了することにより、高解像度の交差点を迅速に描画し、精細化された描画の目標を達成し、人工描画のコストを効果的に削減させるだけでなく、描画された交差点を真実の世界によりマッチングさせ、交差点の描画の精度を向上させることができる。
【図面の簡単な説明】
【０００９】
【図１ａ】本発明の実施例１における交差点の描画方法のフローチャートである。
【図１ｂ】本発明の実施例１における道路線と路面を示す概略図である。
【図１ｃ】本発明の実施例１におけるコーナー弧線を示す概略図である。
【図２ａ】本発明の実施例２における交差点の描画方法のフローチャートである。
【図２ｂ】本発明の実施例２における略平行なサイドラインを示す概略図である。
【図３ａ】本発明の実施例３における交差点の描画方法のフローチャートである。
【図３ｂ】本発明の実施例３におけるベジェ曲線関数制御ポイントを決定する概略図である。
【図３ｃ】本発明の実施例３におけるベジェ曲線関数制御ポイントを決定する概略図である。
【図３ｄ】本発明の実施例３におけるベジェ曲線関数制御ポイントを決定する概略図である。
【図３ｅ】本発明の実施例３におけるベジェ曲線関数制御ポイントを決定する概略図である。
【図４】本発明の実施例４における交差点の描画装置の構造概略図である。
【図５】本発明の実施例５に係るサーバの構造概略図である。
【発明を実施するための形態】
【００１０】
以下に図面と実施例を組み合わせて本発明をさらに詳しく説明する。ここで説明される具体的な実施例が本発明を解釈するためのものに過ぎず、本発明を限定するためのものではないことを理解されたい。また、説明すべきものとして、説明しやすくなるために、図面に本発明に関する全ての構造ではなく部分の構造だけが示される。
【００１１】
実施例１
図１ａは、本発明の実施例１に係る交差点の描画方法のフローチャートであり、本実施例は、高解像度の交差点を描画することに適用でき、該方法は、交差点の描画装置によって実行されてもよく、該装置はソフトウェア及び／又はハードウェアで実現されてもよく、また、サーバに配置されてもよい。図１ａに示すように、該方法は、具体的に、Ｓ１０１〜Ｓ１０３を含む。
【００１２】
Ｓ１０１、交差点のベクトルデータから前記交差点内の全ての分岐道路の道路線を取得する。
【００１３】
地図のベースマップの生データには、交差点の分岐道路の道路線及び各道路線の交点が記載される任意交差点の線データと線関係データを含む交差点のベクトルデータが含まれ、線データと線関係データによって交差点内の全ての分岐道路の道路線を取得することができる。実際に応用する場合、通常、線関係がＮで表され、Ｎテーブルに交差点の特徴ポイントＮの座標、即ち各道路線の交点、及び交差点内のポイントＮに関連する全ての分岐道路の道路区間データ、即ち前記道路線が記録される。例示的に、特徴ポイントＮは交差点の中心点であってもよい。
【００１４】
Ｓ１０２、各道路線に基づいて線面拡張を行い、前記交差点内の分岐道路の路面の２本のサイドラインを取得する。
【００１５】
実際の交差点内の道路がいずれも線でなく面であるため、線データを面データに変換する必要があり、即ち各道路線に基づいて線面拡張を行い、交差点内の全ての分岐道路の路面を取得し、各路面における、道路線に平行する二つの辺が前記サイドラインであり、各路面にも２本のサイドラインがある。
【００１６】
具体的には、線面拡張操作は、各道路線に基づいて前記交差点の幅を総拡張距離とし、道路線の両側へ拡張し、交差点内の分岐道路の路面のサイドラインを取得することを含むことができる。例示的に、特徴ポイントＮが交差点の中心点である場合、道路線が分岐道路の中心線であるため、各道路線を中心線とし、交差点の幅の半分を拡張距離として中心線の両側へそれぞれ拡張し、交差点内の全ての分岐道路の路面を取得することができる。中心線の両側へ拡張する拡張距離も交差点の幅に基づいて決定された他の長さの距離であってもよく、本実施例はこれに限定されない。
例示的に、図１ｂに示すように、ポイントＮが交差点の中心点であり、ａ、ｂ、ｃ、ｄの４本のラインが４つの分岐道路の４本の道路線であり、線面拡張によりＳ１、Ｓ２、Ｓ３、Ｓ４の４つの路面を取得し、Ｓ１のサイドラインがａ１とａ２を含み、Ｓ２のサイドラインがｂ１とｂ２を含み、Ｓ３のサイドラインがｃ１とｃ２を含み、Ｓ４のサイドラインがｄ１とｄ２を含む。
【００１７】
Ｓ１０３、前記交差点のサイドラインにおいて同一の道路線に属さず、かつ、隣接するサイドラインペアを決定し、サイドラインペアのコーナーにコーナー弧線を描画する。
【００１８】
実際の交差点では、隣接する２つの分岐道路のコーナーがほとんど直角ではなく、ラジアンを有するべきである。したがって、路面において弧線を描画する必要がある２本のサイドラインを見つけ、各サイドラインペアのコーナーにコーナー弧線を描画する必要がある。弧線を描画する必要がある２本のサイドラインが交差点の全てのサイドラインのうち、同一の道路線に属さず、かつ、隣接する全てのサイドラインペアである。例示的に、図１ｂで、道路線が中心線であることを例とすると、ａ２とｂ１、ｂ２とｃ１、ｃ２とｄ１、ｄ２とａ１が４つのサイドラインペアである。
【００１９】
本発明の実施例では、コーナー弧線の描画方法は、例えば、弧線関数、５点平滑化法、スプライン補間法又は線形フィッティング法などであってもよい。ここで、異なる方法に応じて実現の複雑さと効果が異なる。好ましくは、ベジエ曲線関数を用いて実現することができ、ベジエ曲線関数ができるだけ少ない補間点で、描画された弧線がサイドラインに接することを確保することができる。例示的に、図１ｃに示すように、道路線が中心線であることを例とすると、ｍ１、ｍ２、ｍ３、ｍ４が描画された４本のコーナー弧線である。
【００２０】
一つの具体的な実施形態では、前記方法は、前記ベクトルデータに基づいて、前記交差点の路面に基づいて凸包アルゴリズムを用いて道路凸包を描画するステップであって、前記道路凸包において、道路コーナーが直線で表されるステップをさらに含み、相応に、サイドラインペアのコーナーにコーナー弧線を描画するステップの後、前記方法は、前記道路凸包のコーナー直線を前記コーナー弧線に置き換えるステップをさらに含む。
【００２１】
ここで、凸包が計算幾何学の概念であり、凸包アルゴリズムがグラハム（Ｇｒａｈａｍ）スキャン法又はジャービス（Ｊａｒｖｉｓ）行進法であり、凸包アルゴリズムを用いて、決定された全てのポイントを一つの凸多角形で囲むことができる。したがって、交差点を描画する時に、凸包アルゴリズムを用いて簡易な交差点の効果を描画することができるが、該交差点の効果では、道路のコーナーが全て直線で表され、これが明らかに実際の交差点の形態を表すことができない。ここで、説明すべきものとして、基礎とする道路ベクトルデータの不完全により、ベクトルデータに基づいて道路線と路面を取得することができない可能性があり、そのため、全てのサイドラインペアのコーナーにコーナー弧線を描画することを確保することができない。凸包アルゴリズムを用いて簡単な交差点効果を描画し、凸包におけるコーナー直線を描画されたコーナー弧線に置き換える場合、ベクトルデータによりコーナー弧線を描画することができないことによる交差点の一部が欠失する問題を回避し、交差点の描画の完全性を確保することができる。
【００２２】
本発明の実施例では、交差点のベクトルデータに基づいて交差点の全ての分岐道路の道路線を取得し、線面拡張により路面を取得し、一つの大まかな交差点を取得し、その後、交差点のコーナー弧線を描画する必要がある路面のサイドラインペアに対してコーナー弧線を描画し、大まかな交差点から精細化された交差点までの描画を完了することにより、高解像度の交差点を迅速に描画し、精細化された描画の目標を達成し、人工描画のコストを効果的に削減させるだけでなく、描画された交差点を真実の世界により近づけ、交差点の描画の精度を向上させることができる。
【００２３】
実施例２
図２ａは本発明の実施例２における交差点の描画方法のフローチャートであり、本発明の実施例２は、実施例１に基づいてさらに最適化される。図２ａに示すように、前記方法は、Ｓ２０１〜Ｓ２０８を含む。
【００２４】
Ｓ２０１、交差点のベクトルデータから前記交差点内の全ての分岐道路の道路線を取得する。
【００２５】
Ｓ２０２、各道路線に基づいて線面拡張を行い、前記交差点内の分岐道路の路面の２本のサイドラインを取得する。
【００２６】
Ｓ２０３、各路面の２本のサイドラインと道路線とのバインディング関係、及び各サイドラインとそれが属する道路線との位置関係を記録し、前記位置関係が道路線の左又は道路線の右に位置することを含む。
【００２７】
コーナー弧線を描画する必要があるサイドラインペアをより容易に判断するとともに、同一の道路で拡張された２本のサイドラインの間に弧線を描画することを防止するために、路面を決定した後に各路面におけるサイドラインと道路線とのバインディング関係、即ち各道路線とその左、右の２本のサイドラインとの関係を記録する必要がある。例示的に、図１ｂに示すように、道路線が中心線であることを例とすると、ａ１、ａ２が属する中心線がａであることを記録する必要があり、且つａ１が中心線ａの左側に位置し、ａ２が中心線ａの右側に位置することを記録し、これによって類推すると、中心線ｂ、ｃ、ｄの中心線及びそれとその中心線との位置関係をそれぞれ得る。
【００２８】
Ｓ２０４、前記ベクトルデータに基づいて前記交差点内の全ての分岐道路の道路線ベクトルを決定し、設定座標軸の設定方向に対する各道路線ベクトルの夾角を計算し、前記設定方向が正方向又は負方向を含む。
【００２９】
Ｓ２０５、前記夾角の大きさに基づいて各道路線をソートし、道路線の順番を取得する。
【００３０】
Ｓ２０３で道路線とサイドラインの関係が確立され、同時に各サイドラインが道路線の左側又は右側に位置するかが決定されるため、サイドラインのソートを道路線のソートにダウングレードし、その後、得られた道路線順序及びサイドラインと道路線の位置関係に基づいて、全てのサイドライン順番を得ることができる。
【００３１】
具体的には、まず道路のベクトルデータに基づいて交差点内の全ての分岐道路の道路線ベクトルを決定し、設定座標軸の設定方向に対する各道路線ベクトルの夾角を計算し、前記設定方向が正方向又は負方向を含む。例示的に、図１ｂに示すように、道路線が中心線であることを例とすると、ｘｙ軸を設定座標軸として選択すると仮定し、ｘ軸が水平軸であり、ｙ軸が垂直軸であり、ｘ軸の正方向を設定方向として選択する。計算により、中心線ｃとｘ軸の正方向の夾角が０で、中心線ｂとｘ軸の正方向の夾角が９０で、中心線ａとｘ軸の正方向の夾角が１８０で、中心線ｄとｘの正方向の夾角が２７０であることがわかり、したがって、夾角の昇順でソートすると、反時計回りの中心線の順番ｃ、ｂ、ａ、ｄを取得できる。
【００３２】
Ｓ２０６、前記位置関係と道路線順番とに基づいて、時計回り又は反時計回りで各サイドラインをソートし、サイドライン順番を取得する。
【００３３】
上記の例では、各サイドラインと中心線の位置関係を知る前提で、中心線の順番ｃ、ｂ、ａ、ｄに応じて、ｃ２、ｃ１、ｂ２、ｂ１、ａ２、ａ１、ｄ２、ｄ１とのサイドライン順番を取得できる。
【００３４】
Ｓ２０７、前記サイドライン順番と前記バインディング関係とに基づいて、同一の道路線に属さず、かつ、隣接する全てのサイドラインペアを決定する。
【００３５】
さらに、上記の例では、前記サイドライン順番とバインディング関係とに基づいて、同一の道路線に属さず、かつ、隣接する全てのサイドラインペアｃ１とｂ２、ｂ１とａ２、ｄ１とｃ２を決定できる。
【００３６】
ここで、説明すべきものとして、に前記設定座標軸の設定方向に対する各道路線ベクトルの夾角を決定した後、夾角の降順でソートしてもよいし、また夾角の昇順でソートしてもよい。また、座標軸の選択がニーズに応じて調整されてもよく、本発明の実施例はこれに限定されない。
【００３７】
Ｓ２０８、サイドラインペアのコーナーにコーナー弧線を描画する。
【００３８】
一つの具体的な実施形態では、２本のサイドラインが略平行する場合があり、例えば主要道路と補助道路の夾角が小さく、平行に近似すると見なすことができ、そのため、この場合で、上記のように夾角に従ってソートすると、サイドラインが誤ってソートされる場合がある。例示的に、図２ｂに示すように、Ｌ１とＬ２が平行に近似する２本のサイドラインであると仮定し、水平軸の正方向を設定座標軸の設定方向すると、上記方法に従ってＬ２の夾角がＬ１の夾角より小さいことを決定でき、夾角の昇順でソートすると、反時計回りのサイドライン順番Ｌ２、Ｌ１を取得できる。実際には、反時計回りのサイドライン順番がＬ１、Ｌ２であるべきで、したがって、誤ってソートし、これに対して補正する必要がある。
【００３９】
したがって、好ましくは、Ｓ２０７はさらに、予め設定された平行線交差角度閾値に基づいて、前記サイドラインに少なくとも２本の平行サイドラインがあるか否かを判断することと、任意の２本のターゲット平行サイドラインのうちの１本のターゲットポイントを任意に取り、クロス積法により該ターゲットポイントと該２本のターゲット平行サイドラインのうちのもう１本のサイドラインとのターゲット位置関係を判断することと、前記ターゲット位置関係に応じて前記サイドライン順番を補正することと、前記補正されたサイドライン順番と前記バインディング関係とに基づいて、同一の道路線に属さず、かつ、隣接する全てのサイドラインペアを決定することとを含む。
【００４０】
具体的には、補正対象が略平行する２本のサイドライン順番であり、したがって、全てのサイドラインを取得した後、まず予め設定された平行線交差角度閾値に基づいて、全てのサイドラインに存在する少なくとも２本の平行サイドライン、例えば図２ｂにおけるＬ２とＬ１を決定する必要がある。Ｌ２においてポイントＫを前記ターゲットポイントとして任意に取り、次にクロス積法によりポイントＫとサイドラインＬ１のベクトル積を計算すると仮定すると、計算結果に従って該ターゲットポイントＫとＬ１のターゲット位置関係を判断することができ、図２ｂでＫがＬ１の左側に位置し、反時計回りのサイドライン順番Ｌ２、Ｌ１に従って、Ｌ２における任意ポイントがＬ１の右側に位置するべきであり、したがって、予め取得されたサイドラインのソート結果が実際と一致しないことを決定することができ、そのため、前記ターゲット位置関係に応じて、予め取得されたサイドライン順番を補正する。
【００４１】
補正した後、補正されたサイドライン順番と前記バインディング関係とに基づいて、同一の道路線に属さず、かつ、隣接する全てのサイドラインペアを決定する場合、コーナー弧線を描画する必要がある、対応するサイドラインペアを正確に確保することができ、交差点の描画の精度を確保する。
【００４２】
本発明の実施例では、交差点のベクトルデータに基づいて、交差点内の全ての分岐道路の道路線を取得し、線面拡張により路面を取得し、一つの大まかな交差点を取得し、その後交差点のコーナー弧線を描画する必要がある路面のサイドラインペアに対してコーナー弧線を描画し、大まかな交差点から精細化された交差点までの描画を完了することにより、高解像度の交差点を迅速に描画し、精細化された描画の目標を達成し、人工描画のコストを効果的に削減させるだけでなく、描画された交差点を真実の世界により近づけることができる。同時に、コーナー弧線を描画する必要があるサイドラインペアを決定するプロセスでは、ソートしてから補正する方法を用いて全てのサイドライン順番の精度を確保し、交差点の描画の精度をさらに向上させる。
【００４３】
実施例３
図３ａは本発明の実施例３における交差点の描画方法のフローチャートであり、本実施例は上記実施例に基づいてさらに最適化される。図３ａに示すように、前記方法は、Ｓ３０１〜Ｓ３０４を含む。
【００４４】
Ｓ３０１、交差点のベクトルデータから前記交差点内の全ての分岐道路の道路線を取得する。
【００４５】
Ｓ３０２、各道路線に基づいて線面拡張を行い、前記交差点内の分岐道路の路面の２本のサイドラインを取得する。
【００４６】
Ｓ３０３、前記交差点のサイドラインにおいて同一の道路線に属さず、かつ、隣接するサイドラインペアを決定する。
【００４７】
Ｓ３０４、ベジェ曲線関数を用いてサイドラインペアのコーナーにコーナー弧線を描画する。
【００４８】
ベジェ曲線関数を用いてサイドラインペアのコーナーにコーナー弧線を描画することは、非平行サイドラインペアに対して、２次ベジェ曲線関数を用いてコーナー弧線を描画することと、平行サイドラインペアに対して、３次ベジェ曲線関数を用いてコーナー弧線を描画することとを含み、予め設定された平行線交差角度閾値に基づいてサイドラインペアが平行するか否かを判断する。
【００４９】
また、ベジェ曲線関数を用いて各サイドラインペアのコーナーにコーナー弧線を描画することはさらに、前記ベクトルデータに基づいて、サイドラインペアが属する交差点の中心から離れる方向に、サイドラインペアの２本のサイドラインの延長線が交差するとの特徴を有する特定のサイドラインペアがある場合、３次ベジェ曲線関数を用いてコーナー弧線を描画することを含む。
【００５０】
具体的には、本発明の実施例では、サイドラインペアの異なる状況を区別し、そして異なる次数のベジェ曲線関数を用いてコーナー弧線を描画する。非平行サイドラインペアに対して、２次ベジェ曲線関数を用いてコーナー弧線を描画し、平行サイドラインペアに対して、３次ベジェ曲線関数を用いてコーナー弧線を描画する。注意すべきものとして、ここでの平行サイドラインが実際の道路において略平行すると意味し、即ち、予め設定された平行線交差角度閾値に基づいて、２本のサイドラインが平行であるか否かを判断し、夾角が該閾値より小さい場合、平行サイドラインペアとして分類され、最後の状況として、特定のサイドラインペア、即ちサイドラインペアの属する交差点の中心から離れる方向に、サイドラインペアの２本のサイドラインの延長線が交差する特定のサイドラインペアに対しても３次ベジェ曲線関数を用いて描画されることを指す。この特定のサイドラインペアも略平行するが、平行線交差角度閾値に従って平行サイドラインペアが存在するか否かを判断する場合、元のベクトルデータが正確ではないため、いくつかの実際に略平行するサイドラインペアは、見落とされる可能性があり、したがって、さらにサイドラインペアの特徴を特定することで、３次ベジェ曲線関数を用いてコーナー弧線を描画する必要もあるサイドラインペアをスクリーニングしてデータの精度を確保する必要がある。
【００５１】
２次ベジェ曲線の制御ポイントは、サイドラインペアの交点と、サイドラインペアの各サイドラインにおける、該サイドラインペアのぞれぞれが属する道路線のオフセットポイントの垂線の足とを含み、３次ベジェ曲線の制御ポイントは、サイドラインペアにおける、該サイドラインペアが属する交差点に近い端点と、サイドラインペアの各サイドラインにおける、該サイドラインペアのぞれぞれが属する道路線のオフセットポイントの垂線の足とを含み、ここで、前記オフセットポイントの決定方式は、サイドラインペアにおける各サイドラインが属する路面の共通部分を取得し、共通面を取得するステップと、前記共通面内の全てのポイントのうち、前記サイドラインペアが属する交差点の道路線との交点から最も遠いポイントまでの距離を決定するステップと、前記距離と予め設定された閾値との合計をオフセットの長さとして計算することと、前記サイドラインペアのそれぞれが属する道路線における、前記道路線の交点からの距離が前記オフセットの長さであるポイントが前記オフセットポイントであるステップとを含む。
【００５２】
具体的には、交差点の特徴ポイントＮが中心点であり、且つ道路線が中心線であることを例とすると、図３ｂに示すように、路面Ｓ１とＳ２の共通面がＳ’であり、サイドラインペアの属する道路線の交差点が中心点Ｎであり、Ｓ’において、ポイントＮ’から中心点Ｎまでの距離が最も遠く、且つＮ’とＮの距離をｄｉｓに記する。続いて図３ｃに示すように、ｄｉｓと予め設定された閾値（経験値）ｄｅｌｔａを加算してオフセットの長さを取得し、中心線ａ、ｂ、ｃ、ｄで、中心点Ｎからのオフセットの長さのポイントｐ１、ｐ２、ｐ３、ｐ４が即ち４つのオフセットポイントである。ｚ１とｚ２が中心線ａの２本のサイドラインにおける、ｐ１の垂線の足である。それぞれの中心線における、他の各オフセットポイントの垂線の足が図３ｃに示されない。
【００５３】
また、交差点の特徴ポイントＮが交差点の中心点であり、且つ道路線が中心線であることを例とすると、図３ｄと図３ｅには２次ベジェ曲線関数の制御ポイントと３次ベジェ曲線関数の制御ポイントがそれぞれ示される。図３ｄに示すように、２次ベジェ曲線の制御ポイントは、サイドラインペアａ２、ｂ１の交点Ｃと、サイドラインペアの各サイドラインにおける、該サイドラインペアａ２、ｂ１がそれぞれ属する中心線ａ、ｂのオフセットポイントｐ１、ｐ２の垂線の足ｚ２、ｚ３とを含み、図３ｅに示すように、３次ベジェ曲線関数の制御ポイントは、サイドラインペアにおける、該サイドラインペアが属する交差点に近い端点Ｃ１、Ｃ２と、サイドラインペアの各サイドラインにおける、該サイドラインペアのそれぞれが属する道路線のオフセットポイントの垂線の足ｚ３、ｚ３とを含む。
【００５４】
本発明の実施例では、交差点のベクトルデータにより交差点内の全ての分岐道路の道路線を取得し、線面拡張により路面を取得し、一つの大まかな交差点を取得し、その後、弧線関数であるベジェ曲線関数を用いて、交差点のコーナー弧線を描画する必要がある路面のサイドラインペアに対してコーナー弧線を描画し、大まかな交差点から精細化された交差点までの描画を完了することにより、高解像度の交差点を迅速に描画し、精細化された描画の目標を達成し、人工描画のコストを効果的に削減させるだけでなく、描画された交差点を真実の世界により近づけ、交差点の描画の精度を向上させることができる。
【００５５】
実施例４
図４は本発明の実施例４における交差点の描画装置の構造図である。図４に示すように、交差点の描画装置は、交差点のベクトルデータから前記交差点内の全ての分岐道路の道路線を取得するための道路線取得モジュール４１０と、各道路線に基づいて線面拡張を行い、前記交差点内の分岐道路の路面の２本のサイドラインを取得するための線面拡張及びサイドライン取得モジュール４２０と、前記交差点のサイドライン内で同一の道路線に属さず、かつ、隣接するサイドラインペアを決定し、サイドラインペアのコーナーにコーナー弧線を描画するためのコーナー弧線描画モジュール４３０とを含む。
【００５６】
好ましくは、前記線面拡張及びサイドライン取得モジュール４２０は、具体的に、各道路線に基づいて前記交差点の幅を総拡張距離とし、道路線の両側へ拡張し、ターゲット交差点内の分岐道路の路面のサイドラインを取得する。
【００５７】
また、前記装置は、各路面の２本のサイドラインと道路線とのバインディング関係、及び各サイドラインとそれが属する道路線との位置関係を記録する記録モジュールであって、前記位置関係が道路線の左又は道路線の右に位置することを含む記録モジュールをさらに含み、相応的に、前記コーナー弧線描画モジュール４３０は、具体的に、サイドラインペア決定ユニットを含み、前記サイドラインペア決定ユニットは、前記ベクトルデータに基づいて前記交差点内の全ての分岐道路の道路線ベクトルを決定し、設定座標軸の設定方向に対する各道路線ベクトルの夾角を計算する夾角計算サブユニットであって、前記設定方向が正方向又は負方向を含む夾角計算サブユニットと、前記夾角の大きさに基づいて各道路線をソートし、道路線順番を取得するための中心線順番決定サブユニットと、前記位置関係と道路線順番とに基づいて、時計回り又は反時計回りで各サイドラインをソートし、サイドライン順番を取得するためのサイドライン順番決定サブユニットと、前記サイドライン順番と前記バインディング関係とに基づいて、同一の道路線に属さず、かつ、隣接する全てのサイドラインペアを決定するためのサイドラインペア決定サブユニットとを含む。
【００５８】
好ましくは、前記サイドラインペア決定サブユニットは、具体的に、予め設定された平行線交差角度閾値に基づいて、前記サイドラインに少なくとも２本の平行サイドラインが存在するか否かを判断し、任意の２本のターゲット平行サイドラインのうちの１本のターゲットポイントを任意に取り、クロス積法により該ターゲットポイントと該２本のターゲット平行サイドラインのうちのもう１本のサイドラインとのターゲット位置関係を判断し、前記ターゲット位置関係に応じて前記サイドライン順番を補正し、前記補正されたサイドライン順番と前記バインディング関係とに基づいて、同一の道路線に属さず、かつ、隣接する全てのサイドラインペアを決定する。
【００５９】
好ましくは、前記コーナー弧線描画モジュール４３０は、具体的にベジェ曲線関数を用いてサイドラインペアのコーナーにコーナー弧線を描画するためのコーナー描画ユニットを含む。
【００６０】
好ましくは、前記コーナー描画ユニットは具体的に、非平行サイドラインペアに対して、２次ベジェ曲線関数を用いてコーナー弧線を描画するための第１のコーナー描画ユニットと、平行サイドラインペアに対して、３次ベジェ曲線関数を用いてコーナー弧線を描画するための第２のコーナー描画ユニットとを含み、予め設定された平行線交差角度閾値に基づいてサイドラインペアは平行するか否かを判断する。
【００６１】
好ましくは、前記コーナー描画ユニットはさらに、前記ベクトルデータに基づいて、サイドラインペアが属する交差点の中心から離れる方向に、サイドラインペアの２本のサイドラインの延長線が交差するとの特徴を有する特定のサイドラインペアがある場合、３次ベジェ曲線関数を用いてコーナー弧線を描画するための第３のコーナー描画ユニットを含む。
【００６２】
好ましくは、２次ベジェ曲線の制御ポイントは、サイドラインペアの交差点と、サイドラインペアの各サイドラインにおける、該サイドラインペアのぞれぞれが属する道路線のオフセットポイントの垂線の足とを含み、３次ベジェ曲線の制御ポイントは、サイドラインペアにおける、該サイドラインペアが属する交差点に近い端点と、サイドラインペアの各サイドラインにおける、該サイドラインペアのぞれぞれが属する道路線のオフセットポイントの垂線の足とを含み、前記オフセットポイントの決定方式は、サイドラインペアにおける各サイドラインが属する路面の共通部分を取得し、共通面を取得するステップと、前記共通面内の全てのポイントのうち、前記サイドラインペアが属する道路線との交点に最も遠いポイントまでの距離を決定するステップと、前記距離と予め設定された閾値との合計をオフセットの長さとして計算するステップと、前記サイドラインペアのそれぞれが属する道路線における、前記道路線の交点からの距離が前記オフセットの長さであるポイントが前記オフセットポイントであるステップとを含む。
【００６３】
好ましくは、前記装置はさらに、前記ベクトルデータに基づいて、前記交差点の路面に基づいて凸包アルゴリズムを用いて道路凸包を描画する道路凸包描画モジュールであって、前記道路凸包において、道路コーナーが直線で表される道路凸包描画モジュールと、前記コーナー弧線描画モジュール４３０がサイドラインペアのコーナーにコーナー弧線を描画するステップの後、前記道路凸包におけるコーナー直線を前記コーナー弧線に置き換えるためのコーナー弧線置換モジュールとを含む。
【００６４】
本発明の実施例に係る道路描画装置は、本発明の実施例のいずれかに係る道路描画方法を実行でき、該方法を実行するための対応する機能モジュールと有益な効果を含む。
【００６５】
実施例５
図５は本発明の実施例５に係るサーバの構造図である。図５は本発明の実施形態を実現することに適用する例示的なサーバ１２を示すブロック図である。図５に示されるサーバ１２は一つの例だけであり、本発明の実施例の機能と使用範囲を制限するべきではない。
【００６６】
図５に示すように、サーバ１２は、汎用コンピューティングデバイスの形で表現されている。サーバ１２のコンポーネントは、一又は複数のプロセッサ又は処理ユニット１６、システムメモリ２８、異なるシステムコンポーネント（システムメモリ２８と処理ユニット１６を含む）を接続するためのバス１８を含むことができるがこれらに限定されない。
【００６７】
バス１８は、メモリバス又はメモリコントローラ、周辺バス、グラフィックス加速ポート、プロセッサ又は複数のバス構造のいずれかのバス構造を用いるローカルエリアバスを含むいくつかのタイプのバス構造のうちの１種類又は複数種類を表す。例えば、これらのアーキテクチャーには、業界標準アーキテクチャー（ＩＳＡ）バス、マイクロチャネルアーキテクチャー（ＭＡＣ）バス、強化型ＩＳＡバス、ビデオエレクトロニクス規格協会（ＶＥＳＡ）ローカルバス及び周辺コンポーネント相互接続（ＰＣＩ）バスを含むがこれらに限定されない。
【００６８】
サーバ１２は、典型的に複数種類のコンピューターシステム読み取り可能な媒体を含む。これらの媒体は、揮発性及び不揮発性媒体、移動可能な媒体及び移動不可能な媒体を含む、サーバ１２からアクセスできるいかなる利用可能な媒体であってもよい。
【００６９】
システムメモリ２８は、揮発性メモリの形態のコンピュータシステム読み取り可能な媒体、例えばランダムアクセスメモリ（ＲＡＭ）３０及び／又はキャッシュメモリ３２を含むことができる。サーバ１２はさらに他の移動可能／不可能、揮発性／不揮発性のコンピュータシステム記憶媒体を含むことができる。例としてのみ、記憶システム３４は、移動不可能、不揮発性磁気媒体（図５に示されなく、通常、「ハードドライブ」と呼ばれる）を読み書きすることに用いられてもよい。図５に示されないが、移動可能な不揮発性磁気ディスク（例えば「フロッピーディスク」）を読み書きするための磁気ディスクドライブ、及び移動可能な不揮発性光ディスク（例えばＣＤ−ＲＯＭ、ＤＶＤ−ＲＯＭ又は他の光学媒体）を読み書きするための光学ディスクドライブを提供することができる。これらの場合、各ドライブは一又は複数のデータ媒体インタフェースを介してバス１８に接続されてもよい。メモリ２８は少なくとも一つのプログラム製品を含むことができ、該プログラム製品が一つのグループ（例えば又は少なくとも一つ）のプログラムモジュールを有し、これらのプログラムモジュールが本発明の各実施例の機能を実行するように配置される。
【００７０】
一つのグループ（少なくとも一つ）のプログラムモジュール４２を有するプログラム／ユーティリティツール４０は、例えばメモリ２８に格納されることができ、このようなプログラムモジュール４２は、オペレーティングシステム、一又は複数のアプリケーションプログラム、他のプログラムモジュール及びプログラムデータを含むがこれらに限定されなく、これらの例のそれぞれ又はある組み合わせには、ネットワーク環境の実現が含まれる可能性がある。プログラムモジュール４２は、通常、本発明に記載の実施例における機能及び／又は方法を実行する。
【００７１】
サーバ１２は一又は複数の外部デバイス１４（例えばキーボード、ポインティングデバイス、ディスプレイ２４など）と通信することができ、また、ユーザが該サーバ１２とインタラクションを行うことができるようにする一又は複数のデバイス、及び／又は該サーバ１２が一又は複数の他のコンピューティングデバイスと通信することができるようにするいかなるデバイス（ネットワークカード、モデムなど）と通信することができる。この通信は入力／出力（Ｉ／Ｏ）インタフェース２２を介して行われてもよい。そして、サーバ１２はさらにネットワークアダプタ２０を介して１又は複数のネットワーク（例えばローカルエリアネットワーク（ＬＡＮ）、ワイドエリアネットワーク（ＷＡＮ）、及び／又はパブリックネットワーク、例えばインターネット）と通信することができる。図に示すように、ネットワークアダプタ２０はバス１８を介してサーバ１２の他のモジュールと通信する。理解すべきものとして、図に示されないが、マイクロコード、デバイスドライバー、冗長処理ユニット、外部磁気ディスクドライブアレイ、ＲＡＩＤシステム、磁気テープドライブ及びデータバックアップストレージシステムなどを含むがこれらに限定されない他のハードウェア及び／又はソフトウェアモジュールをサーバ１２と組み合わせて用いることができる。
【００７２】
処理ユニット１６は、システムメモリ２８に記憶されているプログラムを実行することにより、様々な機能アプリケーション及びデータ処理を実行し、例えば本発明の実施例に係る交差点の描画方法を実現し、該方法が、交差点のベクトルデータから前記交差点内の全ての分岐道路の道路線を取得するステップと、各道路線に基づいて線面拡張を行い、前記交差点内の分岐道路の路面の２本のサイドラインを取得するステップと、前記交差点のサイドラインにおいて同一の道路線に属さず、かつ、隣接するサイドラインペアを決定し、サイドラインペアのコーナーにコーナー弧線を描画するステップとを含む。
【００７３】
実施例６
本発明の実施例６に係るコンピュータプログラムが記憶されているコンピュータ読み取り可能な記憶媒体は、該プログラムがプロセッサによって実行される時に本発明の実施例に係る交差点の描画方法が実現され、該方法が、交差点のベクトルデータから前記交差点内の全ての分岐道路の道路線を取得するステップと、各道路線に基づいて線面拡張を行い、前記交差点内の分岐道路の路面の２本のサイドラインを取得するステップと、前記交差点のサイドラインにおいて同一の道路線に属さず、かつ、隣接するサイドラインペアを決定し、サイドラインペアのコーナーにコーナー弧線を描画するステップとを含む。
【００７４】
本発明の実施例に係るコンピュータ記憶媒体は、一又は複数のコンピュータ読み取り可能な記憶媒体のいずれかの組み合わせを用いることができる。コンピュータ読み取り可能な記憶媒体はコンピュータ読み取り可能な信号媒体又はコンピュータ読み取り可能な記憶媒体であってもよい。コンピュータ読み取り可能な記憶媒体は例えば、電子、磁気、光学、電磁気、赤外線、又は半導体のシステム、装置又はデバイス、又は任意のそれらの組み合わせであってもよいがこれらに限定されない。コンピュータ読み取り可能な記憶媒体のより具体的な例（非網羅的リスト）には、一又は複数の導線を有する電気接続、ポータブルコンピュータ磁気ディスク、ハードディスク、ランダムアクセスメモリ（ＲＡＭ）、読み取り専用メモリ（ＲＯＭ）、消去可能なプログラマブル読み取り専用メモリ（ＥＰＲＯＭ又はフラッシュメモリ）、光ファイバー、ポータブルコンパクト磁気ディスク読み取り専用メモリ（ＣＤ−ＲＯＭ）、光学記憶装置、磁気記憶装置、又は上記の任意の適切な組み合わせが含まれる。本明細書では、コンピュータ読み取り可能な記憶媒体は、プログラムを含み又は記憶している有形媒体であってもよく、該プログラムが命令実行システム、装置又はデバイスによって用いられてもよく、又はそれらと組み合わせて用いられてもよい。
【００７５】
コンピュータ読み取り可能な信号媒体は、コンピュータ読み取り可能なプログラムコードが搬送される、ベースバンドで又は搬送波の一部として伝播されるデータ信号を含むことができる。このように伝播されるデータ信号は、電磁信号、光信号又は上述したものの任意の適切な組み合わせを含むがこれらに限定されない複数の形態を用いることができる。コンピュータ読み取り可能な信号媒体はさらにコンピュータ読み取り可能な記憶媒体以外のいかなるコンピュータ読み取り可能な媒体であってもよく、該コンピュータ読み取り可能な媒体が命令実行システム、装置又はデバイスによって用いられ又はそれらと組み合わせて用いられるプログラムを送信、伝播又は伝送することができる。
【００７６】
コンピュータ読み取り可能な媒体に含まれるプログラムコードは、無線、有線、光ファイバーケーブル、ＲＦなど、又は上記の任意の適切な組み合わせを含むがこれらに限定されないいかなる適切な媒体を用いて伝送されてもよい。
【００７７】
本発明の操作を実行するためのコンピュータプログラムコードを、一又は複数プログラミング言語又はそれらの組み合わせで書くことができ、前記プログラミング言語がオブジェクト指向プログラミング言語、例えばＪａｖａ、Ｓｍａｌｌｔａｌｋ、Ｃ＋＋を含み、さらに従来の手続き型プログラミング言語例えば「Ｃ」言語又は同様のプログラミング言語を含む。プログラムコードがユーザのコンピュータで完全に実行され、ユーザのコンピュータで部分的に実行され、一つの独立したソフトウェアパッケージとして実行され、ユーザコンピュータで部分的に実行され、モートコンピュータで部分的に実行され、又はリモートコンピュータ又はサーバで完全に実行されることができる。リモートコンピュータに係る場合、リモートコンピュータは、ローカルエリアネットワーク（ＬＡＮ）又はワイドエリアネットワーク（ＷＡＮ）を含む任意の種類のネットワークを介してユーザコンピュータ、又は、外部コンピュータに接続されてもよい（例えばインターネットサービスプロバイダーによってインターネットを介して接続される）。
【００７８】
注意すべきものとして、上記は本発明の好ましい実施例及び適用される技術原理だけである。当業者は、本発明が本明細書に記載される特定の実施例に限定されず、本発明の保護範囲から逸脱することなく様々な明らかな変更、再調整と置換を行うことができることを理解する。したがって、上記実施例で本発明をより詳細に説明するが、本発明は、上記実施例のみに限定されず、本発明の趣旨を逸脱しない場合で、より多くの他の同等実施例を含むことができ、本発明の範囲は添付の特許請求の範囲によって決定される。
【図１ａ】
2020160448.tif 000003
【図１ｂ】
2020160448.tif 000004
【図１ｃ】
2020160448.tif 000005
【図２ａ】
2020160448.tif 000006
【図２ｂ】
2020160448.tif 000007
【図３ａ】
2020160448.tif 000008
【図３ｂ】
2020160448.tif 000009
【図３ｃ】
2020160448.tif 000010
【図３ｄ】
2020160448.tif 000011
【図３ｅ】
2020160448.tif 000012
【図４】
2020160448.tif 000013
【図５】
2020160448.tif 000014