(57)【要約】【課題】対象システムの機能の追加・変更等によって対象システムに供給する地図データのフォーマットが変更になったとしても、新フォーマットによる地図データを効率よく作成できること。【解決手段】地図データ提供業者から提供される地図データフォーマットをもとにデータ項目単位に地図データを作成するメソッドを保存するスクリプト記述部保存手段と、メソッドＩＤと、地図データのデータ項目の配列順に次データ項目ＩＤとを関連付けて保存するフォーマット記述部保存手段と、フォーマット記述部保存手段から次データ項目ＩＤで指定される順にデータ項目を抽出し、対応するメソッドＩＤを抽出するフォーマット記述部実行手段と、このメソッドＩＤをもとにスクリプト記述部保存手段からメソッドを抽出して実行し、実行結果を順に出力するスクリプト記述部実行手段とを備える。【選択図】図１
2012073405.tif 000002
【特許請求の範囲】
【請求項１】
入力された地図データフォーマット（ＧＤＦ）によるデータ（以下、「ＧＤＦデータ」という）をもとに対象システムへ供給するための地図データを生成する地図データ生成装置であって、
地図データの各データ項目単位にデータ項目の識別情報、データ形式、データ長および前記ＧＤＦデータから地図データを作成する手順または関数であるメソッドの識別情報とを関連付け、さらに該地図データにおけるデータ項目の配列順に次のデータ項目の識別情報を関連付けて保存するフォーマット記述部保存手段と、
前記メソッドの識別情報ごとにメソッドを保存するスクリプト記述部保存手段と、
前記フォーマット記述部保存手段から、前記次のデータ項目の識別情報でリンク付けされた順にデータ項目を抽出し、該抽出したデータ項目に関連付けられたメソッドの識別情報を抽出するフォーマット記述部実行手段と、
前記フォーマット記述部実行手段によって抽出されたメソッドの識別情報をもとに、前記スクリプト記述部保存手段からメソッドを抽出して実行し、該実行の結果を該データ項目に関連付けられたデータ形式とデータ長で順に出力するスクリプト記述部実行手段と、
を備えたことを特徴とする地図データ生成装置。
【請求項２】
前記フォーマット記述部保存手段の一または二以上のデータ項目に夫々関連付けられている前記次のデータ項目の識別情報の書き換え条件を保存する設定ファイルと、
前記切替条件に基づいて前記次のデータ項目の識別情報を書き換えるリンク変更手段とを備えたことを特徴とする請求項１に記載の地図データ生成装置。
【請求項３】
地図データフォーマット（ＧＤＦ）によるデータ（以下、「ＧＤＦデータ」という）をもとに対象システムへ供給するための地図データを生成する方法であって、
地図データの各データ項目単位に該データ項目の形式とデータ長および前記ＧＤＦデータから地図データを作成する手順または関数であるメソッドとを関連付け、さらに該地図データにおける前記データ項目の配列順に前記メソッドをリンク付けしたことを特徴とする地図データ生成方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、地図データ提供業者から提供される地図データフォーマット（Geographic Data Format）のデータ（以下、「ＧＤＦデータ」という。）から、ナビゲーションシステムなど特定用途の対象システムに供給するためのオブジェクト（以下、「地図データ」という。）を効率よく生成することのできる地図データ生成装置および地図データ生成方法に関する。
【背景技術】
【０００２】
従来、地図データ提供業者から提供されるＧＤＦデータから対象システムに供給するために所定の形式にコンパイルして地図データが生成されている。
【０００３】
以下、図面を参照しながら従来の地図データ生成方法について説明する。
図２０は、従来の地図データ生成方法を実現するための装置（地図データ生成装置）９９のブロック図である。
【０００４】
ここで、地図データ生成装置９９は、キーボード、マウスなどの入力装置１０、ディスプレイなどの出力装置２０、ＣＰＵを有する演算装置３０、および、ハードディスクなどの記憶装置４０を有する汎用のコンピュータシステムで構成される。なお外部からのデータの入出力には、ＤＶＤ装置や通信ネットワークを介した外部サーバ等が用いられる場合があり、この場合は入力装置と出力装置を兼ねる場合もある。記憶装置４０の設定ファイル４４は、一般のＩＮＩファイルと同様に、処理するＧＤＦデータに関する情報と地図データ生成手段３２の処理に必要な情報等を定義したテキストデータである。
【０００５】
上記の構成を有する地図データ生成装置９９は、入力装置１０からテキスト形式のデータであるＧＤＦデータが入力されると、ＧＤＦデータ入力手段３１によって、線形状データ、領域形状データなど、所定の地図要素が抽出され、記憶装置４０のＧＤＦデータファイル４１（以下、単にＧＤＦデータ４１ともいう。）にバイナリ形式で保存される。そして、コンパイラとして機能する地図データ作成手段３２が、入力装置１０からの起動要求あるいは処理順序を定義したバッチファイルによって起動されると、設定ファイル４４とＧＤＦデータ４１をもとに対象システムごとの出力形式で地図データファイル４２（以下、単に地図データ４２ともいう。）を作成する。作成された地図データ４２は出力処理手段３３によって、ＤＶＤ装置などの出力装置２０へ出力される。各手段３１〜３３は、ＣＰＵの機能としてプログラムによって実現される。
【０００６】
図２１にＧＤＦデータ４１のデータ構成例を示す。これらのデータはＩＳＯ１４８２５：２００４によって標準化されているものの、特許文献２で指摘されているように、データ形式などは地図データ提供業者によって異なる場合がある。
【０００７】
地図データ提供業者から提供されるＧＤＦデータは、対象システムごとに異なる地図データとして生成され、夫々の対象システムに供給される。地図データ４２は、地域ごとに必要な地図要素（たとえば、道路や通行規制などの情報）を持たせるのが通常である。
【０００８】
地図データ作成手段３２の地図データ生成処理の一般的な処理手順は次の如くである。地図データ生成手段３２は起動されると、ＧＤＦデータ４１から地図データの生成に必要な情報を収集して、地域ごとに予め定められたアルゴリズムに基づいて出力対象の地図データのレコードデータに変換して、地図データファイル４２へ出力する。
【０００９】
従来は、地図データの項目追加などフォーマット変更の必要が生じると、その都度、地図データ生成手段３２のソースプログラムを修正していた。このとき、ＧＤＦデータ４１と地図データとは必ずしも１対１に対応するものではないので、修正ミスが発生する可能性がある。このため、プログラム設計者は、フォーマット変更に際して、常に地図データ生成手段３２のソースプログラム全体を入念に調べてソースプログラムを修正し、修正したソースプログラムをコンパイルして実行プログラムを生成して、当該プログラムを演算装置３０へロードして地図データ生成手段３２として機能させる必要があった。
【００１０】
また、プログラム設計者は、出力結果ファイルが正しく出力されたかを確認するために、バイナリデータを確認することになるが、通常、地図データファイル４２の各レコードは何万〜何十万個、場合によってはそれ以上存在する。このため、地図データフォーマット変更時のプログラム設計者の負担は大きかった。
【００１１】
なお、フォーマットの変更としては、不要となったレコードまたは項目を削除するという場合もあるが、基本的には上記と同様に地図データ作成手段３２のプログラム全体を解析して、慎重に修正する必要がある。
【００１２】
以上の如く、従来は対象システムへ供給するための地図データのフォーマットに変更があった場合、地図データ作成手段３２として機能するプログラムを都度改造しなければならず、ソースコードの変更及び追加に対する既存ロジックの影響範囲が広く作業量が多く、バグの発生する可能性が大きいという問題があった。また、既存ロジックの再利用性が低く、既存システムの設計担当者以外の担当者ではフォーマット変更への対応が困難である、といった問題があった。
【００１３】
これに対して、従来、地図データ提供業者から提供されるＧＤＦデータのフォーマット変更時の作業負担を軽減するための提案、あるいは、システムのハードウェア構成やＯＳ等に依存しないような地図データの生成方法についての提案がなされている。
【００１４】
たとえば、特許文献１では、記録媒体に地図元データとペアでＡＰＩ（アプリケーションプログラミングインタフェース）に対応したメソッドを記録しておき、このメソッドを用いて地図元データを読み出すことが記載されている。
【００１５】
しかし、特許文献１の技術を用いたとしても、対象システムへ供給するための地図データのフォーマットに変更があった場合は、メソッドの内容を調査して新しいフォーマット形式で出力するように変更しなければならずその作業負担の軽減が望まれる。
【００１６】
また、特許文献２は、ＧＤＦデータにおいて、記憶媒体である電子地図格納手段のメッシュ毎に管理された各ユニットに追加データを格納するための空き容量を設けておくことが記載されている。しかし、空き領域を設けておいても、実際にデータが追加になった場合、ＧＤＦデータから地図データを生成してその空き領域に格納仕様に基づいて所定の値を書き込むために地図データ作成手段３２のプログラムを書き変えなければならないという問題がある。
【先行技術文献】
【特許文献】
【００１７】
【特許文献１】特許第３９２７３０４号公報
【特許文献２】特開２００４−１９１４１９号公報
【発明の概要】
【発明が解決しようとする課題】
【００１８】
本発明は、上述のかかる事情に鑑みてなされたものであり、対象システムの機能の追加・変更等によって当該対象システムに供給する地図データのフォーマットが変更になったとしても、新しいフォーマットによる地図データを効率よく作成することのできる地図データ生成装置および地図データ生成方法を提供することを目的とする。
【課題を解決するための手段】
【００１９】
上記の目的を達成するため、本発明に関わる地図データ生成装置は、入力されたＧＤＦデータをもとに対象システムへ供給するための地図データを生成する地図データ生成装置であって、地図データの各データ項目単位にデータ項目の識別情報、データ形式、データ長および前記ＧＤＦデータから地図データを作成する手順または関数であるメソッドの識別情報とを関連付け、さらに該地図データにおけるデータ項目の配列順に次のデータ項目の識別情報を関連付けて保存するフォーマット記述部保存手段と、前記メソッドの識別情報ごとにメソッドを保存するスクリプト記述部保存手段と、前記フォーマット記述部保存手段から、前記次のデータ項目の識別情報でリンク付けされた順にデータ項目を抽出し、該抽出したデータ項目に関連付けられたメソッドの識別情報を抽出するフォーマット記述部実行手段と、前記フォーマット記述部実行手段によって抽出されたメソッドの識別情報をもとに、前記スクリプト記述部保存手段からメソッドを抽出して実行し、該実行の結果を該データ項目に関連付けられたデータ形式とデータ長で順に出力するスクリプト記述部実行手段と、を備えたことを特徴とする。
【００２０】
本発明では、フォーマット記述部とスクリプト記述部を設け、フォーマット記述部には地図データの各データ項目に合わせて、データ項目の識別情報（データ項目ＩＤ）を取り、データ形式やデータ長を定める出力定義データ、メソッドの識別情報、地図データにおけるデータ項目の配列順に次のデータ項目の識別情報を関連付けて記載する。フォーマット記述部実行手段は、この次のデータ項目の識別情報でリンク付けされた順にデータ項目の記述部を実行する。これにより、対象システムが要求する地図データの形式の変更に柔軟に対応することができる。また、メソッドは、フォーマット記述部とは別にスクリプト記述部で定義する。これによって、地図データ提供業者から提供されるＧＤＦデータの形式が変わってもスクリプト記述部を変更するのみで対応することができる。
【００２１】
また、本発明に係る地図データ生成装置は、さらに、前記フォーマット記述部保存手段の一または二以上のデータ項目に夫々関連付けられている前記次のデータ項目の識別情報の書き換え条件を保存する設定ファイルと、前記切替条件に基づいて前記次のデータ項目の識別情報を書き換えるリンク変更手段と、を備えたことを特徴とする。
【００２２】
本発明では、フォーマット記述部の「次のデータ項目の識別情報」を、日時や対象システムなど所定の条件によって書き換えることによって、自動的にその条件に合った地図データを作成する。
【００２３】
また、本発明に係る地図データ生成方法は、ＧＤＦデータをソースデータとして使用し、カーナビゲーション等対象システムへ供給するための地図データを生成する方法であって、地図データの各データ項目単位に該データ項目の形式とデータ長および前記ＧＤＦデータから地図データを作成する手順または関数であるメソッドとを関連付け、さらに該地図データにおける前記データ項目の配列順に前記メソッドをリンク付けしたことを特徴とする。
【００２４】
本発明では、出力仕様である地図データのデータ項目ごとにメソッドを設定し、これをデータ項目の順にリンク付けする。これにより、地図データの出力形式の変更に柔軟に対応することができる。
【発明の効果】
【００２５】
本発明によれば、フォーマット記述部の各データ項目に対応して設けられている次のデータ項目の識別情報を書き換えるのみで、地図データのデータ項目の変更・削除に対応することができ、作業効率が向上する。また、フォーマット記述部は、データ項目単位で記載されているので、地図データのデータ項目の追加に対しても、挿入箇所を即座に把握することができる。
【００２６】
また、設定ファイルによって、日時や対象システム等の切替条件により、次のデータ項目の識別情報を書き換えることによって、自動的に地図データの出力形式を変更することができ、利便性が向上する。
【図面の簡単な説明】
【００２７】
【図１】本発明の第１の実施の形態による地図データ生成装置１の機能ブロック図である。
【図２】カーナビゲーションシステム等で用いられる地図データの構造の一例である。
【図３】図１のフォーマット記述部４５のデータ構成の説明図である。
【図４】図１のフォーマット記述部４５の具体例である。
【図５】図２の各データ項目（アイテム）の基本構成図である。
【図６】図１のスクリプト記述部４６のデータ構成例である。
【図７】図１のフォーマット記述部実行手段３６のメイン処理の手順を示すフローチャートである。
【図８】図７のitemタグ処理の手順を示すフローチャートである。
【図９】図７のrecordタグ処理の手順を示すフローチャートである。
【図１０】図７のformatタグ処理の手順を示すフローチャートである。
【図１１】本発明の一実施例による新規項目追加時の地図データ４２の説明図である。
【図１２】本発明の一実施例による新規項目追加時の要求処理記載データ４３の説明図である。
【図１３】本発明の一実施例による既存項目変更時の地図データ４２の説明図である。
【図１４】本発明の一実施例による既存項目変更時の要求処理記載データ４３の説明図である。
【図１５】本発明の一実施例による既存項目削除時の地図データ４２の説明図である。
【図１６】本発明の一実施例による既存項目削除時の要求処理記載データ４３の説明図である。
【図１７】本発明の第２の実施の形態による地図データ生成装置１の機能ブロック図である。
【図１８】図１７の設定ファイル４４に書き込まれたポインタ切替条件の一例である。
【図１９】図１７の設定ファイル４４に書き込まれたポインタ切替条件の他の例である。
【図２０】従来の地図データ生成装置９９のブロック図である。
【図２１】ＧＤＦデータ４１のデータ構成の一例である。
【発明を実施するための形態】
【００２８】
以下、図面を参照しながら本発明の実施形態を説明する。
図１は本発明の第１の実施の形態による地図データ生成装置の機能ブロック図である。本実施の形態による地図データ生成装置１は、図２０の従来の装置と同様に、汎用のコンピュータシステムで構成でき、入力装置１０、出力装置２０、演算装置３０、記憶装置４０を有している。
【００２９】
演算装置３０は、要求処理の内容が記載された要求処理記載データ４３を入力して記憶装置４０へ保存する要求処理記載データ入力手段３４、テキスト形式のＧＤＦデータを入力して、バイナリ形式のＧＤＦデータとして記憶装置４０に保存する地図データ入力手段３１、要求処理記載データに基づいて演算処理を実行して地図データ４２を生成する要求処理実行手段３５、生成した地図データ４２を出力装置２０へ出力する出力処理手段３３を有している。なお、要求処理実行手段３５は、要求処理記載データ４３のフォーマット記述部４５に基づいて処理を実行するフォーマット記述部実行手段３６と、要求処理記載データ４３のスクリプト記述部４６に基づいて処理を実行するスクリプト記述部実行手段３７で構成されている。ＧＤＦデータ入力手段３１と出力処理手段３３については、従来の装置９９と同様である。各手段３１〜３７は、ＣＰＵの機能としてプログラムによって実現することができる。
【００３０】
図２に本実施の形態による地図データ４２のデータ構造を示す。この図において、地図データ４２は、情報ヘッダ、テーブル１、テーブル２などのデータ群からなり、カーナビゲーションシステムの場合、テーブルは、道路要素や通行規制情報などその対象システムで定められた情報の種類ごとに別々に作成される。各テーブルは、地域ごとに割り付けられる一または二以上のレコードからなり、各レコードは、そのシステムで用いられる複数の項目で構成されている。項目例として、たとえば通行規制情報の場合は一方通行や制限速度などのデータがある。情報ヘッダには、情報ヘッダ識別子、各テーブルに含まれるレコード数、各テーブルの先頭番地などレコードにアクセスするための情報が保存されている。そして、対象システムの地図データ表示処理において、それぞれのテーブルの情報をレコードすなわち同一地域ごとに重ね合わせて表示させるのである。本実施の形態による地図データ４２は、このような階層構造を有していることを特徴としている。
【００３１】
次に上記の構成を有する地図データ生成装置１の動作を従来装置９９との違いを中心に説明する。
（１．要求処理記載データ入力処理）
オペレータは、入力装置１０を介して、地図データを処理するための内容を記述した要求処理記載データ４３を入力する。入力された要求処理記載データ４３は、要求処理記載データ入力手段３４によって記憶装置４０に保存される。
【００３２】
ここで、要求処理記載データ４３のデータ構成について説明する。要求処理記載データ４３は、地図データの作成範囲等を指定する設定ファイル４４、地図データの出力形式を定義したフォーマット記述部４５、フォーマット記述部４５で指定されたメソッドを記述するスクリプト記述部４６から構成されている。設定ファイル４４は、従来技術と同様ＩＮＩファイルの性格を有するもので、ソースファイルであるＧＤＦデータに関する情報（ファイルパス、データセット番号等）と、各処理で必要になる情報（検索処理、ファイル名作成処理等）を定義したテキストファイルである。
【００３３】
図３，図４にフォーマット記述部４５の例を示す。フォーマット記述部４５は、大きくフォーマット（format）、レコード（record）、アイテム（item）の記述部分からなり、それぞれ定義の記載されたＸＭＬファイルである。
【００３４】
また、フォーマットは、識別情報（format id）、前処理(prevMethod)、後処理(tailMethod)、処理を開始すべきレコードの識別情報(recordStart)等を含んでいる。
【００３５】
レコードは、レコードの識別情報(record id)、項目名(description)、前処理(prevMethod)、後処理(tailMethod)、カウント(count)、サイズ(size)、開始するアイテムの識別情報(itemStart)、次に実行すべきレコードの識別情報(next)等を含んでいる。ここで、カウントとは、地図データの各レコードが繰り替えして記録される回数を意味する。カウントは、たとえば図４のように固定値（１回）の場合や、後述するようにメソッドの作り方によっては、ＧＤＦデータのレコード数によって可変設定(variable)の場合がある。また、サイズは、レコードのサイズであるが、文字数を集計することによって自動計算するようにしても良い。この場合サイズ欄を省略することができる。次に説明するアイテムのサイズについても同様である。
【００３６】
アイテムは、アイテムの識別情報(item id)、項目名(description)、当該レコードの先頭からのバイト数を示すオフセット(offset)、当該アイテムのサイズ(size)、データの型(type)（定数型（N）、文字列型（CC）、オフセット型（OP）、ＩＤ型（GDF ID）等）、実行すべきメソッドの識別情報(method)、単位などの定義値(define)、次に実行すべきアイテムの識別情報(next)を含んでいる。なお、それぞれのレコードやアイテムは、地図データの各データ項目に対応して設けられているので、以降の説明において、個々のレコードやアイテムを総称してデータ項目という場合もある。
【００３７】
なお、階層数が図２のレベルを超えるような場合、項目名の欄にさらに下位層の項目名を階層順に記載して指定することにより、任意の階層数のデータ構造に対応させることができる。
【００３８】
本発明の実施の形態で特徴的なところは、各アイテムが図５に示すように、データ項目ＩＤ、項目名、出力定義データ、メソッドＩＤ、実行すべき次のデータ項目の識別情報（以下、「次データ項目ＩＤ」という。）で構成されており、この次データ項目ＩＤでチェーンされた順に要求処理実行手段３５が処理実行し、確保されたワークエリアに順に処理結果を保存していくことである。
【００３９】
なお、要求処理実行手段３５は、図５において、各データ項目ＩＤの属性情報で、メソッドＩＤを抽出すると、スクリプト記述部４６の該当するメソッドを実行する。通常、この部分には実行すべき関数を記載する。図６はスクリプト記述部４６の一例である。
【００４０】
このように、本実施の形態による地図データ生成装置１は、出力すべき地図データの項目ごとに当該項目を生成するための手続き（メソッド）を設定し、これらのメソッドと、データ項目のサイズ、型などデータに関する属性情報をアイテムとして一つの処理単位とする。そして、この処理単位には、次に実行すべき処理単位を指定する情報を持たせる。なお、以降の説明において、この処理単位を処理タグという。
このようにすることによって、地図データの出力形式の変更作業を効率的に行うことができる。
【００４１】
なお、メソッドは、ＧＤＦデータ４１の複数のレコードの各データから出力対象の地図データ４２のレコードの各項目への変換処理を規定するものであるが、対象システムによっては、ＧＤＦデータ４１のそれぞれのレコードごとに出力対象の地図データのレコードの各項目への変換を行って当該レコードを生成する処理をすべてのＧＤＦデータ４１のレコードについて繰り返し、ＧＤＦデータ４１のレコード数だけ生成された地図データの各レコードデータに基づいて重ね合わせ表示をするのが効率的であり、メソッドの作成も簡便になる。この場合、フォーマット記述部４５のレコードのカウントは、ＧＤＦデータ４１のレコード数によって可変設定(variable)にする。
【００４２】
（２．地図データ作成処理）
要求処理実行手段３５は、予めスケジューリングされたバッチファイル、あるいはオペレータからの起動要求によって起動すると、要求処理記載データ４３のフォーマット記述部４５およびスクリプト記述部４６に記載された内容に沿って、設定ファイル４４で指定された生成対象のすべての地図データの作成処理を行う。
以下、図７〜図１０を用いて、要求処理実行手段３５の動作を詳述する。
【００４３】
（２−１．メイン処理）
図７において、要求処理実行手段３５のうち、まずフォーマット記述部実行手段３６が起動され、要求処理記載データ４３のＧＤＦデータ４１と設定ファイル４４を入力する（Ｓ２０１）。そして現在処理値すなわちフォーマット記述部４５内で、処理対象になるタグ（処理タグ）を初期化する（Ｓ２０２）。
【００４４】
次に、フォーマット記述部実行手段３６は、フォーマット記述部４５の"＜"で識別される最初の行の処理タグを読み込んで、その処理タグがitemタグの場合は（Ｓ２０３で「ＹＥＳ」）、図８に示すitemタグ処理を実行する（Ｓ２０４）。同様に、その処理タグがrecordタグの場合は（Ｓ２０５で「ＹＥＳ」）、図９に示すrecordタグ処理を実行し（Ｓ２０６）、その処理タグがformatタグの場合は（Ｓ２０７で「ＹＥＳ」）、図１０に示すformatタグ処理を実行する（Ｓ２０８）。そして、全てのタグ処理を完了したか否かを判定し（Ｓ２０９）、完了した場合は終了し、完了していない場合は、次のタグを現在処理タグとしてセットし、ステップＳ２０３に戻って以降の処理を繰り返す。
【００４５】
（２−２．itemタグ処理）
図８において、フォーマット記述部実行手段３６は、itemタグ処理として、まずフォーマット記述部４５から現在処理タグの属性情報を取得する（Ｓ３０１）。そして、読み取った属性情報にmethod属性情報が存在する場合は（Ｓ３０２で「ＹＥＳ」）、スクリプト記述部実行手段３７を起動して、スクリプト記述部４６に記載されている当該method属性情報に該当する関数を実行する（Ｓ３０３）。そして、該当関数の戻り値をワークエリアに確保された現在レコードテーブルに追加する（Ｓ３０４）。
【００４６】
その後、ステップＳ３０１で読み取った属性情報にnext属性情報（すなわち、次のitemタグの識別情報）が存在するか否かを判定し（Ｓ３０５）、next属性情報が存在する場合は、現在処理タグにnext属性値（すなわち次のitemタグＩＤ）を設定して終了する（Ｓ３０６）。
【００４７】
（２−３．recordタグ処理）
図９において、フォーマット記述部実行手段３６は、recordタグ処理として、まずフォーマット記述部４５から現在処理タグの属性情報を取得する（Ｓ４０１）。そして、レコードテーブルのワークエリアを確保して（Ｓ４０２）、レコード内の全てのitemタグを実行する（Ｓ４０３）。
【００４８】
その後、このワークエリアのデータをtempファイルに出力して（Ｓ４０４）、レコードテーブルのワークエリアを解除する（Ｓ４０５）。
【００４９】
次に、ステップＳ４０１で取得した属性情報にnext属性情報が存在するか否かを判定し（Ｓ４０６）、next属性情報が存在しない場合はそのまま修了し、next属性情報が存在する場合は、現在処理タグにnext属性値（次のrecordタグＩＤ）を設定する（Ｓ４０７）。
【００５０】
（２−４．formatタグ処理）
図１０において、フォーマット記述部実行手段３６は、formatタグ処理として、まずフォーマット記述部４５から該当タグの属性情報を取得して（Ｓ５０１）、フォーマット内の全てのrecordタグを実行する（Ｓ５０２）。
【００５１】
そして、各レコードのtempファイルのデータを集めて地図データファイル４２に出力する（Ｓ５０３）。その後、必要により自動化テスト処理を実行する（Ｓ５０４）。
本実施の形態による地図データ生成装置１の要求処理実行手段３５は、以上のごとく構成され、動作する。
【００５２】
（３．データ項目の追加・編集・削除の実施例）  
本実施の形態によれば、地図データのデータ形式の変更時には、基本的にコンパイラプログラムを変更する必要はなく、要求処理記載データ４３を編集するのみで対応することができる。以下、詳細を説明する。
【００５３】
（３−１．新しい項目の追加）（図１１、図１２）
設計担当者は、地図データ４２内のレコード２に図１１の既存の仕様（項番１〜１６の各データ項目）に新項目（項番１７のデータ項目）を追加する。
【００５４】
具体的には、図１２において、追加前のフォーマット記述部４５では、項番１６のitem id="r7i16"のnext属性情報をnext="nothing"にしておき、項番１７追加後のフォーマット記述部４５では、項番１７の処理タグを追加すると共に、項番１６のnext属性情報に項番１７のitem id"r7i17"をセットする。
また、スクリプト記述部４６には、項番１７のメソッドを追加する。
【００５５】
なお、本実施の形態では、ユーザー定義仕様を記載する方法として、フォーマット記述部４５では、defineタグを使用している。図１２のdefine文は、項目ＩＤ"r7i17d"の新項目を"is_one_of_list"というテスト処理を実行するメソッドによって自動化テストを実行する。define文の２行目以降はメソッドに渡すパラメータである。オペレータは、地図データ供給業者Ａのみの設定値として、この項目が有効の場合は固定値の０に設定し、無効の場合は２５５に設定し、メソッドの関数はこの設定値に基づいて動作する。
自動化テスト機能を設け無い場合は、defineタグは不要である。
【００５６】
（３−２．既存項目の編集）（図１３、図１４）
設計担当者は、図１１で新しく追加した項目（項番１７）を新たな仕様に変更する。具体的には、スクリプト記述部４６の項番１７の記載を図１４のように修正する。なお、仕様変更に伴って、フォーマット記述部４５の項番１７の項目名も更新しておくと良い。
【００５７】
また、自動化テスト用のdefine文でも、新たな仕様に基づいて、メソッドへ渡すパラメータを設定する。図１４の例では、項目１７の設定値（地図データ供給業者Ｂのみの設定値）として、確認済み（Verified）の場合１１、未確認（Not Verified）の場合１０、が設定されることを意味している。
【００５８】
（３−３．既存項目の削除）（図１５、図１６）
設計担当者は、既存項目の項目ｏ（図１３の項番１５）を削除する。
この場合、図１６において、項番１４のitem id="r7i14"のnext属性情報として、項目ｏの次のitem id " r7i16"をセットする。すなわち、項番１５を飛ばして処理タグをリンク付けするのである。
【００５９】
なお、図１６では、item id="r7i15"の処理タグも削除しているが、この記述を残しておいて、次データ項目ＩＤのリンクから外すのみでも良い。なお、本実施の形態では、削除した項番は空き項番にしているが、項番が連番になるように自動修正するようにしても良い。
【００６０】
設計担当者は、上記の如くそれぞれ要求処理記載データ４３を変更入力した後に、要求処理実行手段３５を起動する。
【００６１】
本実施の形態による地図データ生成装置１は、以下の効果を有する。
地図データの項目の追加・編集・削除の際に、要求処理記載データは、出力フォーマット通りに構成されているので、修正項目さえわかれば、それ以外は検索する必要がない。
【００６２】
地図データの項目の追加の場合は、フォーマットの変更と、追加した項目に値を設定するいわゆる設定処理があるため、基本データの編集と、スクリプト関数の追加を行うのみで良い。なお、設定処理は、スクリプト記述部４６に関数の形で記載する。
【００６３】
地図データの項目の編集の場合は、フォーマットの変更はないため、設定処理を行うスクリプト関数のみ修正すれば良い。また、修正関数も予めスクリプト記述部に記述しておけば、検索する必要はない。そして、設定処理を各項目別に行うため、修正によって他の項目に影響はない。
地図データの項目の削除の場合は、フォーマット記述部の変更のみで済む。
【００６４】
このように、本実施の形態によれば、フォーマット記述部の各データ項目に対応して設けられている次データ項目ＩＤを書き換えるのみで、地図データのデータ項目の変更・削除に対応することができ、要求処理実行手段３５を改造する必要は無く作業効率が向上する。また、フォーマット記述部は、データ項目単位で記載されているので、地図データのデータ項目の追加に対しても、挿入箇所を即座に把握することができる。これにより、既存の設計担当者以外の担当者でも、仕様変更及び追加に簡単に対応できる。また、要求処理記載データ４３（変更部）を書き換えるのみで、要求処理実行手段３５（固定部）を再利用した新しいプロダクトの生成が容易になる。さらに、地図データ提供業者の提供するＧＤＦデータのフォーマットが変更になった場合についても、本実施の形態による地図データの階層構造化および要求処理記載データ４３を備えることにより、フォーマットが異なる部分に対応するメソッドのみを変更すれば良いので、作業効率が向上する。
【００６５】
次に、第２の実施の形態を説明する。図１７は本実施の形態による地図データ生成装置１の機能ブロック図である。図１との違いは、設定ファイル４４にフォーマット記述部４５のデータ項目ごとの次データ項目ＩＤの切替条件を持たせ、その切替条件によって次データ項目ＩＤを書き換えるリンク変更手段３８を追加したことである。また、フォーマット記述部４５のデータ項目ごとのnext属性情報欄（次データ項目ＩＤ欄）は変数領域（以下、「ポインタ」という。）が割り当てられている。その他の構成は図１と同様であるので、同一要素には同一符号を付し説明を省略する。
【００６６】
次に、地図データ生成装置１の次データ項目ＩＤの書き換え処理について説明する。
オペレータは、予め入力装置１０を介して、次データ項目ＩＤ切替条件を記載した設定ファイル４４を記憶装置４０に登録しておく。なお、図示しないが、必要によりデータ項目ごとのポインタの初期値を別ファイルとして保存しておき、装置１が起動されるときに初期値をポインタに設定しておくものとする。
【００６７】
図１８は、設定ファイル４４に書き込まれたポインタ切替条件の例である。年月日などの日時情報と、データ項目と、ポインタ設定値として次データ項目ＩＤが互いに関連付けられている。
【００６８】
リンク変更手段３８は、定期的あるいはスケジューリングされたパッチファイルによって起動すると、設定ファイル４４の切替条件からその日時情報に対応するデータ項目のポインタ設定値を抽出して、フォーマット記述部４５の当該データ項目のポインタを、抽出した次データ項目ＩＤにセットする。
【００６９】
その後フォーマット記述部実行手段３６が起動され、リンク変更手段３８によってポインタ値が設定されたフォーマット記述部４５に基づいて動作する。以降の動作は第一の実施の形態と同様なので説明を省略する。
【００７０】
たとえば、フォーマット記述部４５の初期状態の記述が図１４において、項番１６のitem id="r7i16"のnext属性情報がnext="nothing"であったとすると、図１８に示す切替条件によって、切替条件の日時（○年○月○日午前０時）が到来する前は、要求処理実行手段３５によって、図１３の項番１〜項番１６のデータのみが出力され、○年○月○日午前０時以降は、図１３の項番１〜項番１７のデータが出力されるようになる。さらに○年○月×日１５時以降は、図１５の形式のデータが出力される。
【００７１】
図１９は、設定ファイル４４に書き込まれたポインタ切替条件の他の例である。対象システムのメーカごとにコードが付され、そのコードと、データ項目と、ポインタ設定値として次のデータ項目の識別情報（データ項目ＩＤ）が互いに関連付けられている。
【００７２】
オペレータは、入力装置１０からメーカのコードを入力すると、リンク変更手段３８は、設定ファイル４４の切替条件からそのコードに対応するデータ項目のポインタ設定値を抽出して、フォーマット記述部４５の当該データ項目のポインタを抽出したデータ項目ＩＤにセットする。
【００７３】
そして、フォーマット記述部実行手段３６は、このフォーマット記述部４５に基づいて動作する。
【００７４】
たとえば、フォーマット記述部４５の初期状態の記述が図１４であったとすると、メーカ１については、図１３の形式のデータが出力され、メーカ２については、図１５の形式のデータが出力される。
【００７５】
以上、本実施の形態によれば、設定ファイルにポインタの切替条件を書き込み、リンク変更手段によって、その切替条件に基づいて自動的にフォーマット記述部４５のポインタの次のデータ項目の識別情報を書き換えるので、簡便に地図データを多種多様な出力形式で生成することができ、利便性が向上する。また、すべての条件ごとにフォーマット記述部４５を備えることに比べて、メモリ資源を節約することができる。
【００７６】
本発明は、上述の実施の形態に限定されることなく、その要旨を逸脱しない範囲で種々変形して実施をすることができる。たとえば実施の形態では、地図データとして、カーナビゲーションシステムで用いられる地図データを例に説明したが、本発明は、出力形式が定められている他の対象システムにも適用できることは明らかである。
【符号の説明】
【００７７】
１    地図データ生成装置
１０    入力装置
２０    出力装置
３０    演算装置
３１    地図データ入力手段
３２    地図データ作成手段
３３    出力処理手段
３４    要求処理記載データ入力手段
３５    要求処理実行手段
３６    フォーマット記述部実行手段
３７    スクリプト記述部実行手段
３８    リンク変更手段
４０    記憶装置
４１    ＧＤＦデータファイル（ＧＤＦデータ）
４２    地図データファイル（地図データ）
４３    要求処理記載データ保存領域（要求処理記載データ）
４４    設定ファイル
４５    フォーマット記述部
４６    スクリプト記述部
９９    地図データ生成装置
【図１】
2012073405.tif 000003
【図２】
2012073405.tif 000004
【図３】
2012073405.tif 000005
【図４】
2012073405.tif 000006
【図５】
2012073405.tif 000007
【図６】
2012073405.tif 000008
【図７】
2012073405.tif 000009
【図８】
2012073405.tif 000010
【図９】
2012073405.tif 000011
【図１０】
2012073405.tif 000012
【図１２】
2012073405.tif 000013
【図１４】
2012073405.tif 000014
【図１６】
2012073405.tif 000015
【図１７】
2012073405.tif 000016
【図１８】
2012073405.tif 000017
【図１９】
2012073405.tif 000018
【図２０】
2012073405.tif 000019
【図２１】
2012073405.tif 000020
【図１１】
2012073405.tif 000021
【図１３】
2012073405.tif 000022
【図１５】
2012073405.tif 000023