JP2013210807A - Data processing device, data processing method and data processing program - Google Patents

Data processing device, data processing method and data processing program Download PDF

Info

Publication number
JP2013210807A
JP2013210807A JP2012080151A JP2012080151A JP2013210807A JP 2013210807 A JP2013210807 A JP 2013210807A JP 2012080151 A JP2012080151 A JP 2012080151A JP 2012080151 A JP2012080151 A JP 2012080151A JP 2013210807 A JP2013210807 A JP 2013210807A
Authority
JP
Japan
Prior art keywords
data
data table
record
size
actual
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2012080151A
Other languages
Japanese (ja)
Other versions
JP5655811B2 (en
Inventor
Daisuke Niki
大輔 二木
Norihisa Fujikawa
典久 藤川
Masayuki Yamada
将之 山田
Kazuyuki Itai
和行 板井
Yasuhiro Fujii
康弘 藤井
Masahiro Takahashi
雅博 高橋
Yuichiro Yagawa
裕一朗 箭川
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Aisin AW Co Ltd
Original Assignee
Aisin AW Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Aisin AW Co Ltd filed Critical Aisin AW Co Ltd
Priority to JP2012080151A priority Critical patent/JP5655811B2/en
Publication of JP2013210807A publication Critical patent/JP2013210807A/en
Application granted granted Critical
Publication of JP5655811B2 publication Critical patent/JP5655811B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

PROBLEM TO BE SOLVED: To provide a data processing device, a data processing method and a data processing program which can search for and update data easily even if the number of files constructing the data is small.SOLUTION: A data processing device 6 comprises a search information DB12 storing at least data constructed by hierarchical structure of plural data tables and an identification unit 9 determining top position of the data table for search. The search information DB12 stores the data table in a same system in an order from high-order class to low-order class. Each of plural data tables contains identification information to discriminate the data table of the low-order class uniquely, next column size and subordinate size. The identification unit determines a relative position to the top position of the data table for identification by adding subordinate size from the data table of the high-order class to the data table stored in a storage position just before the data table for identification.

Description

本発明は、データ処理装置、データ処理方法、及びデータ処理プログラムに関する。   The present invention relates to a data processing device, a data processing method, and a data processing program.

従来、利用者の現在位置から目的地に至る経路を案内するナビゲーション装置の如きデータ処理装置においては、地名データや施設データの如き様々な膨大な検索データを、ユーザが検索可能な構造であって、かつ、効率よく更新可能な構造で、構成する必要がある。   Conventionally, in a data processing device such as a navigation device that guides a route from a user's current position to a destination, a user can search various huge search data such as place name data and facility data. In addition, it is necessary to configure with a structure that can be updated efficiently.

このような点に鑑みて、従来のデータは、集合型データ又は分散型データとして構成されていた。集合型データは、比較的大きな単位のファイル(エリアファイル)として集合的に構成された検索データであり、この検索データの内部の参照先データを特定する場合には、検索データに格納された参照先特定用のデータ(先頭データからの相対的な位置を示すオフセット)を利用するデータである(例えば、特許文献1参照)。一方、分散型データは、比較的小さな単位の複数のファイルとして分散的に構成された検索データであり、この検索データの内部の参照先データを特定する場合には、これら複数のファイルとは別途に設定したファイル特定用のファイルを利用するデータである。   In view of this point, conventional data has been configured as aggregate data or distributed data. Aggregated data is search data that is collectively configured as a relatively large unit file (area file). When specifying the reference data inside the search data, the reference data stored in the search data is used. This is data that uses data for specifying the destination (an offset indicating a relative position from the top data) (see, for example, Patent Document 1). On the other hand, distributed data is search data configured in a distributed manner as a plurality of files in a relatively small unit, and when specifying reference destination data inside the search data, separate from the plurality of files. This is data that uses the file specifying file set in.

特開2004−198841号公報JP 2004-198841 A

しかしながら、集合型データと分散型データのいずれの検索データに関しても問題があった。すなわち、集合型データに関しては、エリアファイルの内部の特定のデータを更新する場合、当該データ以降のデータに対応する全てのオフセットを更新する必要があり、膨大な更新時間を有するという問題があった。また、分散型データに関しては、全体としてファイル数が膨大になるために、ナビゲーション装置のデータベースのファイル数の制限を超えてしまい、分散型データの利用自体ができない場合があった。   However, there is a problem with both retrieval data of aggregated data and distributed data. That is, with respect to collective data, when updating specific data in the area file, it is necessary to update all offsets corresponding to the data after the data, and there is a problem of having a huge update time. . In addition, regarding distributed data, since the number of files as a whole becomes enormous, the limit on the number of files in the database of the navigation device is exceeded, and there are cases where the distributed data itself cannot be used.

本発明は、上記に鑑みてなされたものであって、データを構成するファイルの数が少なくても、データの検索や更新を容易に行うことが可能になる、データ処理装置、データ処理方法、及びデータ処理プログラムを提供することを目的とする。   The present invention has been made in view of the above, and a data processing device, a data processing method, and a data processing apparatus, a data processing method, and the like that can easily search and update data even when the number of files constituting the data is small. And it aims at providing a data processing program.

上述した課題を解決し、目的を達成するために、請求項1に記載のデータ処理装置は、同一のファイルの内部に格納されたデータであって、少なくとも一つのデータレコードを含む複数のデータテーブルを階層構造化して構成されたデータを少なくとも格納するデータ格納手段と、前記データ格納手段にて格納された複数のデータテーブルの中から、参照対象のデータテーブルの先頭位置を特定する特定手段とを備え、前記データ格納手段は、前記複数のデータテーブルを、最上位階層のデータテーブルを先頭として、同一系統のデータテーブルを上位階層から下位階層に至る順に前記ファイルに格納し、前記複数のデータテーブルの各々は、当該データテーブルと同一系統に属するデータテーブルであって、当該データテーブルより一つだけ下位階層のデータテーブルを一意に識別するための識別情報と、当該データテーブルより一つだけ下位階層のデータテーブルのデータサイズである次段サイズと、当該データテーブルより下位階層の全てのデータテーブルのデータサイズの合計値である配下サイズとを含み、前記最上位階層のデータテーブルは、当該データテーブルのデータサイズを含み、前記特定手段は、特定対象のデータテーブルの識別情報が所定方法で指定された場合に、前記データ格納手段にて格納された前記データテーブルの前記配下サイズを、前記最上位階層のデータテーブルから、前記識別情報に基づいて識別された前記特定対象のデータテーブルより一つ前の格納位置に格納されたデータテーブルに至るまで、前記データ格納手段における前記データテーブルの格納順に加算することで、前記ファイルにおける前記最上位階層のデータテーブルの先頭位置から前記特定対象のデータテーブルの先頭位置までの相対的な位置を特定する。   In order to solve the above-described problems and achieve the object, the data processing device according to claim 1 is a plurality of data tables which are data stored in the same file and include at least one data record. Data storage means for storing at least data structured in a hierarchical structure, and specifying means for specifying the head position of the data table to be referenced from among the plurality of data tables stored in the data storage means The data storage means stores the plurality of data tables in the file in the order from the upper hierarchy to the lower hierarchy, starting with the data table of the highest hierarchy, and the plurality of data tables. Each of these is a data table belonging to the same system as the data table, one from the data table Identification information for uniquely identifying the data table in the lower hierarchy, the next size that is the data size of the data table in the lower hierarchy of only one data table, and all the data tables in the lower hierarchy than the data table A subordinate size that is a total value of data sizes, the data table of the highest hierarchy includes a data size of the data table, and the specifying means specifies identification information of the data table to be specified by a predetermined method. The subordinate size of the data table stored in the data storage means is one prior to the data table of the specific target identified based on the identification information from the data table of the highest hierarchy. Until the data table stored at the storage location of the data storage means. By adding a storage order of Le, identifying a relative position from the head position of the data table of the uppermost hierarchy in the file to the first position of the specific object data table.

請求項2に記載のデータ処理装置は、請求項1に記載のデータ処理装置において、前記データ格納手段は、データ処理の対象になる実データと、データ処理の対象になる実データの位置を特定するためのインデックスデータとを格納し、前記実データは、文字データを含む複数の実データレコードを当該文字データにおける文字位置及び文字語順に基づいた整列順序で整列して構成されると共に、前記データ格納手段において前記ファイルとは異なる実データファイルに格納され、前記インデックスデータは、前記データとして構成されると共に、前記文字データの前記整列順序に応じて階層構造化され、前記インデックスデータの複数のデータテーブルの各々は、自己に対応する前記実データレコードのサイズである実サイズを含み、前記特定手段は、前記最上位階層のデータテーブルの先頭位置から前記特定対象のデータテーブルの先頭位置までの相対的な位置を特定した後、前記データ格納手段にて格納された前記データテーブルの前記実サイズを、前記最上位階層のデータテーブルから、当該特定された相対的な位置に対応する前記データテーブルより一つ前の格納位置に格納されたデータテーブルに至るまで、前記データ格納手段における前記データテーブルの格納順に加算することで、前記実データファイルにおける最初の実データの先頭位置から、前記特定対象の実データの先頭位置までの相対的な位置を特定する。   The data processing device according to claim 2 is the data processing device according to claim 1, wherein the data storage means specifies the actual data to be subjected to data processing and the position of the actual data to be subjected to data processing. And the actual data is configured by arranging a plurality of actual data records including character data in an arrangement order based on the character position and the character word order in the character data, and the data Stored in an actual data file different from the file in the storage means, the index data is configured as the data, and is hierarchically structured according to the arrangement order of the character data, and a plurality of data of the index data Each of the tables includes an actual size that is a size of the actual data record corresponding to the table, The specifying means specifies the relative position from the start position of the data table of the highest hierarchy to the start position of the data table to be specified, and then executes the actual data table stored in the data storage means. The data in the data storage means from the data table of the highest hierarchy to the data table stored in the storage position immediately before the data table corresponding to the specified relative position By adding in the order in which the tables are stored, the relative position from the start position of the first actual data in the actual data file to the start position of the real data to be specified is specified.

請求項3に記載のデータ処理装置は、請求項1に記載のデータ処理装置において、前記複数のデータレコードの一部のデータレコードが更新された場合、当該更新されたデータレコードが属するデータテーブルと同一系統に属するデータテーブルであって、当該データテーブルより上位階層の全てのデータテーブルの前記次段サイズと前記配下サイズとを、当該更新されたデータレコードのデータサイズに基づいて更新する更新手段を備えた。   The data processing device according to claim 3 is the data processing device according to claim 1, wherein when a part of the plurality of data records is updated, the data table to which the updated data record belongs Update means for updating the next-stage size and the subordinate size of all data tables in a higher hierarchy than the data table based on the data size of the updated data record, the data table belonging to the same system Prepared.

請求項4に記載のデータ処理装置は、請求項2に記載のデータ処理装置において、前記複数の実データレコードの一部の実データレコードが更新された場合、当該更新された実データレコードに対応するインデックステーブルの前記実サイズと、当該インデックステーブルと同一系統に属するインデックステーブルであって、当該インデックステーブルより上位階層の全てのインデックステーブルの前記実サイズとを、当該更新された実データレコードのデータサイズに基づいて更新する更新手段を備えた。   According to a fourth aspect of the present invention, in the data processing apparatus according to the second aspect, when a part of the plurality of actual data records is updated, the updated actual data record is supported. The actual size of the index table and the index table belonging to the same system as the index table, and the actual sizes of all index tables in the higher hierarchy than the index table, the data of the updated actual data record An updating means for updating based on the size is provided.

請求項5に記載のデータ処理方法は、同一のファイルの内部に格納されたデータであって、少なくとも一つのデータレコードを含む複数のデータテーブルを階層構造化して構成されたデータを少なくともデータ格納手段に格納するデータ格納ステップと、前記データ格納ステップにて格納された複数のデータテーブルの中から、参照対象のデータテーブルの先頭位置を特定する位置特定ステップとを含み、前記データ格納ステップにおいては、前記複数のデータテーブルを、最上位階層のデータテーブルを先頭として、同一系統のデータテーブルを上位階層から下位階層に至る順に前記ファイルに格納し、前記複数のデータテーブルの各々は、当該データテーブルと同一系統に属するデータテーブルであって、当該データテーブルより一つだけ下位階層のデータテーブルを一意に識別するための識別情報と、当該データテーブルより一つだけ下位階層のデータテーブルのデータサイズである次段サイズと、当該データテーブルより下位階層の全てのデータテーブルのデータサイズの合計値である配下サイズとを含み、前記最上位階層のデータテーブルは、当該データテーブルのデータサイズを含み、前記位置特定ステップにおいては、特定対象のデータテーブルの識別情報が所定方法で指定された場合に、前記データ格納ステップにて格納された前記データテーブルの前記配下サイズを、前記最上位階層のデータテーブルから、前記識別情報に基づいて識別された前記特定対象のデータテーブルより一つ前の格納位置に格納されたデータテーブルに至るまで、前記データ格納手段における前記データテーブルの格納順に加算することで、前記ファイルにおける前記最上位階層のデータテーブルの先頭位置から前記特定対象のデータテーブルの先頭位置までの相対的な位置を特定する。   6. The data processing method according to claim 5, wherein at least data stored in the same file and configured by hierarchically structuring a plurality of data tables including at least one data record is stored in the data storage means. A data storage step for storing in the data storage step, and a position specifying step for specifying a head position of the data table to be referred to from among the plurality of data tables stored in the data storage step. In the data storage step, The plurality of data tables are stored in the file in the order from the upper layer to the lower layer, with the data table of the highest layer starting from the data table of the highest layer, and each of the plurality of data tables includes the data table and A data table that belongs to the same system and is one more than the data table Identification information for uniquely identifying the data table in the lower hierarchy, the next size that is the data size of the data table in the lower hierarchy of only one data table, and all the data tables in the lower hierarchy than the data table A subordinate size that is a total value of the data size, the data table of the highest hierarchy includes a data size of the data table, and in the position specifying step, the identification information of the data table to be specified is determined by a predetermined method. If specified, the subordinate size of the data table stored in the data storage step is set to be less than the specific target data table identified based on the identification information from the data table of the highest hierarchy. Up to the data table stored in the previous storage location, the data storage means By adding a storage order of kicking the data table, to identify the relative position from the head position of the data table of the uppermost hierarchy in the file to the first position of the specific object data table.

請求項6に記載のデータ処理プログラムは、請求項5に記載の方法をコンピュータに実行させるプログラムである。   A data processing program according to a sixth aspect is a program that causes a computer to execute the method according to the fifth aspect.

請求項1に記載のデータ処理装置、請求項5に記載のデータ処理方法、及び請求項6に記載のデータ処理プログラムによれば、同一のファイルの内部に格納されたデータであって、少なくとも一つのデータレコードを含む複数のデータテーブルを階層構造化して構成されたデータを用いて、ファイルにおける最上位階層のデータテーブルの先頭位置から特定対象のデータテーブルの先頭位置までの相対的な位置を特定することができるので、データを構成するファイルの数を一つに抑制することができると共に、データの検索を容易に行うことが可能になる。   According to the data processing device according to claim 1, the data processing method according to claim 5, and the data processing program according to claim 6, at least one data stored in the same file is stored. Identify the relative position from the top position of the top-level data table in the file to the top position of the data table to be identified using data structured in a hierarchical structure from multiple data tables containing one data record Therefore, the number of files constituting the data can be reduced to one, and the data can be easily searched.

請求項2に記載のデータ処理装置によれば、データ格納手段は、データ処理の対象になる実データと、データ処理の対象になる実データの位置を特定するためのインデックスデータとを格納し、実データファイルにおける最初の実データの先頭位置から、特定された実データの先頭位置までの相対的な位置を特定することができるので、データを構成するファイルの数を二つに抑制することができると共に、データの検索を容易に行うことが可能になる。   According to the data processing device of claim 2, the data storage means stores the actual data to be subjected to data processing and the index data for specifying the position of the actual data to be processed. Since the relative position from the start position of the first actual data in the actual data file to the start position of the specified actual data can be specified, the number of files constituting the data can be suppressed to two. In addition, it is possible to easily search for data.

請求項3に記載のデータ処理装置によれば、複数のデータレコードの一部のデータレコードが更新された場合、上位階層の全てのデータテーブルの次段サイズと配下サイズとを更新することで、データの更新が完了するので、データの更新を容易に行うことが可能になる。   According to the data processing device of claim 3, when some data records of the plurality of data records are updated, by updating the next stage size and subordinate size of all the data tables in the upper hierarchy, Since the data update is completed, the data can be easily updated.

請求項4に記載のデータ処理装置によれば、複数の実データレコードの一部の実データレコードが更新された場合、インデックステーブルの実サイズと、上位階層の全てのインデックステーブルの前記実サイズとを更新することで、データの更新が完了するので、データの更新を容易に行うことが可能になる。   According to the data processing device of claim 4, when a part of the plurality of actual data records is updated, the actual size of the index table and the actual size of all the index tables in the upper hierarchy are Since updating of data is completed by updating the data, it becomes possible to easily update the data.

本発明の実施の形態1に係るナビゲーションシステムを例示するブロック図である。1 is a block diagram illustrating a navigation system according to a first embodiment of the present invention. 検索データの階層構造を示す図である。It is a figure which shows the hierarchical structure of search data. 検索データファイルにおける検索データの格納順序を示す図である。It is a figure which shows the storage order of the search data in a search data file. 特定処理のフローチャートである。It is a flowchart of a specific process. 更新処理のフローチャートである。It is a flowchart of an update process. 実施の形態2に係るナビゲーションシステムを例示するブロック図である。6 is a block diagram illustrating a navigation system according to a second embodiment. FIG. 実データの階層構造を示す図である。It is a figure which shows the hierarchical structure of real data. 実データファイルにおける実データの格納順序を示す図である。It is a figure which shows the storage order of the real data in a real data file. インデックスデータの階層構造を示す図である。It is a figure which shows the hierarchical structure of index data. インデックスデータファイルにおけるインデックスデータの格納順序を示す図である。It is a figure which shows the storage order of the index data in an index data file. 特定処理のフローチャートである。It is a flowchart of a specific process. 図11に続く、特定処理のフローチャートである。It is a flowchart of the specific process following FIG. 更新処理のフローチャートである。It is a flowchart of an update process.

以下、本発明に係るデータ処理装置、データ処理方法、及びデータ処理プログラムの各実施の形態について図面を参照しつつ詳細に説明する。ただし、各実施の形態によって本発明が限定されるものではない。なお、本発明に係るデータ処理装置、データ処理方法、及びデータ処理プログラムの適用対象は任意であるが、例えば、地図データを処理するナビゲーション装置に適用することが考えられる。以下の各実施の形態では、データ処理装置がナビゲーション装置として構成された場合を例に挙げて説明する。   Hereinafter, embodiments of a data processing device, a data processing method, and a data processing program according to the present invention will be described in detail with reference to the drawings. However, the present invention is not limited to each embodiment. The application target of the data processing device, the data processing method, and the data processing program according to the present invention is arbitrary, but may be applied to, for example, a navigation device that processes map data. In the following embodiments, a case where the data processing device is configured as a navigation device will be described as an example.

〔実施の形態1〕
最初に、実施の形態1について説明する。この実施の形態1は、データ処理の対象になるデータ自身のデータサイズに基づいて、データの位置を特定する形態である。
[Embodiment 1]
First, the first embodiment will be described. In the first embodiment, the position of data is specified based on the data size of the data itself to be processed.

(構成)
まず、実施の形態1に係るデータ処理装置としてのナビゲーション装置を用いたナビゲーションシステムの構成を説明する。図1は、実施の形態1に係るナビゲーションシステムを例示するブロック図である。図1に示すように、ナビゲーションシステム1は、現在位置取得部2、タッチパネル3、ディスプレイ4、スピーカ5、及びデータ処理装置としてのナビゲーション装置6を備えている。
(Constitution)
First, a configuration of a navigation system using a navigation device as a data processing device according to the first embodiment will be described. FIG. 1 is a block diagram illustrating a navigation system according to the first embodiment. As shown in FIG. 1, the navigation system 1 includes a current position acquisition unit 2, a touch panel 3, a display 4, a speaker 5, and a navigation device 6 as a data processing device.

(構成−現在位置取得部)
現在位置取得部2は、ナビゲーション装置6が取り付けられた車両(以下、自車両)の現在地点を検出する現在地点検出手段である。具体的には、現在位置取得部2は、GPS、地磁気センサ、距離センサ、又はジャイロセンサ(いずれも図示省略)の少なくとも一つを有し、現在の自車両の位置(座標)及び方位等を公知の方法にて検出する。
(Configuration-Current position acquisition unit)
The current position acquisition unit 2 is a current position detection unit that detects the current position of a vehicle (hereinafter, the host vehicle) to which the navigation device 6 is attached. Specifically, the current position acquisition unit 2 includes at least one of a GPS, a geomagnetic sensor, a distance sensor, and a gyro sensor (all of which are not shown), and determines the current position (coordinates) and direction of the host vehicle. Detection is performed by a known method.

(構成−タッチパネル)
タッチパネル3は、ユーザの指等で押圧されることにより、当該ユーザから各種手動入力を受け付けるものである。このタッチパネル3は、透明又は半透明状に形成され、ディスプレイ4の前面において当該ディスプレイ4の表示面と重畳するように設けられている。このタッチパネル3としては、例えば抵抗膜方式や静電容量方式等による操作位置検出手段を備えた公知のタッチパネルを使用することができる。
(Configuration-touch panel)
The touch panel 3 receives various manual inputs from the user when pressed by a user's finger or the like. The touch panel 3 is formed to be transparent or translucent, and is provided on the front surface of the display 4 so as to overlap the display surface of the display 4. As the touch panel 3, for example, a publicly known touch panel provided with operation position detecting means by a resistance film method or a capacitance method can be used.

(構成−ディスプレイ)
ディスプレイ4は、ナビゲーション装置6によって案内された画像を表示する表示手段である。ディスプレイ4の具体的な構成は任意であり、公知の液晶ディスプレイや有機ELディスプレイの如きフラットパネルディスプレイを使用することができる。
(Configuration-Display)
The display 4 is display means for displaying an image guided by the navigation device 6. The specific configuration of the display 4 is arbitrary, and a flat panel display such as a known liquid crystal display or organic EL display can be used.

(構成−スピーカ)
スピーカ5は、ナビゲーション装置6の制御に基づいて各種の音声を出力する出力手段である。スピーカ5より出力される音声の具体的な態様は任意であり、必要に応じて生成された合成音声や、予め録音された音声を出力することができる。
(Configuration-Speaker)
The speaker 5 is an output unit that outputs various sounds based on the control of the navigation device 6. The specific form of the sound output from the speaker 5 is arbitrary, and it is possible to output a synthesized sound generated as necessary and a sound recorded in advance.

(構成−ナビゲーション装置)
ナビゲーション装置6は、車両の走行経路を案内する案内装置であると共に、データ処理を行うデータ処理装置であり、制御部7及びデータ記録部8を備えている。
(Configuration-navigation device)
The navigation device 6 is a guidance device that guides the travel route of the vehicle and a data processing device that performs data processing, and includes a control unit 7 and a data recording unit 8.

(構成−データ処理装置−制御部)
制御部7は、ナビゲーション装置6を制御する制御手段であり、具体的には、CPU、当該CPU上で解釈実行される各種のプログラム(OSなどの基本制御プログラムや、OS上で起動され特定機能を実現するアプリケーションプログラムを含む)、及びプログラムや各種のデータを格納するためのRAMの如き内部メモリを備えて構成されるコンピュータである。特に、実施の形態に係るデータ処理プログラムは、任意の記録媒体又はネットワークを介してナビゲーション装置6にインストールされることで、制御部7の各部を実質的に構成する。
(Configuration-Data processing device-Control unit)
The control unit 7 is a control unit that controls the navigation device 6. Specifically, the CPU, various programs that are interpreted and executed on the CPU (a basic control program such as an OS, a specific function that is activated on the OS, and the like) And an internal memory such as a RAM for storing the program and various data. In particular, the data processing program according to the embodiment substantially configures each unit of the control unit 7 by being installed in the navigation device 6 via an arbitrary recording medium or network.

この制御部7は、機能概念的に、特定部9と更新部10を備える。特定部9は、後述する検索情報DB12にて格納された複数のデータテーブルの中から、参照対象のデータテーブルの先頭位置を特定する特定手段である。更新部10は、複数のデータレコードの一部のデータレコードが更新された場合、当該更新されたデータレコードが属するデータテーブルと同一系統に属するデータテーブルであって、当該データテーブルより上位階層の全てのデータテーブルの次段サイズと配下サイズとを、当該更新されたデータレコードのデータサイズに基づいて更新する更新手段である。これらの制御部7の各部によって実行される処理の詳細や、データレコード、データテーブル、次段サイズ、及び配下サイズの詳細については、後述する。   The control unit 7 includes a specifying unit 9 and an updating unit 10 in terms of functions. The specifying unit 9 is a specifying unit that specifies the head position of the reference target data table from among a plurality of data tables stored in the search information DB 12 described later. The update unit 10 is a data table belonging to the same system as the data table to which the updated data record belongs when all of the data records of the plurality of data records are updated, and all of the upper layers than the data table Updating means for updating the next size and subordinate size of the data table based on the data size of the updated data record. Details of processing executed by each unit of the control unit 7 and details of the data record, the data table, the next stage size, and the subordinate size will be described later.

(構成−データ処理装置−データ記録部)
データ記録部8は、ナビゲーション装置6の動作に必要なプログラム及び各種のデータを格納するデータ格納手段であり、例えば、外部記録装置としてのハードディスク(図示省略)を用いて構成されている。ただし、ハードディスクに代えてあるいはハードディスクと共に、磁気ディスクの如き磁気的記録媒体、又はDVDやブルーレイディスクの如き光学的記録媒体を含む、その他の任意の記録媒体を用いることができる。
(Configuration-Data processing device-Data recording unit)
The data recording unit 8 is a data storage unit that stores programs necessary for the operation of the navigation device 6 and various data, and is configured using, for example, a hard disk (not shown) as an external recording device. However, any other recording medium including a magnetic recording medium such as a magnetic disk or an optical recording medium such as a DVD or a Blu-ray disk can be used instead of or together with the hard disk.

このデータ記録部8は、地図情報データベース(以下、データベースを「DB」と表記する)11と、検索情報DB12を格納する。   The data recording unit 8 stores a map information database (hereinafter referred to as “DB”) 11 and a search information DB 12.

地図情報DB11は、地図データを格納するデータ格納手段である。「地図データ」とは、地図をディスプレイ4に表示したり、走行経路の探索や案内を行うために必要なデータであり、例えば、ノードデータ(ノード番号、座標)や、リンクデータ(リンク番号、接続ノード番号、道路座標、道路種別、車線数、走行規制等)、地物データ(信号機、道路標識、ガードレール、建物等)、地形データ、地図をディスプレイ4に表示するための地図表示データ等を含んで構成されている。   The map information DB 11 is data storage means for storing map data. “Map data” is data necessary for displaying a map on the display 4 and for searching and guiding a travel route. For example, node data (node number, coordinates), link data (link number, Connection node number, road coordinates, road type, number of lanes, travel regulations, etc.), feature data (signals, road signs, guardrails, buildings, etc.), terrain data, map display data for displaying map on display 4, etc. It is configured to include.

検索情報DB12は、検索データを格納するデータ格納手段である。実施の形態1における「検索データ」とは、場所(番地)を検索するためのデータであって、少なくとも一つのデータレコードを含む複数のデータテーブルを階層構造化して構成されており、検索情報DB12の検索データファイル13に格納されている。   The search information DB 12 is data storage means for storing search data. The “search data” in the first embodiment is data for searching for a place (address), and is configured by a hierarchical structure of a plurality of data tables including at least one data record. Stored in the search data file 13.

図2は、検索データの階層構造を示す図である。この図2に示すように、検索データは、一つの最上位階層(第1階層)のデータテーブルDT1と、このデータテーブルDT1に対して一つだけ下位階層(第2階層)に位置付けられたデータテーブルDT2、DT5と、このデータテーブルDT2、DT5に対してさらに一つだけ下位階層(第3階層)に位置付けられたデータテーブルDT3、DT4、DT6、DT7とを含んでいる。これらデータテーブルDT1〜DT7は、検索データが示す場所の地理的階層に対応した階層で構造化されたものであって、検索データが示す場所の地理的階層に対応したデータを含むものである。すなわち、第1階層のデータテーブルDT1は、日本の都道府県を検索するためのデータを含む。第2階層のデータテーブルDT2、DT5は、市区町村を検索するためのデータを含む。第3階層のデータテーブルDT3、DT4、DT6、DT7は、市区町村より一つ下の下位の地理的階層を検索するためのデータを含む(以下、データテーブルの符号DT1〜DT7を省略する)。   FIG. 2 is a diagram showing a hierarchical structure of search data. As shown in FIG. 2, the search data includes a data table DT1 of one uppermost hierarchy (first hierarchy) and data positioned in a lower hierarchy (second hierarchy) with respect to this data table DT1. Tables DT2 and DT5, and data tables DT3, DT4, DT6, and DT7 positioned in the lower hierarchy (third hierarchy) with respect to the data tables DT2 and DT5 are further included. These data tables DT1 to DT7 are structured in a hierarchy corresponding to the geographical hierarchy of the place indicated by the search data, and include data corresponding to the geographical hierarchy of the place indicated by the search data. That is, the data table DT1 in the first hierarchy includes data for searching for prefectures in Japan. The data tables DT2 and DT5 of the second hierarchy include data for searching for cities. The data tables DT3, DT4, DT6, and DT7 in the third hierarchy include data for searching the lower geographic hierarchy one level below the municipality (hereinafter, the codes DT1 to DT7 in the data table are omitted). .

各データテーブルのデータレコードは、具体的には、一つの親のデータレコード(以下、親レコード)と、一つ以上の子のデータレコード(以下、子レコード)とを含んで構成されている。例えば、第1階層のデータテーブルは、親レコード「root」と、子レコード「北海道」及び子レコード「青森県」を含む。また、第2階層のデータテーブル「北海道」は、親レコード「北海道」と、子レコード「札幌市」及び子レコード「旭川市」を含む。また、第3階層のデータテーブル「札幌市」は、親レコード「札幌市」と、子レコード「中央区」及び子レコード「西区」を含む。   Specifically, the data record of each data table includes one parent data record (hereinafter referred to as parent record) and one or more child data records (hereinafter referred to as child records). For example, the data table of the first hierarchy includes a parent record “root”, a child record “Hokkaido”, and a child record “Aomori Prefecture”. The data table “Hokkaido” in the second hierarchy includes a parent record “Hokkaido”, a child record “Sapporo City”, and a child record “Asahikawa City”. The data table “Sapporo City” in the third hierarchy includes a parent record “Sapporo City”, a child record “Chuo-ku”, and a child record “Nishi-ku”.

各データテーブルの親レコードは、当該親レコードが属するデータテーブルの参照用データを含むレコードである。「参照用データ」とは、各データテーブルや各データレコードを参照するために使用されるデータであり、例えば、当該親レコードと同じデータテーブルに含まれる子レコードのレコード数を含んでおり、この子レコードのレコード数を用いて、後述する各処理において子レコードを取得する際における当該子レコードの読み込み終了位置を管理している。   The parent record of each data table is a record including reference data for the data table to which the parent record belongs. “Reference data” is data used to refer to each data table or each data record, and includes, for example, the number of child records included in the same data table as the parent record. The number of child records is used to manage the reading end position of the child record when the child record is acquired in each process described later.

各データテーブルの子レコードは、検索用テキストデータ、識別コード、次段サイズ、及び配下サイズを含む。「検索用テキストデータ」とは、場所(番地)を検索するためにディスプレイ4等に表示されるテキストデータであり、例えば、データテーブル「root」の子レコード「北海道」は、検索用テキストデータ「北海道」を含む。「識別コード」とは、各データテーブル(具体的には、各子レコード)を一意に識別するための識別情報である。「次段サイズ」とは、当該子レコードと同一系統に属するデータテーブルであって、当該子レコードが属するデータテーブルより一つだけ下位階層のデータテーブルのデータサイズである。「配下サイズ」とは、当該子レコードと同一系統に属するデータテーブルであって、当該データテーブルより下位階層の全てのデータテーブルのデータサイズの合計値である。   The child record of each data table includes search text data, an identification code, a next stage size, and a subordinate size. The “search text data” is text data displayed on the display 4 or the like to search for a place (address). For example, the child record “Hokkaido” of the data table “root” has the search text data “ Including "Hokkaido". The “identification code” is identification information for uniquely identifying each data table (specifically, each child record). The “next stage size” is a data table that belongs to the same system as the child record, and is the data size of a data table that is one level lower than the data table to which the child record belongs. The “subordinate size” is a data table that belongs to the same system as the child record, and is a total value of the data sizes of all data tables lower than the data table.

ここで、「同一系統」とは、上位階層のデータテーブルの子レコードと、当該データテーブルより一つだけ下位階層のデータテーブルの親レコードとが、直接的な階層関係を有する系統(図2では矢印で直接的に結ばれた系統)である。例えば、データテーブル「root」−データテーブル「北海道」−データテーブル「札幌市」は相互に同一系統に属し、データテーブル「root」−データテーブル「北海道」−データテーブル「旭川市」は相互に同一系統に属するが、データテーブル「札幌市」とデータテーブル「旭川市」は同一系統には属していない。   Here, the “same system” is a system in which a child record of a higher-level data table and a parent record of a lower-level data table than the data table have a direct hierarchical relationship (in FIG. 2). A system directly connected by arrows). For example, the data table “root” —the data table “Hokkaido” —the data table “Sapporo City” belong to the same system, and the data table “root” —the data table “Hokkaido” —the data table “Asahikawa City” are the same. Although belonging to the system, the data table “Sapporo City” and the data table “Asahikawa City” do not belong to the same system.

