(57)【要約】【課題】崖のような段差領域の近傍の格子点に対しても標高データを生成でき、三角点、基準点の標高によりその近傍の格子点の標高を補正した標高データを生成可能にする。【解決手段】  各格子点について等高線上又は段差領域上に位置し所定の条件を満たす複数の近接点を検出し、検出された複数の近接点の中に段差領域上の近接点が含まれていな第１種の格子点については、当該複数の近接点の位置と標高に基づいてその格子点の標高を決定する。複数の近接点の中に段差領域上の近接点が含まれている第２種の格子点については、段差領域上にない、他の所定の条件を満たす少なくとも一つの他の近接点を追加して検出し、少なくとも前記追加検出された少なくとも一つの他の近接点の位置と標高に基づいて当該選択格子点の標高を決定する。更に、三角点、基準点の近傍の格子点に対して決定された標高をそれらの三角点、基準点の標高に基づいて補正する。【選択図】      図１
2005106906.tif 000002
【特許請求の範囲】
【請求項１】
等高線及び段差領域記号を含む２次元地図画像に含まれた複数の等高線のそれぞれを点列で表す等高線点列データと当該段差領域記号で表された段差領域を代表する段差領域代表点列データから、当該地図を格子に分割して得られる格子点群のそれぞれの格子点の標高を示す標高データを生成する標高データ生成方法であって、
前記複数の等高線点列データと前記段差領域代表点列データに基づいて、各格子点について、等高線点列データ上又は段差領域代表点列データ上に位置し所定の条件を満たす複数の近接点を検出する検出ステップと、
各格子点について、前記検出ステップで検出された複数の近接点の中に段差領域代表点列データ上に位置する近接点が含まれているか否かを判別する判別ステップと、
前記複数の格子点のうち、前記検出ステップで検出された複数の近接点の中に段差領域代表点列データ上に位置する近接点が含まれていないと前記判別ステップで判別された第１種の格子点については、当該複数の近接点の位置と標高に基づいて、当該第１種の格子点の標高を決定する第１標高決定ステップと、
前記複数の格子点のうち、前記検出ステップで検出された複数の近接点の中に段差領域代表点列データ上の近接点が含まれていると前記判別ステップで判別された第２種の格子点については、当該段差領域代表点列データ上にはない、他の所定の条件を満たす当該格子点の他の近接点を追加して検出する追加検出ステップと、
当該第２種の格子点について、少なくとも前記追加して検出された他の近接点の位置と標高に基づいて当該第２種の格子点の標高を決定する第２標高決定ステップと、
を含むことを特徴とする標高データ生成方法。
【請求項２】
複数の等高線と複数の特定点を含む２次元地図画像に含まれた前記複数の等高線のそれぞれを点列で表す複数の等高線点列データと前記複数の特定点の位置と標高を表す特定点データから、当該地図を格子に分割して得られる格子点群のそれぞれの格子点の標高を示す標高データを生成する標高データ生成方法であって、
前記複数の等高線点列データに基づいて、各格子点について、等高線点列データ上に位置し所定の第１の条件を満たす複数の近接点を検出する第１検出ステップと、
当該格子点について前記第１検出ステップで検出された前記複数の近接点の位置と標高に基づいて、当該格子点の標高を決定する決定ステップと、
前記複数の等高線点列データと前記特定点データとに基づいて、各特定点について等高線点列データ上に位置し所定の第２の条件を満たす少なくとも一つの近接点を検出する第２検出ステップと、
当該特定点について、所定の第３の条件を満たし当該特定点に近接した、標高を補正すべき格子点を検出する第３検出ステップと、
当該特定点の位置と標高と、当該特定点に対して前記第２検出ステップで検出された、当該特定点の前記少なくとも一つの近接点の位置と標高とに基づいて、前記第３検出ステップで当該特定点に対して検出された前記近接した格子点の標高を補正する補正ステップと、
を含むことを特徴とする標高データ生成方法。
【請求項３】
等高線及び段差領域記号を含む２次元地図画像に含まれた複数の等高線のそれぞれを点列で表す等高線点列データと当該段差領域記号で表された段差領域を代表する段差領域代表点列データから、当該地図を格子に分割して得られる格子点群のそれぞれの格子点の標高を示す標高データを生成する標高データ生成プログラムであって、
前記複数の等高線点列データと前記段差領域代表点列データに基づいて、各格子点について等高線点列データ上又は段差領域代表点列データ上に位置し所定の条件を満たす複数の近接点を検出する検出ステップと、
各格子点について、前記検出ステップで検出された複数の近接点の中に段差領域代表点列データ上に位置する近接点が含まれているか否かを判別する判別ステップと、
前記複数の格子点のうち、前記検出ステップで検出された複数の近接点の中に段差領域代表点列データ上に位置する近接点が含まれていないと前記判別ステップで判別された第１種の格子点については、当該複数の近接点の位置と標高に基づいて、当該第１種の格子点の標高を決定する第１標高決定ステップと、
前記複数の格子点のうち、前記検出ステップで検出された複数の近接点の中に段差領域代表点列データ上の近接点が含まれていると前記判別ステップで判別された第２種の格子点については、当該段差領域代表点列データ上にはない、他の定の条件を満たす当該格子点の他の近接点を追加して検出する追加検出ステップと、
当該第２種の格子点について、少なくとも前記追加して検出された他の近接点の位置と標高に基づいて当該第２種の格子点の標高を決定する第２標高決定ステップと、
をコンピュータに実行させることを特徴とする標高データ生成プログラム。
【請求項４】
前記第２種の格子点に対して追加して検出する他の近接点は、前記第２種の格子点に最近接の１対の格子点を含むことを特徴とする請求項３に記載の標高データ生成プログラム。
【請求項５】
各格子点に対して前記検出ステップで検出される前記複数の近接点は、当該格子点から見て複数の最急方位に位置し、等高線点列データ上又は段差領域代表点列データ上に位置する複数の近接点を含むことを特徴とする請求項３又は４に記載の標高データ生成プログラム。
【請求項６】
各格子点に対して前記検出ステップで検出される前記複数の近接点は、当該複数の最急方位に位置する複数の近接点のうち等高線点列データ上にある近接点から見てその後方に位置し、最急方位に位置する近接点を更に含むことを特徴とする請求項５に記載の標高データ生成プログラム。
【請求項７】
複数の等高線と複数の特定点を含む２次元地図画像に含まれた前記複数の等高線のそれぞれを点列で表す複数の等高線点列データと前記複数の特定点の位置と標高を表す特定点データから、当該地図を格子に分割して得られる格子点群のそれぞれの格子点の標高を示す標高データを生成する標高データ生成プログラムであって、
前記複数の等高線点列データに基づいて、各格子点について、等高線点列データ上に位置し所定の第１の条件を満たす複数の近接点を検出する第１検出ステップと、
当該格子点について前記第１検出ステップで検出された前記複数の近接点の位置と標高に基づいて、当該格子点の標高を決定する決定ステップと、
前記複数の等高線点列データと前記特定点データとに基づいて、各特定点について、等高線点列データ上に位置し所定の第２の条件を満たす少なくとも一つの近接点を検出する第２検出ステップと、
当該特定点について、所定の第３の条件を満たし当該特定点に近接した、標高を補正すべき格子点を検出する第３検出ステップと、
当該特定点の位置と標高と、当該特定点に対して前記第２検出ステップで検出された、当該特定点の前記少なくとも一つの近接点の位置と標高とに基づいて、前記第３検出ステップで当該特定点に対して検出された前記近接した格子点の標高を補正する補正ステップと、
をコンピュータに実行させることを特徴とする標高データ生成プログラム。
【請求項８】
いずれかの特定点が傾斜地上にあるとき、当該特定点に関して、前記第２検出ステップでは、前記少なくとも一つの近接点として、当傾斜地上にあり、等高線点列データ上に位置する複数の近接点を検出し、
当該特定点に関して前記第３検出ステップで検出される、前記標高を補正すべき格子点は、当傾斜地上にある格子点であり、
前記補正ステップは、当該特定点の位置と標高と、前記第２検出ステップで検出された前記複数の近接点の位置と標高とに基づいて前記補正を行う、
ことを特徴とする請求項７に記載の標高データ生成プログラム。
【請求項９】
いずれかの特定点が平地上にあるとき、当該特定点に関して前記第２検出ステップで検出される前記少なくとも一つの近接点は当該平地上にあり、かつ等高線上にある点であり、
当該特定点に関して前記第３検出ステップで検出される、前記標高を補正すべき格子点は、当該平地上にある格子点である、
ことを特徴とする請求項７に記載の標高データ生成プログラム。
【請求項１０】
等高線及び段差領域記号を含む２次元地図画像に含まれた複数の等高線のそれぞれを点列で表す等高線点列データと当該段差領域記号で表された段差領域を代表する段差領域代表点列データから、当該地図を格子に分割して得られる格子点群のそれぞれの格子点の標高を示す標高データを生成する標高データ生成装置であって、
前記複数の等高線点列データと前記段差領域代表点列データに基づいて、各格子点について、等高線点列データ上又は段差領域代表点列データ上に位置し所定の条件を満たす複数の近接点を検出する検出手段と、
各格子点について、前記検出手段で検出された複数の近接点の中に段差領域代表点列データ上に位置する近接点が含まれているか否かを判別する判別手段と、
前記複数の格子点のうち、前記検出手段で検出された複数の近接点の中に段差領域代表点列データ上に位置する近接点が含まれていないと前記判別手段で判別された第１種の格子点については、当該複数の近接点の位置と標高に基づいて、当該第１種の格子点の標高を決定する第１標高決定手段と、
前記複数の格子点のうち、前記検出手段で検出された複数の近接点の中に段差領域代表点列データ上の近接点が含まれていると前記判別手段で判別された第２種の格子点については、当該段差領域代表点列データ上にはない、他の所定の条件を満たす、当該格子点の他の近接点を追加して検出する追加検出手段と、
前記追加して検出された他の近接点の位置と標高に基づいて当該第２種の格子点の標高を決定する第２標高決定手段と、
を備えることを特徴とする標高データ生成装置。
【請求項１１】
複数の等高線と複数の特定点を含む２次元地図画像に含まれた前記複数の等高線のそれぞれを点列で表す複数の等高線点列データと前記複数の特定点の位置と標高を表す特定点データから、当該地図を格子に分割して得られる格子点群のそれぞれの格子点の標高を示す標高データを生成する標高データ生成装置であって、
前記複数の等高線点列データに基づいて、各格子点について、等高線点列データ上に位置し所定の第１の条件を満たす複数の近接点を検出する第１検出手段と、
当該格子点について前記第１検出手段で検出された前記複数の近接点の位置と標高に基づいて、当該格子点の標高を決定する決定手段と、
前記複数の等高線点列データと前記特定点データとに基づいて、各特定点について等高線点列データ上に位置し所定の第２の条件を満たす少なくとも一つの近接点を検出する第２検出手段と、
当該特定点について、所定の第３の条件を満たし当該特定点に近接した、標高を補正すべき格子点を検出する第３検出手段と、
当該特定点の位置と標高と、当該特定点に対して前記第２検出手段で検出された、当該特定点の前記少なくとも一つの近接点の位置と標高とに基づいて、前記第３検出手段で当該特定点に対して検出された前記近接した格子点の標高を補正する補正手段と、
を備えることを特徴とする標高データ生成装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、崖等の段差領域を表す段差領域記号や、三角点あるいは基準点のような位置と標高が特定された複数の特定点が含まれた地図に対する等高線を記載した等高線地図上の等高線を表す等高線点列データから、当該地図を複数のメッシュに区切って得られる各メッシュの格子点の標高データを生成する標高データ生成方法、標高データ生成プログラム及び標高データ生成装置に関する。
【背景技術】
【０００２】
等高線を主に記載した等高線地図から等高線を表すデータである等高線点列データが生成される。このようにして等高線点列データを生成する方法はそれ自体公知である。等高線点列データは、ベクトル化と呼ばれる処理により、等高線地図上に曲線で表された等高線の各々を多数の連結した折れ線で近似し、折れ線上の多数の点を等高線の始点から終点に向けて並べ、それぞれの点の２次元位置と標高を表す点列データである。等高線を表す等高線地図を多数のメッシュに分割し、各メッシュの格子点の座標と標高を表す標高データが、上記多数の等高線に対する多数の等高線点列データから生成される。等高線地図からの等高線点列データの生成は、通常は標高データの生成とは別に実行される。以下では、等高線上の点と言う場合は、等高線点列データに含まれる点を指すものとする。更に、等高線点列データ内の隣接する１対の点を結ぶ線分上の点も、等高線点列データに含まれる点と言う場合もある。
【０００３】
従来の等高線データからの標高データを生成するときには、標高を求めたい格子点の周囲の等高線の状況から、等高線付近の地形を何らかの方法で推定し、その格子点の標高を算出する。このときの推定方法には、地形の断面で標高補間を考える線形補間や曲線補間、より詳しく三次元で地形を推定する曲面補間等がある。線形補間を使って標高データを生成する方法の例は、例えば特許文献１に記載されている。曲面補間の例は、例えば特許文献２に示されている。線形補間は計算が簡単であるが、高度が直線的に変化するものと仮定しているため、実際の地形とはやや異なった結果が得られてしまうことが多い。曲線補間や曲面補間は、線形補間に比べてより現実に即して標高を推定でき、滑らかな三次元データを生成することができる。曲線補間法の具体例もいろいろ提案されており、例えば最急方位法は下記の非特許文献１に記載されている。
【特許文献１】特開平４−２９３０７８号公報
【特許文献２】特開平９−５０５３８号公報
【非特許文献１】プリマ他１，「高精度のＤＥＭを生成するためのアルゴリズムの開発」，写真測量とリモートセンシング，２００１年，第４０巻，第５号，ｐ．５２−６２
【発明の開示】
【発明が解決しようとする課題】
【０００４】
従来技術では、等高線地図に対する等高線点列データに基づいて格子点の標高データを決定している。しかし、現実の地形には崖や堤防あるいは急斜面のように、等高線では表すことができないほど標高が急激に変化する段差がある領域も多い。等高線地図上には特殊な記号を用いてこのような領域が示されている。以下ではこのような領域を段差領域と呼び、これを表すための記号を段差領域記号と呼ぶことにする。従来技術では、このような段差領域の存在を無視して標高データが決定されている。しかし、段差領域は周辺の格子点の標高に影響する。したがって、段差領域を考慮しないで決定された標高データは、段差領域の周辺の格子点の標高に関して正確さに欠けるという問題がある、
【０００５】
また、等高線データの生成に通常使用される等高線地図データには、一般には、等高線データの他に三角点、基準点等のような特定点の位置と標高を示すデータが含まれている。しかし、従来技術で等高線地図データから等高線データを生成するときには、これらの特定点に関するデータは利用されていない。このため、これらの特定点の近傍の格子点の標高が、これらの特定点の標高からみて矛盾すると思われる値になっていることがある。特に、等高線のみでは標高を正確に決めにくい場所、例えば山の頂上等では、山頂に設けられた特定点の標高値と大きく異なる標高が決定される場合がある。
【０００６】
したがって、本発明の第１の目的は、地図上に存在する崖や堤防や急斜面のような段差領域を反映させて、等高線データからより正確な標高データを生成することを可能にする、標高データ生成方法、標高データ生成プログラム及び標高データ生成装置を提供することである。
本発明の第２の目的は、地図上に存在する三角点、基準点のような特定点の標高を反映させて、より正確な標高データを生成可能にする、標高データ生成方法、標高データ生成プログラム及び標高データ生成装置を提供することである。
【課題を解決するための手段】
【０００７】
上記第１の目的を達成するために、請求項１記載の本発明に係る標高データ生成方法は、等高線及び段差領域記号を含む２次元地図画像に含まれた複数の等高線のそれぞれを点列で表す等高線点列データと当該段差領域記号で表された段差領域を代表する段差領域代表点列データから、当該地図を格子に分割して得られる格子点群のそれぞれの格子点の標高を示す標高データを生成する標高データ生成方法である。
更に、本方法は、前記複数の等高線点列データと前記段差領域代表点列データに基づいて、各格子点について、等高線点列データ上又は段差領域代表点列データ上に位置し所定の条件を満たす複数の近接点を検出する検出ステップと、各格子点について、前記検出ステップで検出された複数の近接点の中に段差領域代表点列データ上に位置する近接点が含まれているか否かを判別する判別ステップと、前記複数の格子点のうち、前記検出ステップで検出された複数の近接点の中に段差領域代表点列データ上に位置する近接点が含まれていないと前記判別ステップで判別された第１種の格子点については、当該複数の近接点の位置と標高に基づいて、当該第１種の格子点の標高を決定する第１標高決定ステップと、前記複数の格子点のうち、前記検出ステップで検出された複数の近接点の中に段差領域代表点列データ上の近接点が含まれていると前記判別ステップで判別された第２種の格子点については、当該段差領域代表点列データ上にはない、他の所定の条件を満たす当該格子点の他の近接点を追加して検出する追加検出ステップと、当該第２種の格子点について、少なくとも前記追加して検出された他の近接点の位置と標高に基づいて当該第２種の格子点の標高を決定する第２標高決定ステップと、を含むものである。
これにより、段差領域が地図に含まれている場合でも、その近傍の格子点の標高を決定できるようになる。
【０００８】
上記第２の目的を達成するために、請求項２記載の本発明に係る標高データ生成方法は、複数の等高線と複数の特定点を含む２次元地図画像に含まれた前記複数の等高線のそれぞれを点列で表す複数の等高線点列データと前記複数の特定点の位置と標高を表す特定点データから、当該地図を格子に分割して得られる格子点群のそれぞれの格子点の標高を示す標高データを生成する標高データ生成方法である。更に本方法は、前記複数の等高線点列データに基づいて、各格子点について、等高線点列データ上に位置し所定の第１の条件を満たす複数の近接点を検出する第１検出ステップと、当該格子点について前記第１検出ステップで検出された前記複数の近接点の位置と標高に基づいて、当該格子点の標高を決定する決定ステップと、前記複数の等高線点列データと前記特定点データとに基づいて、各特定点について、等高線点列データ上に位置し所定の第２の条件を満たす少なくとも一つの近接点を検出する第２検出ステップと、当該特定点について、所定の第３の条件を満たし当該特定点に近接した、標高を補正すべき格子点を検出する第３検出ステップと、当該特定点の位置と標高と、当該特定点に対して前記第２検出ステップで検出された、当該特定点の前記少なくとも一つの近接点の位置と標高とに基づいて、前記第３検出ステップで当該特定点に対して検出された前記近接した格子点の標高を補正する補正ステップと、を含むものである。
これにより、三角点、基準点のような特定点の標高を反映したより正確な標高データを生成することが可能になる。
【０００９】
本発明の第１の目的を達成するために、請求項３に記載の本発明に係るプログラムは、等高線及び段差領域記号を含む２次元地図画像に含まれた複数の等高線のそれぞれを点列で表す等高線点列データと当該段差領域記号で表された段差領域を代表する段差領域代表点列データから、当該地図を格子に分割して得られる格子点群のそれぞれの格子点の標高を示す標高データを生成する標高データ生成プログラムである。
更に本プログラムは、前記複数の等高線点列データと前記段差領域代表点列データに基づいて、各格子点について、等高線点列データ上又は段差領域代表点列データ上に位置し所定の条件を満たす複数の近接点を検出する検出ステップと、各格子点について、前記検出ステップで検出された複数の近接点の中に段差領域代表点列データ上に位置する近接点が含まれているか否かを判別する判別ステップと、前記複数の格子点のうち、前記検出ステップで検出された複数の近接点の中に段差領域代表点列データ上に位置する近接点が含まれていないと前記判別ステップで判別された第１種の格子点については、当該複数の近接点の位置と標高に基づいて当該第１種の格子点の標高を決定する第１標高決定ステップとをコンピュータに実行させるものである。
更に、本プログラムは、前記複数の格子点のうち、前記検出ステップで検出された複数の近接点の中に段差領域代表点列データ上の近接点が含まれていると前記判別ステップで判別された第２種の格子点については、当該段差領域代表点列データ上にはない、所定の他の条件を満たす当該格子点の他の近接点を追加して検出する追加検出ステップと、当該第２種の格子点について前記追加して検出された他の近接点の位置と標高に基づいて当該第２種の格子点の標高を決定する第２標高決定ステップと、をコンピュータに実行させるものである。
これにより、段差領域の近傍に位置する第２種の格子点の標高を、段差領域が存在しても決定することが可能になる。
【００１０】
より具体的には、前記第２種の格子点に対して追加して検出する他の近接点は、前記第２種の格子点に最近接の１対の格子点を含む。これにより、段差領域があってもその近傍の格子点の標高を比較的正確に決定することが可能になる。更に具体的には、各格子点に対して前記検出ステップで検出される前記複数の近接点は、当該格子点から見て複数の最急方位に位置し、等高線点列データ上又は段差領域代表点列データ上に位置する複数の近接点を含む。これにより、地形に即して標高を比較的正確に決定できる。
【００１１】
更に具体的には、各格子点に対して前記検出ステップで検出される前記複数の近接点は、当該複数の最急方位に位置する複数の近接点のうち等高線点列データ上にある近接点から見てその後方に位置し、最急方位に位置する近接点を更に含む。これにより、地形に更に忠実に標高を決定可能になる。
【００１２】
本発明の第２の目的を達成するために、請求項７に記載の標高データ生成プログラムは、複数の等高線と複数の特定点を含む２次元地図画像に含まれた前記複数の等高線のそれぞれを点列で表す複数の等高線点列データと前記複数の特定点の位置と標高を表す特定点データから、当該地図を格子に分割して得られる格子点群のそれぞれの格子点の標高を示す標高データを生成する標高データ生成プログラムである。更に本プログラムは、前記複数の等高線点列データに基づいて、各格子点について、等高線点列データ上に位置し所定の条件を満たす複数の近接点を検出する第１検出ステップと、当該格子点について前記第１検出ステップで検出された前記複数の近接点の位置と標高に基づいて、当該格子点の標高を決定する決定ステップとをコンピュータに実行させるプログラムである。更に、本プログラムは、前記複数の等高線点列データと前記特定点データとに基づいて、各特定点について、等高線点列データ上に位置し所定の条件を満たす少なくとも一つの近接点を検出する第２検出ステップと、当該特定点について、所定の条件を満たし当該特定点に近接した、標高を補正すべき格子点を検出する第３検出ステップと、当該特定点の位置と標高と、当該特定点に対して前記第２検出ステップで検出された、当該特定点の前記少なくとも一つの近接点の位置と標高とに基づいて、前記第２検出ステップで当該特定点に対して検出された前記近接した格子点の標高を補正する補正ステップと、をコンピュータに実行させるプログラムである。
これにより、三角点、基準点のような特定点の位置と標高に合うように補正した標高データを生成可能になる。
【００１３】
より具体的には、請求項８の発明では、いずれかの特定点が傾斜地上にあるとき、当該特定点に関して、前記第２検出ステップでは、前記少なくとも一つの近接点として、当傾斜地上にあり、等高線点列データ上に位置する複数の近接点を検出し、当該特定点に関して前記第３検出ステップで検出される、前記標高を補正すべき格子点は、当傾斜地上にある格子点であり、前記補正ステップは、当該特定点の位置と標高と、前記第２検出ステップで検出された前記複数の近接点の位置と標高とに基づいて前記補正を行う。あるいは、請求項９の発明では、いずれかの特定点が平地上にあるとき、当該特定点に関して前記第２検出ステップで検出される前記少なくとも一つの近接点は当該平地上にあり、かつ、等高線上にある点であり、当該特定点に関して前記第３検出ステップで検出される、前記標高を補正すべき格子点は、当該平地上にある格子点であることである。こうして傾斜地あるいは平地にある格子点の標高を特定点の標高に合うように補正した標高データを生成することができる。
【発明の効果】
【００１４】
したがって、本発明の望ましい態様によれば、地図上に存在する崖や堤防や急斜面のような段差領域があっても、この領域の近傍の格子点について標高データを生成することが可能になる。
更に、本発明の他の望ましい態様によれば、地図上に存在する三角点、基準点のような特定点の標高を近傍の格子点の標高に反映させて、より正確な標高データを生成することが可能になる。
【発明を実施するための最良の形態】
【００１５】
以下、本発明に係る標高データ生成方法、標高データ生成プログラム及び標高データ生成装置の一つの実施形態について図面を参照して説明する。
図１は、本発明に係る標高データ生成装置の一つの実施形態の概略ブロック図である。１は、等高線及び段差領域記号を含む２次元地図画像に含まれた複数の等高線のそれぞれを点列で表す等高線点列データと当該段差領域記号で表された段差領域を代表する段差領域代表点列データから、当該地図を複数のメッシュに分割して得られる格子点群のそれぞれの格子点の標高を示す標高データを生成する標高データ生成装置である。本生成装置１は、例えばパソコンあるいはワークステーションにより実現される処理装置１０、磁気ディスク記憶装置のような補助記憶装置２０、入出力装置３０とを備えている。入出力装置３０は、キーボード及びマウス等のポインティングデバイスを含む入力装置３１、ＣＲＴディスプレイ装置等の表示装置３２、プリンタ３３を備えている。
【００１６】
処理装置１０には、標高データ生成プログラム４０が組み込まれている。標高データ生成プログラム４０は、段差領域抽出部４１、最急方位探索部４２、標高計算部４３及び標高補正部４４という処理部からなり、等高線点列データから格子点の標高を示す標高データを生成する。処理装置１０は、標高データ生成プログラム４０内のそれぞれの処理部が実行されたときに、段差領域を抽出する機能ブロック、最急方位を探索する機能ブロック、標高を計算する機能ブロック及び標高を補正する機能ブロックという複数の機能ブロックとして動作する。したがって、処理装置１０には、プログラム４０のこれらの処理部により、対応する機能ブロックが実現されていることになる。したがって、段差領域抽出部４１、最急方位探索部４２、標高計算部４３及び標高補正部４４は、本発明に係る標高データ生成装置１の一つの実施の形態を実現することになる。標高データ生成プログラム４０は、本発明に係るプログラムの一つの実施の形態を実現するものであり、記録媒体に記録してあるいはネットワークを介して補助記憶装置２０に記憶され処理装置１０で実行される。標高データ生成プログラム４０は、記録媒体に記録されて又はネットワークを介して販売可能である。処理装置１０が標高データ生成プログラム４０を実行して標高データを生成する手順は、本発明に係る標高データ生成方法の一つの実施の形態を実現する。
【００１７】
補助記憶装置２０には、等高線点列データ２１Ａ、格子点データ２１Ｂ、三角点データ２２Ａ、基準点データ２２Ｂ、等高線地図画像データ２３、段差領域記号画像検出用標準パターン群２４があらかじめ記憶され、これらのデータを用いて、段差領域記号画像データ２５、段差領域代表点列データ２６、周辺点データリスト２７、最急方位データ２８、標高データ２９が生成される。
【００１８】
等高線点列データ２１Ａは、等高線地図内の複数の等高線のそれぞれを折れ線で近似して、それぞれの折れ線上に位置する複数の点列及び当該等高線の標高を表す標高値からなるデータである。格子点データ２１Ｂは、等高線地図データを複数のメッシュに分割したときの複数の格子点の２次元座標（ｘ、ｙ）を示すデータである。三角点データ２２Ａ、基準点データ２２Ｂは、それぞれ等高線地図上にある三角点と基準点の座標と標高を表すデータである。本実施の形態ではこの等高線点列データ２１Ａ、三角点データ２２Ａ、基準点データ２２Ｂは既に等高線地図から生成され補助記憶装置２０に記憶されていると仮定している。
【００１９】
等高線地図画像データ２３は、等高線を示した地図画像データである。図２は、そのような等高線地図画像データ２３の例をいくつか示す。同図（ａ）は、傾斜地を表す等高線地図画像データの例であり、同図（ｂ）は、段差領域を有する等高線地図画像データの例であり、図において、２６０は、段差領域記号の例である。同図（ｃ）は、例えば山頂付近にある平地を表す等高線地図画像データの例であり、図では等高線Ｃ１がその平地の標高を表している例である。なお、図２においては、三角点、基準点は簡単化のために示していない。
【００２０】
図１に戻り、標高データ生成プログラム４０は、起動されると段差領域抽出部４１を実行する。段差領域抽出部４１は、等高線地図画像データ２３から、段差領域記号画像を表す段差領域記号画像データ２５を抽出する。等高線地図画像データ２３が図２（ｂ）の場合には、図３（ａ）に示すような段差領域記号２６０を示す段差領域記号画像データ２５が等高線地図画像データ２３から抽出される。当該画像データ２５は段差領域記号画像を２値のビットマップで表すデータである。
【００２１】
段差領域記号は地図画像の凡例で示される崖等を表す記号であり、地図により異なりうるが、図２（ｂ）の場合には、段差領域記号画像は、段差領域の断面の位置を大まかに表す第１の長い線分に、その線分上に一端を有する短い線分を長い線分からみて標高の高い側に複数並べた線図形となっている、したがって、段差領域記号画像は、段差領域の断面の形状と段差領域の幅により変化する。本実施の形態では、このような段差領域記号画像を抽出するためにパターンマッチングを使用する。補助記憶装置２０に記憶された段差領域記号画像検出用標準パターン群２４は、段差領域記号画像を構成する一部の画像を表す複数の部分標準パターンを含んでいる。図４（ａ）は、段差領域記号画像検出用標準パターン群２４に含まれるいろいろな標準パターンの例を示す。標準パターン群２４にはいろいろな方向を向いた部分標準パターンが含まれている。同図（ｂ）に示すパターンの方向をいろいろ変えて得られる複数のパターンを部分標準パターンとして追加してもよい。パターン認識技術については、例えば、舟久保  登著，「パターン認識」，１９９１年，共立出版株式会社，ｐ.１５−２２に紹介されている技術を使用することができる。
【００２２】
図５は、段差領域抽出部４１の処理の概略フローチャートである。まず、等高線地図画像データ２３から、各部分標準パターンにマッチする全ての部分画像を検出し（ステップＳ４１１）、検出された複数の部分画像の位置関係から連続して段差領域記号を形成する位置関係にある複数の部分画像とそれらを連結する順番とを決定し、決定結果にしたがってそれらの部分画像を連結して段差領域記号画像を示すビットマップ画像を得る（ステップＳ４１２）。この画像を表すビットマップデータを段差領域記号画像データ２５として補助記憶装置２０に記憶する（ステップＳ４１３）。更に、段差領域抽出部４１は、得られた段差領域記号画像データ２５を代表する段差領域代表点列データ２６を決定し、補助記憶装置２０に記憶する（ステップＳ４１４）。その後、未抽出の段差領域記号画像があるかを判断し（ステップＳ４１５）、あれば以上の処理を繰り返し、全ての段差領域記号画像の抽出が終了したときに段差領域抽出部４１の処理が終了する。
【００２３】
段差領域代表点列データ２６は、抽出された段差領域記号画像を代表する折れ線上の点列であり、当該代表点列データを構成する複数の点の位置座標（ｘ、ｙ）を始点から終点までの順番にしたがって連結したデータである。等高線地図画像上に複数の段差領域記号があるときには、それぞれに対して段差領域記号画像が抽出され、抽出されたそれぞれの段差領域記号画像を表す段差領域記号画像データ２５から、段差領域代表点列データ２６が生成される。
【００２４】
各段差領域記号画像データ２５に対して段差領域代表点列データ２６はいろいろな態様で定義することができる。例えば、段差領域記号画像が図３（ａ）の場合、図３（ｂ）に示すように、段差領域記号画像に含まれる短い線分の中央位置にある黒丸で示す点を連結する折れ線２６Ａに含まれる点列を表すデータを段差領域代表点列データ２６として使用することができる。あるいは、同図（ｃ）に示すように、段差領域記号画像を構成する複数の短い線分の頭部にある黒丸で示す点を連結する折れ線２６Ｂ上の点列のデータを段差領域代表点列データ２６に使用してもよい。あるいは同図（ｄ）に示すように、段差領域記号画像に含まれる長い線分と短い線分の交点にある黒丸で示す点を連結する折れ線２６Ｃに含まれる点列を使用することもできる。更には、同図（ｅ）に示すように、同図（ｃ）と（ｄ）に示す２つの折れ線２６Ｂと２６Ｃと、両端の短い線分２６Ｄと２６Ｅとを含み段差領域記号の外周を表す閉じた折れ線を使用してもよい。更には、段差領域記号の外周を表す閉じた折れ線に代えて、段差領域記号が実際に存在する範囲を示すように構成されているときあるいは地図上の段差領域の存在を示す別のデータが、地図上の各段差領域に対応して存在する場合には、段差領域の段差領域代表点列データを、当該段差領域の存在範囲を示す閉じた点列とすることも望ましい。
【００２５】
図６は、図２（ｂ）の段差領域記号２６０に対して得られる段差領域代表点列データ２６を模式的に示す図である。以下では、図６に例示する画像を表す点列データを段差領域代表点列データ２６として使用する。
【００２６】
なお、本実施の形態では等高線地図画像データ２３上の段差領域記号画像を示す段差領域記号画像データ２５をパターンマッチングを用いて自動的に抽出しているが、場合によっては段差領域抽出部４１により、等高線地図画像データ２３を画面に表示させ、操作者に目視で段差領域記号画像を見つけさせ、当該段差領域記号画像を代表する当該段差領域記号画像上の点列を指定させ、この指定に従い段差領域抽出部４１が段差領域記号画像データ２５を生成するようにしてもよい。
【００２７】
図１に戻り、実行中の標高データ生成プログラム４０は、段差領域抽出部４１の実行後に、最急方位探索部４２を実行する。本発明に係る標高データ生成装置１は、複数の等高線点列データと段差領域代表点列データに基づいて、各格子点について、等高線点列データ上又は段差領域代表点列データ上に位置し所定の第１の条件を満たす複数の近接点を検出するようになっている。更に、各格子点について前記検出ステップで検出された複数の近接点の中に段差領域代表点列データ上に位置する近接点が含まれているか否かを判別する。
【００２８】
具体的には、最急方位探索部４２は、各格子点に対し周囲の等高線の状況を調べ、各格子点について、等高線点列データ上又は段差領域代表点列データ上に位置し、上記所定の第１の条件として最も傾斜が急な方向にある複数の近接点を検出する。より具体的には、最急方位探索部４２の主な目的は、各格子点について最も傾斜が急な方向にあり、かつ、等高線点列データ上にある１対の互いに逆方向にある点（以下最急方位点と呼ぶことがある）ｐ１、ｐ２の位置と標高を検出し、それぞれの最急方位点に対して同様に最も傾斜が急な方向にあり、かつ等高線上にある、元の格子点から見て遠方にある点（以下、２次最急方位点と呼ぶことがある）ｑ１、ｑ２の位置と標高を検出することである。なお、等高線上の点に代えて段差領域代表点列データ上の点が最急方位点あるいは２次最急方位点になるときにはそれらの点の位置を検出する。
【００２９】
更に、最急方位探索部４２は、以上の検出結果に基づいて当該格子点の属性を決定する。属性は、格子点の種別を表す属性であり、本実施の形態では、格子点の位置の種別を表す属性が使用される。具体的には、傾斜地点、平地点、段差領域隣接点、段差領域点という属性が使用される。最急方位探索部４２は処理結果として最急方位データ２８を生成し、補助記憶装置２０に記憶する。
【００３０】
図７は、最急方位データ２８の例を示す図である。このデータの一つの行が一つの格子点に対応するものであり、各行には、対応する格子点の座標２８０、属性２８１、最急方位ｐ１座標２８２、ｐ１標高２８３、最急方位ｐ２座標２８４、ｐ２標高２８５、２次最急方位ｑ１座標２８６、ｑ１標高２８７、２次最急方位ｑ２座標２８８、ｑ２標高２８９を含むように構成される。
【００３１】
図８は最急方位探索部４２の処理の概略フローチャートである。本最急方位探索部４２の処理は、非特許文献１に記載された最急方位法に比べると、段差領域がある等高線点列データに対しても適用できるようになっている。まず、図７に例示したデータ構造を有するように最急方位データ２８の記憶領域を補助記憶装置２０内に確保し、格子点座標２８０に、補助記憶装置２０にあらかじめ記憶されている格子点データ２１Ｂ（図１）を記憶させる（ステップＳ４２１）。つぎに属性が決定されていない格子点の中の１つを選ぶ（ステップＳ４２２）。以下その格子点を選択格子点と呼ぶ。まず、選択格子点が段差領域代表点列データ２６上の点であるか否かを判別し（ステップＳ４２３）、そうであるときには、最急方位データ２８にその格子点の属性として段差領域点を記憶させる（ステップＳ４２４）。以下ではこの属性の格子点を段差領域点あるいは段差領域格子点と呼ぶことがある。その格子点の処理は終了し、処理はステップＳ４２９に移る。
【００３２】
ステップＳ４２３において選択格子点が段差領域代表点列データ２６上にないと判断された場合には、選択格子点の周囲の状況を調べるために、選択格子点から複数の方位、例えば１６方位に線分を延ばし、それぞれが等高線点列データ２１Ａ又は段差領域代表点列データ２６と最初に交わる点を周辺点として調べる。ここで得られた１６個の交点の座標と標高を、選択格子点に対する周辺点データリスト２７（図１）として、その選択格子点を識別する情報、例えば、選択格子点の座標と組にして記憶する（Ｓ４２５）。このように、周辺点データリスト２７は、各格子点に対して、その格子点が選択されたときに生成される。もしいずれかの周辺点が選択格子点から延ばした線分と段差領域代表点列データとの交点であるときには、標高の代わりに、段差領域代表点列データ２６との交点であることを示し、かつ標高としてはあり得ない特定の値を記憶する。
【００３３】
つぎに、周辺点が全て等高線点列データとの交点であり、かつ、それらの標高が同一か否かを判断する（ステップＳ４２６）。周辺点が全て等高線点列データとの交点であり、かつ、それらの標高が同一であるときには、その格子点は平地に位置すると考えることができ、以下ではその格子点は平地上にあるとして扱う。したがって、その選択格子点の標高は、その周辺点の標高と同じである。しかし、後に選択格子点の近傍に三角点又は基準点がある場合に、選択格子点の標高を補正するための準備として、上記周辺点のうちで、選択格子点に最も近い最急方位点ｐ１と、選択格子点から見て反対方向にある点の中の最急方位点ｐ２を検出し、これらをいずれも選択格子点に対する最急方位点とし、それらの点の座標と標高を、最急方位データ２８（図７）内の上記選択格子点に対する最急方位ｐ１座標２８２、ｐ１標高２８３、最急方位ｐ２座標２８４、ｐ２標高２８５に記憶させ（ステップＳ４２７Ａ）、属性２８１として平地点を記憶させる（ステップＳ４２７Ｂ）。以下ではこの属性の格子点を平地点あるいは平地格子点と呼ぶことがある。その選択格子点に関する処理はこれで終了し、処理はステップＳ４２９に移る。
【００３４】
ステップＳ４２６において周辺点のいずれかが他と異なる等高線点列データとの交点あるいは段差領域代表点列データとの交点であると判断された場合には、選択格子点は平地上にない。このときには、上記１６個の周辺点のうちで、ともに異なる標高の等高線点列データ上にあるか又は異なる段差領域代表点列データ上にあるか、あるいは一方が等高線点列データ上にあり他方が段差領域代表点列データ上にあり、かつ、選択格子点の最急方位点ｐ１と選択格子点から見て当該最急方位点ｐ１と逆方向にある最急方位点ｐ２を選択格子点に対する最急方位点として検出し、これらの点の座標と標高を最急方位データ２８内に選択格子点に対応させて記憶させる（ステップＳ４２７Ｃ）。なお、点ｐ１、ｐ２のいずれかが段差領域代表点列データ上にあるときには、その標高としては、段差領域点を表す特定の値を記憶させるのは、既に述べた場合と同じである。
【００３５】
更に、上記ｐ１、ｐ２のうち、少なくともいずれか一方、例えばｐ１が等高線点列データ上に位置する場合には、点ｐ１についてステップＳ４２５と同様の処理により点ｐ１の周辺に位置する等高線点列データ上又は段差領域代表点列データ上に位置する１６個の周辺点を更に検出し、それらの周辺点のうちで、点ｐ１から見て最急方位にあり、かつ、点ｐ１から見て選択格子点とは逆方向にある最急方位点ｑ１を、選択格子点に対する２次最急方位点として検出する。同様に点ｐ２が等高線点列データ上に位置する場合には、対応する２次最急方位点ｑ２を検出する。これらの点ｑ１、ｑ２に関する座標と標高を、最急方位データ２８内の選択格子点に対する２次最急方位ｑ１座標２８６、ｑ１標高２８７、２次最急方位ｑ２座標２８８、ｑ２標高２８９に記憶させる。点ｑ１、ｑ２のいずれかが段差領域代表点列データ上にあるときには、その標高としては、段差領域点を表す特定の値を記憶させるのは、既に述べた場合と同じである（ステップＳ４２７Ｄ）。また、以上から分かるように、最急方位点ｐ１、ｐ２のいずれかが段差領域代表点列データ上の点であるときには、その点に対する２次最急方位点ｑ１又はｑ２は検出しない。
【００３６】
以上のようにして得られた、選択格子点に対する点ｐ１、ｐ２、ｑ１、ｑ２の中に段差領域点が含まれているか否かを判別する（ステップＳ４２８Ａ）。この判断は、選択格子点に対するそれぞれの点ｐ１、ｐ２、ｑ１、ｑ２の標高が段差領域点を表す特定の値であるか否かにより判別できる。もし選択格子点に対する点ｐ１、ｐ２、ｑ１、ｑ２のいずれもが段差領域点でないときには、選択格子点は付近に段差領域がない通常の傾斜地にあることになり、その属性として傾斜地点を最急方位データ２８内に記憶する（ステップＳ４２８Ｂ）。以下ではこの属性の格子点を傾斜地点あるいは傾斜地格子点と呼ぶことがある。このとき、点ｐ１とｑ１を結ぶ経路が、それぞれが位置する等高線に対する最急経路となり、点ｐ２とｑ２を結ぶ経路が、それぞれが位置する等高線に対する最急経路となる。もし選択格子点に対する点ｐ１、ｐ２、ｑ１、ｑ２のいずれかが段差領域点であるときには、選択格子点の属性として段差領域隣接点を最急方位データ２８に記憶させる（ステップＳ４２８Ｃ）。以下ではこの属性の格子点を段差領域隣接点あるいは段差領域隣接格子点と呼ぶことがある。以上のようにして選択格子点に対する処理が終了すると、未処理の格子点があるか否かが判断され（ステップＳ４２９）、未処理の格子点があるときには、処理はステップＳ４２１に戻り、未処理の格子点がないときには、最急方位探索部４２の処理は終了する。
【００３７】
図９は、いろいろな属性の選択格子点を含む等高線点列データの例を示す図である。同図（ａ）は、選択格子点ｓ０が、等高線点列データ２４１により指定される標高を有する平地格子点である場合の等高線点列データの例を示している。選択格子点ｓ０が平地点である場合には、最急方位点ｐ１、ｐ２が検出されるが、２次最急方位点ｑ１、ｑ２は検出されない。同図（ｂ）は、選択格子点ｓ０が傾斜地にあり、その近傍に段差領域が存在しない傾斜地格子点である場合における、最急方位点ｐ１、ｐ２、２次最急方位点ｑ１、ｑ２の例を示す。同図（ｃ）は、選択格子点ｓ０が傾斜地にあり、しかも近傍に段差領域代表点列データ２６がある段差領域隣接点である場合の例を示している。この例では、選択格子点ｓ０に対して最急方位点ｐ１、ｐ２が検出されていて、点ｐ１が等高線点列データ上にあるため、対応する２次最急方位点ｑ１が検出されているが、点ｐ２が段差領域代表点列データ２６上にあるため、点ｐ２に対する２次最急方位点ｑ２は検出されていない。
【００３８】
図１に戻り、標高データ生成プログラム４０は、最急方位探索部４２の処理が終了すると、複数の格子点のうち、当該格子点に対して検出された複数の近接点の中に段差領域代表点列データ上に位置する近接点が含まれていない第１種の格子点について、当該複数の近接点の位置と標高に基づいて、当該第１種の格子点の標高を決定する。しかし、複数の格子点のうち、当該格子点に対して検出された複数の近接点の中に段差領域代表点列データ上の近接点が含まれている第２種の格子点については、当該段差領域代表点列データ上の近接点に代えて使用する、当該段差領域代表点列データ上にはない、当該格子点の他の少なくとも一つの近接点を追加して検出し、少なくとも当該追加して検出された少なくとも一つの他の近接点の位置と標高に基づいて当該第２種の格子点の標高を決定する。
【００３９】
より具体的には、標高データ生成プログラム４０は、各格子点の標高の決定のために標高計算部４３を実行する。標高計算部４３では、最急方位探索部４２により生成された最急方位データ２８に基づいて各格子点の標高が決定される。本実施の形態では、段差領域隣接点である格子点の標高も段差領域の存在を考慮して決定されるようになっている。すなわち、標高計算部４３では、最急方位探索部４２により決定された各格子点の属性に応じて異なる手順で標高を計算する。段差領域隣接点である格子点の標高を計算する際、周囲の傾斜地格子点のデータが使用される。このため、初めに傾斜地格子点の標高を計算した後、他の属性の格子点の標高を計算する。
【００４０】
図１０は、標高計算部４３の処理の概略フローチャートである。まず、属性が傾斜地点であり標高が決定されていない傾斜地格子点を選択する（ステップＳ４３１Ａ）。この選択は、最急方位データ２８に属性が傾斜地点とされている格子点であって、標高データ２９（図１）内の同じ座標を有する格子点に対して標高が記憶されていない格子点を検出することにより行うことができる。
【００４１】
その後、選択された傾斜地格子点に対して決定された最急方位点ｐ１、ｐ２、２次最急方位点ｑ１、ｑ２に関するデータに基づいて、当該格子点の標高を計算する傾斜地点用標高計算式を決定し（ステップＳ４３１Ｂ）、決定された標高計算式を用いて、当該傾斜地格子点の標高を決定し、決定した標高を標高データ２９（図１）内にその格子点の標高として記憶する（ステップＳ４３１Ｃ）。これらのステップＳ４３１Ｂ、Ｓ４３１Ｃの処理の詳細は後に説明する。その後、属性が傾斜地点であり標高が決定されていない傾斜地格子点がまだあるか否かを判別し（ステップＳ４３１Ｄ）、あればステップＳ４３１Ａに戻り、以上の処理を繰り返す。なければ、ステップＳ４３２Ａに移る。
【００４２】
ステップＳ４３２Ａでは、属性が平地点であり標高が決定されていない平地格子点を選択する。その後、選択された平地格子点に対して、当該格子点に対して決定された最急方位点ｐ１又はｐ２の標高をそのまま標高データ２９（図１）内にその格子点の標高として記憶する（ステップＳ４３２Ｂ）。その後、属性が平地点であり標高が決定されていない平地格子点がまだあるか否かを判別し（ステップＳ４３２Ｃ）、あればステップＳ４３２Ａに戻り、以上の処理を繰り返す。なければ、ステップＳ４３３Ａに移る。
【００４３】
ステップＳ４３３Ａでは、属性が段差領域隣接点であり標高が決定されていない段差領域隣接格子点を選択する。つぎに、選択された段差領域隣接点である格子点に対して決定された最急方位点ｐ１、ｐ２の両方が段差領域点であるか否かを判別する（ステップＳ４３３Ｂ）。この判別は、選択された格子点に対応する最急方位データ２８内の点ｐ１、ｐ２の標高が通常の標高を表さない特定の値であるか否かにより行うことができる。ｐ１、ｐ２の両方が段差領域点であるときには、選択された格子点は、２つの段差領域に挟まれた領域に位置し、近傍の等高線がそれらの段差領域より遠方にあるため、その格子点の標高を自動的に決定できないので、当該格子点の標高に代えて、標高が決定できないことを示す特定の値を標高データ２９に記憶させるか、あるいは、標高をユーザに入力させて標高データ２９に記憶させる（ステップＳ４３３Ｃ）。ユーザが標高を決定する場合には、ユーザは、２つの段差領域の位置と、当該段差領域の周辺の等高線の位置と標高とに基づいて、選択格子点の標高を推定して入力する。その後処理はステップＳ４３３Ｄに移る。
【００４４】
ステップＳ４３３Ｂにおいてｐ１、ｐ２の少なくとも一方が段差領域点でないと判断されたときには、段差領域隣接点である格子点の標高を計算する段差領域隣接点用標高計算部５０を起動する。その処理の詳細は後に説明する。その後、処理はステップＳ４３３Ｄに移る。ステップＳ４３３Ｄでは、属性が段差領域隣接点であり標高が決定されていない段差領域隣接格子点がまだあるか否かを判別し、あればステップＳ４３３Ａに戻り、以上の処理を繰り返す。なければ、ステップＳ４３４Ａに移る。
【００４５】
本実施の形態では、属性が段差領域点である格子点の標高は計算されない。したがって、属性が段差領域点であり標高が判断されていない格子点に対しては、標高に代えて標高を決定できないことを示す特定の値を標高データ２９に記憶させる。このため、ステップＳ４３４Ａでは、属性が段差領域点であり標高が判断されていない段差領域格子点を選択する。つぎに、選択された段差領域点である格子点に対して、標高が決定できないむねを示す特定の値を標高データ２９に記憶させる（ステップＳ４３４Ｂ）。その後属性が段差領域隣接点であり標高が決定されていない格子点がまだあるか否かを判別し（ステップＳ４３４Ｃ）、あればステップＳ４３４Ａに戻り、以上の処理を繰り返す。なければ、標高計算部４３の処理が終了する。
【００４６】
図１１は、図１０のステップＳ４３１Ｂでの傾斜地点用標高計算式の決定例とステップＳ４３１Ｃでの傾斜地格子点の標高の計算を説明するための図である。同図（ａ）において、横軸は、等高線点列データ上で、点ｑ２、ｐ２、ｐ１、ｑ１を結ぶ折れ線をそれぞれの点の間の距離を維持しながら並べた直線上の座標Ｓを表す。点Ｓq2、Ｓp2、Ｓp1、Ｓq1は、それぞれ上記折れ線上の点ｑ２、ｐ２、ｐ１、ｑ１に対応する上記対応する直線上の位置を表し、Ｓ０は、傾斜地格子点である選択された格子点ｓ０に対する上記直線上の位置を表す。上記直線（横軸）の座標の原点は任意の点に決めてよい。
【００４７】
Ｌ１、Ｌ21、Ｌ22、Ｌ３はそれぞれ点Ｓp1と点Ｓq1との間の距離、点Ｓ０と点Ｓp1との間の距離、点Ｓp2と点Ｓ０との間の距離、点Ｓq2と点Ｓp2との間の距離を表す。縦軸は標高を表し、ｈp1、ｈp2、ｈq1、ｈq2はそれぞれ、点ｐ１、ｐ２、ｑ１、ｑ２における標高を表し、これらの標高は、それぞれの点を通過する等高線の標高として等高線点列データ２１Ａにより与えられていて、既に選択格子点に対応して最急方位データ３８内に記憶されている。Ｈ１、Ｈ２、Ｈ３はそれぞれ、点ｑ１とｐ１間の標高差、点ｐ１、ｐ２間の標高差、点ｐ２とｑ２間の標高差を表す。
【００４８】
同図（ｂ）は、格子点ｓ０の標高を算出するための計算式の例として使用する、上記折れ線上の距離Ｓの３次元エルミート関数を示す。この関数が傾斜地点用標高計算式として使用される。同図（ｃ）は、上記関数ｆ(Ｓ)を決定するための条件を示す図である。符号５１、５２は、それぞれ点ｐ１、ｐ２における標高が、点ｐ１、ｐ２における等高線の標高ｈp1、ｈp2であることを示し、α、βは後述の平均勾配を示す。
【００４９】
１次差分法により上記エルミート関数を決定するときには、上記α、βは符号５５、５６により与えられる。符号５５は点ｑ２、ｐ１の間の平均勾配αを表し、符号５６は点ｐ２、ｑ１の間の平均勾配βを表し、符号５３は点ｐ１における関数ｆ(Ｓ)の微係数（勾配）が上記平均勾配αに等しいことを示し、符号５４は点ｐ２における関数ｆ(Ｓ)の微分係数（勾配）が上記平均勾配βに等しいことを示す。これらの６つの条件により、同図（ｂ）に示す３次元関数の係数ａ、ｂ、ｃ、ｄを決定できる。こうして傾斜地点用標高計算式が決定される。
【００５０】
図１０のステップＳ４３１Ｂでは、以上の考えにより図１１（ｂ）に示す傾斜地点用標高計算式が決定され、同図のステップＳ４３１Ｃでは、上記決定された計算式において、格子点ｓ０に対応する横軸上の座標Ｓ０を入力することにより、格子点ｓ０における標高が計算される。
【００５１】
以上のように、標高計算部４３は、選択格子点が段差領域隣接点でないとき、すなわち、選択格子点の所定の第１の条件を満たす近接点であるｐ１、ｐ２、ｑ１、ｑ２のいずれもが段差領域点でないときには、それらの近接点の位置と標高に基づいて当該選択格子点の標高を決定している。
【００５２】
図１２は、選択格子点が、それに対応する最急方位点ｐ１、ｐ２の一方が段差領域点であるために段差領域隣接点と判断される等高線点列データの例を示す図である。図では、選択格子点ｓ０に対する最急方位点ｐ１が等高線Ｃ１上にあり、他の最急方位点ｐ２が段差領域代表点列データ２６上にある段差領域点である例を示している。点ｐ１に対応する２次最急方位点ｑ１は等高線Ｃ１にあると仮定されている。点ｐ２に対する２次最急方位点ｑ２は検出されていない。
【００５３】
図１３は、選択格子点が、それに対応する２次最急方位点ｑ１、ｑ２の少なくとも一方が段差領域点であるために段差領域隣接点と判断される等高線点列データの例を示す図である。図では、選択格子点ｓ０に対する最急方位点ｐ１、ｐ２がそれぞれ等高線点列データＣ５、Ｃ６上にあり、２次最急方位点ｑ２が段差領域代表点列データ２６上にある段差領域点である例を示している。２次最急方位点ｑ１は等高線Ｃ７上にあるとする。図において、点ＡとＢは、点ｑ２に最も近く、点ｐ２とｑ２を結ぶ線分の両側に位置する傾斜地格子点であり、点ｐa1、ｐa2、ｑa1、ｑa2は、格子点Ａに対する最急方位点、２次最急方位点である。点ｐb1、ｐb2、ｑb1、ｑb2は、格子点Ｂに対する最急方位点、２次最急方位点である。なお、段差領域隣接点用標高計算部５０は、点ｑ１に代えて点ｑ２が段差領域点である場合あるいは点ｑ１、ｑ２の両方がともに段差領域点である場合にも以下に説明する点ｑ１が段差領域点である場合の説明を適用できる。
【００５４】
図１４は、段差領域隣接点用標高計算部５０の処理の概略フローチャートである。まず、選択格子点ｓ０に対する最急方位点ｐ１、ｐ２の少なくとも一方が段差領域点であるか否かが判断される（ステップＳ５０１）。図１２の場合には、最急方位点ｐ２が段差領域点であり、図１３では、ｐ１、ｐ２とも段差領域点でない。
【００５５】
図１２のような場合には、選択格子点の最急方位点ｐ２が段差領域点であり、その標高を正確に推定することが難しい。したがって、選択格子点ｓ０の標高を推定することも難しい。このため、本発明では、段差領域点（ｐ２）の近傍に位置するために段差領域隣接点と判断された選択格子点ｓ０については、当該選択格子点の所定の第２の条件を満たす他の近接点を検出して、当該選択格子点の標高を、少なくとも当該他の近接点の位置と標高に基づいて決定する。より具体的には、このような段差領域隣接点である選択格子点の周辺の地形は、段差領域を除けば、近傍に位置する傾斜地点である傾斜地格子点における地形に近いものと推測される。したがって、標高計算部４３は、選択格子点に対する二つの最急方位点ｐ１、ｐ２の一方が段差領域点である場合に、当該選択格子点に最近接で傾斜地格子点である格子点を追加して検出する。
この場合、選択格子点ｓ０と最急方位点ｐ２を結ぶ線分の両側に位置する複数の傾斜地格子点に対する標高計算式を使用するほうが、片側に位置する傾斜地格子点の標高計算式を使用する場合より正確に、選択格子点の標高を推定できると考えられる。このため、本実施の形態では、選択格子点ｓ０と最急方位点ｐ２を結ぶ線分の両側に位置する一対の傾斜地格子点に対する標高計算式を使用して、選択格子点の標高を推定する。
【００５６】
その際、近傍の傾斜地格子点を通る折れ線の長さが異なるのが普通であり、選択格子点を通る折れ線の長さが、近傍の傾斜地格子点を通る折れ線の長さより長いときには、近傍の傾斜地格子点の周辺の地形を反映して選択格子点の標高を決定するには、近傍の傾斜地格子点を通る折れ線の長さを選択格子点を通る折れ線の長さに等しくなるように延長して近傍の格子点の標高計算式を使用することが望ましい。逆に、選択格子点を通る折れ線の長さが近傍の傾斜地格子点を通る折れ線の長さより短いときには、近傍の傾斜地格子点を通る折れ線の長さを選択格子点を通る折れ線の長さに等しくするように短縮して近傍の格子点の標高計算式を使用することが望ましい。
【００５７】
したがって、本実施の形態では、選択格子点の両側に位置する２つの最急方位点と当該選択格子点を結ぶ折れ線の座標の範囲と、近傍の傾斜地格子点の両側に位置する最急方位点と当該傾斜地格子点を結ぶ折れ線上の座標の範囲を、例えば０から１というように一致させるように、後者の長さと座標を前者の長さと座標に合わせて、当該近傍の傾斜地格子点に対する標高計算式を利用する。
【００５８】
すなわち、ステップＳ５０１で、ｐ１、ｐ２の一方（例えばｐ２）が段差領域点であると判断された場合、処理はステップＳ５０２に移り、そこでは選択格子点について、当該格子点に最も近い２つの傾斜地格子点であって、点ｐ１、ｐ２を結ぶ線の両側に位置する１対の傾斜地格子点Ａ、Ｂを検出する。
【００５９】
検出された傾斜地格子点Ａ、Ｂのそれぞれの標高を計算するための標高計算式ｆａ(Ｓａ)、ｆｂ(Ｓｂ)は、既に図１０のステップＳ４３１Ｂで決定されている。ここでＳａは、点Ａに対する最急方位点ｐa1、ｐa2、２次最急方位点ｑa1、ｑa2を通る折れ線上の座標を表す。同様に、Ｓｂは点Ｂに対する最急方位点ｐb1、ｐb2、２次最急方位点ｑb1、ｑb2を通る折れ線上の座標を表す。ステップＳ５０３では、関数ｆａ(Ｓ)の変数Ｓａの代わりに、点ｐa1、ｐa2の間で０〜１になるように正規化した変数Ｓａ’を使用する関数ｆap1p2(Ｓａ')を関数ｆａ(Ｓ)から生成する。同様に、関数ｆｂ(Ｓ)の変数Ｓｂの代わりに、点ｐb1、ｐb2の間で０〜１になるように正規化した変数Ｓｂ’を使用する関数ｆbp1p2(Ｓｂ')を関数ｆｂ(Ｓ)から生成する。
【００６０】
つぎに、ステップＳ５０４において、これら２つの関数を重みを付けて加算し、選択格子点ｓ０の標高を求める関数ｆ（Ｓ０'）を以下の式（１）のように決定する。
ｆ(Ｓ０')＝（ｋａ/(ｋａ＋ｋｂ))×ｆap1p2(Ｓ０')
＋（ｋｂ/(ｋａ＋ｋｂ))×ｆbp1p2(Ｓ０')            （１）
ここで、ｋａ、ｋｂは、それぞれ選択格子点ｓ０から最近接の傾斜地格子点Ａ、Ｂまでの等高線点列データ上の距離であり、Ｓ０’は、それぞれ選択格子点ｓ０を通る折れ線上の選択格子点の座標であり、Ｓ０'は、それぞれ当該折れ線に対応する横軸上の点ｐ２、ｐ１で値０、１になるように正規化されている。
【００６１】
つぎに、ステップＳ５０５において、得られた関数の変数に選択格子点ｓ０の座標Ｓ０'を入力し、その標高を得て標高データ２９に格納する。こうして選択格子点が段差領域隣接点である場合でもその標高を得ることができる。こうして、最急方位点ｐ１、ｐ２のいずれかが段差領域隣接点である場合の段差領域隣接点用標高計算部５０の処理は終了する。このように、段差領域点ｐ２に隣接する選択格子点の標高を、近傍の傾斜地格子点に対する標高計算式を使用して決定することができる。点ｐ１が段差領域点である場合の隣接する選択格子点についても、同様に点ｐ１の近傍の傾斜地格子点に対する標高計算式を使用して決定することができる。
なお、式１において、ｋａとして、選択格子点ｓ０から、変数Ｓ０'と同じ値を有する、傾斜地格子点Ａを通る折れ線上の点までの距離を用いてもよい。Ｋｂについても同様である。また、選択格子点の近傍の傾斜地格子点として、上記のような１対の傾斜地格子点より多い傾斜地格子点を使用してもよい。
【００６２】
このように、標高計算部４３は、選択格子点ｓ０の近接点である点ｐ１、ｐ２の一方（例えばｐ２）が段差領域代表点列データ上にあるとき、点ｐ２に近接する他の近接点として傾斜地格子点である格子点Ａ、Ｂを追加して検出し、前記追加して検出された他の近接点（ＡとＢ）の位置と標高に基づいて当該第２種の格子点の標高を決定している。より具体的には、点Ａ又はＢのそれぞれに対する二つの最急方位点（ｐa1とｐa2又はｐb1とｐb2）と当該格子点Ａ又はＢを結ぶ折れ線に対して決定された標高計算式を利用して、選択格子点に対する標高決定式を決定している。更に、選択格子点ｓ０に対する近接点ｐ１、ｐ２と当該選択格子点を結ぶ折れ線上の当該選択格子点の座標と当該決定された標高決定式に基づいて、選択格子点ｓ０の標高を決定している。当該選択格子点の座標は、正規化されていて、その正規化された座標は、近接点ｐ１、ｐ２、選択格子点ｓ０の位置に依存しているので、当該選択格子点の標高は当該近接点ｐ１、ｐ２の位置にも依存して検出されていることにはなる。
【００６３】
もしステップＳ５０１において、点ｐ１、ｐ２のいずれもが段差領域隣接点でないと判断されたときには、段差領域隣接点の定義から判断して、選択格子点に対する２次最急方位点ｑ１又はｑ２の少なくとも一方が段差領域点である。例えば、図１３の場合には点ｑ２が段差領域点である。図１２においては、標高を決定すべき選択格子点の一方の最急方位点ｐ２が段差領域上にあり、当該点ｐ２に代えて他の一対の傾斜地格子点を使用して選択格子点の標高を決定した。図１３においては、２次最急方位点ｑ２が段差領域上であるので、図１２の場合と同様に、点ｑ２の近傍の一対の傾斜地格子点を使用して、点ｑ２の標高を推定し、それを用いて選択格子点の標高を決定できることが期待される。
【００６４】
そこで、段差領域隣接点用標高計算部５０では、図１４に示すようにステップＳ５０１において点ｐ１、ｐ２のいずれもが段差領域隣接点でないと判断されたときには、ステップＳ５０６において、点ｑ１、ｑ２のいずれかが段差領域点であるか否かを判別する。図１３の場合にはｑ２が段差領域点であるであると判断されることになる。ステップＳ５０７において、判別された段差領域点（図１３ではｑ２）に関して、ステップＳ５０２と同じ処理を行い、近傍の傾斜地格子点（図１３の場合には格子点Ａ、Ｂ）を検出する。なお、ステップＳ５０５において判別された段差領域点がｑ１、ｑ２の両方であるときには、それぞれについて、ステップＳ５０２の処理を実行する。
【００６５】
つぎにステップＳ５０８において、段差領域点と判断された２次最急方位点（例えばｑ２）に対して検出された近傍の傾斜地格子点（図１３の場合には格子点Ａ、Ｂ）に関して、ステップＳ５０３と同様な処理を実行して、それぞれの点に関する正規化された標高計算式を決定する。更に、ステップＳ５０９において、ステップＳ５０４と同様な処理を行い、段差領域点と判別された２次最急方位点（例えばｑ２）と対応する最急方位点（ｐ２）を結ぶ線分に対する標高計算式を決定する。その後、ステップＳ５１０において、得られた計算式に選択格子点の座標Ｓ０'の値（図１３の場合には０）を入力して、段差領域点（例えばｑ２）の標高を得て標高データ２９に格納する。
【００６６】
こうして、２次最急方位点ｑ２が段差領域点である場合にもその標高を推定できたので、点ｐ１、ｐ２、ｑ１、ｑ２の標高が全て決定できたことになる。したがって、ステップＳ５１１において、図１０に示された、選択格子点が傾斜地点である格子点の場合におけるステップＳ４３１Ｂと同じく傾斜地用標高計算式を決定し、ステップＳ５１２において、図１０のステップＳ４３１Ｃと同様に、得られた計算式に従って選択格子点の標高を決定すればよい。こうして段差領域隣接点用標高計算部５０の処理が終了し標高計算部４３の処理も終了する。
【００６７】
以上から分かるように、選択格子点の第２最急方位点ｑ１、ｑ２の一方（例えばｑ２）が段差領域上に位置する場合も、選択格子点に対する他の所定の条件を満たす他の近接点として当該点ｑ２に最近接の傾斜地格子点を検出して、当該ｑ２点の標高を、それらの傾斜地格子点の位置と標高に依存して決定し、その後点ｐ１、ｐ２、ｑ１、ｑ２に基づいて選択格子点の標高を決定しているので、当該他の近接点の標高と位置に依存して選択格子点の標高を決定していることになる。勿論、選択格子点の標高は、点ｐ１、ｑ１の位置と標高と点ｑ２の位置にも依存している。
【００６８】
図１に戻り、標高データ生成装置１は、複数の等高線と三角点あるいは基準点のような複数の特定点を含む２次元地図画像に含まれた前記複数の等高線のそれぞれを点列で表す複数の等高線点列データと前記複数の特定点の位置と標高を表す特定点データから、当該地図を格子に分割して得られる格子点群のそれぞれの格子点の標高を示す標高データを生成可能に構成されている。
【００６９】
既に述べたように、標高データ生成装置１は、複数の等高線点列データに基づいて、各格子点について、等高線点列データ上に位置し所定の第１の条件を満たす複数の近接点を検出し、当該格子点について検出された前記複数の近接点の位置と標高に基づいて、当該格子点の標高を決定する。
【００７０】
標高データ生成装置１は、更に、前記複数の等高線点列データと前記特定点データとに基づいて、各特定点について等高線点列データ上に位置し所定の第２の条件を満たす少なくとも一つの近接点を検出し、当該特定点について、所定の第３の条件を満たす当該特定点に近接した格子点を検出し、当該特定点の位置と標高と、当該特定点に対して検出された、当該特定点の前記少なくとも一つの近接点の位置と標高とに基づいて、当該特定点に対して検出された前記近接した格子点の標高を補正することができる。
すなわち、標高データ生成プログラム４０は、標高計算部４３により標高が決定された後に、特定点の近傍の格子点の標高を補正するために標高補正部４４を実行する。標高補正部４４は、三角点データ２２Ａ、基準点データ２２Ｂのような特定点データで示される標高に基づいて、特定点の近傍の格子点の標高を補正する。
【００７１】
図１５は、標高補正部４４の処理の概略フローチャートである。まず、三角点データ、基準点データ等の特定点データに基づいて標高を補正する対象とする周囲の格子点の存在範囲である補正範囲データＤmaxを、ユーザに入力装置３１（図１）により入力させる（ステップＳ４４１）。例えば、補正範囲データＤmaxは、補正範囲を三角点あるいは基準点を中心とする円形の範囲とする場合、その円の半径を示すものでもよく、補正範囲が三角点あるいは基準点を囲む正方形領域であるときには、その一辺の長さ又はその半分を指定してもよい。いずれの場合も、範囲は半径あるいは一辺又はその半分の長さを指定する代わりに、その長さに含まれる格子点の数を指定してもよい。
【００７２】
つぎに、三角点データ２２Ａ、基準点データ２２Ｂで示される多数の特定点の一つを選択する（ステップＳ４４２）。以下、選択された特定点を選択特定点と呼ぶことがある。選択特定点に対して最急方位探索部４２の処理を実行させる（ステップＳ４４３）。既に説明したように、この処理により、選択特定点に対して、最急方位点ｐ１、ｐ２の座標と標高、２次最急方位点ｑ１、ｑ２の座標と標高及び選択特定点の属性が、傾斜地点、平地点、段差領域隣接点、段差領域点であるかどうかが判別される。
【００７３】
つぎに選択特定点の属性を判別し（ステップＳ４４４）、属性が傾斜地点であるときには、当該選択格子点に対する周辺の格子点を補正するための傾斜地特定点用標高計算式を決定する（ステップＳ４４５）。この決定方法は後に説明する。つぎに、得られた計算式に基づいて傾斜地特定点用標高補正式を決定する（ステップＳ４４６）。この決定方法も後に説明する。得られた標高補正式に基づいて、最初に指定され補正範囲Ｄmax内にある選択格子点の周辺の傾斜地格子点の標高を順次補正する（ステップＳ４４７）。なお、近傍の格子点が平地格子点、段差領域隣接格子点、段差領域格子点に対してはこの標高補正式を用いた補正は行わない。その後、未処理の三角点、基準点があるか否かが判別され（ステップＳ４４８）、まだあるときには処理はステップＳ４４２に戻る。もうないときには、標高補正部４４の処理は終了する。したがって、ステップＳ４４７により補正を適用できる特定点の条件は、特定点が最急探索部により最急方位点と判断されることである。また、ステップＳ４４７で補正される近傍の格子点の条件は、傾斜地格子点であって、選択特定点からの距離があらかじめユーザが指定した範囲内のものである。
【００７４】
上記ステップＳ４４４において、選択特定点の属性が平地点であると判断されたときには、平地特定点用標高補正式を決定し（ステップＳ４４９）、ステップＳ４４７と同様に、選択特定点の周辺の平地格子点の標高を補正する（ステップＳ４５０）。したがって、ステップＳ４５０による補正を適用できる特定点の条件は、特定点が最急探索部により平地点と判断されることである。また、ステップＳ４５０で補正される近傍の格子点の条件は、平地点と判別された格子点であって、選択特定点からの距離があらかじめユーザが指定した範囲内のものである。平地格子点以外の格子点は選択特定点の近傍にある場合でも標高は補正されない。
【００７５】
ステップＳ４５０の後、処理は、ステップＳ４４８に移る。ステップＳ４４４での判定の結果、選択特定点が、傾斜地格子点、平地格子点以外の格子点（例えば段差領域隣接格子点又は段差領域格子点）であるときには、当該選択特定点に基づく標高の補正はしないで処理はステップＳ４４８に移る。
【００７６】
周辺の格子点が段差領域隣接点であるときには、その標高は、既に説明したように、周辺の傾斜地格子点の標高と位置などの情報を利用して推定されている。したがって、選択特定点の標高に基づいてその推定を更に変更することは、２重の推定を行うことになるため、必ずしも望ましい結果が得られるとは限らない。したがって、本実施の形態では、選択特定点の標高を用いて段差領域隣接点に対する標高を補正することは省略している。しかし、そのような補正をするようにしてもよい。特に、段差領域隣接点である格子点の近傍にいずれかの選択特定点が位置し、前者に対して標高計算部４３により決定された標高と、選択特定点の標高の差があらかじめ定めた限度より大きい場合には、選択特定点の標高により適当に標高を補正するようにしてもよい。ただし、選択格子点が段差領域点である場合には、標高計算部４３もその標高を決定していないので、標高補正部４４は、段差領域点である選択格子点に対して補正は行わない。
【００７７】
図１６は、図１５のステップＳ４４４における傾斜地特定点用標高計算式を決定する手順を説明するための図である。同図（ａ）は、最急方位探索部４２により、選択特定点Ｉｎに基づいて、一例として等高線点列データ上に位置する最急方位点Ｂ、Ｃ、２次最急方位点Ａ、Ｄの位置と標高が決定されたことを示している。図ではこれらの点を標高が低いものから順に点Ａ、点Ｂ、点Ｃ、点Ｄとしている。選択特定点Ｉｎが傾斜地特定点であるときには、点Ａ、Ｂ、Ｃ、Ｄは全て傾斜地点であり、段差領域隣接点でもなく段差領域点でもない。
【００７８】
同図（ｂ）において、横軸は、等高線点列データ上で、点Ａ、Ｂ、Ｃ、Ｄを結ぶ折れ線をそれぞれの点の間の距離を維持しながら並べた直線上の座標Ｓを表す。点Ｓａ、Ｓｂ、Ｓｃ、Ｓｄは、それぞれ上記折れ線上の点Ａ、Ｂ、Ｃ、Ｄに対応する横軸上の座標を表し、Ｓinは、傾斜地点である選択された特定点Ｉｎに対する上記横軸上の座標を表す。横軸の座標の原点は原理的には任意の点に決めてよいが、後に述べる周辺の格子点の標高を補正するときのために、点Ｓｂ、Ｓｃの座標が０、１となるように、横軸の座標を正規化しておくのがよい。
【００７９】
Ｌ１、Ｌ21、Ｌ22、Ｌ３はそれぞれ点Ｓｃと点Ｓｄとの間の距離、点Ｓinと点Ｓｃとの間の距離、点Ｓｂと点Ｓinとの間の距離、点Ｓａと点Ｓｂとの間の距離を表す。縦軸は標高を表し、ｈａ、ｈｂ、ｈｃ、ｈｄはそれぞれ、点Ａ、Ｂ、Ｃ、Ｄにおける標高を表し、これらの標高は、それぞれの点を通過する等高線の標高として等高線点列データ２１Ａにより与えられている。ｈinは、選択特定点Ｉｎの標高であり、この標高は、特定点データにより与えられている。Ｈ１、Ｈ21、Ｈ22、Ｈ３はそれぞれ、点ＤとＣ間の標高差、点ＣとＩｎ間の標高差、点ＩｎとＢ間の標高差、点ＢとＡ間の標高差を表す。
【００８０】
選択特定点Ｉｎ付近の傾斜を表す式の例として使用する関数ｆｒ(Ｓ)の例は、同図（ｃ）の６０に示すように、横軸上の点ＳｂからＳinに対して有効な関数ｆr1(Ｓ)と、横軸上の点ＳinからＳｃに対して有効な関数ｆr2(Ｓ)により与えられる。いずれの関数も、図１１（ｂ）に例示されたのと同じく、上記折れ線上の（すなわち、折れ線に対する横軸上の）距離Ｓの３次元エルミート関数である。これら２つの関数の組が傾斜地特定点用標高計算式として使用される。
【００８１】
同図（ｄ）は、上記関数ｆr1(Ｓ)、ｆr2(Ｓ)を決定するための条件を示す図である。符号６１、６２は、それぞれ点Ｂ、Ｉｎにおける標高が点Ｂ、Ｉｎにおける等高線の標高ｈｂ、ｈinであることを示し、符号６３、６４は、関数ｆr1の点Ｂ、Ｉｎにおける微分係数（勾配）があらかじめ指定された値β、γであることを示す。符号６５、６６は、それぞれ点Ｉｎ、Ｃにおける標高が点Ｉｎ、Ｃにおける等高線の標高ｈin、ｈｃであることを示し、符号６７、６８は、関数ｆr2の点Ｉｎ、Ｃにおける微分係数（勾配）があらかじめ指定された値γ、αであることを示す。
【００８２】
１次差分法により上記エルミート関数ｆr1、ｆr2を決定するときには、上記α、β、γは、符号６９、７０、７１により与えられる。符号６９は点Ｉｎと点Ｄの間の平均勾配αを表し、符号７０は点Ａと点Ｉｎの間の平均勾配βを表し、符号７１は点Ｂと点Ｃの間の平均勾配γを示す。符号６３は点Ｂにおける関数ｆr1(Ｓ)の勾配が上記平均勾配βに等しいことを示し、符号６４は点Ｉｎにおける関数ｆr1(Ｓ)の勾配が上記平均勾配γに等しいことを示し、符号６７は点Ｉｎにおける関数ｆr2(Ｓ)の勾配が上記平均勾配γに等しいことを示し、符号６８は点Ｃにおける関数ｆr2(Ｓ)の勾配が上記平均勾配αに等しいことを示す。これらの条件により、関数ｆr1(Ｓ)、ｆr2(Ｓ)という二つの３次元関数のそれぞれの係数ａ、ｂ、ｃ、ｄが決定される。こうして関数ｆr1(Ｓ)、ｆr2(Ｓ)が決定され、傾斜地特定点用標高計算式ｆｒ(Ｓ)も決定される。
【００８３】
図１７は、以上のようにして得られた傾斜地特定点用標高計算式ｆｒ(Ｓ)を用いて、図１５のステップＳ４４５において傾斜地用標高補正式を決定する手順を説明するための図である。図において、選択特定点Ｉｎと、それに対して決定された最急方位点Ｂ、Ｃと、その選択特定点Ｉｎの近傍に位置する標高を補正する対象となる格子点Ｒとその格子点の最急方位点ｐr1、ｐr2とが示されている。
【００８４】
補正対象格子点Ｒの補正後の標高を表す傾斜地特定点用標高補正式は、次式ｆｍ(Ｓ)で与えられる。
ｆｍ(Ｓ)＝（１−Ｄ/Ｄmax）×ｆｒ(Ｓ)＋(Ｄ/Ｄmax)×ｆ(Ｓ)    （２）
ここで、ｆ(Ｓ)は、補正対象格子点Ｒの点ｐr1、ｐr2を結ぶ折れ線上での標高を与える傾斜地特定点用標高計算式であり、図１０のステップＳ４３１Ｂで決定されたものを、その折れ線を直線に延ばしたときのその線上での点ｐr1、ｐr2に対する座標が０、１となるように、直線上の座標を規格化したものである。ｆ(Ｓ)は、ステップＳ４４４で決定された、選択特定点に対する傾斜特定点用標高計算式である。この変数Ｓも点ＢからＣに対応して値０、１となるように定めてある。Ｄmaxは、最初にユーザが指定した補正適用範囲データを示すものであり、Ｄは選択特定点Ｉｎから対象格子点Ｒまでの距離を表す。
【００８５】
この式２によれば、Ｄ＝０のときには、ｆｍ(Ｓ)は、ｆｒ(Ｓ)に等しくなり、選択特定点を通過する折れ線上の点の標高と一致し、Ｄ＝Ｄmaxのときには、ｆｍ(Ｓ)は、ｆ(Ｓ)に等しくなり補正はされないことが分かる。Ｄ＝Ｄmax/２のときには、ｆｍ(Ｓ)は、（ｆｒ(Ｓ)＋ｆ(Ｓ)）/２となる。したがって、選択特定点からの距離に応じて、選択特定点の標高の影響が減少することが分かる。なお、距離Ｄは、上記のような定義による距離Ｄでなくても、他の値、例えば、選択特定点Ｉｎを通る折れ線上の点と、その点と同じ座標（Ｓ）の値を有する、補正対象格子点Ｒを通る折れ線上の点との間の距離を計算して使用してもよい。補正用計算式２自身を変更してもよいのは言うまでもない。補正対象格子点Ｒが傾斜地点である格子点であるときには、上記式２が図１５のステップＳ４４６において決定される傾斜地特定点用標高補正式になる。
【００８６】
図１８は、選択特定点が平地点である場合に実行される、図１５のステップＳ４４９における平地特定点用標高補正式を決定する手順を説明する図である。同図（ａ）において、等高線Ｃ１、Ｃ２等がある等高線点列データ上において、格子点Ｒが等高線Ｃ１内にある平地上にあるとする。図において、ｐr1、ｐr2は格子点Ｒに対して検出された２つの最急方位点の例を示す。図１５の標高補正部４４の実行中に選択特定点Ｉｎに対してもその標高を無視して最急方位探索部４２を実行させた結果、選択特定点Ｉｎも平地点と判断された場合において、選択特定点Ｉｎとその近傍にある補正対象となる格子点Ｒとの位置関係と当該選択特定点の標高と当該平地の標高とにより、格子点Ｒの標高を補正することができる。選択特定点Ｉｎは、等高線が記載される地図上に存在する点として表示されるので、図でも選択特定点Ｉｎは格子点Ｒが位置する平面上にある点として表している。以下の標高の補正の説明のために、この特定点Ｉｎの垂直方向に位置し、この特定点の標高を有する点をＩｎ＊として示し、格子点Ｒの垂直方向に位置し、その標高を補正した後の点をＲ＊として示している。
【００８７】
具体的には、選択特定点Ｉｎと格子点Ｒを結ぶ線を格子点Ｒの後方に延長して等高線Ｃ１との交点Ｑを検出する。実際には、交点Ｑは、等高線Ｃ１の形状、位置によっては選択特定点Ｉｎよりかなり遠方に位置する場合もあるが、交点Ｑは、その点と選択特定点Ｉｎとの間の距離に依らず、図１７に示された選択格子点が傾斜地格子点の場合に検出された近接点Ｂ、Ｃと同様に、選択特定点Ｉｎの近傍の格子点の標高を補正するための、選択特定点Ｉｎの近接点と考える。点Ｑは等高線Ｃ１上の点であるため、標高は等高線Ｃ１が示す標高ｈptに等しい。選択特定点Ｉｎと点Ｑを結ぶ平面上の直線８０上に沿って選択特定点Ｉｎからの距離Ｄを変数として使用する。選択特定点Ｉｎの垂直方向に位置し、当該特定点Ｉｎの標高を有する点Ｉｎ＊と点Ｑを結ぶ直線９０上の点の標高を、直線８０上の距離Ｄにある点に対する補正後の標高を表す補正式に使用することができる。同図（ｂ）の符号７２は、直線９０が表す補正後の標高ｆｍ(Ｄ)を示す標高の補正式である。
【００８８】
同図（ｃ）は、補正式ｆｍ(Ｄ)に関する条件を示す。まず、符号７３に示すように、補正後の標高ｆｍは、選択特定点Ｉｎにおいては、選択特定点の標高ｈinに等しいことを示す。符号７４は、点Ｑにおける補正後の標高ｆｍは、元の等高線Ｃ１の標高ｈptに等しいことを示す。これらの条件により符号７２に示した補正式の係数ａ、ｂが決定される。その結果、選択特定点Ｉｎから点Ｑまでの距離をＤｑとすると、距離Ｄの位置における標高の補正式ｆｍ(Ｄ)は、同図（ｄ）の符号７５で示す式になる。格子点Ｒと選択特定点Ｉｎの間の距離をＤｒとすると、格子点Ｒに対する補正後の標高、すなわち点Ｒ＊の標高ｆｍ（Ｄｒ）は、同図（ｄ）の符号７６に示すものになる。
本発明は、以上の実施の形態に限定されるものではなく、発明の要旨を変更しない範囲内において変更、修正してもよいことは言うまでもなお。例えば、以上の実施の形態では、格子点の位置を決定するために、最急方位法により格子点の近傍の等高線上の複数の点を決定したが、他の方法を使用して近傍の点を決定してもよい。
【図面の簡単な説明】
【００８９】
【図１】本発明に係る標高データ生成装置の一つの実施形態の概略ブロック図である。
【図２】等高線地図画像データのいくつかの例を示す図である。
【図３】段差領域記号画像及び段差領域代表点列データの例を示す図である。
【図４】段差領域記号画像検出用標準パターン群の例を示す図である。
【図５】段差領域抽出部の処理の概略フローチャートである。
【図６】段差領域代表点列データを模式的に示す図である。
【図７】最急方位データの例を示す図である。
【図８】最急方位探索部の処理の概略フローチャートである。
【図９】いろいろな属性の格子点を含む等高線点列データの例を示す図である。
【図１０】標高計算部の処理の概略フローチャートである。
【図１１】傾斜地点用標高計算式の決定例と傾斜地点の標高の計算を説明するための図である。
【図１２】選択格子点が、対応する二つの最急方位点の一方が段差領域点であるために段差領域隣接点と判断される等高線点列データの例を示す図である。
【図１３】選択格子点が、対応する二つの２次最急方位点の少なくとも一方が段差領域点であるために段差領域隣接点と判断される等高線点列データの例を示す図である。
【図１４】段差領域隣接点用標高計算部の処理の概略フローチャートである。
【図１５】標高補正部の処理の概略フローチャートである。
【図１６】図１５における傾斜地特定点用標高計算式を決定する手順を説明するための図である。
【図１７】図１５での傾斜地特定点用標高補正式を決定する手順を説明するための図である。
【図１８】選択特定点が平地点である場合に実行される平地特定点用標高補正式を決定する手順を説明する図である。
【符号の説明】
【００９０】
２６０…段差領域代表記号画像、２６、２６Ａ、２６Ｂ、２６Ｃ…段差領域代表点列データ、ｐ１、ｐ２…最急方位点、ｑ１、ｑ２…２次最急方位点、ｓ０…格子点、Ｉｎ…三角点又は基準点。
【図１】
2005106906.tif 000003
【図２】
2005106906.tif 000004
【図３】
2005106906.tif 000005
【図４】
2005106906.tif 000006
【図５】
2005106906.tif 000007
【図６】
2005106906.tif 000008
【図７】
2005106906.tif 000009
【図８】
2005106906.tif 000010
【図９】
2005106906.tif 000011
【図１０】
2005106906.tif 000012
【図１１】
2005106906.tif 000013
【図１２】
2005106906.tif 000014
【図１３】
2005106906.tif 000015
【図１４】
2005106906.tif 000016
【図１５】
2005106906.tif 000017
【図１６】
2005106906.tif 000018
【図１７】
2005106906.tif 000019
【図１８】
2005106906.tif 000020
【手続補正書】
【提出日】平成16年6月22日(2004.6.22)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
等高線及び段差領域記号を含む２次元地図画像に含まれた複数の等高線のそれぞれを点列で表す、記憶装置にあらかじめ記憶された等高線点列データと当該段差領域記号で表された段差領域を代表する点列を表す、前記記憶装置にあらかじめ記憶された段差領域代表点列データから、当該地図を格子に分割して得られる格子点群のそれぞれの格子点の標高を示す標高データを生成するための、処理装置により実行される標高データ生成方法であって、
前記等高線点列データと前記段差領域代表点列データに基づいて、各格子点について、前記複数の等高線点列の少なくとも一つの上又は前記段差領域代表点列上にそれぞれ位置し所定の条件を満たす複数の近接点を検出する検出ステップと、
各格子点について、前記検出ステップで検出された複数の近接点の中に前記段差領域代表点列上に位置する近接点が含まれているか否かを判別する判別ステップと、
前記複数の格子点のうち、前記検出ステップで検出された複数の近接点の中に前記段差領域代表点列上に位置する近接点が含まれていないと前記判別ステップで判別された第１種の格子点については、当該複数の近接点の位置と標高に基づいて、当該第１種の格子点の標高を決定する第１標高決定ステップと、
前記複数の格子点のうち、前記検出ステップで検出された複数の近接点の中に前記段差領域代表点列上の近接点が含まれていると前記判別ステップで判別された第２種の格子点については、当該段差領域代表点列上にはなく、互いに隣接する一組の等高線点列の間にあり、他の所定の条件を満たす、当該格子点の少なくとも一つの近接した格子点を追加して検出する追加検出ステップと、
当該第２種の格子点について、前記検出ステップで検出された前記複数の近接点の中のいずれかの等高線点列上にある少なくとも一つの近接点の位置と標高と、前記追加して検出された前記少なくとも一つの近接格子点の位置と、前記一組の等高線点列のそれぞれの標高とに基づいて当該第２種の格子点の標高を決定する第２標高決定ステップと、
を含むことを特徴とする標高データ生成方法。
【請求項２】
複数の等高線と複数の特定点を含む２次元地図画像に含まれた前記複数の等高線のそれぞれを点列で表す、記憶装置にあらかじめ記憶された等高線点列データと前記複数の特定点の位置と標高を表す、前記記憶装置にあらかじめ記憶された特定点データから、当該地図を格子に分割して得られる格子点群のそれぞれの格子点の標高を示す標高データを生成するための、処理装置により実行される標高データ生成方法であって、
前記等高線点列データに基づいて、各格子点について、前記複数の等高線点列の少なくとも二つの上にそれぞれ位置し所定の第１の条件を満たす複数の近接点を検出する第１検出ステップと、
当該格子点について前記第１検出ステップで検出された前記複数の近接点の位置と標高に基づいて、当該格子点の標高を決定する決定ステップと、
前記等高線点列データと前記特定点データとに基づいて、各特定点について、いずれかの等高線点列上に位置し所定の第２の条件を満たす少なくとも一つの近接点を検出する第２検出ステップと、
当該特定点について、所定の第３の条件を満たし当該特定点に近接した、標高を補正すべき格子点を検出する第３検出ステップと、
当該特定点の位置と標高と、当該特定点に対して前記第２検出ステップで検出された、当該特定点の前記少なくとも一つの近接点の位置と標高と、前記第３検出ステップで当該特定点に対して検出された前記近接した格子点の位置とに基づいて、当該近接した格子点の標高を補正する補正ステップと、
を含むことを特徴とする標高データ生成方法。
【請求項３】
等高線及び段差領域記号を含む２次元地図画像に含まれた複数の等高線のそれぞれを点列で表す、記憶装置にあらかじめ記憶された等高線点列データと当該段差領域記号で表された段差領域を代表する点列を表す、前記記憶装置にあらかじめ記憶された段差領域代表点列データから、当該地図を格子に分割して得られる格子点群のそれぞれの格子点の標高を示す標高データを生成するための標高データ生成プログラムであって、
前記等高線点列データと前記段差領域代表点列データに基づいて、各格子点について、前記複数の等高線点列の少なくとも一つの上又は前記段差領域代表点列上にそれぞれ位置し所定の条件を満たす複数の近接点を検出する検出ステップと、
各格子点について、前記検出ステップで検出された複数の近接点の中に前記段差領域代表点列上に位置する近接点が含まれているか否かを判別する判別ステップと、
前記複数の格子点のうち、前記検出ステップで検出された複数の近接点の中に前記段差領域代表点列上に位置する近接点が含まれていないと前記判別ステップで判別された第１種の格子点については、当該複数の近接点の位置と標高に基づいて、当該第１種の格子点の標高を決定する第１標高決定ステップと、
前記複数の格子点のうち、前記検出ステップで検出された複数の近接点の中に前記段差領域代表点列上の近接点が含まれていると前記判別ステップで判別された第２種の格子点については、当該段差領域代表点列上にはなく、互いに隣接する一組の等高線点列の間にあり、他の定の条件を満たす、当該格子点の少なくとも一つの近接した格子点を追加して検出する追加検出ステップと、
当該第２種の格子点について、前記検出ステップで検出された前記複数の近接点の中のいずれかの等高線点列上にある少なくとも一つの近接点の位置と標高と、前記追加して検出された前記少なくとも一つの近接格子点の位置と、前記一組の等高線点列のそれぞれの標高とに基づいて当該第２種の格子点の標高を決定する第２標高決定ステップと、
をコンピュータに実行させることを特徴とする標高データ生成プログラム。
【請求項４】
前記第２種の格子点に対して追加して検出する前記少なくとも一つの近接格子点は、当該第２種の格子点について前記検出ステップで検出された前記複数の近接点の中のいずれかの等高線点列上にある前記少なくとも一つの近接点と当該第２種の格子点とを結ぶ線に対して異なる側にあり、それぞれ互いに隣接する一組の等高線点列の間にある、当該第２種の格子点に最近接の１対の格子点を含むことを特徴とする請求項３に記載の標高データ生成プログラム。
【請求項５】
各格子点に対して前記検出ステップで検出される前記複数の近接点は、当該格子点から見て複数の最急方位に位置し、いずれかの等高線点列上又は前記段差領域代表点列上に位置する複数の近接点と、当該格子点から見て、当該複数の近接点のうちいずれかの等高線点列上にある一つ又は複数の近接点のそれぞれより遠方に位置し、それぞれの近接点に対して最急方位に位置する近接点とを含むことを特徴とする請求項３又は４に記載の標高データ生成プログラム。
【請求項６】
複数の等高線と複数の特定点を含む２次元地図画像に含まれた前記複数の等高線のそれぞれを点列で表す、記憶装置にあらかじめ記憶された等高線点列データと前記複数の特定点の位置と標高を表す、前記記憶装置にあらかじめ記憶された特定点データから、当該地図を格子に分割して得られる格子点群のそれぞれの格子点の標高を示す標高データを生成するための標高データ生成プログラムであって、
前記等高線点列データに基づいて、各格子点について、前記複数の等高線点列の少なくとも二つの上にそれぞれ位置し所定の第１の条件を満たす複数の近接点を検出する第１検出ステップと、
当該格子点について前記第１検出ステップで検出された前記複数の近接点の位置と標高に基づいて、当該格子点の標高を決定する決定ステップと、
前記等高線点列データと前記特定点データとに基づいて、各特定点について、いずれかの等高線点列上に位置し所定の第２の条件を満たす少なくとも一つの近接点を検出する第２検出ステップと、
当該特定点について、所定の第３の条件を満たし当該特定点に近接した、標高を補正すべき格子点を検出する第３検出ステップと、
当該特定点の位置と標高と、当該特定点に対して前記第２検出ステップで検出された、当該特定点の前記少なくとも一つの近接点の位置と標高と、前記第３検出ステップで当該特定点に対して検出された前記近接した格子点の位置とに基づいて、前記近接した格子点の標高を補正する補正ステップと、
をコンピュータに実行させることを特徴とする標高データ生成プログラム。
【請求項７】
いずれかの特定点が傾斜地上にあるとき、当該特定点に関して、前記第２検出ステップでは、前記少なくとも一つの近接点として、当傾斜地上にあり、異なる等高線点列上に位置する複数の近接点を検出し、
当該特定点に関して前記第３検出ステップで検出される、前記標高を補正すべき格子点は、当傾斜地上にある格子点であり、
前記補正ステップは、当該特定点の位置と標高と、前記第２検出ステップで検出された前記複数の近接点の位置と標高と、前記第３検出ステップで当該特定点に対して検出された前記近接した格子点の位置とに基づいて、当該近接した格子点の標高を補正する、
ことを特徴とする請求項６に記載の標高データ生成プログラム。
【請求項８】
いずれかの特定点が平地上にあるとき、当該特定点に関して前記第２検出ステップで検出される前記少なくとも一つの近接点は当該平地上にあり、かついずれかの等高線点列上にある一つの近接点であり、
当該特定点に関して前記第３検出ステップで検出される、前記標高を補正すべき格子点は、当該平地上にある格子点であり、
前記補正ステップは、当該特定点の位置と標高と、前記第２検出ステップで検出された前記一つの近接点の位置と、前記第３検出ステップで当該特定点に対して検出された前記近接した格子点の位置とに基づいて、当該近接した格子点の標高を補正する、
ことを特徴とする請求項６に記載の標高データ生成プログラム。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、崖等の段差領域を表す段差領域記号や、三角点あるいは基準点のような位置と標高が特定された複数の特定点が含まれた地図に対する等高線を記載した等高線地図上の等高線を表す等高線点列データから、当該地図を複数のメッシュに区切って得られる各メッシュの格子点の標高データを生成する標高データ生成方法、標高データ生成プログラム及び標高データ生成装置に関する。
【背景技術】
【０００２】
等高線を主に記載した等高線地図から等高線を表すデータである等高線点列データが生成される。このようにして等高線点列データを生成する方法はそれ自体公知である。等高線点列データは、ベクトル化と呼ばれる処理により、等高線地図上に曲線で表された等高線の各々を多数の連結した折れ線で近似し、折れ線上の多数の点を等高線の始点から終点に向けて並べ、それぞれの点の２次元位置と標高を表す点列データである。等高線を表す等高線地図を多数のメッシュに分割し、各メッシュの格子点の座標と標高を表す標高データが、上記多数の等高線に対する多数の等高線点列データから生成される。等高線地図からの等高線点列データの生成は、通常は標高データの生成とは別に実行される。本明細書では、等高線上の点と言う場合は、等高線点列データに含まれる点を指すものとする。更に、等高線点列データ内の隣接する１対の点を結ぶ線分上の点も、等高線点列データに含まれる点と言う場合もある。また、等高線点列データで表される等高線上の点を、簡単化のために等高線点列データ上の点又は等高線点列上の点又は等高線上の点と呼ぶことがある。
【０００３】
従来の等高線データからの標高データを生成するときには、標高を求めたい格子点の周囲の等高線の状況から、等高線付近の地形を何らかの方法で推定し、その格子点の標高を算出する。このときの推定方法には、地形の断面で標高補間を考える線形補間や曲線補間、より詳しく三次元で地形を推定する曲面補間等がある。線形補間を使って標高データを生成する方法の例は、例えば特許文献１に記載されている。曲面補間の例は、例えば特許文献２に示されている。線形補間は計算が簡単であるが、高度が直線的に変化するものと仮定しているため、実際の地形とはやや異なった結果が得られてしまうことが多い。曲線補間や曲面補間は、線形補間に比べてより現実に即して標高を推定でき、滑らかな三次元データを生成することができる。曲線補間法の具体例もいろいろ提案されており、例えば最急方位法は下記の非特許文献１に記載されている。
【特許文献１】特開平４−２９３０７８号公報
【特許文献２】特開平９−５０５３８号公報
【非特許文献１】プリマ他１，「高精度のＤＥＭを生成するためのアルゴリズムの開発」，写真測量とリモートセンシング，２００１年，第４０巻，第５号，ｐ．５２−６２
【発明の開示】
【発明が解決しようとする課題】
【０００４】
従来技術では、等高線地図に対する等高線点列データに基づいて格子点の標高データを決定している。しかし、現実の地形には崖や堤防あるいは急斜面のように、等高線では表すことができないほど標高が急激に変化する段差がある領域も多い。等高線地図上には特殊な記号を用いてこのような領域が示されている。以下ではこのような領域を段差領域と呼び、これを表すための記号を段差領域記号と呼ぶことにする。従来技術では、このような段差領域の存在を無視して標高データが決定されている。しかし、段差領域は周辺の格子点の標高に影響する。したがって、段差領域を考慮しないで決定された標高データは、段差領域の周辺の格子点の標高に関して正確さに欠けるという問題がある、
【０００５】
また、等高線データの生成に通常使用される等高線地図データには、一般には、等高線データの他に三角点、基準点等のような特定点の位置と標高を示すデータが含まれている。しかし、従来技術で等高線地図データから等高線データを生成するときには、これらの特定点に関するデータは利用されていない。このため、これらの特定点の近傍の格子点の標高が、これらの特定点の標高からみて矛盾すると思われる値になっていることがある。特に、等高線のみでは標高を正確に決めにくい場所、例えば山の頂上等では、山頂に設けられた特定点の標高値と大きく異なる標高が決定される場合がある。
【０００６】
したがって、本発明の第１の目的は、地図上に存在する崖や堤防や急斜面のような段差領域を反映させて、等高線データからより正確な標高データを生成することを可能にする、標高データ生成方法及び標高データ生成プログラムを提供することである。
本発明の第２の目的は、地図上に存在する三角点、基準点のような特定点の標高を反映させて、より正確な標高データを生成可能にする、標高データ生成方法及び標高データ生成プログラムを提供することである。
【課題を解決するための手段】
【０００７】
上記第１の目的を達成するために、請求項１記載の本発明に係る標高データ生成方法は、等高線及び段差領域記号を含む２次元地図画像に含まれた複数の等高線のそれぞれを点列で表す、記憶装置にあらかじめ記憶された等高線点列データと当該段差領域記号で表された段差領域を代表する点列を表す、前記記憶装置にあらかじめ記憶された段差領域代表点列データから、当該地図を格子に分割して得られる格子点群のそれぞれの格子点の標高を示す標高データを生成するための、処理装置によって実行される標高データ生成方法である。
更に、本方法は、前記等高線点列データと前記段差領域代表点列データに基づいて、各格子点について、前記複数の等高線点列の少なくとも一つの上又は前記段差領域代表点列上にそれぞれ位置し所定の条件を満たす複数の近接点を検出する検出ステップと、各格子点について、前記検出ステップで検出された複数の近接点の中に前記段差領域代表点列上に位置する近接点が含まれているか否かを判別する判別ステップと、前記複数の格子点のうち、前記検出ステップで検出された複数の近接点の中に前記段差領域代表点列上に位置する近接点が含まれていないと前記判別ステップで判別された第１種の格子点については、当該複数の近接点の位置と標高に基づいて、当該第１種の格子点の標高を決定する第１標高決定ステップと、前記複数の格子点のうち、前記検出ステップで検出された複数の近接点の中に前記段差領域代表点列上の近接点が含まれていると前記判別ステップで判別された第２種の格子点については、当該段差領域代表点列上にはなく、互いに隣接する一組の等高線点列の間にあり、他の所定の条件を満たす、当該格子点の少なくとも一つの近接した格子点を追加して検出する追加検出ステップと、当該第２種の格子点について、前記検出ステップで検出された前記複数の近接点の中のいずれかの等高線点列上にある少なくとも一つの近接点の位置と標高と、前記追加して検出された前記少なくとも一つの近接格子点の位置と、前記一組の等高線点列のそれぞれの標高とに基づいて当該第２種の格子点の標高を決定する第２標高決定ステップと、を含むものである。
これにより、段差領域が地図に含まれている場合でも、その近傍の格子点の標高を決定できるようになる。
【０００８】
上記第２の目的を達成するために、請求項２記載の本発明に係る標高データ生成方法は、複数の等高線と複数の特定点を含む２次元地図画像に含まれた前記複数の等高線のそれぞれを点列で表す、記憶装置にあらかじめ記憶された等高線点列データと前記複数の特定点の位置と標高を表す、前記記憶装置にあらかじめ記憶された特定点データから、当該地図を格子に分割して得られる格子点群のそれぞれの格子点の標高を示す標高データを生成するための、処理装置により実行される標高データ生成方法である。更に本方法は、前記等高線点列データに基づいて、各格子点について、前記複数の等高線点列の少なくとも二つの上にそれぞれ位置し所定の第１の条件を満たす複数の近接点を検出する第１検出ステップと、当該格子点について前記第１検出ステップで検出された前記複数の近接点の位置と標高に基づいて、当該格子点の標高を決定する決定ステップと、前記等高線点列データと前記特定点データとに基づいて、各特定点について、いずれかの等高線点列上に位置し所定の第２の条件を満たす少なくとも一つの近接点を検出する第２検出ステップと、当該特定点について、所定の第３の条件を満たし当該特定点に近接した、標高を補正すべき格子点を検出する第３検出ステップと、当該特定点の位置と標高と、当該特定点に対して前記第２検出ステップで検出された、当該特定点の前記少なくとも一つの近接点の位置と標高と、前記第３検出ステップで当該特定点に対して検出された前記近接した格子点の位置とに基づいて、当該近接した格子点の標高を補正する補正ステップと、を含むものである。
これにより、三角点、基準点のような特定点の標高を反映したより正確な標高データを生成することが可能になる。
【０００９】
本発明の第１の目的を達成するために、請求項３に記載の本発明に係るプログラムは、等高線及び段差領域記号を含む２次元地図画像に含まれた複数の等高線のそれぞれを点列で表す、記憶装置にあらかじめ記憶された等高線点列データと当該段差領域記号で表された段差領域を代表する点列を表す、前記記憶装置にあらかじめ記憶された段差領域代表点列データから、当該地図を格子に分割して得られる格子点群のそれぞれの格子点の標高を示す標高データを生成するための標高データ生成プログラムである。
更に本プログラムは、前記等高線点列データと前記段差領域代表点列データに基づいて、各格子点について、前記複数の等高線点列の少なくとも一つの上又は前記段差領域代表点列上にそれぞれ位置し所定の条件を満たす複数の近接点を検出する検出ステップと、各格子点について、前記検出ステップで検出された複数の近接点の中に前記段差領域代表点列上に位置する近接点が含まれているか否かを判別する判別ステップと、前記複数の格子点のうち、前記検出ステップで検出された複数の近接点の中に前記段差領域代表点列上に位置する近接点が含まれていないと前記判別ステップで判別された第１種の格子点については、当該複数の近接点の位置と標高に基づいて当該第１種の格子点の標高を決定する第１標高決定ステップとをコンピュータに実行させるものである。
更に、本プログラムは、前記複数の格子点のうち、前記検出ステップで検出された複数の近接点の中に前記段差領域代表点列上の近接点が含まれていると前記判別ステップで判別された第２種の格子点については、当該段差領域代表点列上にはなく、互いに隣接する一組の等高線点列の間にあり、所定の他の条件を満たす、当該格子点の少なくとも一つの近接した格子点を追加して検出する追加検出ステップと、当該第２種の格子点について、前記検出ステップで検出された前記複数の近接点の中のいずれかの等高線点列上にある少なくとも一つの近接点の位置と標高と、前記追加して検出された前記少なくとも一つの近接格子点の位置と、前記一組の等高線点列のそれぞれの標高とに基づいて当該第２種の格子点の標高を決定する第２標高決定ステップと、をコンピュータに実行させるものである。
これにより、段差領域の近傍に位置する第２種の格子点の標高を、段差領域が存在しても決定することが可能になる。
【００１０】
より具体的には、前記第２種の格子点に対して追加して検出する前記少なくとも一つの近接格子点は、当該第２種の格子点について前記検出ステップで検出された前記複数の近接点の中のいずれかの等高線点列上にある前記少なくとも一つの近接点と当該第２種の格子点とを結ぶ線に対して異なる側にあり、それぞれ互いに隣接する一組の等高線点列の間にある、当該第２種の格子点に最近接の１対の格子点を含む。これにより、段差領域があってもその近傍の格子点の標高を比較的正確に決定することが可能になる。更に具体的には、各格子点に対して前記検出ステップで検出される前記複数の近接点は、当該格子点から見て複数の最急方位に位置し、いずれかの等高線点列上又は前記段差領域代表点列上に位置する複数の近接点を含む。これにより、地形に即して標高を比較的正確に決定できる。
【００１１】
更に具体的には、各格子点に対して前記検出ステップで検出される前記複数の近接点は、当該格子点から見て、当該複数の近接点のうちいずれかの等高線点列上にある近接点から見て一つ又は複数の近接点のそれぞれより遠方に位置し、それぞれの近接点に対して最急方位に位置する近接点を更に含む。これにより、地形に更に忠実に標高を決定可能になる。
【００１２】
本発明の第２の目的を達成するために、請求項６に記載の標高データ生成プログラムは、複数の等高線と複数の特定点を含む２次元地図画像に含まれた前記複数の等高線のそれぞれを点列で表す、記憶装置にあらかじめ記憶された等高線点列データと前記複数の特定点の位置と標高を表す、前記記憶装置にあらかじめ記憶された特定点データから、当該地図を格子に分割して得られる格子点群のそれぞれの格子点の標高を示す標高データを生成するための標高データ生成プログラムである。更に本プログラムは、前記等高線点列データに基づいて、各格子点について、前記複数の等高線点列の少なくとも二つの上にそれぞれ位置し所定の条件を満たす複数の近接点を検出する第１検出ステップと、当該格子点について前記第１検出ステップで検出された前記複数の近接点の位置と標高に基づいて、当該格子点の標高を決定する決定ステップとをコンピュータに実行させるプログラムである。更に、本プログラムは、前記等高線点列データと前記特定点データとに基づいて、各特定点について、いずれかの等高線点列上に位置し所定の条件を満たす少なくとも一つの近接点を検出する第２検出ステップと、当該特定点について、所定の条件を満たし当該特定点に近接した、標高を補正すべき格子点を検出する第３検出ステップと、当該特定点の位置と標高と、当該特定点に対して前記第２検出ステップで検出された、当該特定点の前記少なくとも一つの近接点の位置と標高と、前記第３検出ステップで当該特定点に対して検出された前記近接した格子点の位置とに基づいて、前記近接した格子点の標高を補正する補正ステップと、をコンピュータに実行させるプログラムである。
これにより、三角点、基準点のような特定点の位置と標高に合うように補正した標高データを生成可能になる。
【００１３】
より具体的には、請求項７の発明では、いずれかの特定点が傾斜地上にあるとき、当該特定点に関して、前記第２検出ステップでは、前記少なくとも一つの近接点として、当傾斜地上にあり、異なる等高線点列上に位置する複数の近接点を検出し、当該特定点に関して前記第３検出ステップで検出される、前記標高を補正すべき格子点は、当傾斜地上にある格子点であり、前記補正ステップは、当該特定点の位置と標高と、前記第２検出ステップで検出された前記複数の近接点の位置と標高と、前記第３検出ステップで当該特定点に対して検出された前記近接した格子点の位置とに基づいて、当該近接した格子点の標高を補正する。あるいは、請求項８の発明では、いずれかの特定点が平地上にあるとき、当該特定点に関して前記第２検出ステップで検出される前記少なくとも一つの近接点は当該平地上にあり、かつ、いずれかの等高線点列上にある一つの近接点であり、当該特定点に関して前記第３検出ステップで検出される、前記標高を補正すべき格子点は、当該平地上にある格子点であり、前記補正ステップは、当該特定点の位置と標高と、前記第２検出ステップで検出された前記一つの近接点の位置と、前記第３検出ステップで当該特定点に対して検出された前記近接した格子点の位置とに基づいて、当該近接した格子点の標高を補正することである。こうして傾斜地あるいは平地にある格子点の標高を特定点の標高に合うように補正した標高データを生成することができる。
【発明の効果】
【００１４】
したがって、本発明の望ましい態様によれば、地図上に存在する崖や堤防や急斜面のような段差領域があっても、この領域の近傍の格子点について標高データを生成することが可能になる。
更に、本発明の他の望ましい態様によれば、地図上に存在する三角点、基準点のような特定点の標高を近傍の格子点の標高に反映させて、より正確な標高データを生成することが可能になる。
【発明を実施するための最良の形態】
【００１５】
以下、本発明に係る標高データ生成方法、標高データ生成プログラム及び標高データ生成装置の一つの実施形態について図面を参照して説明する。
図１は、本発明に係る標高データ生成装置の一つの実施形態の概略ブロック図である。１は、等高線及び段差領域記号を含む２次元地図画像に含まれた複数の等高線のそれぞれを点列で表す等高線点列データと当該段差領域記号で表された段差領域を代表する段差領域代表点列データから、当該地図を複数のメッシュに分割して得られる格子点群のそれぞれの格子点の標高を示す標高データを生成する標高データ生成装置である。本生成装置１は、例えばパソコンあるいはワークステーションにより実現される処理装置１０、磁気ディスク記憶装置のような補助記憶装置２０、入出力装置３０とを備えている。入出力装置３０は、キーボード及びマウス等のポインティングデバイスを含む入力装置３１、ＣＲＴディスプレイ装置等の表示装置３２、プリンタ３３を備えている。
【００１６】
処理装置１０には、標高データ生成プログラム４０が組み込まれている。標高データ生成プログラム４０は、段差領域抽出部４１、最急方位探索部４２、標高計算部４３及び標高補正部４４という処理部からなり、等高線点列データから格子点の標高を示す標高データを生成する。処理装置１０は、標高データ生成プログラム４０内のそれぞれの処理部が実行されたときに、段差領域を抽出する機能ブロック、最急方位を探索する機能ブロック、標高を計算する機能ブロック及び標高を補正する機能ブロックという複数の機能ブロックとして動作する。したがって、処理装置１０には、プログラム４０のこれらの処理部により、対応する機能ブロックが実現されていることになる。したがって、段差領域抽出部４１、最急方位探索部４２、標高計算部４３及び標高補正部４４は、本発明に係る標高データ生成装置１の一つの実施の形態を実現することになる。標高データ生成プログラム４０は、本発明に係るプログラムの一つの実施の形態を実現するものであり、記録媒体に記録してあるいはネットワークを介して補助記憶装置２０に記憶され処理装置１０で実行される。標高データ生成プログラム４０は、記録媒体に記録されて又はネットワークを介して販売可能である。処理装置１０が標高データ生成プログラム４０を実行して標高データを生成する手順は、本発明に係る標高データ生成方法の一つの実施の形態を実現する。
【００１７】
補助記憶装置２０には、等高線点列データ２１Ａ、格子点データ２１Ｂ、三角点データ２２Ａ、基準点データ２２Ｂ、等高線地図画像データ２３、段差領域記号画像検出用標準パターン群２４があらかじめ記憶され、これらのデータを用いて、段差領域記号画像データ２５、段差領域代表点列データ２６、周辺点データリスト２７、最急方位データ２８、標高データ２９が生成される。
【００１８】
等高線点列データ２１Ａは、等高線地図内の複数の等高線のそれぞれを折れ線で近似して、それぞれの折れ線上に位置する複数の点列及び当該等高線の標高を表す標高値からなるデータである。本明細書では、等高線点列データ２１Ａを単に等高線２１Ａと呼ぶ場合がある。格子点データ２１Ｂは、等高線地図データを複数のメッシュに分割したときの複数の格子点の２次元座標（ｘ、ｙ）を示すデータである。三角点データ２２Ａ、基準点データ２２Ｂは、それぞれ等高線地図上にある三角点と基準点の座標と標高を表すデータである。本実施の形態ではこの等高線点列データ２１Ａ、三角点データ２２Ａ、基準点データ２２Ｂは既に等高線地図から生成され補助記憶装置２０に記憶されていると仮定している。
【００１９】
等高線地図画像データ２３は、等高線を示した地図画像データである。図２は、そのような等高線地図画像データ２３の例をいくつか示す。同図（ａ）は、傾斜地を表す等高線地図画像データの例であり、同図（ｂ）は、段差領域を有する等高線地図画像データの例であり、図において、２６０は、段差領域記号の例である。同図（ｃ）は、例えば山頂付近にある平地を表す等高線地図画像データの例であり、図では等高線Ｃ１がその平地の標高を表している例である。なお、図２においては、三角点、基準点は簡単化のために示していない。
【００２０】
図１に戻り、標高データ生成プログラム４０は、起動されると段差領域抽出部４１を実行する。段差領域抽出部４１は、等高線地図画像データ２３から、段差領域記号画像を表す段差領域記号画像データ２５を抽出する。等高線地図画像データ２３が図２（ｂ）の場合には、図３（ａ）に示すような段差領域記号２６０を示す段差領域記号画像データ２５が等高線地図画像データ２３から抽出される。当該画像データ２５は段差領域記号画像を２値のビットマップで表すデータである。
【００２１】
段差領域記号は地図画像の凡例で示される崖等を表す記号であり、地図により異なりうるが、図２（ｂ）の場合には、段差領域記号画像は、段差領域の断面の位置を大まかに表す第１の長い線分に、その線分上に一端を有する短い線分を長い線分からみて標高の高い側に複数並べた線図形となっている、したがって、段差領域記号画像は、段差領域の断面の形状と段差領域の幅により変化する。本実施の形態では、このような段差領域記号画像を抽出するためにパターンマッチングを使用する。補助記憶装置２０に記憶された段差領域記号画像検出用標準パターン群２４は、段差領域記号画像を構成する一部の画像を表す複数の部分標準パターンを含んでいる。図４（ａ）は、段差領域記号画像検出用標準パターン群２４に含まれるいろいろな標準パターンの例を示す。標準パターン群２４にはいろいろな方向を向いた部分標準パターンが含まれている。同図（ｂ）に示すパターンの方向をいろいろ変えて得られる複数のパターンを部分標準パターンとして追加してもよい。パターン認識技術については、例えば、舟久保  登著，「パターン認識」，１９９１年，共立出版株式会社，ｐ.１５−２２に紹介されている技術を使用することができる。
【００２２】
図５は、段差領域抽出部４１の処理の概略フローチャートである。まず、等高線地図画像データ２３から、各部分標準パターンにマッチする全ての部分画像を検出し（ステップＳ４１１）、検出された複数の部分画像の位置関係から連続して段差領域記号を形成する位置関係にある複数の部分画像とそれらを連結する順番とを決定し、決定結果にしたがってそれらの部分画像を連結して段差領域記号画像を示すビットマップ画像を得る（ステップＳ４１２）。この画像を表すビットマップデータを段差領域記号画像データ２５として補助記憶装置２０に記憶する（ステップＳ４１３）。更に、段差領域抽出部４１は、得られた段差領域記号画像データ２５を代表する段差領域代表点列データ２６を決定し、補助記憶装置２０に記憶する（ステップＳ４１４）。その後、未抽出の段差領域記号画像があるかを判断し（ステップＳ４１５）、あれば以上の処理を繰り返し、全ての段差領域記号画像の抽出が終了したときに段差領域抽出部４１の処理が終了する。
【００２３】
段差領域代表点列データ２６は、抽出された段差領域記号画像を代表する折れ線上の点列であり、当該代表点列データを構成する複数の点の位置座標（ｘ、ｙ）を始点から終点までの順番にしたがって連結したデータである。等高線地図画像上に複数の段差領域記号があるときには、それぞれに対して段差領域記号画像が抽出され、抽出されたそれぞれの段差領域記号画像を表す段差領域記号画像データ２５から、段差領域代表点列データ２６が生成される。
【００２４】
各段差領域記号画像データ２５に対して段差領域代表点列データ２６はいろいろな態様で定義することができる。例えば、段差領域記号画像が図３（ａ）の場合、図３（ｂ）に示すように、段差領域記号画像に含まれる短い線分の中央位置にある黒丸で示す点を連結する折れ線２６Ａに含まれる点列を表すデータを段差領域代表点列データ２６として使用することができる。あるいは、同図（ｃ）に示すように、段差領域記号画像を構成する複数の短い線分の頭部にある黒丸で示す点を連結する折れ線２６Ｂ上の点列のデータを段差領域代表点列データ２６に使用してもよい。あるいは同図（ｄ）に示すように、段差領域記号画像に含まれる長い線分と短い線分の交点にある黒丸で示す点を連結する折れ線２６Ｃに含まれる点列を使用することもできる。更には、同図（ｅ）に示すように、同図（ｃ）と（ｄ）に示す２つの折れ線２６Ｂと２６Ｃと、両端の短い線分２６Ｄと２６Ｅとを含み段差領域記号の外周を表す閉じた折れ線を使用してもよい。更には、段差領域記号の外周を表す閉じた折れ線に代えて、段差領域記号が実際に存在する範囲を示すように構成されているときあるいは地図上の段差領域の存在を示す別のデータが、地図上の各段差領域に対応して存在する場合には、段差領域の段差領域代表点列データを、当該段差領域の存在範囲を示す閉じた点列とすることも望ましい。本明細書では、格子点、格子点の近傍の最急方位点その他の注目する点が、段差領域点列上に位置する場合も段差領域内のいずれかに位置する場合も、区別せずに段差領域点列上に位置するあるいは段差領域上に位置すると呼ぶことがある。あるいは段差領域点列データ上に位置すると呼ぶ場合もある。また、段差領域代表点列データ２６を単に段差領域代表点列２６又は段差領域２６と呼ぶ場合がある。
【００２５】
図６は、図２（ｂ）の段差領域記号２６０に対して得られる段差領域代表点列データ２６を模式的に示す図である。以下では、図６に例示する画像を表す点列データを段差領域代表点列データ２６として使用する。
【００２６】
なお、本実施の形態では等高線地図画像データ２３上の段差領域記号画像を示す段差領域記号画像データ２５をパターンマッチングを用いて自動的に抽出しているが、場合によっては段差領域抽出部４１により、等高線地図画像データ２３を画面に表示させ、操作者に目視で段差領域記号画像を見つけさせ、当該段差領域記号画像を代表する当該段差領域記号画像上の点列を指定させ、この指定に従い段差領域抽出部４１が段差領域記号画像データ２５を生成するようにしてもよい。
【００２７】
図１に戻り、実行中の標高データ生成プログラム４０は、段差領域抽出部４１の実行後に、最急方位探索部４２を実行する。本発明に係る標高データ生成装置１は、等高線点列データと段差領域代表点列データに基づいて、各格子点について、等高線点列上又は段差領域代表点列上に位置し所定の第１の条件を満たす複数の近接点を検出するようになっている。更に、各格子点について前記検出ステップで検出された複数の近接点の中に段差領域代表点列上に位置する近接点が含まれているか否かを判別する。
【００２８】
具体的には、最急方位探索部４２は、各格子点に対し周囲の等高線の状況を調べ、各格子点について、等高線点列上又は段差領域代表点列上に位置し、上記所定の第１の条件として最も傾斜が急な方向にある複数の近接点を検出する。より具体的には、最急方位探索部４２の主な目的は、各格子点について最も傾斜が急な方向にあり、かつ、等高線点列上にある１対の互いに逆方向にある点（以下最急方位点と呼ぶことがある）ｐ１、ｐ２の位置と標高を検出し、それぞれの最急方位点に対して同様に最も傾斜が急な方向にあり、かついずれかの等高線点列上にある、元の格子点から見て遠方にある点（以下、２次最急方位点又は次最急方位点と呼ぶことがある）ｑ１、ｑ２の位置と標高を検出することである。なお、等高線上の点に代えて段差領域代表点列上の点が最急方位点あるいは２次最急方位点になるときにはそれらの点の位置を検出する。
【００２９】
更に、最急方位探索部４２は、以上の検出結果に基づいて当該格子点の属性を決定する。属性は、格子点の種別を表す属性であり、本実施の形態では、格子点の位置の種別を表す属性が使用される。具体的には、傾斜地点、平地点、段差領域隣接点、段差領域点という属性が使用される。最急方位探索部４２は処理結果として最急方位データ２８を生成し、補助記憶装置２０に記憶する。
【００３０】
図７は、最急方位データ２８の例を示す図である。このデータの一つの行が一つの格子点に対応するものであり、各行には、対応する格子点の座標２８０、属性２８１、最急方位ｐ１座標２８２、ｐ１標高２８３、最急方位ｐ２座標２８４、ｐ２標高２８５、２次最急方位ｑ１座標２８６、ｑ１標高２８７、２次最急方位ｑ２座標２８８、ｑ２標高２８９を含むように構成される。
【００３１】
図８は最急方位探索部４２の処理の概略フローチャートである。本最急方位探索部４２の処理は、非特許文献１に記載された最急方位法に比べると、段差領域がある等高線地図画像に対しても適用できるようになっている。まず、図７に例示したデータ構造を有するように最急方位データ２８の記憶領域を補助記憶装置２０内に確保し、格子点座標２８０に、補助記憶装置２０にあらかじめ記憶されている格子点データ２１Ｂ（図１）を記憶させる（ステップＳ４２１）。つぎに属性が決定されていない格子点の中の１つを選ぶ（ステップＳ４２２）。以下その格子点を選択格子点と呼ぶ。まず、選択格子点が段差領域代表点列２６上の点であるか否かを判別し（ステップＳ４２３）、そうであるときには、最急方位データ２８にその格子点の属性として段差領域点を記憶させる（ステップＳ４２４）。以下ではこの属性の格子点を段差領域点あるいは段差領域格子点と呼ぶことがある。その格子点の処理は終了し、処理はステップＳ４２９に移る。
【００３２】
ステップＳ４２３において選択格子点が段差領域代表点列２６上にないと判断された場合には、選択格子点の周囲の状況を調べるために、選択格子点から複数の方位、例えば１６方位に線分を延ばし、それぞれが等高線点列２１Ａ又は段差領域代表点列２６と最初に交わる点を周辺点として調べる。ここで得られた１６個の交点の座標と標高を、選択格子点に対する周辺点データリスト２７（図１）として、その選択格子点を識別する情報、例えば、選択格子点の座標と組にして記憶する（ステップＳ４２５）。このように、周辺点データリスト２７は、各格子点に対して、その格子点が選択されたときに生成される。もしいずれかの周辺点が選択格子点から延ばした線分と段差領域代表点列との交点であるときには、標高の代わりに、段差領域代表点列２６との交点であることを示し、かつ標高としてはあり得ない特定の値を記憶する。
【００３３】
つぎに、周辺点が全て等高線点列との交点であり、かつ、それらの標高が同一か否かを判断する（ステップＳ４２６）。周辺点が全て等高線点列との交点であり、かつ、それらの標高が同一であるときには、その格子点は平地に位置すると考えることができ、以下ではその格子点は平地上にあるとして扱う。したがって、その選択格子点の標高は、その周辺点の標高と同じである。しかし、後に選択格子点の近傍に三角点又は基準点がある場合に、選択格子点の標高を補正するための準備として、上記周辺点のうちで、選択格子点に最も近い最急方位点ｐ１と、選択格子点から見て反対方向にある点の中の最急方位点ｐ２を検出し、これらをいずれも選択格子点に対する最急方位点とし、それらの点の座標と標高を、最急方位データ２８（図７）内の上記選択格子点に対する最急方位ｐ１座標２８２、ｐ１標高２８３、最急方位ｐ２座標２８４、ｐ２標高２８５に記憶させ（ステップＳ４２７Ａ）、属性２８１として平地点を記憶させる（ステップＳ４２７Ｂ）。以下ではこの属性の格子点を平地点あるいは平地格子点と呼ぶことがある。その選択格子点に関する処理はこれで終了し、処理はステップＳ４２９に移る。
【００３４】
ステップＳ４２６において周辺点のいずれかが他と異なる等高線点列との交点あるいは段差領域代表点列との交点であると判断された場合には、選択格子点は平地上にない。このときには、上記１６個の周辺点のうちで、ともに異なる標高の等高線点列上にあるか又は異なる段差領域代表点列上にあるか、あるいは一方が等高線点列上にあり他方が段差領域代表点列上にあり、かつ、選択格子点の最急方位点ｐ１と選択格子点から見て当該最急方位点ｐ１と逆方向にある最急方位点ｐ２を選択格子点に対する最急方位点として検出し、これらの点の座標と標高を最急方位データ２８内に選択格子点に対応させて記憶させる（ステップＳ４２７Ｃ）。なお、点ｐ１、ｐ２のいずれかが段差領域代表点列上にあるときには、その標高としては、段差領域点を表す特定の値を記憶させるのは、既に述べた場合と同じである。
【００３５】
更に、上記ｐ１、ｐ２のうち、少なくともいずれか一方、例えばｐ１が等高線点列上に位置する場合には、点ｐ１についてステップＳ４２５と同様の処理により点ｐ１の周辺に位置する等高線点列上又は段差領域代表点列上に位置する１６個の周辺点を更に検出し、それらの周辺点のうちで、点ｐ１から見て最急方位にあり、かつ、点ｐ１から見て選択格子点とは逆方向にある２次最急方位点ｑ１を、選択格子点に対する２次最急方位点として検出する。同様に点ｐ２が等高線点列上に位置する場合には、対応する２次最急方位点ｑ２を検出する。これらの点ｑ１、ｑ２に関する座標と標高を、最急方位データ２８内の選択格子点に対する２次最急方位ｑ１座標２８６、ｑ１標高２８７、２次最急方位ｑ２座標２８８、ｑ２標高２８９に記憶させる。点ｑ１、ｑ２のいずれかが段差領域代表点列上にあるときには、その標高としては、段差領域点を表す特定の値を記憶させるのは、既に述べた場合と同じである（ステップＳ４２７Ｄ）。また、以上から分かるように、最急方位点ｐ１、ｐ２のいずれかが段差領域代表点列上の点であるときには、その点に対する２次最急方位点ｑ１又はｑ２は検出しない。
【００３６】
以上のようにして得られた、選択格子点に対する点ｐ１、ｐ２、ｑ１、ｑ２の中に段差領域点が含まれているか否かを判別する（ステップＳ４２８Ａ）。この判断は、選択格子点に対するそれぞれの点ｐ１、ｐ２、ｑ１、ｑ２の標高が段差領域点を表す特定の値であるか否かにより判別できる。もし選択格子点に対する点ｐ１、ｐ２、ｑ１、ｑ２のいずれもが段差領域点でないときには、選択格子点は付近に段差領域がない通常の傾斜地にあることになり、その属性として傾斜地点を最急方位データ２８内に記憶する（ステップＳ４２８Ｂ）。以下ではこの属性の格子点を傾斜地点あるいは傾斜地格子点と呼ぶことがある。このとき、点ｐ１とｑ１を結ぶ経路が、それぞれが位置する等高線に対する最急経路となり、点ｐ２とｑ２を結ぶ経路が、それぞれが位置する等高線に対する最急経路となる。もし選択格子点に対する点ｐ１、ｐ２、ｑ１、ｑ２のいずれかが段差領域点であるときには、選択格子点の属性として段差領域隣接点を最急方位データ２８に記憶させる（ステップＳ４２８Ｃ）。以下ではこの属性の格子点を段差領域隣接点あるいは段差領域隣接格子点と呼ぶことがある。以上のようにして選択格子点に対する処理が終了すると、未処理の格子点があるか否かが判断され（ステップＳ４２９）、未処理の格子点があるときには、処理はステップＳ４２１に戻り、未処理の格子点がないときには、最急方位探索部４２の処理は終了する。
【００３７】
図９は、いろいろな属性の選択格子点を含む等高線地図画像の例を示す図である。同図（ａ）は、選択格子点ｓ０が、等高線点列データ２４１により指定される標高を有する平地格子点である場合の等高線地図画像の例を示している。選択格子点ｓ０が平地点である場合には、最急方位点ｐ１、ｐ２が検出されるが、２次最急方位点ｑ１、ｑ２は検出されない。同図（ｂ）は、選択格子点ｓ０が傾斜地にあり、その近傍に段差領域が存在しない傾斜地格子点である場合における、最急方位点ｐ１、ｐ２、２次最急方位点ｑ１、ｑ２の例を示す。同図（ｃ）は、選択格子点ｓ０が傾斜地にあり、しかも近傍に段差領域代表点列２６がある段差領域隣接点である場合の例を示している。この例では、選択格子点ｓ０に対して最急方位点ｐ１、ｐ２が検出されていて、点ｐ１が等高線点列上にあるため、対応する２次最急方位点ｑ１が検出されているが、点ｐ２が段差領域代表点列２６上にあるため、点ｐ２に対する２次最急方位点ｑ２は検出されていない。
【００３８】
図１に戻り、標高データ生成プログラム４０は、最急方位探索部４２の処理が終了すると、複数の格子点のうち、当該格子点に対して検出された複数の近接点の中に段差領域代表点列上に位置する近接点が含まれていない第１種の格子点について、当該複数の近接点の位置と標高に基づいて、当該第１種の格子点の標高を決定する。しかし、複数の格子点のうち、当該格子点に対して検出された複数の近接点の中に段差領域代表点列上の近接点が含まれている第２種の格子点については、当該段差領域代表点列上の近接点に代えて使用する、当該段差領域代表点列上にはない、当該格子点の他の少なくとも一つの近接点を追加して検出し、少なくとも当該追加して検出された少なくとも一つの他の近接点の位置と標高に基づいて当該第２種の格子点の標高を決定する。
【００３９】
より具体的には、標高データ生成プログラム４０は、各格子点の標高の決定のために標高計算部４３を実行する。標高計算部４３では、最急方位探索部４２により生成された最急方位データ２８に基づいて各格子点の標高が決定される。本実施の形態では、段差領域隣接点である格子点の標高も段差領域の存在を考慮して決定されるようになっている。すなわち、標高計算部４３では、最急方位探索部４２により決定された各格子点の属性に応じて異なる手順で標高を計算する。段差領域隣接点である格子点の標高を計算する際、周囲の傾斜地格子点のデータが使用される。このため、初めに傾斜地格子点の標高を計算した後、他の属性の格子点の標高を計算する。
【００４０】
図１０は、標高計算部４３の処理の概略フローチャートである。まず、属性が傾斜地点であり標高が決定されていない傾斜地格子点を選択する（ステップＳ４３１Ａ）。この選択は、最急方位データ２８に属性が傾斜地点とされている格子点であって、標高データ２９（図１）内の同じ座標を有する格子点に対して標高が記憶されていない格子点を検出することにより行うことができる。
【００４１】
その後、選択された傾斜地格子点に対して決定された最急方位点ｐ１、ｐ２、２次最急方位点ｑ１、ｑ２に関するデータに基づいて、当該格子点の標高を計算する傾斜地点用標高計算式を決定し（ステップＳ４３１Ｂ）、決定された標高計算式を用いて、当該傾斜地格子点の標高を決定し、決定した標高を標高データ２９（図１）内にその格子点の標高として記憶する（ステップＳ４３１Ｃ）。これらのステップＳ４３１Ｂ、Ｓ４３１Ｃの処理の詳細は後に説明する。その後、属性が傾斜地点であり標高が決定されていない傾斜地格子点がまだあるか否かを判別し（ステップＳ４３１Ｄ）、あればステップＳ４３１Ａに戻り、以上の処理を繰り返す。なければ、ステップＳ４３２Ａに移る。
【００４２】
ステップＳ４３２Ａでは、属性が平地点であり標高が決定されていない平地格子点を選択する。その後、選択された平地格子点に対して、当該格子点に対して決定された最急方位点ｐ１又はｐ２の標高をそのまま標高データ２９（図１）内にその格子点の標高として記憶する（ステップＳ４３２Ｂ）。その後、属性が平地点であり標高が決定されていない平地格子点がまだあるか否かを判別し（ステップＳ４３２Ｃ）、あればステップＳ４３２Ａに戻り、以上の処理を繰り返す。なければ、ステップＳ４３３Ａに移る。
【００４３】
ステップＳ４３３Ａでは、属性が段差領域隣接点であり標高が決定されていない段差領域隣接格子点を選択する。つぎに、選択された段差領域隣接点である格子点に対して決定された最急方位点ｐ１、ｐ２の両方が段差領域点であるか否かを判別する（ステップＳ４３３Ｂ）。この判別は、選択された格子点に対応する最急方位データ２８内の点ｐ１、ｐ２の標高が通常の標高を表さない特定の値であるか否かにより行うことができる。ｐ１、ｐ２の両方が段差領域点であるときには、選択された格子点は、２つの段差領域に挟まれた領域に位置し、近傍の等高線がそれらの段差領域より遠方にあるため、その格子点の標高を自動的に決定できないので、当該格子点の標高に代えて、標高が決定できないことを示す特定の値を標高データ２９に記憶させるか、あるいは、標高をユーザに入力させて標高データ２９に記憶させる（ステップＳ４３３Ｃ）。ユーザが標高を決定する場合には、ユーザは、２つの段差領域の位置と、当該段差領域の周辺の等高線の位置と標高とに基づいて、選択格子点の標高を推定して入力する。その後処理はステップＳ４３３Ｄに移る。
【００４４】
ステップＳ４３３Ｂにおいてｐ１、ｐ２の少なくとも一方が段差領域点でないと判断されたときには、段差領域隣接点である格子点の標高を計算する段差領域隣接点用標高計算部５０を起動する。その処理の詳細は後に説明する。その後、処理はステップＳ４３３Ｄに移る。ステップＳ４３３Ｄでは、属性が段差領域隣接点であり標高が決定されていない段差領域隣接格子点がまだあるか否かを判別し、あればステップＳ４３３Ａに戻り、以上の処理を繰り返す。なければ、ステップＳ４３４Ａに移る。
【００４５】
本実施の形態では、属性が段差領域点である格子点の標高は計算されない。したがって、属性が段差領域点であり標高が判断されていない格子点に対しては、標高に代えて標高を決定できないことを示す特定の値を標高データ２９に記憶させる。このため、ステップＳ４３４Ａでは、属性が段差領域点であり標高が判断されていない段差領域格子点を選択する。つぎに、選択された段差領域点である格子点に対して、標高が決定できないむねを示す特定の値を標高データ２９に記憶させる（ステップＳ４３４Ｂ）。その後属性が段差領域隣接点であり標高が決定されていない格子点がまだあるか否かを判別し（ステップＳ４３４Ｃ）、あればステップＳ４３４Ａに戻り、以上の処理を繰り返す。なければ、標高計算部４３の処理が終了する。
【００４６】
図１１は、図１０のステップＳ４３１Ｂでの傾斜地点用標高計算式の決定例とステップＳ４３１Ｃでの傾斜地格子点の標高の計算を説明するための図である。同図（ａ）において、横軸は、等高線点列上で、点ｑ２、ｐ２、ｐ１、ｑ１を結ぶ折れ線をそれぞれの点の間の距離を維持しながら並べた直線上の座標Ｓを表す。点Ｓq2、Ｓp2、Ｓp1、Ｓq1は、それぞれ上記折れ線上の点ｑ２、ｐ２、ｐ１、ｑ１に対応する上記対応する直線上の位置を表し、Ｓ０は、傾斜地格子点である選択された格子点ｓ０に対する上記直線上の位置を表す。上記直線（横軸）の座標の原点は任意の点に決めてよい。
【００４７】
Ｌ１、Ｌ21、Ｌ22、Ｌ３はそれぞれ点Ｓp1と点Ｓq1との間の距離、点Ｓ０と点Ｓp1との間の距離、点Ｓp2と点Ｓ０との間の距離、点Ｓq2と点Ｓp2との間の距離を表す。縦軸は標高を表し、ｈp1、ｈp2、ｈq1、ｈq2はそれぞれ、点ｐ１、ｐ２、ｑ１、ｑ２における標高を表し、これらの標高は、それぞれの点を通過する等高線の標高として等高線点列データ２１Ａにより与えられていて、既に選択格子点に対応して最急方位データ３８内に記憶されている。Ｈ１、Ｈ２、Ｈ３はそれぞれ、点ｑ１とｐ１間の標高差、点ｐ１、ｐ２間の標高差、点ｐ２とｑ２間の標高差を表す。
【００４８】
同図（ｂ）は、格子点ｓ０の標高を算出するための計算式の例として使用する、上記折れ線上の距離Ｓの３次元エルミート関数を示す。この関数が傾斜地点用標高計算式として使用される。同図（ｃ）は、上記関数ｆ(Ｓ)を決定するための条件を示す図である。符号５１、５２は、それぞれ点ｐ１、ｐ２における標高が、点ｐ１、ｐ２における等高線の標高ｈp1、ｈp2であることを示し、α、βは後述の平均勾配を示す。
【００４９】
１次差分法により上記エルミート関数を決定するときには、上記α、βは符号５５、５６により与えられる。符号５５は点ｐ２、ｑ１の間の平均勾配αを表し、符号５６は点ｑ２、ｐ１の間の平均勾配βを表し、符号５３は点ｐ１における関数ｆ(Ｓ)の微係数（勾配）が上記平均勾配αに等しいことを示し、符号５４は点ｐ２における関数ｆ(Ｓ)の微分係数（勾配）が上記平均勾配βに等しいことを示す。これらの６つの条件により、同図（ｂ）に示す３次元関数の係数ａ、ｂ、ｃ、ｄを決定できる。こうして傾斜地点用標高計算式が決定される。
【００５０】
図１０のステップＳ４３１Ｂでは、以上の考えにより図１１（ｂ）に示す傾斜地点用標高計算式が決定され、同図のステップＳ４３１Ｃでは、上記決定された計算式において、格子点ｓ０に対応する横軸上の座標Ｓ０を入力することにより、格子点ｓ０における標高が計算される。
【００５１】
以上のように、標高計算部４３は、選択格子点が段差領域隣接点でないとき、すなわち、選択格子点の所定の第１の条件を満たす近接点であるｐ１、ｐ２、ｑ１、ｑ２のいずれもが段差領域点でないときには、それらの近接点の位置と標高に基づいて当該選択格子点の標高を決定している。
【００５２】
図１２は、選択格子点が、それに対応する最急方位点ｐ１、ｐ２の一方が段差領域点であるために段差領域隣接点と判断される等高線地図画像の例を示す図である。図では、選択格子点ｓ０に対する最急方位点ｐ１が等高線Ｃ２上にあり、他の最急方位点ｐ２が段差領域代表点列２６上にある段差領域点である例を示している。点ｐ１に対応する２次最急方位点ｑ１は等高線Ｃ１にあると仮定されている。点ｐ２に対する２次最急方位点ｑ２は検出されていない。
【００５３】
図１３は、選択格子点が、それに対応する２次最急方位点ｑ１、ｑ２の少なくとも一方が段差領域点であるために段差領域隣接点と判断される等高線地図画像の例を示す図である。図では、選択格子点ｓ０に対する最急方位点ｐ１、ｐ２がそれぞれ等高線点列Ｃ５、Ｃ６上にあり、２次最急方位点ｑ２が段差領域代表点列２６上にある段差領域点である例を示している。２次最急方位点ｑ１は等高線Ｃ７上にあるとする。図において、点ＡとＢは、点ｑ２に最も近く、点ｐ２とｑ２を結ぶ線分の両側に位置する傾斜地格子点であり、点ｐ1a、ｐ2a、ｑ1a、ｑ2ａは、格子点Ａに対する最急方位点、２次最急方位点である。点ｐ1b、ｐ2b、ｑ1b、ｑ2bは、格子点Ｂに対する最急方位点、２次最急方位点である。なお、段差領域隣接点用標高計算部５０は、点ｑ１に代えて点ｑ２が段差領域点である場合あるいは点ｑ１、ｑ２の両方がともに段差領域点である場合にも以下に説明する点ｑ１が段差領域点である場合の説明を適用できる。
【００５４】
図１４は、段差領域隣接点用標高計算部５０の処理の概略フローチャートである。まず、選択格子点ｓ０に対する最急方位点ｐ１、ｐ２の少なくとも一方が段差領域点であるか否かが判断される（ステップＳ５０１）。図１２の場合には、最急方位点ｐ２が段差領域点であり、図１３では、ｐ１、ｐ２とも段差領域点でない。
【００５５】
図１２のような場合には、選択格子点の最急方位点ｐ２が段差領域点であり、その標高を正確に推定することが難しい。したがって、選択格子点ｓ０の標高を推定することも難しい。このため、本発明では、段差領域点（ｐ２）の近傍に位置するために段差領域隣接点と判断された選択格子点ｓ０については、当該選択格子点の所定の第２の条件を満たす他の近接点を検出して、当該選択格子点の標高を、少なくとも当該他の近接点の位置と標高に基づいて決定する。より具体的には、このような段差領域隣接点である選択格子点の周辺の地形は、段差領域を除けば、近傍に位置する傾斜地点である傾斜地格子点における地形に近いものと推測される。したがって、標高計算部４３は、選択格子点に対する二つの最急方位点ｐ１、ｐ２の一方が段差領域点である場合に、当該選択格子点に最近接で傾斜地格子点である格子点を追加して検出する。
この場合、選択格子点ｓ０と最急方位点ｐ２を結ぶ線分の両側に位置する複数の傾斜地格子点に対する標高計算式を使用するほうが、片側に位置する傾斜地格子点の標高計算式を使用する場合より正確に、選択格子点の標高を推定できると考えられる。このため、本実施の形態では、選択格子点ｓ０と最急方位点ｐ２を結ぶ線分の両側に位置する一対の傾斜地格子点に対する標高計算式を使用して、選択格子点の標高を推定する。
【００５６】
その際、近傍の傾斜地格子点を通る折れ線の長さが異なるのが普通であり、選択格子点を通る折れ線の長さが、近傍の傾斜地格子点を通る折れ線の長さより長いときには、近傍の傾斜地格子点の周辺の地形を反映して選択格子点の標高を決定するには、近傍の傾斜地格子点を通る折れ線の長さを選択格子点を通る折れ線の長さに等しくなるように延長して近傍の格子点の標高計算式を使用することが望ましい。逆に、選択格子点を通る折れ線の長さが近傍の傾斜地格子点を通る折れ線の長さより短いときには、近傍の傾斜地格子点を通る折れ線の長さを選択格子点を通る折れ線の長さに等しくするように短縮して近傍の格子点の標高計算式を使用することが望ましい。
【００５７】
したがって、本実施の形態では、選択格子点の両側に位置する２つの最急方位点と当該選択格子点を結ぶ折れ線の座標の範囲と、近傍の傾斜地格子点の両側に位置する最急方位点と当該傾斜地格子点を結ぶ折れ線上の座標の範囲を、例えば０から１というように一致させるように、後者の長さと座標を前者の長さと座標に合わせて、当該近傍の傾斜地格子点に対する標高計算式を利用する。
【００５８】
すなわち、ステップＳ５０１で、ｐ１、ｐ２の一方（例えばｐ２）が段差領域点であると判断された場合、処理はステップＳ５０２に移り、そこでは選択格子点について、当該格子点に最も近い２つの傾斜地格子点であって、点ｐ１、ｐ２を結ぶ線の両側に位置する１対の傾斜地格子点Ａ、Ｂを検出する。
【００５９】
検出された傾斜地格子点Ａ、Ｂのそれぞれの標高を計算するための標高計算式ｆａ(Ｓａ)、ｆｂ(Ｓｂ)は、既に図１０のステップＳ４３１Ｂで決定されている。ここでＳａは、点Ａに対する最急方位点ｐ1a、ｐ2a、２次最急方位点ｑ1a、ｑ2aを通る折れ線上の座標を表す。同様に、Ｓｂは点Ｂに対する最急方位点ｐ1b、ｐ2b、２次最急方位点ｑ1b、ｑ2bを通る折れ線上の座標を表す。ステップＳ５０３では、関数ｆａ(Ｓａ)の変数Ｓａの代わりに、点ｐ1a、ｐ2aの間で０〜１になるように正規化した変数Ｓａ’を使用する関数ｆap1p2(Ｓａ')を関数ｆａ(Ｓａ)から生成する。同様に、関数ｆｂ(Ｓｂ)の変数Ｓｂの代わりに、点ｐ1b、ｐ2bの間で０〜１になるように正規化した変数Ｓｂ’を使用する関数ｆbp1p2(Ｓｂ')を関数ｆｂ(Ｓｂ)から生成する。
【００６０】
つぎに、ステップＳ５０４において、これら２つの関数を重みを付けて加算し、選択格子点ｓ０の標高を求める関数ｆ（Ｓ０'）を以下の式（１）のように決定する。
ｆ(Ｓ０')＝（ｋａ/(ｋａ＋ｋｂ))×ｆap1p2(Ｓ０')
＋（ｋｂ/(ｋａ＋ｋｂ))×ｆbp1p2(Ｓ０')            （１）
ここで、ｋａ、ｋｂは、それぞれ選択格子点ｓ０から最近接の傾斜地格子点Ａ、Ｂまでの等高線点列上の距離であり、Ｓ０’は、それぞれ選択格子点ｓ０を通る折れ線上の選択格子点の座標であり、Ｓ０'は、それぞれ当該折れ線に対応する横軸上の点ｐ２、ｐ１で値０、１になるように正規化されている。
【００６１】
つぎに、ステップＳ５０５において、得られた関数の変数に選択格子点ｓ０の座標Ｓ０'を入力し、その標高を得て標高データ２９に格納する。こうして選択格子点が段差領域隣接点である場合でもその標高を得ることができる。こうして、最急方位点ｐ１、ｐ２のいずれかが段差領域隣接点である場合の段差領域隣接点用標高計算部５０の処理は終了する。このように、段差領域点ｐ２に隣接する選択格子点の標高を、近傍の傾斜地格子点に対する標高計算式を使用して決定することができる。点ｐ１が段差領域点である場合の隣接する選択格子点についても、同様に点ｐ１の近傍の傾斜地格子点に対する標高計算式を使用して決定することができる。
なお、式１において、ｋａとして、選択格子点ｓ０から、変数Ｓ０'と同じ値を有する、傾斜地格子点Ａを通る折れ線上の点までの距離を用いてもよい。Ｋｂについても同様である。また、選択格子点の近傍の傾斜地格子点として、上記のような１対の傾斜地格子点より多い傾斜地格子点を使用してもよい。
【００６２】
このように、標高計算部４３は、選択格子点ｓ０の近接点である点ｐ１、ｐ２の一方（例えばｐ２）が段差領域代表点列上にあるとき、点ｐ２に近接する他の近接点として傾斜地格子点である格子点Ａ、Ｂを追加して検出し、前記追加して検出された他の近接点（ＡとＢ）の位置と標高に基づいて当該第２種の格子点の標高を決定している。より具体的には、点Ａ又はＢのそれぞれに対する二つの最急方位点（ｐa1とｐa2又はｐb1とｐb2）と当該格子点Ａ又はＢを結ぶ折れ線に対して決定された標高計算式を利用して、選択格子点に対する標高決定式を決定している。更に、選択格子点ｓ０に対する近接点ｐ１、ｐ２と当該選択格子点を結ぶ折れ線上の当該選択格子点の座標と当該決定された標高決定式に基づいて、選択格子点ｓ０の標高を決定している。当該選択格子点の座標は、正規化されていて、その正規化された座標は、近接点ｐ１、ｐ２、選択格子点ｓ０の位置に依存しているので、当該選択格子点の標高は当該近接点ｐ１、ｐ２の位置にも依存して検出されていることにはなる。
【００６３】
もしステップＳ５０１において、点ｐ１、ｐ２のいずれもが段差領域隣接点でないと判断されたときには、段差領域隣接点の定義から判断して、選択格子点に対する２次最急方位点ｑ１又はｑ２の少なくとも一方が段差領域点である。例えば、図１３の場合には点ｑ２が段差領域点である。図１２においては、標高を決定すべき選択格子点の一方の最急方位点ｐ２が段差領域上にあり、当該点ｐ２に代えて他の一対の傾斜地格子点を使用して選択格子点の標高を決定した。図１３においては、２次最急方位点ｑ２が段差領域上であるので、図１２の場合と同様に、点ｑ２の近傍の一対の傾斜地格子点を使用して、点ｑ２の標高を推定し、それを用いて選択格子点の標高を決定できることが期待される。
【００６４】
そこで、段差領域隣接点用標高計算部５０では、図１４に示すようにステップＳ５０１において点ｐ１、ｐ２のいずれもが段差領域隣接点でないと判断されたときには、ステップＳ５０６において、点ｑ１、ｑ２のいずれかが段差領域点であるか否かを判別する。図１３の場合にはｑ２が段差領域点であるであると判断されることになる。ステップＳ５０７において、判別された段差領域点（図１３ではｑ２）に関して、ステップＳ５０２と同じ処理を行い、近傍の傾斜地格子点（図１３の場合には格子点Ａ、Ｂ）を検出する。なお、ステップＳ５０５において判別された段差領域点がｑ１、ｑ２の両方であるときには、それぞれについて、ステップＳ５０２の処理を実行する。
【００６５】
つぎにステップＳ５０８において、段差領域点と判断された２次最急方位点（例えばｑ２）に対して検出された近傍の傾斜地格子点（図１３の場合には格子点Ａ、Ｂ）に関して、ステップＳ５０３と同様な処理を実行して、それぞれの点に関する正規化された標高計算式を決定する。更に、ステップＳ５０９において、ステップＳ５０４と同様な処理を行い、段差領域点と判別された２次最急方位点（例えばｑ２）と対応する最急方位点（ｐ２）を結ぶ線分に対する標高計算式を決定する。その後、ステップＳ５１０において、得られた計算式に段差領域点（例えばｑ２）の座標Ｓ０'の値（図１３の場合には０）を入力して、段差領域点（例えばｑ２）の標高を得て標高データ２９に格納する。
【００６６】
こうして、２次最急方位点ｑ２が段差領域点である場合にもその標高を推定できたので、点ｐ１、ｐ２、ｑ１、ｑ２の標高が全て決定できたことになる。したがって、ステップＳ５１１において、図１０に示された、選択格子点が傾斜地点である格子点の場合におけるステップＳ４３１Ｂと同じく傾斜地用標高計算式を決定し、ステップＳ５１２において、図１０のステップＳ４３１Ｃと同様に、得られた計算式に従って選択格子点の標高を決定すればよい。こうして段差領域隣接点用標高計算部５０の処理が終了し標高計算部４３の処理も終了する。
【００６７】
以上から分かるように、選択格子点の２次最急方位点ｑ１、ｑ２の一方（例えばｑ２）が段差領域上に位置する場合も、選択格子点に対する他の所定の条件を満たす他の近接点として当該点ｑ２に最近接の傾斜地格子点を検出して、当該ｑ２点の標高を、それらの傾斜地格子点の位置と標高に依存して決定し、その後点ｐ１、ｐ２、ｑ１、ｑ２に基づいて選択格子点の標高を決定しているので、当該他の近接点の標高と位置に依存して選択格子点の標高を決定していることになる。勿論、選択格子点の標高は、点ｐ１、ｑ１の位置と標高と点ｑ２の位置にも依存している。
【００６８】
図１に戻り、標高データ生成装置１は、複数の等高線と三角点あるいは基準点のような複数の特定点を含む２次元地図画像に含まれた前記複数の等高線のそれぞれを点列で表す等高線点列データと前記複数の特定点の位置と標高を表す特定点データから、当該地図を格子に分割して得られる格子点群のそれぞれの格子点の標高を示す標高データを生成可能に構成されている。
【００６９】
既に述べたように、標高データ生成装置１は、等高線点列データに基づいて、各格子点について、等高線点列上に位置し所定の第１の条件を満たす複数の近接点を検出し、当該格子点について検出された前記複数の近接点の位置と標高に基づいて、当該格子点の標高を決定する。
【００７０】
標高データ生成装置１は、更に、前記等高線点列データと前記特定点データとに基づいて、各特定点について等高線点列上に位置し所定の第２の条件を満たす少なくとも一つの近接点を検出し、当該特定点について、所定の第３の条件を満たす当該特定点に近接した格子点を検出し、当該特定点の位置と標高と、当該特定点に対して検出された、当該特定点の前記少なくとも一つの近接点の位置と標高とに基づいて、当該特定点に対して検出された前記近接した格子点の標高を補正することができる。
すなわち、標高データ生成プログラム４０は、標高計算部４３により標高が決定された後に、特定点の近傍の格子点の標高を補正するために標高補正部４４を実行する。標高補正部４４は、三角点データ２２Ａ、基準点データ２２Ｂのような特定点データで示される標高に基づいて、特定点の近傍の格子点の標高を補正する。
【００７１】
図１５は、標高補正部４４の処理の概略フローチャートである。まず、三角点データ、基準点データ等の特定点データに基づいて標高を補正する対象とする周囲の格子点の存在範囲である補正範囲データＤmaxを、ユーザに入力装置３１（図１）により入力させる（ステップＳ４４１）。例えば、補正範囲データＤmaxは、補正範囲を三角点あるいは基準点を中心とする円形の範囲とする場合、その円の半径を示すものでもよく、補正範囲が三角点あるいは基準点を囲む正方形領域であるときには、その一辺の長さ又はその半分を指定してもよい。いずれの場合も、範囲は半径あるいは一辺又はその半分の長さを指定する代わりに、その長さに含まれる格子点の数を指定してもよい。
【００７２】
つぎに、三角点データ２２Ａ、基準点データ２２Ｂで示される多数の特定点の一つを選択する（ステップＳ４４２）。以下、選択された特定点を選択特定点と呼ぶことがある。選択特定点に対して最急方位探索部４２の処理を実行させる（ステップＳ４４３）。既に説明したように、この処理により、選択特定点に対して、最急方位点ｐ１、ｐ２の座標と標高、２次最急方位点ｑ１、ｑ２の座標と標高及び選択特定点の属性が、傾斜地点、平地点、段差領域隣接点、段差領域点であるかどうかが判別される。
【００７３】
つぎに選択特定点の属性を判別し（ステップＳ４４４）、属性が傾斜地点であるときには、当該選択特定点の標高を計算するための傾斜地特定点用標高計算式を決定する（ステップＳ４４５）。この決定方法は後に説明する。つぎに、得られた計算式に基づいて近傍の傾斜地格子点用標高補正式を決定する（ステップＳ４４６）。この決定方法も後に説明する。得られた標高補正式に基づいて、最初に指定され補正範囲Ｄmax内にある選択特定点の周辺の傾斜地格子点の標高を順次補正する（ステップＳ４４７）。なお、近傍の格子点が平地格子点、段差領域隣接格子点、段差領域格子点に対してはこの標高補正式を用いた補正は行わない。その後、未処理の三角点、基準点があるか否かが判別され（ステップＳ４４８）、まだあるときには処理はステップＳ４４２に戻る。もうないときには、標高補正部４４の処理は終了する。したがって、ステップＳ４４７により補正を適用できる特定点の条件は、特定点が最急探索部により傾斜地特定点と判断されることである。また、ステップＳ４４７で補正される近傍の格子点の条件は、傾斜地格子点であって、選択特定点からの距離があらかじめユーザが指定した範囲内のものである。
【００７４】
上記ステップＳ４４４において、選択特定点の属性が平地点であると判断されたときには、平地格子点用標高補正式を決定し（ステップＳ４４９）、ステップＳ４４７と同様に、選択特定点の周辺の平地格子点の標高を補正する（ステップＳ４５０）。したがって、ステップＳ４５０による補正を適用できる特定点の条件は、特定点が最急探索部により平地点と判断されることである。また、ステップＳ４５０で補正される近傍の格子点の条件は、平地点と判別された格子点であって、選択特定点からの距離があらかじめユーザが指定した範囲内のものである。平地格子点以外の格子点は選択特定点の近傍にある場合でも、ステップＳ４５０では標高は補正されない。
【００７５】
ステップＳ４５０の後、処理は、ステップＳ４４８に移る。ステップＳ４４４での判定の結果、選択特定点が、傾斜地格子点、平地格子点以外の格子点（例えば段差領域隣接格子点又は段差領域格子点）であるときには、当該選択特定点に基づく標高の補正はしないで処理はステップＳ４４８に移る。
【００７６】
周辺の格子点が段差領域隣接点であるときには、その標高は、既に説明したように、周辺の傾斜地格子点の標高と位置などの情報を利用して推定されている。したがって、選択特定点の標高に基づいてその推定を更に変更することは、２重の推定を行うことになるため、必ずしも望ましい結果が得られるとは限らない。したがって、本実施の形態では、選択特定点の標高を用いて段差領域隣接点に対する標高を補正することは省略している。しかし、そのような補正をするようにしてもよい。特に、段差領域隣接点である格子点の近傍にいずれかの選択特定点が位置し、前者に対して標高計算部４３により決定された標高と、選択特定点の標高の差があらかじめ定めた限度より大きい場合には、選択特定点の標高により適当に標高を補正するようにしてもよい。ただし、選択格子点が段差領域点である場合には、標高計算部４３もその標高を決定していないので、標高補正部４４は、段差領域点である選択格子点に対して補正は行わない。
【００７７】
図１６は、図１５のステップＳ４４５における傾斜地特定点用標高計算式を決定する手順を説明するための図である。同図（ａ）は、最急方位探索部４２により、選択特定点Ｉｎに基づいて、一例として等高線点列上に位置する最急方位点Ｂ、Ｃ、２次最急方位点Ａ、Ｄの位置と標高が決定されたことを示している。図ではこれらの点を標高が低いものから順に点Ａ、点Ｂ、点Ｃ、点Ｄとしている。選択特定点Ｉｎが傾斜地特定点であるときには、点Ａ、Ｂ、Ｃ、Ｄは全て傾斜地点であり、段差領域隣接点でもなく段差領域点でもない。
【００７８】
同図（ｂ）において、横軸は、等高線点列上で、点Ａ、Ｂ、Ｃ、Ｄを結ぶ折れ線をそれぞれの点の間の距離を維持しながら並べた直線上の座標Ｓを表す。点Ｓａ、Ｓｂ、Ｓｃ、Ｓｄは、それぞれ上記折れ線上の点Ａ、Ｂ、Ｃ、Ｄに対応する横軸上の座標を表し、Ｓinは、傾斜地点である選択された特定点Ｉｎに対する上記横軸上の座標を表す。横軸の座標の原点は原理的には任意の点に決めてよいが、後に述べる周辺の格子点の標高を補正するときのために、点Ｓｂ、Ｓｃの座標が０、１となるように、横軸の座標を正規化しておくのがよい。
【００７９】
Ｌ１、Ｌ21、Ｌ22、Ｌ３はそれぞれ点Ｓｃと点Ｓｄとの間の距離、点Ｓinと点Ｓｃとの間の距離、点Ｓｂと点Ｓinとの間の距離、点Ｓａと点Ｓｂとの間の距離を表す。縦軸は標高を表し、ｈａ、ｈｂ、ｈｃ、ｈｄはそれぞれ、点Ａ、Ｂ、Ｃ、Ｄにおける標高を表し、これらの標高は、それぞれの点を通過する等高線の標高として等高線点列データ２１Ａにより与えられている。ｈinは、選択特定点Ｉｎの標高であり、この標高は、特定点データにより与えられている。Ｈ１、Ｈ21、Ｈ22、Ｈ３はそれぞれ、点ＤとＣ間の標高差、点ＣとＩｎ間の標高差、点ＩｎとＢ間の標高差、点ＢとＡ間の標高差を表す。
【００８０】
選択特定点Ｉｎ付近の傾斜を表す式の例として使用する関数ｆｒ(Ｓ)の例は、同図（ｃ）の６０に示すように、横軸上の点ＳｂからＳinに対して有効な関数ｆr1(Ｓ)と、横軸上の点ＳinからＳｃに対して有効な関数ｆr2(Ｓ)により与えられる。いずれの関数も、図１１（ｂ）に例示されたのと同じく、上記折れ線上の（すなわち、折れ線に対する横軸上の）距離Ｓの３次元エルミート関数である。これら２つの関数の組が傾斜地特定点用標高計算式として使用される。
【００８１】
同図（ｄ）は、上記関数ｆr1(Ｓ)、ｆr2(Ｓ)を決定するための条件を示す図である。符号６１、６２は、それぞれ点Ｂ、Ｉｎにおける標高が点Ｂ、Ｉｎにおける等高線の標高ｈｂ、ｈinであることを示し、符号６３、６４は、関数ｆr1の点Ｂ、Ｉｎにおける微分係数（勾配）があらかじめ指定された値β、γであることを示す。符号６５、６６は、それぞれ点Ｉｎ、Ｃにおける標高が点Ｉｎ、Ｃにおける等高線の標高ｈin、ｈｃであることを示し、符号６７、６８は、関数ｆr2の点Ｉｎ、Ｃにおける微分係数（勾配）があらかじめ指定された値γ、αであることを示す。
【００８２】
１次差分法により上記エルミート関数ｆr1、ｆr2を決定するときには、上記α、β、γは、符号６９、７０、７１により与えられる。符号６９は点Ｉｎと点Ｄの間の平均勾配αを表し、符号７０は点Ａと点Ｉｎの間の平均勾配βを表し、符号７１は点Ｂと点Ｃの間の平均勾配γを示す。符号６３は点Ｂにおける関数ｆr1(Ｓ)の勾配が上記平均勾配βに等しいことを示し、符号６４は点Ｉｎにおける関数ｆr1(Ｓ)の勾配が上記平均勾配γに等しいことを示し、符号６７は点Ｉｎにおける関数ｆr2(Ｓ)の勾配が上記平均勾配γに等しいことを示し、符号６８は点Ｃにおける関数ｆr2(Ｓ)の勾配が上記平均勾配αに等しいことを示す。これらの条件により、関数ｆr1(Ｓ)、ｆr2(Ｓ)という二つの３次元関数のそれぞれの係数ａ、ｂ、ｃ、ｄが決定される。こうして関数ｆr1(Ｓ)、ｆr2(Ｓ)が決定され、傾斜地特定点用標高計算式ｆｒ(Ｓ)も決定される。
【００８３】
図１７は、以上のようにして得られた傾斜地特定点用標高計算式ｆｒ(Ｓ)を用いて、図１５のステップＳ４４６において傾斜地用標高補正式を決定する手順を説明するための図である。図において、選択特定点Ｉｎと、それに対して決定された最急方位点Ｂ、Ｃと、その選択特定点Ｉｎの近傍に位置する標高を補正する対象となる格子点Ｒとその格子点の最急方位点ｐr1、ｐr2とが示されている。
【００８４】
補正対象格子点Ｒの補正後の標高を表す傾斜地格子点用標高補正式は、次式ｆｍ(Ｓ)で与えられる。
ｆｍ(Ｓ)＝（１−Ｄ/Ｄmax）×ｆｒ(Ｓ)＋(Ｄ/Ｄmax)×ｆ(Ｓ)    （２）
ここで、ｆ(Ｓ)は、補正対象格子点Ｒの点ｐr1、ｐr2を結ぶ折れ線上での標高を与える傾斜地格子点用標高計算式であり、図１０のステップＳ４３１Ｂで決定されたものを、その折れ線を直線に延ばしたときのその線上での点ｐr1、ｐr2に対する座標が０、１となるように、直線上の座標を規格化したものである。上記式２において、変数Ｓの値として、この折れ線上における補正対象格子点Ｒの座標値Ｓ０を用いる。ｆｒ(Ｓ)は、ステップＳ４４５で決定された、選択特定点に対する傾斜特定点用標高計算式である。この変数Ｓも点ＢからＣに対応して値０、１となるように定めてある。Ｄmaxは、最初にユーザが指定した補正適用範囲データを示すものであり、Ｄは選択特定点Ｉｎから対象格子点Ｒまでの距離を表す。
【００８５】
この式２によれば、Ｄ＝０のときには、ｆｍ(Ｓ)は、ｆｒ(Ｓ)に等しくなり、選択特定点を通過する折れ線上の点の標高と一致し、Ｄ＝Ｄmaxのときには、ｆｍ(Ｓ)は、ｆ(Ｓ)に等しくなり補正はされないことが分かる。Ｄ＝Ｄmax/２のときには、ｆｍ(Ｓ)は、（ｆｒ(Ｓ)＋ｆ(Ｓ)）/２となる。したがって、選択特定点からの距離に応じて、選択特定点の標高の影響が減少することが分かる。なお、距離Ｄは、上記のような定義による距離Ｄでなくても、他の値を使用してもよい。補正用計算式２自身を変更してもよいのは言うまでもない。補正対象格子点Ｒが傾斜地点である格子点であるときには、上記式２が図１５のステップＳ４４６において決定される傾斜地格子点用標高補正式になる。
【００８６】
図１８は、選択特定点が平地点である場合に実行される、図１５のステップＳ４４９における平地格子点用標高補正式を決定する手順を説明する図である。同図（ａ）において、等高線Ｃ１、Ｃ２等がある等高線点列上において、格子点Ｒが等高線Ｃ１内にある平地上にあるとする。図において、ｐr1、ｐr2は格子点Ｒに対して検出された２つの最急方位点の例を示す。図１５の標高補正部４４の実行中に選択特定点Ｉｎに対してもその標高を無視して最急方位探索部４２を実行させた結果、選択特定点Ｉｎも平地点と判断された場合において、選択特定点Ｉｎとその近傍にある補正対象となる格子点Ｒとの位置関係と当該選択特定点の標高と当該平地の標高とにより、格子点Ｒの標高を補正することができる。選択特定点Ｉｎは、等高線が記載される地図上に存在する点として表示されるので、図でも選択特定点Ｉｎは格子点Ｒが位置する平面上にある点として表している。以下の標高の補正の説明のために、この特定点Ｉｎの垂直方向に位置し、この特定点の標高を有する点をＩｎ＊として示し、格子点Ｒの垂直方向に位置し、その標高を補正した後の点をＲ＊として示している。
【００８７】
具体的には、選択特定点Ｉｎと格子点Ｒを結ぶ線を格子点Ｒの後方に延長して等高線Ｃ１との交点Ｑを検出する。実際には、交点Ｑは、等高線Ｃ１の形状、位置によっては選択特定点Ｉｎよりかなり遠方に位置する場合もあるが、交点Ｑは、その点と選択特定点Ｉｎとの間の距離に依らず、図１７に示された選択格子点が傾斜地格子点の場合に検出された近接点Ｂ、Ｃと同様に、選択特定点Ｉｎの近傍の格子点の標高を補正するための、選択特定点Ｉｎの近接点と考える。点Ｑは等高線Ｃ１上の点であるため、標高は等高線Ｃ１が示す標高ｈptに等しい。選択特定点Ｉｎと点Ｑを結ぶ平面上の直線８０上に沿って選択特定点Ｉｎからの距離Ｄを変数として使用する。選択特定点Ｉｎの垂直方向に位置し、当該特定点Ｉｎの標高を有する点Ｉｎ＊と点Ｑを結ぶ直線９０上の点の標高を、直線８０上の距離Ｄにある点に対する補正後の標高を表す補正式に使用することができる。同図（ｂ）の符号７２は、直線９０が表す補正後の標高ｆｍ(Ｄ)を示す標高の補正式である。
【００８８】
同図（ｃ）は、補正式ｆｍ(Ｄ)に関する条件を示す。まず、符号７３に示すように、補正後の標高ｆｍは、選択特定点Ｉｎにおいては、選択特定点の標高ｈinに等しいことを示す。符号７４は、点Ｑにおける補正後の標高ｆｍは、元の等高線Ｃ１の標高ｈptに等しいことを示す。これらの条件により符号７２に示した補正式の係数ａ、ｂが決定される。その結果、選択特定点Ｉｎから点Ｑまでの距離をＤｑとすると、距離Ｄの位置における標高の補正式ｆｍ(Ｄ)は、同図（ｄ）の符号７５で示す式になる。格子点Ｒと選択特定点Ｉｎの間の距離をＤｒとすると、格子点Ｒに対する補正後の標高、すなわち点Ｒ＊の標高ｆｍ（Ｄｒ）は、同図（ｄ）の符号７６に示すものになる。
本発明は、以上の実施の形態に限定されるものではなく、発明の要旨を変更しない範囲内において変更、修正してもよいことは言うまでもない。例えば、以上の実施の形態では、格子点の位置を決定するために、最急方位法により格子点の近傍の等高線上の複数の点を決定したが、他の方法を使用して近傍の点を決定してもよい。
【図面の簡単な説明】
【００８９】
【図１】本発明に係る標高データ生成装置の一つの実施形態の概略ブロック図である。
【図２】等高線地図画像データのいくつかの例を示す図である。
【図３】段差領域記号画像及び段差領域代表点列の例を示す図である。
【図４】段差領域記号画像検出用標準パターン群の例を示す図である。
【図５】段差領域抽出部の処理の概略フローチャートである。
【図６】段差領域代表点列を模式的に示す図である。
【図７】最急方位データの例を示す図である。
【図８】最急方位探索部の処理の概略フローチャートである。
【図９】いろいろな属性の格子点を含む等高線地図画像の例を示す図である。
【図１０】標高計算部の処理の概略フローチャートである。
【図１１】傾斜地点用標高計算式の決定例と傾斜地点の標高の計算を説明するための図である。
【図１２】選択格子点が、対応する二つの最急方位点の一方が段差領域点であるために段差領域隣接点と判断される等高線地図画像の例を示す図である。
【図１３】選択格子点が、対応する二つの２次最急方位点の少なくとも一方が段差領域点であるために段差領域隣接点と判断される等高線地図画像の例を示す図である。
【図１４】段差領域隣接点用標高計算部の処理の概略フローチャートである。
【図１５】標高補正部の処理の概略フローチャートである。
【図１６】図１５における傾斜地特定点用標高計算式を決定する手順を説明するための図である。
【図１７】図１５での傾斜地特定点用標高補正式を決定する手順を説明するための図である。
【図１８】選択特定点が平地点である場合に実行される平地特定点用標高補正式を決定する手順を説明する図である。
【符号の説明】
【００９０】
２６０…段差領域代表記号画像、２６、２６Ａ、２６Ｂ、２６Ｃ…段差領域代表点列、ｐ１、ｐ２…最急方位点、ｑ１、ｑ２…２次最急方位点、ｓ０…格子点、Ｉｎ…三角点又は基準点。
【手続補正３】
【補正対象書類名】図面
【補正対象項目名】図１０
【補正方法】変更
【補正の内容】
【図１０】
2005106906.tif 000021
【手続補正４】
【補正対象書類名】図面
【補正対象項目名】図１１
【補正方法】変更
【補正の内容】
【図１１】
2005106906.tif 000022
【手続補正５】
【補正対象書類名】図面
【補正対象項目名】図１４
【補正方法】変更
【補正の内容】
【図１４】
2005106906.tif 000023
【手続補正６】
【補正対象書類名】図面
【補正対象項目名】図１５
【補正方法】変更
【補正の内容】
【図１５】
2005106906.tif 000024
【手続補正７】
【補正対象書類名】図面
【補正対象項目名】図１６
【補正方法】変更
【補正の内容】
【図１６】
2005106906.tif 000025