この次段サイズに関して、例えば、図2の例では、データテーブル「root」の子レコード「北海道」は、データテーブル「北海道」のデータサイズ=8200Byteを次段サイズとして有し、データテーブル「北海道」の子レコード「札幌市」は、データテーブル「札幌市」のデータサイズ=500Byteを次段サイズとして有する。なお、データテーブル「札幌市」の子レコード「中央区」は、それより下位階層のデータテーブルが存在しないことから、データサイズ=0Byteを次段サイズとして有する。   Regarding the next size, for example, in the example of FIG. 2, the child record “Hokkaido” of the data table “root” has the data size of the data table “Hokkaido” = 8200 bytes as the next size, and the data table “Hokkaido”. The child record “Sapporo City” has the data size of the data table “Sapporo City” = 500 bytes as the next stage size. Note that the child record “Chuo-ku” of the data table “Sapporo City” has a data table of 0 Byte as the next stage size because there is no lower-level data table.

また、この配下サイズに関して、例えば、図2の例では、データテーブル「root」の子レコード「北海道」は、データテーブル「北海道」のデータサイズ=8200Byte、データテーブル「札幌市」のデータサイズ=500Byte、及びデータテーブル「旭川市」のデータサイズ=22000Byte、の合計値=30700Byteを配下サイズとして有する。あるいは、データテーブル「北海道」の子レコード「札幌市」は、データテーブル「札幌市」のデータサイズ=500Byteを配下サイズとして有する。なお、最上位階層のデータテーブル「root」の親レコード「root」は、当該データテーブル「root」のデータサイズ=250Byteを含む。   Further, regarding the subordinate size, for example, in the example of FIG. 2, the child record “Hokkaido” of the data table “root” has the data size of the data table “Hokkaido” = 8200 bytes, the data size of the data table “Sapporo City” = 500 bytes. And the data size of the data table “Asahikawa-shi” = 22,000 bytes, and the total value = 30700 bytes as the subordinate size. Alternatively, the child record “Sapporo City” of the data table “Hokkaido” has the data size of the data table “Sapporo City” = 500 bytes as the subordinate size. Note that the parent record “root” of the data table “root” in the highest hierarchy includes the data size of the data table “root” = 250 bytes.

このように階層構造化された検索データは、一つの検索データファイル13に格納されている。図3は、検索データファイル13における検索データの格納順序を示す図である。この図3に示すように、検索データファイル13には、複数のデータテーブルが、最上位階層のデータテーブルを先頭として、同一系統のデータテーブルを上位階層から下位階層に至る順に格納されている。より具体的には、検索データファイル13の先頭位置には、最上位階層のデータテーブル「root」が格納されている。また、検索データファイル13の次の位置には、同一系統のデータテーブル「北海道」−データテーブル「札幌市」が、当該階層順に格納されている。また、次の位置には、同一系統のデータテーブル「北海道」−データテーブル「旭川市」が、当該階層順に格納されるが、データテーブル「北海道」は既に格納されているためにデータテーブル「旭川市」のみが格納されている。また、次の位置には、同一系統のデータテーブル「青森県」−データテーブル「青森市」が、当該階層順に格納されている。また、次の位置には、同一系統のデータテーブル「青森県」−データテーブル「むつ市」が、当該階層順に格納されるが、データテーブル「青森県」は既に格納されているためにデータテーブル「むつ市」のみが格納される。   The search data having such a hierarchical structure is stored in one search data file 13. FIG. 3 is a diagram showing the storage order of search data in the search data file 13. As shown in FIG. 3, in the search data file 13, a plurality of data tables are stored in order from the upper hierarchy to the lower hierarchy, with the data table of the same system starting from the data table of the highest hierarchy. More specifically, the top-level data table “root” is stored at the top position of the search data file 13. In the next position of the search data file 13, the data table “Hokkaido” -data table “Sapporo City” of the same system is stored in the hierarchical order. Further, in the next position, the data table “Hokkaido” -data table “Asahikawa City” of the same system is stored in the hierarchical order. However, since the data table “Hokkaido” is already stored, the data table “Asahikawa” is stored. Only "city" is stored. In the next position, the data table “Aomori Prefecture” -data table “Aomori City” of the same system is stored in the hierarchical order. Further, in the next position, the data table “Aomori Prefecture” -data table “Mutsu City” of the same system is stored in the order of the hierarchy, but since the data table “Aomori Prefecture” is already stored, the data table Only “Mutsu City” is stored.

なお、図2、3には検索データの一部のみを例示しており、実際の検索データには、例えば、データテーブル「秋田県」等のその他の都道府県に対応するデータテーブルや、これら都道府県の市区町村に対応するデータテーブルのデータテーブルが格納される。また、各データテーブルの子レコードにも、実際にはさらに多くの子レコードが含まれ、例えば、データテーブル「むつ市」には、子レコード「旭町」、子レコード「大曲」、子レコード「大湊」以外にも、「むつ市」に属する地理的階層に対応する子レコードが含まれる。このように構成される検索データは、地図作成業者等によって構成されデータ記録部8に格納される。   2 and 3 exemplify only a part of the search data. The actual search data includes, for example, data tables corresponding to other prefectures such as the data table “Akita”, Stores the data table of the data table corresponding to the municipality of the prefecture. In addition, the child records of each data table actually include more child records. For example, the data table “Mutsu-shi” includes child records “Asahimachi”, child records “Omagari”, child records “ In addition to “Oiso”, child records corresponding to the geographical hierarchy belonging to “Mutsu City” are included. The search data configured in this way is configured by a map producer or the like and stored in the data recording unit 8.

(処理)
次に、このように構成されるナビゲーション装置6によって実行されるデータ処理について説明する。この処理は、参照対象となるデータレコードを特定するための特定処理と、データレコードを更新するための更新処理に大別される。以下の処理の説明において、制御主体を特記しない処理については、ナビゲーション装置6の制御部7にて実行されるものとし、情報の取得元や取得経路を特記しない場合については、公知のタイミング及び公知の方法にて、ナビゲーション装置6のデータ記録部8に予め格納されており、あるいは、ナビゲーション装置6のタッチパネル3を介してユーザ等によって入力されるものとする。また、ステップを「S」と略記する。
(processing)
Next, data processing executed by the navigation device 6 configured as described above will be described. This process is roughly divided into a specifying process for specifying a data record to be referred to and an updating process for updating the data record. In the following description of the process, the process that does not specify the control subject is executed by the control unit 7 of the navigation device 6, and when the information acquisition source or acquisition route is not specified, the known timing and the known process In this way, it is stored in the data recording unit 8 of the navigation device 6 in advance, or input by the user or the like via the touch panel 3 of the navigation device 6. Step is abbreviated as “S”.

(処理−特定処理)
最初に、特定処理について説明する。図4は、特定処理のフローチャートである。この特定処理は、ナビゲーションシステム1のユーザによって地名検索の操作が所定方法で行われた場合に起動される。以下の説明では、ユーザが検索したい地名が「青森県むつ市」である場合を、具体例に交えて説明する。
(Processing-specific processing)
First, the specific process will be described. FIG. 4 is a flowchart of the specifying process. This specifying process is started when a place name search operation is performed by a user of the navigation system 1 by a predetermined method. In the following description, the case where the place name that the user wants to search is “Mutsu City, Aomori Prefecture” will be described with a specific example.

この処理において、特定部9は、現在参照しているデータテーブル(以下、カレントデータテーブル)の親レコードを取得する(SA1)。最初のカレントデータテーブルは、検索データファイル13に格納されている最上位階層のデータテーブルとする。例えば、カレントデータテーブル「root」の親レコード「root」を取得する。   In this process, the specifying unit 9 acquires the parent record of the currently referenced data table (hereinafter, the current data table) (SA1). The first current data table is the highest-level data table stored in the search data file 13. For example, the parent record “root” of the current data table “root” is acquired.

次いで、特定部9は、カレントデータテーブルの全ての子レコードを取得し、当該子レコードに基づいて選択用画面を生成してディスプレイ4に表示する(SA2)。例えば、カレントデータテーブル「root」の子レコード「北海道」と子レコード「青森県」を取得して、これら子レコードから検索用テキストデータである「北海道」と「青森県」をそれぞれ取得し、当該取得した検索用テキストデータ「北海道」と「青森県」をリスト形式で含んだ選択用画面を生成してディスプレイ4に表示する。また、選択用画面には、地名の検索の終了を指示するためのボタンを表示する。このようなボタンとしては、例えば、地名の検索を終了すると共に、その時点で最終的に検索されている地名に対する操作を行うための操作ボタン(例えば、検索された地名に対応する地図データを地図情報DB11から取得してディスプレイ4に表示するための表示ボタン)を表示する。   Next, the specifying unit 9 acquires all the child records of the current data table, generates a selection screen based on the child records, and displays the selection screen on the display 4 (SA2). For example, the child record “Hokkaido” and the child record “Aomori Prefecture” of the current data table “root” are acquired, and the search text data “Hokkaido” and “Aomori Prefecture” are respectively acquired from these child records. A selection screen including the acquired search text data “Hokkaido” and “Aomori Prefecture” in a list format is generated and displayed on the display 4. In addition, a button for instructing the end of the place name search is displayed on the selection screen. As such a button, for example, an operation button (for example, map data corresponding to the searched place name is displayed on the map when the place name search is finished and an operation for the place name finally searched at that time is performed. A display button for obtaining from the information DB 11 and displaying it on the display 4 is displayed.

次いで、特定部9は、ユーザにより検索したい地名が選択されたか否かを判定する(SA3)。そして、検索したい地名が選択された場合には(SA3、Yes)、SA4に移行する。例えば、検索したい地名が「青森県むつ市」である場合、ユーザは、ディスプレイ4に表示された検索用テキストデータ「青森県」を、タッチパネル3を介して選択する。この場合には、検索したい地名が選択されたと判定される。   Next, the specifying unit 9 determines whether or not a place name to be searched for has been selected by the user (SA3). When the place name to be searched is selected (SA3, Yes), the process proceeds to SA4. For example, when the place name to be searched is “Mutsu City, Aomori Prefecture”, the user selects the search text data “Aomori Prefecture” displayed on the display 4 via the touch panel 3. In this case, it is determined that the place name to be searched is selected.

検索したい地名が選択されたと判定した場合(SA3、Yes)、特定部9は、ユーザによって選択された検索用テキストデータに対応する子レコードから、当該子レコードの識別コードを取得する(SA4)。例えば、検索用テキストデータ「青森県」が選択された場合には、当該検索用テキストデータ「青森県」に対応する子レコード「青森県」から、当該子レコード「青森県」の識別コードを取得する。   If it is determined that the place name to be searched is selected (SA3, Yes), the specifying unit 9 acquires the identification code of the child record from the child record corresponding to the search text data selected by the user (SA4). For example, if the search text data “Aomori Prefecture” is selected, the identification code of the child record “Aomori Prefecture” is acquired from the child record “Aomori Prefecture” corresponding to the search text data “Aomori Prefecture”. To do.

次いで、特定部9は、カレントデータテーブルのデータサイズをオフセット値に加算する(SA5)。オフセット値とは、ユーザが検索したい地名に対応するデータテーブルの位置を特定するための情報であり、具体的には、検索データファイル13に格納されている最上位階層のデータテーブルの先頭位置を基準とする、ユーザが検索したい地名に対応するデータテーブルの先頭位置までの、相対的な位置である。なお、オフセット値の初期値は0とする。また、最上位階層のデータテーブルのデータサイズは、最上位階層のデータテーブルの親レコードから取得する。例えば、データテーブル「root」の親レコード「root」に含まれているデータサイズ=250Byteをオフセット値に加算し、オフセット値=0+250=250Byteとする。   Next, the specifying unit 9 adds the data size of the current data table to the offset value (SA5). The offset value is information for specifying the position of the data table corresponding to the place name that the user wants to search. Specifically, the offset value is the top position of the data table of the highest hierarchy stored in the search data file 13. It is a relative position up to the head position of the data table corresponding to the place name that the user wants to search as a reference. Note that the initial value of the offset value is 0. Further, the data size of the data table of the highest hierarchy is acquired from the parent record of the data table of the highest hierarchy. For example, the data size = 250 bytes included in the parent record “root” of the data table “root” is added to the offset value, and the offset value = 0 + 250 = 250 bytes.

次いで、特定部9は、目的の子レコード(つまり、SA3でユーザによって選択された検索用テキストデータに対応する子レコード)に辿り付くまで、SA6〜SA10のループ処理を繰り返す。具体的には、特定部9は、カレントデータテーブルの子レコードの中から、収納順序の上位順に一つの子レコードを取得し、当該取得した子レコードをカレント子レコードに設定する(SA7)。例えば、最初に、カレントデータテーブル「root」の子レコード「北海道」をカレント子レコードに設定する。   Next, the specifying unit 9 repeats the loop process of SA6 to SA10 until it reaches the target child record (that is, the child record corresponding to the search text data selected by the user in SA3). Specifically, the specifying unit 9 acquires one child record from the top of the storage order from the child records of the current data table, and sets the acquired child record as the current child record (SA7). For example, first, the child record “Hokkaido” of the current data table “root” is set as the current child record.

そして、当該設定したカレント子レコードが目的の子レコードであるか否かを判定する(SA8)。この判定は、SA4で取得した識別コードが、SA7で設定したカレント子レコードに含まれる識別コードに一致するか否かに基づいて行われる。例えば、SA4で取得した子レコード「青森県」の識別コードが、SA7で設定したカレント子レコード「北海道」の識別コードに一致するか否かを判定する。この例の場合には、一致しないことから、カレント子レコードが目的の子レコードではないと判定する。   Then, it is determined whether or not the set current child record is a target child record (SA8). This determination is made based on whether or not the identification code acquired in SA4 matches the identification code included in the current child record set in SA7. For example, it is determined whether or not the identification code of the child record “Aomori Prefecture” acquired in SA4 matches the identification code of the current child record “Hokkaido” set in SA7. In this example, since there is no match, it is determined that the current child record is not the target child record.

カレント子レコードが目的の子レコードではないと判定した場合(SA8、No)、特定部9は、カレント子レコードの配下サイズをオフセット値に加算する(SA9)。例えば、SA4で取得した子レコード「青森県」の識別コードが、SA7で設定したカレント子レコード「北海道」の識別コードに一致しないために、目的の子レコードではないと判定した場合には、カレント子レコード「北海道」の配下サイズ=30700Byteを加算して、オフセット値=250+30700=30950Byteとする。   When determining that the current child record is not the target child record (SA8, No), the specifying unit 9 adds the subordinate size of the current child record to the offset value (SA9). For example, if the identification code of the child record “Aomori Prefecture” acquired in SA4 does not match the identification code of the current child record “Hokkaido” set in SA7, The subordinate size of the child record “Hokkaido” = 30700 bytes is added to obtain an offset value = 250 + 30700 = 30950 bytes.

一方、カレント子レコードが目的の子レコードであると判定した場合(SA8、Yes)、特定部9は、SA6〜SA10のループ処理を抜けて、その時点におけるオフセット値の位置へ、カレントデータテーブルの位置を移動する(SA11)。例えば、上述のように、カレント子レコード「北海道」が目的の子レコードではないと判定した場合、次のループ処理において、SA4で取得した子レコード「青森県」の識別コードが、カレントデータテーブル「root」の子レコードの中で、収納順序が二番目であるカレント子レコード「青森県」の識別コードに一致するために、目的の子レコードであると判定した場合には、検索データファイル13に格納されている最上位階層のデータテーブルの先頭位置から、その時点におけるオフセット値=30950Byteの位置を先頭位置とするデータテーブル「青森県」を、カレントデータテーブルとする。   On the other hand, when it is determined that the current child record is the target child record (SA8, Yes), the specifying unit 9 exits the loop process of SA6 to SA10 and moves to the position of the offset value at that time in the current data table. The position is moved (SA11). For example, as described above, when it is determined that the current child record “Hokkaido” is not the target child record, in the next loop process, the identification code of the child record “Aomori Prefecture” acquired in SA4 is changed to the current data table “ If it is determined that the child record is the target child record because it matches the identification code of the current child record “Aomori Prefecture” in the second storage order among the child records of “root”, the search data file 13 A data table “Aomori Prefecture” starting from the top position of the stored data table of the highest hierarchy and having the position of the offset value = 30950 bytes at that time as the top position is set as the current data table.

次いで、SA1に戻り、特定部9は、カレントデータテーブルの親レコードを取得する(SA1)。例えば、カレントデータテーブル「青森県」の親レコード「青森県」を取得する。   Next, returning to SA1, the identifying unit 9 acquires the parent record of the current data table (SA1). For example, the parent record “Aomori Prefecture” of the current data table “Aomori Prefecture” is acquired.

また、特定部9は、カレントデータテーブルの全ての子レコードを取得し、当該子レコードに基づいて選択用画面を生成してディスプレイ4に表示する(SA2)。例えば、カレントデータテーブル「青森県」の子レコード「青森市」と子レコード「むつ市」を取得して、これら子レコードから検索用テキストデータである「青森市」と「むつ市」をそれぞれ取得し、当該取得した検索用テキストデータ「青森市」と「むつ市」をリスト形式で含んだ選択用画面を生成してディスプレイ4に表示する。また、選択用画面には、地名の検索の終了を指示するためのボタンを表示する。   The identifying unit 9 acquires all child records of the current data table, generates a selection screen based on the child records, and displays the selection screen on the display 4 (SA2). For example, the child record “Aomori City” and child record “Mutsu City” of the current data table “Aomori Prefecture” are acquired, and search text data “Aomori City” and “Mutsu City” are acquired from these child records, respectively. Then, a selection screen including the acquired search text data “Aomori City” and “Mutsu City” in a list format is generated and displayed on the display 4. In addition, a button for instructing the end of the place name search is displayed on the selection screen.

次いで、特定部9は、ユーザにより、検索したい地名が選択されたか否かを判定する(SA3)。そして、検索したい地名が選択された場合には(SA3、Yes)、SA4に移行する。例えば、検索したい地名が「青森県むつ市」である場合、ユーザは、ディスプレイ4に表示された検索用テキストデータ「むつ市」を、タッチパネル3を介して選択する。この場合には、検索したい地名が選択されたと判定される。   Next, the specifying unit 9 determines whether or not the place name to be searched is selected by the user (SA3). When the place name to be searched is selected (SA3, Yes), the process proceeds to SA4. For example, when the place name to be searched is “Mutsu City, Aomori Prefecture”, the user selects the search text data “Mutsu City” displayed on the display 4 via the touch panel 3. In this case, it is determined that the place name to be searched is selected.

検索したい地名が選択されたと判定した場合(SA3、Yes)、特定部9は、ユーザによって選択された検索用テキストデータに対応する子レコードから、当該子レコードの識別コードを取得する(SA4)。例えば、検索用テキストデータ「むつ市」が選択された場合には、当該検索用テキストデータ「むつ市」に対応する子レコード「むつ市」から、当該子レコード「むつ市」の識別コードを取得する。   If it is determined that the place name to be searched is selected (SA3, Yes), the specifying unit 9 acquires the identification code of the child record from the child record corresponding to the search text data selected by the user (SA4). For example, when the search text data “Mutsu City” is selected, the identification code of the child record “Mutsu City” is acquired from the child record “Mutsu City” corresponding to the search text data “Mutsu City”. To do.

次いで、特定部9は、カレントデータテーブルのデータサイズをオフセット値に加算する(SA5)。2回目及びそれ以降のSA5の処理においては、データサイズは、その時点のカレント子レコードの次段サイズから取得する。例えば、カレントデータテーブル「青森県」のデータサイズ=2000Byteを、その時点のカレント子レコード「青森県」から取得してオフセット値に加算し、オフセット値=30950+2000=32950Byteとする。   Next, the specifying unit 9 adds the data size of the current data table to the offset value (SA5). In the second and subsequent SA5 processing, the data size is acquired from the next size of the current child record at that time. For example, the data size of the current data table “Aomori Prefecture” = 2000 Bytes is acquired from the current child record “Aomori Prefecture” at that time and added to the offset value to obtain an offset value = 30950 + 2000 = 32950 Bytes.

その後、特定部9は、目的の子レコード(つまり、SA3でユーザによって選択された検索用テキストデータに対応する子レコード)に辿り付くまで、SA6〜SA10のループ処理を繰り返す。具体的には、特定部9は、カレントデータテーブルの子レコードの中から、収納順序の上位順に一つの子レコードを取得し、当該取得した子レコードをカレント子レコードに設定する(SA7)。例えば、最初に、カレントデータテーブル「青森県」の子レコード「青森市」を取得する。   Thereafter, the specifying unit 9 repeats the loop process of SA6 to SA10 until the target child record (that is, the child record corresponding to the search text data selected by the user in SA3) is reached. Specifically, the specifying unit 9 acquires one child record from the top of the storage order from the child records of the current data table, and sets the acquired child record as the current child record (SA7). For example, first, a child record “Aomori City” of the current data table “Aomori Prefecture” is acquired.

そして、当該取得したカレント子レコードが目的の子レコードであるか否かを判定する(SA8)。例えば、SA4で取得した子レコード「むつ市」の識別コードが、SA7で設定したカレント子レコード「青森市」の識別コードに一致するか否かを判定する。この例の場合には、一致しないことから、カレント子レコードが目的の子レコードではないと判定する。   Then, it is determined whether or not the acquired current child record is a target child record (SA8). For example, it is determined whether or not the identification code of the child record “Mutsu City” acquired in SA4 matches the identification code of the current child record “Aomori City” set in SA7. In this example, since there is no match, it is determined that the current child record is not the target child record.

カレント子レコードが目的の子レコードではないと判定した場合(SA8、No)、特定部9は、カレント子レコードの配下サイズをオフセット値に加算する(SA9)。例えば、SA4で取得した子レコード「むつ市」の識別コードが、SA7で設定したカレント子レコード「青森市」の識別コードに一致しないために、目的の子レコードではないと判定した場合には、カレント子レコード「青森市」の配下サイズ=1500Byteを加算して、オフセット値=32950+1500=34450Byteとする。   When determining that the current child record is not the target child record (SA8, No), the specifying unit 9 adds the subordinate size of the current child record to the offset value (SA9). For example, when the identification code of the child record “Mutsu City” acquired in SA4 does not match the identification code of the current child record “Aomori City” set in SA7, The subordinate size of the current child record “Aomori City” = 1500 bytes is added to obtain an offset value = 32950 + 1500 = 34450 bytes.

一方、カレント子レコードが目的の子レコードであると判定した場合(SA8、Yes)、特定部9は、SA6〜SA10のループ処理を抜けて、その時点におけるオフセット値の位置へ、カレントデータテーブルの位置を移動する(SA11)。例えば、上述のように、カレント子レコード「青森市」が目的の子レコードではないと判定した場合、次のループ処理において、SA4で取得した子レコード「むつ市」の識別コードが、カレントデータテーブル「root」の子レコードの中で、収納順序が二番目であるカレント子レコード「むつ市」の識別コードに一致するために、目的の子レコードであると判定した場合には、検索データファイル13に格納されている最上位階層のデータテーブルの先頭位置から、その時点におけるオフセット値=34450Byteの位置を先頭位置とするデータテーブル「むつ市」を、カレントデータテーブルとする。   On the other hand, when it is determined that the current child record is the target child record (SA8, Yes), the specifying unit 9 exits the loop process of SA6 to SA10 and moves to the position of the offset value at that time in the current data table. The position is moved (SA11). For example, as described above, when it is determined that the current child record “Aomori City” is not the target child record, in the next loop processing, the identification code of the child record “Mutsu City” acquired in SA4 is the current data table. If it is determined that the child record is the target child record because it matches the identification code of the current child record “Mutsu-shi” in the second storage order among the child records of “root”, the search data file 13 The data table “Mutsu City” starting at the position of the offset value = 34450 bytes at that time from the head position of the data table of the highest hierarchy stored in is set as the current data table.

次いで、特定部9は、カレントデータテーブルの親レコードを取得する(SA1)。例えば、カレントデータテーブル「むつ市」の親レコード「むつ市」を取得する。   Next, the specifying unit 9 acquires the parent record of the current data table (SA1). For example, the parent record “Mutsu City” of the current data table “Mutsu City” is acquired.

次いで、特定部9は、カレントデータテーブルの全ての子レコードを取得し、当該子レコードに基づいて選択用画面を生成してディスプレイ4に表示する(SA2)。例えば、カレントデータテーブル「むつ市」の子レコード「旭町」、子レコード「大曲」、及び子レコード「大湊」等を取得して、これら子レコードから検索用テキストデータである「旭町」、「大曲」、及び「大湊」等をそれぞれ取得し、当該取得した検索用テキストデータ「旭町」、「大曲」、及び「大湊」等をリスト形式で含んだ選択用画面を生成してディスプレイ4に表示する。また、選択用画面には、地名の検索の終了を指示するためのボタンを表示する。   Next, the specifying unit 9 acquires all the child records of the current data table, generates a selection screen based on the child records, and displays the selection screen on the display 4 (SA2). For example, a child record “Asahimachi”, a child record “Omagari”, a child record “Oiso”, and the like of the current data table “Mutsu City” are acquired, and “Asahimachi” which is text data for search from these child records, "Omagari", "Oiso", etc. are respectively obtained, and a selection screen including the obtained search text data "Asahimachi", "Omagari", "Oiso" etc. in a list format is generated and displayed 4 To display. In addition, a button for instructing the end of the place name search is displayed on the selection screen.

次いで、特定部9は、ユーザにより、検索したい地名が選択されたかを判定する(SA3)。例えば、検索したい地名が「青森県むつ市」である場合、ユーザは、ディスプレイ4に、「むつ市」に属する「旭町」、「大曲」、及び「大湊」等が既に表示されていることから、それ以上の検索を行う必要はないと判断し、地名の検索の終了を指示するためのボタンを選択する。この場合には、検索したい地名が選択されなかった(検索の終了が指示された)と判定される。このように選択が行われると、特定処理を終了する。   Next, the specifying unit 9 determines whether the place name to be searched for has been selected by the user (SA3). For example, when the place name to be searched for is “Mutsu City, Aomori Prefecture”, the user has already displayed “Asahimachi”, “Omagari”, “Oiso”, etc. belonging to “Mutsu City” on the display 4. From this, it is determined that it is not necessary to perform a further search, and a button for instructing the end of the place name search is selected. In this case, it is determined that the place name to be searched has not been selected (end of search has been instructed). When the selection is made in this way, the specifying process is terminated.

このように特定処理が終了した時点において設定されているオフセット値により、検索データの最上位階層のデータテーブルの先頭位置から参照対象のデータテーブルの先頭位置までの相対的な位置が特定されるので、制御部7は、この参照対象のデータテーブルの親レコードや子レコードを取得して、所定の処理に利用することが可能になる。例えば、最上位階層のデータテーブル「root」の先頭位置から、オフセット値=34450Byteの位置のデータテーブルを取得することで、データテーブル「むつ市」を取得することができる。このため、検索データの検索を効率よく行うことが可能になる。   As described above, the relative position from the top position of the data table in the highest hierarchy of the search data to the top position of the reference target data table is specified by the offset value set at the end of the specifying process. The control unit 7 can acquire the parent record and the child record of the reference target data table and use them for predetermined processing. For example, the data table “Mutsu City” can be acquired by acquiring the data table at the position of offset value = 34450 bytes from the top position of the data table “root” in the highest hierarchy. For this reason, it becomes possible to search the search data efficiently.

(処理−更新処理)
次に、更新処理について説明する。図5は、更新処理のフローチャートである。この更新処理は、更新情報(更新対象となるデータレコードの内容、更新の種類(追加、書き換え、又は削除)、及び更新対象となるデータレコードの位置を含む情報)が指定された場合に起動される。例えば、ナビゲーションシステム1のユーザが公知の通信手段を介して検索データの更新操作をタッチパネル3を介して行った場合、図示しないセンター装置から更新情報が送信され、この更新情報に基づいて更新を行うために更新処理が起動される。以下の説明では、データテーブル「むつ市」における子データレコード「大曲」の次の位置に、子データレコード「大湊」を追加する場合を、具体例に交えて説明する。
(Processing-Update processing)
Next, the update process will be described. FIG. 5 is a flowchart of the update process. This update process is started when update information (information including the contents of the data record to be updated, the type of update (addition, rewriting, or deletion), and the position of the data record to be updated) is specified. The For example, when the user of the navigation system 1 performs an update operation of search data via a known communication means via the touch panel 3, update information is transmitted from a center device (not shown), and update is performed based on this update information. An update process is started for this purpose. In the following description, a case where the child data record “Oiso” is added to the position next to the child data record “Omagari” in the data table “Mutsu City” will be described with a specific example.

最初に、更新部10は、更新情報に基づいてデータレコードを更新する(SB1)。すなわち、更新対象となるデータレコードを、更新対象となるデータレコードの位置において、更新の種類に応じて追加、書き換え、又は削除する。   First, the update unit 10 updates the data record based on the update information (SB1). That is, the data record to be updated is added, rewritten, or deleted at the position of the data record to be updated according to the type of update.

次いで、更新部10は、追加や書き換えが行われたデータレコードに対して、配下のデータテーブルが存在する場合には、配下のデータテーブルを参照して、次段サイズと配下サイズを算定して当該更新対象となるデータレコードに記録する(SB2)。   Next, when there is a subordinate data table for the added or rewritten data record, the update unit 10 refers to the subordinate data table and calculates the next stage size and subordinate size. The data record to be updated is recorded (SB2).

次いで、更新部10は、当該更新されたデータレコードが属するデータテーブルのデータサイズを更新する(SB3)。つまり、データレコードが追加された場合には、当該データレコードのサイズを当該データテーブルのデータサイズに加算し、データレコードが書き換えられた場合には、当該データレコードの書き換えによるサイズの増減に応じて、当該データテーブルのデータサイズを増減させ、データレコードが削除された場合には、当該データレコードのサイズを当該データテーブルのサイズから減算する(以下、次段サイズと配下サイズの更新も同様)。例えば、子データレコード「大湊」のサイズ=300Byteであり、データテーブル「むつ市」のデータサイズ=1000Byteである場合、当該データテーブル「むつ市」のデータサイズ=1000+300=1300Byteに更新する。   Next, the update unit 10 updates the data size of the data table to which the updated data record belongs (SB3). That is, when a data record is added, the size of the data record is added to the data size of the data table, and when the data record is rewritten, according to the increase or decrease of the size by rewriting the data record When the data record of the data table is increased or decreased and the data record is deleted, the size of the data record is subtracted from the size of the data table (the same applies to the update of the next-stage size and subordinate size). For example, when the size of the child data record “Otsuka” is 300 bytes and the data size of the data table “Mutsu City” is 1000 bytes, the data size of the data table “Mutsu City” is updated to 1000 + 300 = 1300 bytes.

次いで、更新部10は、当該更新されたデータレコードが属するデータテーブルと同一系統に属するデータテーブルであって、当該データテーブルより上位階層の全てのデータテーブルの子データレコードの次段サイズと配下サイズを更新する(SB4)。例えば、子データレコード「大湊」のサイズ=300Byteであり、データテーブル「青森県」の子データレコード「むつ市」の次段サイズと配下サイズ=1000Byteである場合、子データレコード「むつ市」の次段サイズ=1000+300=1300Byteに更新し、子データレコード「むつ市」の配下サイズ=1000+300=1300Byteに更新する。また、データテーブル「root」の子データレコード「青森県」の次段サイズ=2000Byteで配下サイズ=4500Byteである場合、子データレコード「青森県」の次段サイズ=2000+300=2300Byteに更新し、子データレコード「青森県」の配下サイズ=4500+300=4800Byteに更新する。これにて更新処理を終了する。   Next, the update unit 10 is a data table belonging to the same system as the data table to which the updated data record belongs, and the next-stage size and subordinate size of the child data records of all data tables higher than the data table. Is updated (SB4). For example, if the size of the child data record “Otsuki” = 300 bytes, and the next size and subordinate size = 1000 bytes of the child data record “Mutsu City” of the data table “Aomori Prefecture”, the child data record “Mutsu City” The next stage size is updated to 1000 + 300 = 1300 bytes, and the subordinate size of the child data record “Mutsu City” is updated to 1000 + 300 = 1300 bytes. If the next data size of the child data record “Aomori Prefecture” of the data table “root” = 2000 bytes and the subordinate size = 4500 bytes, the next data size of the child data record “Aomori Prefecture” = 2000 + 300 = 2300 bytes is updated. The subordinate size of the data record “Aomori Prefecture” is updated to 4500 + 300 = 4800 bytes. This completes the update process.

この更新処理の終了後、必要に応じて、上述した特定処理を行うことで、更新されたデータテーブルのデータサイズ、次段サイズ、及び配下サイズに基づいて、参照対象のデータテーブルの位置を正しく特定することが可能になる。   After the update process is completed, the specific process described above is performed as necessary, so that the position of the reference target data table is correctly determined based on the data size, the next stage size, and the subordinate size of the updated data table. It becomes possible to specify.

(効果)
このように実施の形態1によれば、同一のファイルの内部に格納されたデータであって、少なくとも一つのデータレコードを含む複数のデータテーブルを階層構造化して構成されたデータを用いて、ファイルにおける最上位階層のデータテーブルの先頭位置から特定対象のデータテーブルの先頭位置までの相対的な位置を特定することができるので、データを構成するファイルの数を一つに抑制することができると共に、データの検索を容易に行うことが可能になる。
(effect)
As described above, according to the first embodiment, data stored in the same file and using a data structured by hierarchically structuring a plurality of data tables including at least one data record can be used as a file. Since the relative position from the top position of the data table of the highest hierarchy to the top position of the data table to be specified can be specified, the number of files constituting the data can be suppressed to one. The data can be easily searched.

また、複数のデータレコードの一部のデータレコードが更新された場合、上位階層の全てのデータテーブルの次段サイズと配下サイズとを更新することで、データの更新が完了するので、データの更新を容易に行うことが可能になる。   In addition, when some data records of a plurality of data records are updated, the data update is completed by updating the next size and subordinate size of all the data tables in the upper hierarchy. Can be easily performed.

〔実施の形態2〕
次に、実施の形態2について説明する。この実施の形態2は、データ処理の対象になるデータとは別に、データ処理の対象になるデータの位置を特定するためのインデックスデータを設け、このインデックスデータに基づいて、データ処理の対象になるデータの位置を特定する形態である。ただし、実施の形態2の構成と処理の中で、実施の形態1の構成と処理と同じ部分については、必要に応じて実施の形態1で使用したものと同じ符号を付し、その説明を省略する。
[Embodiment 2]
Next, a second embodiment will be described. In the second embodiment, apart from the data to be processed, index data for specifying the position of the data to be processed is provided, and the data is processed based on the index data. This is a form for specifying the position of data. However, in the configuration and processing of the second embodiment, the same parts as the configuration and processing of the first embodiment are denoted by the same reference numerals as those used in the first embodiment as necessary, and the description thereof will be given. Omitted.

(構成)
まず、実施の形態2に係るデータ処理装置としてのナビゲーション装置を用いたナビゲーションシステムの構成を説明する。図6は、実施の形態2に係るナビゲーションシステムを例示するブロック図である。図6に示すように、ナビゲーションシステム20は、現在位置取得部2、タッチパネル3、ディスプレイ4、スピーカ5、及びデータ処理装置としてのナビゲーション装置21を備えている。ナビゲーション装置21は、制御部22とデータ記録部25を備えている。
(Constitution)
First, a configuration of a navigation system using a navigation device as a data processing device according to the second embodiment will be described. FIG. 6 is a block diagram illustrating a navigation system according to the second embodiment. As shown in FIG. 6, the navigation system 20 includes a current position acquisition unit 2, a touch panel 3, a display 4, a speaker 5, and a navigation device 21 as a data processing device. The navigation device 21 includes a control unit 22 and a data recording unit 25.

(構成−データ処理装置−制御部)
制御部22は、ナビゲーション装置21を制御する制御手段である。この制御部22は、機能概念的に、特定部23と更新部24を備える。特定部23は、後述する検索情報DB26にて格納された複数のデータテーブルの中から、参照対象のデータテーブルの先頭位置を特定する特定手段である。更新部24は、複数の実データレコードの一部の実データレコードが更新された場合、当該更新された実データレコードに対応するインデックステーブルの実サイズと、当該インデックステーブルと同一系統に属するインデックステーブルであって、当該インデックステーブルより上位階層の全てのインデックステーブルの実サイズとを、当該更新された実データレコードのデータサイズに基づいて更新する更新手段である。これらの制御部22の各部によって実行される処理の詳細や、実データレコード、インデックステーブル、実サイズの詳細については、後述する。
(Configuration-Data processing device-Control unit)
The control unit 22 is a control unit that controls the navigation device 21. The control unit 22 includes a specifying unit 23 and an updating unit 24 in terms of functional concept. The specifying unit 23 is a specifying unit that specifies the head position of the reference target data table from among a plurality of data tables stored in the search information DB 26 described later. When a part of the plurality of actual data records is updated, the updating unit 24 updates the actual size of the index table corresponding to the updated actual data record and the index table belonging to the same system as the index table. In this case, the update means updates the actual sizes of all the index tables in a higher hierarchy than the index table based on the data size of the updated actual data record. Details of processing executed by each unit of the control unit 22 and details of the actual data record, the index table, and the actual size will be described later.

(構成−データ処理装置−データ記録部)
データ記録部25は、地図情報DB11と検索情報DB26を格納する。検索情報DB26は、検索データを格納するデータ格納手段である。実施の形態2における「検索データ」とは、施設を検索するためのデータであって、実データとインデックスデータを含んで構成されている。より具体的には、検索情報DB26において、実データは実データファイル27に格納され、インデックスデータはインデックスデータファイル28に格納されている。
(Configuration-Data processing device-Data recording unit)
The data recording unit 25 stores the map information DB 11 and the search information DB 26. The search information DB 26 is data storage means for storing search data. The “search data” in the second embodiment is data for searching for facilities, and includes actual data and index data. More specifically, in the search information DB 26, actual data is stored in the actual data file 27 and index data is stored in the index data file 28.

「実データ」とは、データ処理の対象になるデータであり、例えば、施設の名称を含んで構成されている。この実データは、文字データを含む複数の実データレコードを当該文字データにおける文字位置及び文字語順に基づいた整列順序で整列して構成されている。図7は、実データの階層構造を示す図である。この図7に示すように、実データは、第1階層の実データテーブルを含んで構成されている。各第1階層の実データテーブルは、実データに含まれる施設の名称であってひらがなで表記された名称における第1文字目に対応する実データテーブルであり、これら複数の第1階層の実データテーブルは五十音順に整列されている。例えば、実データは、第1階層の実データテーブルとして、実データテーブル「あ」、実データテーブル「い」、及び実データテーブル「う」を含んでおり、これらの第1階層の実データテーブルは、「あ」「い」「う」の五十音順に整列されている。   “Real data” is data to be subjected to data processing, and includes, for example, the name of the facility. The actual data is configured by arranging a plurality of actual data records including character data in an arrangement order based on the character position and the character word order in the character data. FIG. 7 is a diagram illustrating a hierarchical structure of actual data. As shown in FIG. 7, the actual data includes a first layer actual data table. Each actual data table of the first hierarchy is an actual data table corresponding to the first character in the name of the facility included in the actual data and expressed in hiragana, and the plurality of actual data of the first hierarchy The table is arranged in alphabetical order. For example, the actual data includes an actual data table “A”, an actual data table “I”, and an actual data table “U” as actual data tables in the first hierarchy, and these actual data tables in the first hierarchy. Are arranged in the order of the Japanese syllabary "A" "I" "U".

また、各第1階層の実データテーブルは、第2階層の実データテーブルを含んで構成されている。各第2階層の実データテーブルは、実データに含まれる施設の名称であってひらがなで表記された名称における第2文字目に対応する実データテーブルであり、これら複数の第2階層の実データテーブルは、五十音順に整列されている。例えば、実データは、第1階層の実データテーブル「い」の第2階層の実データテーブルとして、実データテーブル「あ」、実データテーブル「い」、実データテーブル「う」、実データテーブル「え」、及び実データテーブル「お」を含んでおり、これらの第2階層の実データテーブルは、「あ」「い」「う」「え」「お」の五十音順に整列されている。   In addition, each actual data table in the first hierarchy is configured to include an actual data table in the second hierarchy. Each actual data table in the second hierarchy is an actual data table corresponding to the second character in the name of the facility included in the actual data and written in hiragana, and the actual data in the plurality of second hierarchies. The table is arranged in alphabetical order. For example, the actual data is an actual data table “A”, an actual data table “I”, an actual data table “U”, an actual data table as an actual data table in the second hierarchy of the actual data table “I” in the first hierarchy. "E" and the actual data table "O" are included, and the actual data tables in the second layer are arranged in the alphabetical order of "A", "I", "U", "E", and "O". Yes.

また、各第2階層の実データテーブルは、実データレコードを含んで構成されている。各実データレコードは、実データに含まれる施設の名称であってひらがなで表記された名称に対応する実データテーブルであり、これら複数の実データレコードは、五十音順に整列されている。例えば、実データは、第1階層の実データテーブル「い」の第2階層の実データテーブル「あ」の実データレコードとして、実データレコード「いあ」及び実データレコード「いあつ」を含んでおり、これらの実データレコードは、「いあ」、「いあつ」の五十音順に整列されている。   Each actual data table in the second hierarchy is configured to include actual data records. Each actual data record is an actual data table corresponding to the name of the facility included in the actual data and written in hiragana, and the plurality of actual data records are arranged in alphabetical order. For example, the actual data includes the actual data record “Ia” and the actual data record “Iatsu” as the actual data record of the actual data table “A” in the second hierarchy of the actual data table “I” in the first hierarchy. These actual data records are arranged in the alphabetical order of “IA” and “IATSU”.

このように階層構造化された複数の実データテーブルは、インデックスデータファイル28とは異なる一つの実データファイル27に格納されている。図8は、実データファイル27における実データの格納順序を示す図である。この図8に示すように、実データファイル27には、その先頭位置に第1階層の実データテーブル「あ」が格納されている。より具体的には、この第1階層の実データテーブル「あ」の下位の第2階層の実データテーブル「あ」に含まれる実データレコード「あ」と実データレコード「ああ」が順次格納され、次いで、第1階層の実データテーブル「あ」の下位の第2階層の実データテーブル「い」に含まれる実データレコード「あい」と実データレコード「あいかわ」が順次格納され、以下同様に、第1階層の実データテーブル「あ」の下位の第2階層の実データテーブル「う」に含まれる実データレコード等が格納される。そして、第1階層の実データテーブル「あ」の次の位置に、第2階層の実データテーブル「い」と、第1階層の実データテーブル「う」が、第1階層の実データテーブル「あ」の格納と同じ規則により、順次格納される。   The plurality of actual data tables structured in this way are stored in one actual data file 27 different from the index data file 28. FIG. 8 is a diagram showing the storage order of actual data in the actual data file 27. As shown in FIG. 8, the actual data file 27 stores the actual data table “A” in the first hierarchy at the head position. More specifically, the actual data record “A” and the actual data record “A” included in the actual data table “A” in the second hierarchy lower than the actual data table “A” in the first hierarchy are sequentially stored. Next, the actual data record “ai” and the actual data record “aikawa” included in the actual data table “ii” in the second hierarchy lower than the actual data table “a” in the first hierarchy are sequentially stored, and so on. The actual data records included in the actual data table “U” in the second hierarchy lower than the actual data table “A” in the first hierarchy are stored. Then, at the position next to the actual data table “A” in the first hierarchy, the actual data table “I” in the second hierarchy and the actual data table “U” in the first hierarchy are changed to the actual data table “IN” in the first hierarchy. They are stored sequentially according to the same rules as for “a”.

また、図6のインデックスデータファイル28は、インデックスデータを格納するファイルである。「インデックスデータ」とは、実データの位置を特定するためのデータである。   An index data file 28 in FIG. 6 is a file for storing index data. “Index data” is data for specifying the position of actual data.

特に、実施の形態2におけるインデックスデータは、実施の形態1の検索データと同様の構造で構成されている。すなわち、インデックスデータは、少なくとも一つのデータレコードを含む複数のデータテーブルを階層構造化して構成されている。図9は、インデックスデータの階層構造を示す図である。この図9に示すように、インデックスデータは、一つの最上位階層(第1階層)のデータテーブルDT10と、このデータテーブルDT10に対して一つだけ下位階層(第2階層)に位置付けられたデータテーブルDT11、DT12とを含んでいる。これらデータテーブルDT10〜DT12は、インデックスデータが示す実データの階層に対応した階層で構造化されたものであって、インデックスデータが示す実データの階層に対応したデータを含むものである。すなわち、第1階層のデータテーブルDT10は、施設の名称のひらがな表記の第1文字目に対応した階層のデータであり、第2階層のデータテーブルDT11、DT12は、施設のひらがな表記の第2文字目に対応した階層のデータである(以下、データテーブルの符号DT10〜DT12を省略する)。   In particular, the index data in the second embodiment has the same structure as the search data in the first embodiment. That is, the index data is configured by hierarchizing a plurality of data tables including at least one data record. FIG. 9 is a diagram illustrating a hierarchical structure of index data. As shown in FIG. 9, the index data includes one uppermost layer (first layer) data table DT10 and only one data layer positioned in the lower layer (second layer) with respect to the data table DT10. Tables DT11 and DT12 are included. These data tables DT10 to DT12 are structured in a hierarchy corresponding to the hierarchy of actual data indicated by the index data, and include data corresponding to the hierarchy of actual data indicated by the index data. That is, the data table DT10 in the first hierarchy is data in the hierarchy corresponding to the first character in the hiragana notation of the facility name, and the data tables DT11 and DT12 in the second hierarchy are the second character in the hiragana notation of the facility. It is the data of the hierarchy corresponding to the eyes (hereinafter, the codes DT10 to DT12 of the data table are omitted).

各データテーブルのデータレコードは、具体的には、一つの親レコードと、一つ以上の子レコードとを含んで構成されている。例えば、第1階層のデータテーブルは、親レコード「root」と、子レコード「あ」、子レコード「い」、及び子レコード「う」を含む。また、第2階層のデータテーブル「い」は、親レコード「い」と、子レコード「あ」、子レコード「い」、子レコード「う」、子レコード「え」、及び子レコード「お」を含む。なお、実際には、第1階層のデータテーブルは、第2階層のデータテーブル「あ」を含んでいるが、以下の説明では、第2階層のデータテーブル「あ」を省略する。   Specifically, the data record in each data table includes one parent record and one or more child records. For example, the data table of the first hierarchy includes a parent record “root”, a child record “A”, a child record “I”, and a child record “U”. Further, the data table “I” in the second hierarchy includes a parent record “I”, a child record “A”, a child record “I”, a child record “U”, a child record “E”, and a child record “O”. including. Actually, the data table of the first layer includes the data table “a” of the second layer, but the data table “a” of the second layer is omitted in the following description.

各データテーブルの親レコードは、当該親レコードが属するデータテーブルの参照用データを含むレコードである。「参照用データ」とは、各データテーブルや各データレコードを参照するために使用されるデータであり、例えば、当該親レコードと同じデータテーブルに含まれる子レコードのレコード数を含んでおり、この子レコードのレコード数を用いて、後述する各処理において子レコードを取得する際における当該子レコードの読み込み終了位置を管理している。   The parent record of each data table is a record including reference data for the data table to which the parent record belongs. “Reference data” is data used to refer to each data table or each data record, and includes, for example, the number of child records included in the same data table as the parent record. The number of child records is used to manage the reading end position of the child record when the child record is acquired in each process described later.

各データテーブルの子レコードは、検索用テキストデータ、識別コード、次段サイズ、配下サイズ、及び実サイズを含む。「検索用テキストデータ」とは、施設を検索するためにディスプレイ4等に表示されるテキストデータであり、例えば、データテーブル「root」の子レコード「あ」は、検索用テキストデータ「あ」を含む。「識別コード」、「次段サイズ」、及び「配下サイズ」は、実施の形態1と同じである。「実サイズ」とは、各子レコードに対応する実データ(各子レコードによって位置が特定される実データ)のサイズである。すなわち、第1階層のデータテーブルの各子レコードは、図7の実データの第1階層の実データテーブルに対応しており、第2階層のデータテーブルの各子レコードは、図7の実データの第2階層の実データテーブルに対応している。具体的には、第1階層のデータテーブル「root」の各子レコード「あ」は、実データの第1階層の実データテーブル「あ」、第1階層のデータテーブル「root」の各子レコード「い」は、実データの第1階層の実データテーブル「い」、第1階層のデータテーブル「root」の各子レコード「う」は、実データの第1階層の実データテーブル「う」に対応している。また、第2階層のデータテーブル「root」の各子レコード「あ」は、実データの第1階層の実データテーブル「あ」、第1階層のデータテーブル「い」の各子レコード「あ」〜「お」は、実データの第1階層の実データテーブル「い」の第2階層の実データテーブル「あ」〜「お」に対応している。そして、例えば、第1階層のデータテーブル「root」の各子レコード「あ」は、実サイズとして、実データの第1階層の実データテーブル「あ」のデータサイズである100KByteを含んでいる。   The child record of each data table includes search text data, an identification code, a next stage size, a subordinate size, and an actual size. The “search text data” is text data displayed on the display 4 or the like to search for facilities. For example, the child record “A” of the data table “root” includes the search text data “A”. Including. The “identification code”, “next stage size”, and “subordinate size” are the same as those in the first embodiment. “Actual size” is the size of actual data (actual data whose position is specified by each child record) corresponding to each child record. That is, each child record of the data table of the first hierarchy corresponds to the actual data table of the first hierarchy of the actual data in FIG. 7, and each child record of the data table of the second hierarchy is the actual data of FIG. Corresponds to the actual data table of the second hierarchy. Specifically, each child record “a” of the data table “root” in the first layer is a child record of the actual data table “a” in the first layer of actual data and the data table “root” in the first layer. “I” is the actual data table “I” of the first layer of actual data, and each child record “U” of the data table “root” of the first layer is the actual data table “U” of the first layer of actual data. It corresponds to. In addition, each child record “A” of the data table “root” of the second hierarchy includes an actual data table “A” of the first hierarchy of actual data and each child record “A” of the data table “I” of the first hierarchy. “O” corresponds to the actual data tables “A” to “O” in the second layer of the actual data table “I” in the first layer of actual data. For example, each child record “A” of the data table “root” of the first hierarchy includes 100 KBytes, which is the data size of the actual data table “A” of the first hierarchy of actual data, as the actual size.

このように階層構造化されたインデックスデータは、実データの実データファイル27とは異なる一つのインデックスデータファイル28に格納されている。図10は、インデックスデータファイル28におけるインデックスデータの格納順序を示す図である。この図10に示すように、インデックスデータファイル28には、複数のデータテーブルが、最上位階層のデータテーブルを先頭として、同一系統のデータテーブルを上位階層から下位階層に至る順に格納されている。より具体的には、検索データファイルの先頭位置には、最上位階層のデータテーブル「root」が格納されている。また、検索データファイルの次の位置には、同一系統の第2階層のデータテーブル「い」が格納されている。また、次の位置には、同一系統の第2階層のデータテーブル「う」が格納されている。   The index data having such a hierarchical structure is stored in one index data file 28 different from the actual data file 27 of actual data. FIG. 10 is a diagram showing the storage order of index data in the index data file 28. As shown in FIG. 10, in the index data file 28, a plurality of data tables are stored in order from the upper hierarchy to the lower hierarchy, with the data table of the same system starting from the data table of the highest hierarchy. More specifically, a data table “root” in the highest hierarchy is stored at the head position of the search data file. In the next position of the search data file, the second-tier data table “I” of the same system is stored. In the next position, the data table “U” of the second hierarchy of the same system is stored.

なお、図9、10には検索データの一部のみを例示しており、実際の検索データには、例えば、第1階層のデータテーブルとして、「え」及びそれ以降の各ひらがなに対応する第1階層のデータテーブルや、これら第1階層のデータテーブルに含まれる第2階層のデータテーブルとして、「か」及びそれ以降の各ひらがなに対応する第2階層のデータテーブルが含まれる。このように構成される検索データは、地図作成業者等によって構成されデータ記録部25に格納される。   9 and 10 exemplify only a part of the search data, and the actual search data includes, for example, the first hierarchy data table corresponding to “E” and each subsequent hiragana. As the data table of the first hierarchy and the data table of the second hierarchy included in the data table of the first hierarchy, the data table of the second hierarchy corresponding to “ka” and each subsequent hiragana is included. The search data configured in this way is configured by a map producer or the like and stored in the data recording unit 25.

(処理)
次に、このように構成されるナビゲーション装置21によって実行されるデータ処理について説明する。この処理は、参照対象となるデータレコードを特定するための特定処理と、データレコードを更新するための更新処理に大別される。
(processing)
Next, data processing executed by the navigation device 21 configured as described above will be described. This process is roughly divided into a specifying process for specifying a data record to be referred to and an updating process for updating the data record.

(処理−特定処理)
最初に、特定処理について説明する。図11、12は、特定処理のフローチャートである。以下の説明では、ユーザが検索したい施設の名称のひらがな表記が「いう」で始まる名称である場合を、具体例に交えて説明する。
(Processing-specific processing)
First, the specific process will be described. 11 and 12 are flowcharts of the specifying process. In the following description, the case where the hiragana notation of the name of the facility that the user wants to search is a name starting with “say” will be described with a specific example.

この処理において、特定部23は、現在参照しているデータテーブル(以下、カレントデータテーブル)の親レコードを取得する(SC1)。最初のカレントデータテーブルは、検索データファイルに格納されている最上位階層のデータテーブルとする。例えば、カレントデータテーブル「root」の親レコード「あ」を取得する。   In this process, the specifying unit 23 acquires a parent record of a data table currently referred to (hereinafter, current data table) (SC1). The first current data table is the highest-level data table stored in the search data file. For example, the parent record “a” of the current data table “root” is acquired.

次いで、特定部23は、カレントデータテーブルの全ての子レコードを取得し、当該子レコードに基づいて選択用画面を生成してディスプレイ4に表示する(SC2)。例えば、カレントデータテーブル「root」の子レコード「あ」と、子レコード「い」、及び子レコード「う」を取得して、これら子レコードから検索用テキストデータである「あ」、「い」、及び「う」をそれぞれ取得し、当該取得した検索用テキストデータ「あ」、「い」、及び「う」をリスト形式で含んだ選択用画面を生成してディスプレイ4に表示する。   Next, the specifying unit 23 acquires all the child records of the current data table, generates a selection screen based on the child records, and displays the selection screen on the display 4 (SC2). For example, the child record “A”, the child record “I”, and the child record “U” of the current data table “root” are acquired, and the search text data “A” and “I” are acquired from these child records. , And “U”, respectively, and a selection screen including the acquired search text data “A”, “I”, and “U” in a list format is generated and displayed on the display 4.

次いで、特定部23は、ユーザにより、検索したい施設の名称のひらがな表記のN文字目が選択されたかを判定する(SC3)。ここで、「N」は、SC3が実行された回数に対応する正の整数であり、SC3が最初に実行された場合にはN=1、SC3が2回目に実行された場合にはN=2となる。そして、検索したい施設の名称のひらがな表記のN文字目が選択された場合には(SC3、Yes)、SC4に移行する。例えば、検索したい施設の名称がひらがな表記が「いう」で始まる名称である場合、ユーザは、ディスプレイ4に表示された検索用テキストデータ「い」を、タッチパネル3を介して選択する。この場合には、検索したい施設の名称のひらがな表記のN文字目が選択されたと判定される。   Next, the specifying unit 23 determines whether the Nth character in the hiragana notation of the name of the facility to be searched for has been selected by the user (SC3). Here, “N” is a positive integer corresponding to the number of times SC3 has been executed, N = 1 when SC3 is executed first, and N = when SC3 is executed a second time. 2. If the Nth character in the hiragana notation of the name of the facility to be searched is selected (SC3, Yes), the process proceeds to SC4. For example, when the name of the facility to be searched is a name whose hiragana notation starts with “say”, the user selects the search text data “I” displayed on the display 4 via the touch panel 3. In this case, it is determined that the Nth character in the hiragana notation of the name of the facility to be searched is selected.

検索したい施設の名称のひらがな表記のN文字目が選択されたと判定した場合(SC3、Yes)、特定部23は、ユーザによって選択された検索用テキストデータに対応する子レコードから、当該子レコードの識別コードを取得する(SC4)。例えば、検索用テキストデータ「い」が選択された場合には、当該検索用テキストデータ「い」に対応する子レコード「い」から、当該子レコード「い」の識別コードを取得する。   When it is determined that the Nth character in the hiragana notation of the name of the facility to be searched is selected (Yes in SC3), the specifying unit 23 extracts the child record from the child record corresponding to the search text data selected by the user. An identification code is acquired (SC4). For example, when the search text data “I” is selected, the identification code of the child record “I” is acquired from the child record “I” corresponding to the search text data “I”.

次いで、特定部23は、カレントデータテーブルのデータサイズをインデックス用オフセット値に加算する(SC5)。インデックス用オフセット値とは、ユーザが検索したい施設の名称に対応するデータテーブルの位置を特定するための情報であり、具体的には、インデックスデータファイル28に格納されている最上位階層のデータテーブルの先頭位置を基準とする、ユーザが検索したい施設の名称に対応するデータテーブルの先頭位置までの、相対的な位置である。なお、インデックス用オフセット値の初期値は0とする。また、最上位階層のデータテーブルのデータサイズは、最上位階層のデータテーブルの親レコードから取得する。例えば、データテーブル「root」の親レコード「root」に含まれているデータサイズ=600Byteをオフセット値に加算し、オフセット値=0+600=600Byteとする。   Next, the specifying unit 23 adds the data size of the current data table to the index offset value (SC5). The index offset value is information for specifying the position of the data table corresponding to the name of the facility that the user wants to search. Specifically, the index offset value is the highest-level data table stored in the index data file 28. The relative position to the head position of the data table corresponding to the name of the facility that the user wants to search is based on the head position. The initial value of the index offset value is 0. Further, the data size of the data table of the highest hierarchy is acquired from the parent record of the data table of the highest hierarchy. For example, the data size = 600 bytes included in the parent record “root” of the data table “root” is added to the offset value, and the offset value = 0 + 600 = 600 bytes.

次いで、特定部23は、目的の子レコード(つまり、SC3でユーザによって選択された検索用テキストデータに対応する子レコード)に辿り付くまで、SC6〜SC11を繰り返す。具体的には、特定部23は、カレントデータテーブルの子レコードの中から、収納順序の上位順に一つの子レコードを取得し、当該取得した子レコードをカレント子レコードに設定する(SC7)。例えば、最初に、カレントデータテーブル「root」の子レコード「あ」をカレント子レコードに設定する。   Next, the specifying unit 23 repeats SC6 to SC11 until the target child record (that is, the child record corresponding to the search text data selected by the user in SC3) is reached. Specifically, the specifying unit 23 acquires one child record in the upper order of the storage order from the child records of the current data table, and sets the acquired child record as the current child record (SC7). For example, first, the child record “A” of the current data table “root” is set as the current child record.

そして、当該設定したカレント子レコードが目的の子レコードであるか否かを判定する(SC8)。この判定は、SC4で取得した識別コードが、SC7で取得したカレント子レコードに含まれる識別コードに一致するか否かに基づいて行われる。例えば、SC4で取得した子レコード「い」の識別コードが、SC7で設定したカレント子レコード「あ」の識別コードに一致するか否かを判定する。この例の場合には、一致しないことから、カレント子レコードが目的の子レコードではないと判定する。   Then, it is determined whether or not the set current child record is a target child record (SC8). This determination is made based on whether or not the identification code acquired in SC4 matches the identification code included in the current child record acquired in SC7. For example, it is determined whether or not the identification code of the child record “I” acquired in SC4 matches the identification code of the current child record “A” set in SC7. In this example, since there is no match, it is determined that the current child record is not the target child record.

カレント子レコードが目的の子レコードではないと判定した場合(SC8、No)、特定部23は、カレント子レコードの配下サイズをインデックス用オフセット値に加算する(SC9)。例えば、SC4で取得した子レコード「い」の識別コードが、SC7で設定したカレント子レコード「あ」の識別コードに一致しないために、目的の子レコードではないと判定した場合には、カレント子レコード「あ」の配下サイズ=0Byteを加算して、オフセット値=600+0=600Byteとする。   If it is determined that the current child record is not the target child record (No in SC8), the specifying unit 23 adds the subordinate size of the current child record to the index offset value (SC9). For example, if the identification code of the child record “I” acquired in SC4 does not match the identification code of the current child record “A” set in SC7, The subordinate size of the record “A” = 0 bytes is added to obtain an offset value = 600 + 0 = 600 bytes.

また、特定部23は、当該カレント子レコードの実サイズを、実データ取得用オフセット値に加算する(SC10)。ここで「実データ取得用オフセット値」とは、ユーザが検索したい施設の名称のひらがな表記に対応する実データテーブルの位置を特定するための情報であり、具体的には、実データファイル27に格納されている最上位階層の実データテーブルの先頭位置を基準とする、ユーザが検索したい施設の名称のひらがな表記に対応する実データテーブルの先頭位置までの、相対的な位置である。この実データ取得用オフセット値の初期値は0とする。例えば、カレント子レコード「あ」の実サイズ=100KByteを実データ取得用オフセット値に加算し、実データ取得用オフセット値=0+100K=100KByteとする。   Further, the specifying unit 23 adds the actual size of the current child record to the actual data acquisition offset value (SC10). Here, “offset value for actual data acquisition” is information for specifying the position of the actual data table corresponding to the hiragana notation of the name of the facility that the user wants to search. This is a relative position to the start position of the actual data table corresponding to the hiragana notation of the name of the facility that the user wants to search, based on the start position of the stored actual data table in the highest hierarchy. The initial value of the actual data acquisition offset value is 0. For example, the actual size of the current child record “A” = 100 KBytes is added to the actual data acquisition offset value, and the actual data acquisition offset value = 0 + 100K = 100 KByte.

一方、カレント子レコードが目的の子レコードであると判定した場合(SC8、Yes)、特定部23は、SC6〜SC11のループを抜けて、その時点におけるオフセット値の位置へ、カレントデータテーブルの位置を移動する(SC12)。例えば、上述のように、カレント子レコード「あ」が目的の子レコードではないと判定した場合、次のループ処理において、SC4で取得した子レコード「い」の識別コードが、カレントデータテーブル「root」の子レコードの中で、収納順序が二番目であるカレント子レコード「い」の識別コードに一致するために、目的の子レコードであると判定した場合には、検索データファイルに格納されている最上位階層のデータテーブルの先頭位置から、その時点におけるインデックス用オフセット値=600Byteの位置を先頭位置とするデータテーブル「い」を、カレントデータテーブルとする。   On the other hand, when it is determined that the current child record is the target child record (SC8, Yes), the specifying unit 23 exits the loop of SC6 to SC11 and moves to the position of the offset value at that time to the position of the current data table. Is moved (SC12). For example, as described above, when it is determined that the current child record “A” is not the target child record, in the next loop process, the identification code of the child record “I” acquired in SC4 is changed to the current data table “root”. If it is determined that it is the target child record because it matches the identification code of the current child record “I”, which is the second in the storage order, it is stored in the search data file. A data table “i” having the position of the index offset value = 600 bytes at that time as the head position from the head position of the data table of the highest hierarchy is the current data table.

次いで、SC1に戻り、特定部23は、カレントデータテーブルの親レコードを取得する(SC1)。例えば、カレントデータテーブル「い」の親レコード「い」を取得する。   Next, returning to SC1, the specifying unit 23 acquires the parent record of the current data table (SC1). For example, the parent record “I” of the current data table “I” is acquired.

また、特定部23は、カレントデータテーブルの全ての子レコードを取得し、当該子レコードに基づいて選択用画面を生成してディスプレイ4に表示する(SC2)。例えば、カレントデータテーブル「い」の子レコード「あ」、子レコード「い」、子レコード「う」、子レコード「え」、及び子レコード「お」を取得して、これら子レコードから検索用テキストデータである「あ」、「い」、「う」、「え」、「お」をそれぞれ取得し、当該取得した検索用テキストデータ「あ」、「い」、「う」、「え」、「お」をリスト形式で含んだ選択用画面を生成してディスプレイ4に表示する。   Further, the specifying unit 23 acquires all child records of the current data table, generates a selection screen based on the child records, and displays the selection screen on the display 4 (SC2). For example, the child record “A”, the child record “I”, the child record “U”, the child record “E”, and the child record “O” of the current data table “I” are acquired and searched from these child records. The text data “A”, “I”, “U”, “E”, “O” are acquired, and the acquired search text data “A”, “I”, “U”, “E”. , A selection screen including “o” in a list format is generated and displayed on the display 4.

次いで、特定部23は、ユーザにより、検索したい施設の名称のひらがな表記のN文字目が選択されたかを判定する(SC3)。そして、検索したい施設の名称のひらがな表記のN文字目が選択された場合には(SC3、Yes)、SC4に移行する。例えば、検索したい施設の名称がひらがな表記が「いう」で始まる名称である場合、ユーザは、ディスプレイ4に表示された検索用テキストデータ「う」を、タッチパネル3を介して選択する。この場合には、検索したい施設の名称のひらがな表記のN文字目が選択されたと判定される。   Next, the specifying unit 23 determines whether the Nth character in the hiragana notation of the name of the facility to be searched for has been selected by the user (SC3). If the Nth character in the hiragana notation of the name of the facility to be searched is selected (SC3, Yes), the process proceeds to SC4. For example, when the name of the facility to be searched is a name whose hiragana notation starts with “say”, the user selects the search text data “U” displayed on the display 4 via the touch panel 3. In this case, it is determined that the Nth character in the hiragana notation of the name of the facility to be searched is selected.

検索したい施設の名称のひらがな表記のN文字目が選択されたと判定した場合(SC3、Yes)、特定部23は、ユーザによって選択された検索用テキストデータに対応する子レコードから、当該子レコードの識別コードを取得する(SC4)。例えば、検索用テキストデータ「う」が選択された場合には、当該検索用テキストデータ「う」に対応する子レコード「う」から、当該子レコード「う」の識別コードを取得する。   When it is determined that the Nth character in the hiragana notation of the name of the facility to be searched is selected (Yes in SC3), the specifying unit 23 extracts the child record from the child record corresponding to the search text data selected by the user. An identification code is acquired (SC4). For example, when the search text data “U” is selected, the identification code of the child record “U” is acquired from the child record “U” corresponding to the search text data “U”.

次いで、特定部23は、カレントデータテーブルのデータサイズをインデックス用オフセット値に加算する(SC5)。2回目及びそれ以降のSC5の処理においては、データサイズは、その時点のカレント子レコードの次段サイズから取得する。例えば、カレントデータテーブル「い」のデータサイズ=650Byteを、その時点のカレント子レコード「い」から取得してインデックス用オフセット値に加算し、インデックス用オフセット値=600+650=1250Byteとする。   Next, the specifying unit 23 adds the data size of the current data table to the index offset value (SC5). In the second and subsequent SC5 processing, the data size is acquired from the next size of the current child record at that time. For example, the data size = 650 bytes of the current data table “i” is acquired from the current child record “i” at that time and added to the index offset value, so that the index offset value = 600 + 650 = 1250 bytes.

その後、特定部23は、目的の子レコード(つまり、SC3でユーザによって選択された検索用テキストデータに対応する子レコード)に辿り付くまで、SC6〜SC11のループ処理を繰り返す。具体的には、特定部23は、カレントデータテーブルの子レコードの中から、収納順序の上位順に一つの子レコードを取得し、当該取得した子レコードをカレント子レコードに設定する(SC7)。例えば、最初に、カレントデータテーブル「い」の子レコード「あ」を取得する。   Thereafter, the specifying unit 23 repeats the loop processing of SC6 to SC11 until the target child record (that is, the child record corresponding to the search text data selected by the user in SC3) is reached. Specifically, the specifying unit 23 acquires one child record in the upper order of the storage order from the child records of the current data table, and sets the acquired child record as the current child record (SC7). For example, first, the child record “A” of the current data table “I” is acquired.

そして、当該取得したカレント子レコードが目的の子レコードであるか否かを判定する(SC8)。例えば、SC4で取得した子レコード「う」の識別コードが、SC7で設定したカレント子レコード「い」の識別コードに一致するか否かを判定する。この例の場合には、一致しないことから、カレント子レコードが目的の子レコードではないと判定する。   Then, it is determined whether or not the acquired current child record is a target child record (SC8). For example, it is determined whether or not the identification code of the child record “U” acquired in SC4 matches the identification code of the current child record “I” set in SC7. In this example, since there is no match, it is determined that the current child record is not the target child record.

カレント子レコードが目的の子レコードではないと判定した場合(SC8、No)、特定部23は、カレント子レコードの配下サイズをインデックス用オフセット値に加算する(SC9)。例えば、SC4で取得した子レコード「う」の識別コードが、SC7で設定したカレント子レコード「い」の識別コードに一致しないために、目的の子レコードではないと判定した場合には、カレント子レコード「い」の配下サイズ=0Byteを加算して、オフセット値=1250+0=1250Byteとする。   If it is determined that the current child record is not the target child record (No in SC8), the specifying unit 23 adds the subordinate size of the current child record to the index offset value (SC9). For example, if the identification code of the child record “U” acquired in SC4 does not match the identification code of the current child record “I” set in SC7, The subordinate size of the record “I” = 0 bytes is added to obtain an offset value = 1250 + 0 = 1250 bytes.

また、特定部23は、当該カレント子レコードの実サイズを、実データ取得用オフセット値に加算する(SC10)。例えば、カレント子レコード「あ」の実サイズ=20KByteを実データ取得用オフセット値に加算し、実データ取得用のオフセット値=100+20K=100KByteとする。   Further, the specifying unit 23 adds the actual size of the current child record to the actual data acquisition offset value (SC10). For example, the actual size = 20 KByte of the current child record “A” is added to the actual data acquisition offset value, and the actual data acquisition offset value = 100 + 20K = 100 KByte.

一方、カレント子レコードが目的の子レコードであると判定した場合(SC8、Yes)、特定部23は、SC6〜SC11のループ処理を抜けて、その時点におけるインデックス用オフセット値の位置へ、カレントデータテーブルの位置を移動する(SC12)。例えば、上述のように、カレント子レコード「い」が目的の子レコードではないと判定した場合、次のループ処理において、SC4で取得した子レコード「う」の識別コードが、SC7で設定したカレント子レコード「う」の識別コードに一致するために、目的の子レコードであると判定した場合には、検索データファイルに格納されている最上位階層のデータテーブルの先頭位置から、その時点におけるインデックス用オフセット値=1250Byteの位置を先頭位置とするデータテーブル「う」を、カレントデータテーブルとする。   On the other hand, when it is determined that the current child record is the target child record (SC8, Yes), the specifying unit 23 exits the loop processing of SC6 to SC11 and moves the current data to the position of the index offset value at that time. The table position is moved (SC12). For example, as described above, when it is determined that the current child record “I” is not the target child record, in the next loop processing, the identification code of the child record “U” acquired in SC4 is the current set in SC7. If it is determined that it is the target child record because it matches the identification code of the child record “U”, the index at that time is determined from the top position of the data table of the highest hierarchy stored in the search data file. The data table “U” having the position of the offset value = 1250 bytes as the head position is set as the current data table.

次いで、特定部23は、カレントデータテーブルの親レコードを取得する(SC1)。例えば、カレントデータテーブル「う」の親レコード「う」を取得する。   Next, the specifying unit 23 acquires the parent record of the current data table (SC1). For example, the parent record “u” of the current data table “u” is acquired.

次いで、特定部23は、カレントデータテーブルの全ての子レコードを取得し、当該子レコードに基づいて選択用画面を生成してディスプレイ4に表示する(SC2)。例えば、カレントデータテーブル「う」の子レコードを取得して、これら子レコードから検索用テキストデータをそれぞれ取得し、当該取得した検索用テキストデータをリスト形式で含んだ選択用画面を生成してディスプレイ4に表示する。ここで、カレントデータテーブル「う」の子レコードは存在しないために、特定部23は、施設の検索が終了したものと判定する(SC3、No)。   Next, the specifying unit 23 acquires all the child records of the current data table, generates a selection screen based on the child records, and displays the selection screen on the display 4 (SC2). For example, the child record of the current data table “U” is acquired, the search text data is acquired from each of the child records, and the selection screen including the acquired search text data in a list format is generated and displayed. 4 is displayed. Here, since there is no child record of the current data table “U”, the specifying unit 23 determines that the facility search has been completed (No in SC3).

そして、この時点において設定されている実データ取得用オフセット値に基づいて、参照対象のデータテーブルの位置を決定する(SC13)。すなわち、この時点において設定されている実データ取得用オフセット値により、例えば、実データの最初のデータテーブルの先頭位置から参照対象のデータテーブルの先頭位置までの相対的な位置が特定されるので、制御部22は、この参照対象のデータテーブルの親レコードや子レコードを取得して、所定の処理に利用することが可能になる。例えば、実データの最初のデータテーブル「あ」の先頭位置から、実データ取得用オフセット値=150KByteの位置のデータテーブルを取得することで、実データテーブル「いう」を取得することができ、このデータテーブル「いう」の親レコードや子レコードに基づいて「いう」にて始まる名称の施設をディスプレイ4に表示等することができる。これにて特定処理を終了する。   Then, the position of the reference target data table is determined based on the actual data acquisition offset value set at this time (SC13). In other words, the relative position from the start position of the first data table of the actual data to the start position of the data table to be referenced is specified by the actual data acquisition offset value set at this time point. The control unit 22 can acquire a parent record and a child record of the reference target data table and use them for a predetermined process. For example, by acquiring the data table at the position of the actual data acquisition offset value = 150 Kbytes from the head position of the first data table “a” of the actual data, the actual data table “say” can be acquired. A facility whose name starts with “say” can be displayed on the display 4 based on the parent record and child record of the data table “say”. This completes the specific process.

(処理−更新処理)
次に、更新処理について説明する。図13は、更新処理のフローチャートである。以下の説明では、実データテーブル「い」−実データテーブル「い」における子データレコード「いいかわ」の次の位置に子データレコード「いう」を追加する場合を、具体例に交えて説明する。
(Processing-Update processing)
Next, the update process will be described. FIG. 13 is a flowchart of the update process. In the following description, the case where the child data record “say” is added to the position next to the child data record “good” in the actual data table “i” −actual data table “i” will be described with a specific example. .

最初に、更新部24は、更新情報に基づいて実データレコードを更新する(SD1)。すなわち、更新対象となる実データレコードを、更新対象となる実データレコードの位置において、更新の種類に応じて追加、書き換え、又は削除する。   First, the update unit 24 updates the actual data record based on the update information (SD1). That is, the actual data record to be updated is added, rewritten, or deleted at the position of the actual data record to be updated according to the type of update.

次いで、更新部24は、当該更新された実データレコードに対応するインデックスレコードの実サイズを更新する(SD2)。つまり、実データレコードが追加された場合には、当該実データレコードに対応するインデックスレコードの実サイズに当該更新された実データレコードのデータサイズを加算し、実データレコードが書き換えられた場合には、当該実データレコードの書き換えによるサイズの増減に応じて、当該実データレコードに対応するインデックスレコードの実サイズを増減させ、実データレコードが削除された場合には、当該実データレコードのサイズを当該実データレコードに対応するインデックスレコードの実サイズから減算する。例えば、子データレコード「いう」のサイズ=15KByteであり、インデックスデータテーブル「う」の子レコード「う」の実サイズ=15KByteである場合、当該子レコード「う」の実サイズ=15K+15K=30KByteに更新する。   Next, the update unit 24 updates the actual size of the index record corresponding to the updated actual data record (SD2). That is, when an actual data record is added, the data size of the updated actual data record is added to the actual size of the index record corresponding to the actual data record, and the actual data record is rewritten. The actual size of the index record corresponding to the actual data record is increased or decreased according to the increase or decrease of the size due to the rewriting of the actual data record, and when the actual data record is deleted, the size of the actual data record is Subtract from the actual size of the index record corresponding to the actual data record. For example, when the size of the child data record “say” = 15 KBytes and the actual size of the child record “U” of the index data table “U” = 15 KBytes, the actual size of the child record “U” = 15K + 15K = 30 KBytes Update.

次いで、更新部24は、当該更新されたインデックスデータレコードが属するデータテーブルと同一系統に属するデータテーブルであって、当該データテーブルより上位階層の全てのデータテーブルの子データレコードの実サイズを更新する(SD3)。例えば、子データレコード「いう」のサイズ=15KByteであり、インデックスデータテーブル「あ」の子レコード「い」の実サイズ=105KByteである場合、当該子レコード「い」の実サイズ=15K+105K=120KByteに更新する。これにて更新処理を終了する。この更新処理の終了後、必要に応じて上記特定処理を行うことで、更新されたデータテーブルの実サイズに基づいて、参照対象のデータテーブルの位置を正しく特定することが可能になる。   Next, the updating unit 24 is a data table belonging to the same system as the data table to which the updated index data record belongs, and updates the actual sizes of the child data records of all the data tables higher than the data table. (SD3). For example, when the size of the child data record “say” = 15 KBytes and the actual size of the child record “I” of the index data table “A” = 105 KBytes, the actual size of the child record “I” = 15 K + 105 K = 120 KBytes Update. This completes the update process. After the update process is completed, the identification process is performed as necessary, so that the position of the reference data table can be correctly identified based on the updated actual size of the data table.

(効果)
このように実施の形態2によれば、データ格納手段は、データ処理の対象になる実データと、データ処理の対象になる実データの位置を特定するためのインデックスデータとを格納し、実データファイル27における最初の実データの先頭位置から、参照対象となる実データの先頭位置までの相対的な位置を特定することができるので、データを構成するファイルの数を二つに抑制することができると共に、データの検索を容易に行うことが可能になる。
(effect)
As described above, according to the second embodiment, the data storage means stores the actual data to be subjected to data processing and the index data for specifying the position of the actual data to be processed. Since the relative position from the start position of the first actual data in the file 27 to the start position of the actual data to be referenced can be specified, the number of files constituting the data can be suppressed to two. In addition, it is possible to easily search for data.

また、複数の実データレコードの一部の実データレコードが更新された場合、インデックステーブルの実サイズと、上位階層の全てのインデックステーブルの前記実サイズとを更新することで、データの更新が完了するので、データの更新を容易に行うことが可能になる。   In addition, when some of the actual data records are updated, the data update is completed by updating the actual size of the index table and the actual size of all the index tables in the upper hierarchy. As a result, the data can be easily updated.

〔実施の形態に対する変形例〕
以上、本発明に係る実施の形態について説明したが、本発明の具体的な構成及び手段は、特許請求の範囲に記載した各発明の技術的思想の範囲内において、任意に改変及び改良することができる。以下、このような変形例について説明する。
[Modifications to Embodiment]
Although the embodiments of the present invention have been described above, the specific configuration and means of the present invention can be arbitrarily modified and improved within the scope of the technical idea of each invention described in the claims. Can do. Hereinafter, such a modification will be described.

(解決しようとする課題や発明の効果について)
まず、発明が解決しようとする課題や発明の効果は、上述の内容に限定されるものではなく、発明の実施環境や構成の細部に応じて異なる可能性があり、上述した課題の一部のみを解決したり、上述した効果の一部のみを奏することがある。例えば、データの検索や更新に関する所定の判定を従来より正確にできない場合であっても、データの検索や更新を従来とは異なる技術により達成できている場合には、本願発明の課題が解決されている。
(About problems to be solved and effects of the invention)
First, the problems to be solved by the invention and the effects of the invention are not limited to the above contents, and may vary depending on the implementation environment and details of the configuration of the invention. May be solved, or only some of the effects described above may be achieved. For example, even if a predetermined determination regarding data search or update cannot be performed more accurately than in the past, if the data search or update can be achieved by a technique different from the conventional technique, the problem of the present invention is solved. ing.

(分散や統合について)
また、上述した各電気的構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各部の分散や統合の具体的形態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散や統合して構成できる。例えば、データ処理装置の各構成要素を、複数の装置に分散して構成したり、センター装置に組み込んでも良い。
(About distribution and integration)
Further, each of the electrical components described above is functionally conceptual and does not necessarily need to be physically configured as illustrated. In other words, the specific form of distribution and integration of each part is not limited to the one shown in the figure, and all or a part thereof may be functionally or physically distributed or integrated in arbitrary units according to various loads or usage conditions. Can be configured. For example, each component of the data processing device may be distributed among a plurality of devices or may be incorporated in the center device.

(データの種類や内容について)
上記各実施の形態では、検索データとして、地名や施設名称を検索するデータを例示したが、このデータの種類や内容は任意に変更することができる。また、ナビゲーション装置に関するデータに限定されず、任意の装置における任意の目的のために使用するデータを対象とすることができる。
(About data types and contents)
In each of the above embodiments, data for searching for a place name or a facility name has been exemplified as search data. However, the type and content of this data can be arbitrarily changed. Moreover, it is not limited to the data regarding a navigation apparatus, The data used for the arbitrary purposes in arbitrary apparatuses can be made into object.

1、20 ナビゲーションシステム
2 現在位置取得部
3 タッチパネル
4 ディスプレイ
5 スピーカ
6、21 ナビゲーション装置
7、22 制御部
8、25 データ記録部
9、23 特定部
10、24 更新部
11 地図情報DB
12、26 検索情報DB
13 検索データファイル
27 実データファイル
28 インデックスデータファイル
DT1〜DT7、DT10〜DT12 データテーブル
DESCRIPTION OF SYMBOLS 1,20 Navigation system 2 Current position acquisition part 3 Touch panel 4 Display 5 Speaker 6/21 Navigation apparatus 7/22 Control part 8/25 Data recording part 9/23 Specification part 10/24 Update part 11 Map information DB
12, 26 Search information DB
13 Search data file 27 Actual data file 28 Index data file DT1 to DT7, DT10 to DT12 Data table

Claims (6)

同一のファイルの内部に格納されたデータであって、少なくとも一つのデータレコードを含む複数のデータテーブルを階層構造化して構成されたデータを少なくとも格納するデータ格納手段と、
前記データ格納手段にて格納された複数のデータテーブルの中から、参照対象のデータテーブルの先頭位置を特定する特定手段とを備え、
前記データ格納手段は、前記複数のデータテーブルを、最上位階層のデータテーブルを先頭として、同一系統のデータテーブルを上位階層から下位階層に至る順に前記ファイルに格納し、
前記複数のデータテーブルの各々は、当該データテーブルと同一系統に属するデータテーブルであって、当該データテーブルより一つだけ下位階層のデータテーブルを一意に識別するための識別情報と、当該データテーブルより一つだけ下位階層のデータテーブルのデータサイズである次段サイズと、当該データテーブルより下位階層の全てのデータテーブルのデータサイズの合計値である配下サイズとを含み、
前記最上位階層のデータテーブルは、当該データテーブルのデータサイズを含み、
前記特定手段は、特定対象のデータテーブルの識別情報が所定方法で指定された場合に、前記データ格納手段にて格納された前記データテーブルの前記配下サイズを、前記最上位階層のデータテーブルから、前記識別情報に基づいて識別された前記特定対象のデータテーブルより一つ前の格納位置に格納されたデータテーブルに至るまで、前記データ格納手段における前記データテーブルの格納順に加算することで、前記ファイルにおける前記最上位階層のデータテーブルの先頭位置から前記特定対象のデータテーブルの先頭位置までの相対的な位置を特定する、
データ処理装置。
Data storage means for storing at least data that is stored in the same file and that is structured by hierarchically forming a plurality of data tables including at least one data record;
Among the plurality of data tables stored in the data storage means, comprising a specifying means for specifying the head position of the reference data table,
The data storage means stores the plurality of data tables in the file in the order from the upper hierarchy to the lower hierarchy, with the data table of the same system starting from the highest hierarchy data table.
Each of the plurality of data tables is a data table belonging to the same system as the data table, and includes identification information for uniquely identifying only one lower-layer data table from the data table, and the data table Including the next size, which is the data size of the data table in the lower hierarchy, and the subordinate size, which is the total value of the data sizes of all the data tables in the lower hierarchy than the data table,
The data table of the highest hierarchy includes the data size of the data table,
When the identification information of the data table to be specified is specified by a predetermined method, the specifying unit determines the subordinate size of the data table stored in the data storage unit from the data table of the highest hierarchy. By adding to the data table stored in the data storage means in the storage order of the data table until the data table stored in the storage position immediately before the specific target data table identified based on the identification information, the file Identifying a relative position from the top position of the data table of the highest hierarchy to the top position of the data table to be identified;
Data processing device.
前記データ格納手段は、データ処理の対象になる実データと、データ処理の対象になる実データの位置を特定するためのインデックスデータとを格納し、
前記実データは、文字データを含む複数の実データレコードを当該文字データにおける文字位置及び文字語順に基づいた整列順序で整列して構成されると共に、前記データ格納手段において前記ファイルとは異なる実データファイルに格納され、
前記インデックスデータは、前記データとして構成されると共に、前記文字データの前記整列順序に応じて階層構造化され、
前記インデックスデータの複数のデータテーブルの各々は、自己に対応する前記実データレコードのサイズである実サイズを含み、
前記特定手段は、前記最上位階層のデータテーブルの先頭位置から前記特定対象のデータテーブルの先頭位置までの相対的な位置を特定した後、前記データ格納手段にて格納された前記データテーブルの前記実サイズを、前記最上位階層のデータテーブルから、当該特定された相対的な位置に対応する前記データテーブルより一つ前の格納位置に格納されたデータテーブルに至るまで、前記データ格納手段における前記データテーブルの格納順に加算することで、前記実データファイルにおける最初の実データの先頭位置から前記特定対象の実データの先頭位置までの相対的な位置を特定する、
請求項1に記載のデータ処理装置。
The data storage means stores actual data to be processed and index data for specifying the position of the actual data to be processed,
The actual data is configured by arranging a plurality of actual data records including character data in an arrangement order based on the character position and character word order in the character data, and the actual data different from the file in the data storage means Stored in a file
The index data is configured as the data and has a hierarchical structure according to the arrangement order of the character data,
Each of the plurality of data tables of the index data includes an actual size that is a size of the actual data record corresponding to itself,
The specifying means specifies the relative position from the start position of the data table of the highest hierarchy to the start position of the data table to be specified, and then the data table stored in the data storage means The actual size from the data table of the highest hierarchy to the data table stored in the storage position immediately before the data table corresponding to the specified relative position, in the data storage means By adding in the storage order of the data table, the relative position from the start position of the first actual data in the actual data file to the start position of the real data to be specified is specified.
The data processing apparatus according to claim 1.
前記複数のデータレコードの一部のデータレコードが更新された場合、当該更新されたデータレコードが属するデータテーブルと同一系統に属するデータテーブルであって、当該データテーブルより上位階層の全てのデータテーブルの前記次段サイズと前記配下サイズとを、当該更新されたデータレコードのデータサイズに基づいて更新する更新手段を備えた、
請求項1に記載のデータ処理装置。
When some data records of the plurality of data records are updated, the data table belongs to the same system as the data table to which the updated data record belongs, and all of the data tables in a higher hierarchy than the data table Updating means for updating the next-stage size and the subordinate size based on the data size of the updated data record;
The data processing apparatus according to claim 1.
前記複数の実データレコードの一部の実データレコードが更新された場合、当該更新された実データレコードに対応するインデックステーブルの前記実サイズと、当該インデックステーブルと同一系統に属するインデックステーブルであって、当該インデックステーブルより上位階層の全てのインデックステーブルの前記実サイズとを、当該更新された実データレコードのデータサイズに基づいて更新する更新手段を備えた、
請求項2に記載のデータ処理装置。
When some of the plurality of actual data records are updated, the actual size of the index table corresponding to the updated actual data record and an index table belonging to the same system as the index table And an update means for updating the actual size of all index tables in the upper hierarchy than the index table based on the data size of the updated actual data record,
The data processing apparatus according to claim 2.
同一のファイルの内部に格納されたデータであって、少なくとも一つのデータレコードを含む複数のデータテーブルを階層構造化して構成されたデータを少なくともデータ格納手段に格納するデータ格納ステップと、
前記データ格納ステップにて格納された複数のデータテーブルの中から、参照対象のデータテーブルの先頭位置を特定する位置特定ステップとを含み、
前記データ格納ステップにおいては、前記複数のデータテーブルを、最上位階層のデータテーブルを先頭として、同一系統のデータテーブルを上位階層から下位階層に至る順に前記ファイルに格納し、
前記複数のデータテーブルの各々は、当該データテーブルと同一系統に属するデータテーブルであって、当該データテーブルより一つだけ下位階層のデータテーブルを一意に識別するための識別情報と、当該データテーブルより一つだけ下位階層のデータテーブルのデータサイズである次段サイズと、当該データテーブルより下位階層の全てのデータテーブルのデータサイズの合計値である配下サイズとを含み、
前記最上位階層のデータテーブルは、当該データテーブルのデータサイズを含み、
前記位置特定ステップにおいては、特定対象のデータテーブルの識別情報が所定方法で指定された場合に、前記データ格納ステップにて格納された前記データテーブルの前記配下サイズを、前記最上位階層のデータテーブルから、前記識別情報に基づいて識別された前記特定対象のデータテーブルより一つ前の格納位置に格納されたデータテーブルに至るまで、前記データ格納手段における前記データテーブルの格納順に加算することで、前記ファイルにおける前記最上位階層のデータテーブルの先頭位置から前記特定対象のデータテーブルの先頭位置までの相対的な位置を特定する、
データ処理方法。
A data storage step for storing in a data storage means at least data stored in the same file and configured by hierarchically structuring a plurality of data tables including at least one data record;
Among the plurality of data tables stored in the data storage step, including a position specifying step for specifying the start position of the data table to be referenced,
In the data storage step, the plurality of data tables are stored in the file in the order from the upper hierarchy to the lower hierarchy, with the data table of the same system starting from the data table of the highest hierarchy.
Each of the plurality of data tables is a data table belonging to the same system as the data table, and includes identification information for uniquely identifying only one lower-layer data table from the data table, and the data table Including the next size, which is the data size of the data table in the lower hierarchy, and the subordinate size, which is the total value of the data sizes of all the data tables in the lower hierarchy than the data table,
The data table of the highest hierarchy includes the data size of the data table,
In the position specifying step, when the identification information of the data table to be specified is designated by a predetermined method, the subordinate size of the data table stored in the data storing step is changed to the data table of the highest hierarchy. From the data table stored in the storage position immediately before the specific target data table identified based on the identification information, by adding in the storage order of the data table in the data storage means, Specifying a relative position from the top position of the data table of the highest hierarchy in the file to the top position of the data table to be specified;
Data processing method.
請求項5に記載の方法をコンピュータに実行させるデータ処理プログラム。   A data processing program for causing a computer to execute the method according to claim 5.
JP2012080151A 2012-03-30 2012-03-30 Data processing apparatus, data processing method, and data processing program Active JP5655811B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2012080151A JP5655811B2 (en) 2012-03-30 2012-03-30 Data processing apparatus, data processing method, and data processing program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2012080151A JP5655811B2 (en) 2012-03-30 2012-03-30 Data processing apparatus, data processing method, and data processing program

Publications (2)

Publication Number Publication Date
JP2013210807A true JP2013210807A (en) 2013-10-10
JP5655811B2 JP5655811B2 (en) 2015-01-21

Family

ID=49528589

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012080151A Active JP5655811B2 (en) 2012-03-30 2012-03-30 Data processing apparatus, data processing method, and data processing program

Country Status (1)

Country Link
JP (1) JP5655811B2 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104408188A (en) * 2014-12-15 2015-03-11 北京国双科技有限公司 Method and device for processing data

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07160701A (en) * 1993-12-13 1995-06-23 Sharp Corp Address information retrieval device
JPH09138762A (en) * 1995-11-14 1997-05-27 Nec Software Ltd Memory developing method for tree structure table

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07160701A (en) * 1993-12-13 1995-06-23 Sharp Corp Address information retrieval device
JPH09138762A (en) * 1995-11-14 1997-05-27 Nec Software Ltd Memory developing method for tree structure table

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104408188A (en) * 2014-12-15 2015-03-11 北京国双科技有限公司 Method and device for processing data
CN104408188B (en) * 2014-12-15 2018-07-13 北京国双科技有限公司 Data processing method and device

Also Published As

Publication number Publication date
JP5655811B2 (en) 2015-01-21

Similar Documents

Publication Publication Date Title
JP4531582B2 (en) Map update processing data creation method, map update method and apparatus
KR100948773B1 (en) Circumference search method for setting path and navigation system
US20140244155A1 (en) Information processing apparatus, information processing method, and program
JP4951614B2 (en) Navigation device and map data updating method
JP5275349B2 (en) Information processing apparatus, information creation apparatus, information processing method, information creation method, information processing program, information creation program, and recording medium
JP2007279004A (en) Device and method for retrieving intersection
JP6227658B2 (en) Map information processing apparatus and data generation method
JP5655811B2 (en) Data processing apparatus, data processing method, and data processing program
JP5765726B2 (en) Address input device, navigation device using the same, and database used for the address input device
JP6105340B2 (en) Display control apparatus and method, computer program for display control, and recording medium recording computer program
Lončar et al. Mobile application for finding ATMs
JP5261439B2 (en) DATA UPDATE SYSTEM, NAVIGATION DEVICE, AND DATA UPDATE METHOD
JP5103550B2 (en) MAP DATA MANAGEMENT DEVICE, USER TERMINAL DEVICE, MAP DATA MANAGEMENT METHOD, MAP DATA UPDATE METHOD, MAP DATA MANAGEMENT PROGRAM, MAP DATA UPDATE PROGRAM, AND RECORDING MEDIUM
JPWO2010007689A1 (en) Map data update device, update map data creation device, map data update method, update map data creation method, map data update program, update map data creation program, and recording medium
JP2007257208A (en) Facility retrieval device, method, and program therefor
JP2007265226A (en) Retrieval device, retrieval method, retrieval program, navigation device, method, and program
JP5708547B2 (en) Registration point related information guidance device, registration point related information guidance method, and registration point related information guidance program
JP7260989B2 (en) MAP INFORMATION PROVIDING DEVICE, METHOD AND PROGRAM
Maiellaro et al. The Albanian cultural heritage on the Internet
JP2007328231A (en) Data structure of object content display information, data structure of map information, recording medium with map information recorded thereon, display controller, display control method, display control program, and recording medium with the program recorded thereon
JP6566809B2 (en) Display device, display method, and display program
JP5905114B2 (en) Map data storage device, map display device
JP5734528B2 (en) Map data storage device, map display device
JP5473663B2 (en) Navigation device and data updating method thereof
JP2013156787A (en) Information retrieval device and navigation device

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20140314

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20140924

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20141028

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20141110

R150 Certificate of patent or registration of utility model

Ref document number: 5655811

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150