将参照附图详细描述本发明的各个最佳实施例。
参照图1,本发明一实施例的地图数据库管理系统包括:地图数据库存储单元11,用于以文件的形式存储每种比例的地图数据和相应于该地图数据的区域索引,和一输入单元12,用于经由用户接口接收所希望的比例(或比例索引)及经度、纬度。地图数据库存储单元11被设计成CD-ROM,硬盘驱动器(HDD)和RAM卡。位于地图数据库存储单元11和输入单元12之间的地图管理单元13管理在地图数据库存储单元11中存储的地图数据库并获得对应于所希望比例、经度和纬度的地图数据。第一存储单元14和第二存储15被连接到地图管理单元13。第一存储单元14存储用于管理地图数据库的程序和数据,并被设计成ROM。第二存储单元15暂时存储从地图数据库存储单元11读出的地图索引文件,并被设计成RAM。视频存储器16和显示器17被连接到地图管理单元13,以便于在屏幕上显示地图数据。
在由国家地理学会确定的1比50,000基础上的韩国地图中,有小比例地图,例如1比5,000地图和1比25,000地图,和大比例地图,例如1比100,000地图,1比200,000地图,1比1,200,000地图和韩国全图(Complete map)。在本发明的实施例中,用于识别各种比例地图的比例索引对韩国全图是“1”,以下分别是,用于1比1,200,000地图的是“2”,用于1比200,000地图的是“3”,用于1比100,000地图的是“4”,用于1比50,000地图的是“5”,用于1比25,000地图的是“6”和用于1比5,000地图的是“7”。
其区域索引由本发明的实施例指明的各种比例的地图将参照图2至8加以描述。至于与将在图2至8描述的各种比例对应的地图的相关区域索引,一个区域索引被指定用于构成以每种比例绘制的地图的若干区域中的每个区域,使得对同一地理区域来说,相对大比例地图的区域索引对应于其比例恰好低于上述大比例的地图的多个区域索引。还有,这样来构成地图数据库,使得在将每种比例的地图分别分成有陆地和没有陆地之后,只将存在陆地的区域的地图数据加以存储。为描述的方便起见,虽然两个岛屿,即独岛(Dokto)和郁陆岛(Ullungdo),属于韩国领土,但将省略掉有关上述两岛屿的地图数据库管理的描述。
图2是其区域索引根据本发明实施例指定的以1比50,000的比例绘制的韩国地图。水平线B1指示纬线,垂直线B2指示经线,B3指示没有地图数据的区域的区域索引,而B4指示有地图数据的区域的区域索引。图2中表示了区域索引B3和B4,通过用粗实线包围区域索引B4来使它们能彼此区分。
图3表示在1比100,000比例基础上绘制的韩国地图及有关该1比100,000地图的区域索引,分别由水平线C1指示纬线和垂直线C2指示经线。“C3”指明没有地图数据的区域的区域索引,而“C4”指明有地图数据的区域的区域索引。在图3中表示的区域索引C3和C4是通过用粗实线包围区域索引C4来进行彼此区分的。在图3地图中所示的每个区域索引所指定的1比100,000地图上的各区域对应着图2的1比50,000地图中指定的4个区域索引。“C5”是鉴别线,用于鉴别对应于图2的1比50,000地图上的区域索引B3和B4的各区域,和“C6”是阴影部分,用于表示在由区域索引B3指明的1比50,000地图上的各区域。
图4表示1比200,000地图的情况,垂直线D1指示经度线和水平线D2指示纬线,“D3”指示没有地图数据的区域的区域索引,而“D4”指示有地图数据的区域的区域索引。图4所示的区域索引D3和D4是通过用粗实线包围区域索引D4来进行彼此区分的。在图4中,标号1,8,18,22,23和24是区域索引D3。图4地图中的每个区域索引D3或D4在1比200,000基础上指定的各区域对应着在图3的1比100,000地图中包含的4个区域索引。索引D5是一鉴别线,用于鉴别将要结合图3的1比100,000地图描述的各区域,以及索引D6是阴影部分,表示在由区域索引C3指明的1比100,000地图上的各区域。
图5所示的是通过把韩国全图和涉及该图的各区域索引一分为四所获得的1比1,200,000地图。在图5中,水平线E1指示纬线,垂直线E2指示经度轴。“E3”指示涉及在1比1,200,000地图中上个别区域的区域索引。在1比1,200,000地图上对应于每个区域E3的一个区域与在1比200,000地图上对应于6个区域索引D3或D4的6个区域是相同的。“E4”是一条鉴别线,用于鉴别将要描述的与1比200,000地图有关的各区域,以及“E5”是对应于在1比200,000地图上的区域索引D3指明的各区域的阴影部分。
图6表示,图2的1比50,000地图上对应于区域索引B3或B4的每个区域对应于在1比25,000地图上的4个区域。在图6中,索引F1表示在1比50,000地图上的每个区域,而索引F2表示已被划分成相同尺寸、并具有1比25,000比例的区域F1中的4个区域。
图7表示,在图2的1比50,000地图上的每个区域对应于在1比5,000地图上的100个区域。在图7中,“G1”表示对应着图2的1比50,000地图上的每个区域索引B4的区域,“G2”表示对应着已被划分为相同尺寸的区域G1中的100区域的区域索引。对应于G2的每个区域具有1比5,000的比例。
图8描述了具有图2所示1比50,000比例的济州(Cheju)岛地区。在图8中,各涂黑的圆H1分别是从济州岛区域的1比50,000地图中划分的6个区域H2的中心部分。每个中心部分H1的纬度和经度是(30°30′,126°22′30″),(33°30′,126°37′30″),(33°30′,126°52′30″),(33°15′,126°15′),(33°15′,126°30′)和(33°15′,126°45′)。
关于韩国全图的已参照图2至8描述过的各对应区域的地图数据和每种比例的区域索引以将参照图9和10描述的地图数据文件和地图索引文件的形式预先存储在图1的地图数据库存储单元11中。
图9的地图数据文件被划分成对应于比例索引1至7的区域I1至I7,其中对应于每个区域索引的多种地图数据被置于每个区域中。在地图数据文件中,由比例索引1指定的区域I1存储韩国全图的地图数据。由比例索引2指定的区域I2存储图5的1比1,200,000地图的地图数据。因而,对应于1比1,200,000地图的4个区域的地图数据存在于区域I2中。比例索引3的区域I3存储图4中的具有地图数据的各区域的地图数据,即,由区域索引D4指定的18个区域的地图数据。比例索引4的区域I4存储在图3中所示的68个区域中的由区域索引C4指定的64个区域的地图数据。比例索引5的区域I5存储在图2中所示的262个区域中的由区域索引B4指定的231个区域的地图数据。比例索引6的区域I6存储当图2中所示的262个区域中的每一个被划分成1比25,000地图的4个区域时对应于具有地图数据的729个区域的地图数据。比例索引7的区域I7存储当图2中所示的每个262个区域中的每一个被划分成具有1比5,000地图的相同尺寸的100个区域时对应于具有地图数据的18,225个区域的地图数据。
图10中的地图索引文件包括分别对应于各比例索引的区域J1至J9,其中分别的区域J1至J9存储图9的地图数据文件的数据存储位置、数据长度和开始区域索引。数据存储位置和数据长度分别指明与存储在图9的地图数据文件中的每个比例索引的每个区域索引对应的地图数据的位置和所存储数据的长度。开始区域索引是在具有一定比例的地图上的一区域以及恰小于上述比例的小比例地图上的诸相应区域中具有最低索引值的一个区域的区域索引。例如,相应于图5的1比1,200,000地图上的区域索引2的存储的开始区域索引成为图4的1比200,000地图上的区域索引7。
参照图11A和11B所示的在地图管理单元13中管理地图数据库的过程的流程图,与中央处理单元(CPU)结合使用的地图管理单元13依照在第一存储单元14中存储的地图数据库管理程序执行地图数据的检索。地图管理单元13读取存储在地图数据库存储单元11中的图10的地图索引文件并将读取的结果存储在第二存储单元15中(步101)。如果在步102中,由用户从输入单元12输入来提供经度、纬度和比例索引,那么,地图管理单元13确定所接收的经度、纬度和比例索引是否包含在存储在地图索引文件和区域J1中的预定的经度、纬度范围和比例索引范围中,以便通过图1系统去确定由用户找出的经度、纬度和比例的地图数据是否得到支持(步103)。当接收的经度、纬度和比例索引中的一个是在相应的预定范围之外时,地图管理单元13处理这种情况作为一种边界出错(步104)。当接收的经度和纬度以及比例索引在预定的地图范围和比例索引范围内时,地图管理单元13确定所接收的比例索引是否是“1”(步骤105)。当接收的比例索引是“1”时,该地图管理单元13利用韩国全图的地图数据被存储的存储位置和在第二存储单元15中所存储的地图索引文件的区域J3中包含的地图数据长度信息,来从地图数据库存储单元11中读取韩国全图的地图数据(步106)。然后,地图管理单元13经由视频存储器16在显示器17上显示韩国全图的地图数据,使用户能看到它。
当接收的比例索引不是“1”时,地图管理单元13利用输入的经度、纬度及以下等式(1)来计算涉及1比1,200,000地图的区域索引(步107)。
经度偏移=[(X-125°35′)/2°]的整数
纬度偏移=[(39°-Y)/3°]的整数
区域索引=纬度偏移×2+经度偏移+1 .....(1)
这里X和Y分别是输入的经度和纬度。125°35′和39°是与韩国地图相关联的预定参考位置的经度和纬度,以及2°和3°是图5地图中形式化的每个区域中的经度间隔和纬度间隔。还有,在区域索引计算等式中的常数2和1分别是区域索引3和2在纬度和经度方向相对于在图5地图中其值是1的开始区域索引的数字差。当作为上述等式(1)一例的输入纬度是38°和经度是127°时,1比1,200,000地图的经度偏移和纬度偏移二者皆为零。这样,相应于输入经度和纬度的区域索引的值是1。
当利用等式(1)计算图5的1比1,200,000的区域索引时,地图管理单元13确定输入比例索引的值是否为2(步108)。当比例索引的值是2时,地图管理单元13从在第二存储单元15中存储的地图索引文件的区域J4中包含的数据中确定对应于在步107计算的输入比例索引和区域索引的数据存储位置和长度信息,并利用该确定的数据存储位置和长度信息从存储在地图数据库存储单元11中的地图数据文件中读取相应的地图数据(步109)。然后,地图管理单元13经由视频存储器16在显示器17上显示读取的地图数据,以便用户能看到它。相反,当输入比例索引不是2时,该地图管理单元13利用涉及参照图4所描述的已形式化1比200,000地图的下述等式(2)来计算对应于输入经度和纬度的区域索引(步110)。
经度偏移=[((X-125°35′)
-1∶1,200,000地图的经度偏移×2°)/1°]的整数
纬度偏移=[((39°-Y)
-1∶1,200,000地图的纬度偏移×3°)/1°]的整数
区域索引=纬度偏移×2+经度偏移+开始区域索引 ....(2)
这里在等式(2)中的2°和3°分别是已形式化的图5地图的每个区域中的经度间隔和纬度间隔。分母中的1°分别是已形式化的图4地图的每个区域的经度间隔和纬度间隔。在区域索引计算等式的右侧指明的系数2和1分别是相对于区域索引1的纬度和经度方向的数字差。由于在1比1,200,000地图中的每个区域索引对应着1比200,000地图的6个区域索引,所以对应于在1比1,200,000地图的每个区域索引的在1比200,000地图中的开始区域索引成为(1比1,200,000地图的相应区域索引)×6-5。开始区域索引被存储在区域J4的相应位置中,例如,当输入的经度和纬度是经度127°和纬度38°时,在1比200,000地图中的经度偏移变成1(=[((127°125°35′)-0×2)/1°]的整数)和纬度偏移变成1(=[((39°-38°)-0×3°)/1°]的整数)。将被在1比200,000地图中找出的该位置的区域索引具有数值4(=1×2+1+1)。
在步110中,利用等式(2)计算图4中1比200,000地图的经度和纬度的区域索引,地图管理单元13利用在第二存储单元15中存储的地图索引文件的区域J5中所包含的相应数据确定对应于计算的区域索引的数据存储位置是否无效以及数据长度是否被确定为0(步111)。这是因为区域索引即使是在如图4所描述的1比200,000地图中的没有地图数据的区域中也是指定的。地图管理单元13把对应于计算的区域索引的数据存储位置和数据长度分别为无效和零的情况作为数据不存在的差错来处理(步112)。
当对应于计算的区域索引的数据存储位置和数据长度分别不是无效和零时,地图管理单元13确定输入比例索引是否是3(步113)。当输入比例索引是3时,地图管理单元13利用与在步110计算的地图索引文件的区域J5中包含的区域索引相对应的数据存储位置和数据长度来从地图数据库存储单元11中读取相应的地图数据(步114)。然后,地图管理单元13经由视频存储器16在显示器17上显示读取的地图数据,以便用户能看到它。同时,当输入比例索引不是3时,地图管理单元13确定计算区域索引是否是济州岛地区的区域索引17(步115)。当计算的区域索引是济州岛地区的区域索引时,地图管理单元13确定输入的比例索引是否是4(步116)。如果如此,由于1比100,000地图中没有涉及济州岛地的地图数据,地图管理单元13把它作为数据不存在的差错来处理(步112)。
与此同时,当在步116输入的比例索引不是4时,地图管理单元13利用参照图8描述的济州岛的1比50,000地图来计算对应于输入的经度和纬度的区域索引(步117)。在步117的1比50,000地图中对非形式化的济州岛的区域索引按如下方式计算:
(1)读取在图10的地图索引文件的区域J2中存储的济州岛区域的6个1比50,000地图的每个中心坐标;
(2)利用图8所示的各中心位置H1的经度和纬度以及输入的经度和纬度来确定具有最接近于输入的经度和纬度的经度和纬度的一中心位置;和
(3)确定对应于已确定中心位置的区域索引作为对应于输入的经度和纬度的区域索引。
这样,该区域索引变成图2的各索引中的索引257至262中的一个。
当在步115中待找出的位置不是济州岛地区时,地图管理单元13利用包含有1比100,000地图的经度偏移、纬度偏移和区域索引的下述等式(3)来计算对应于输入的经度和纬度的参照图3所描述的1比100,000地图中的区域索引(步118)。
经度偏移=[((X-125°35′)
-1∶1,200,000地图的经度偏移×2°
-1∶200,000地图的经度偏移×1°)/30′]的整数
纬度偏移=[((39°-Y)
-1∶1,200,000地图的纬度偏移×3°
-1∶200,000地图的纬度偏移×1°)/30′]的整数
区域索引=纬度偏移×2+经度偏移
+开始区域索引 ....(3)
这里,等式(3)中分母所指明的30′分别是形式化的图3中1比100,000地图的每个区域中的经度间隔和纬度间隔。在1比100,000地图中的区域索引计算中使用的开始区域索引与1比200,000地图中的区域索引具有下述关系:
1.如果1比200,000地图的区域索引<8,
开始区域索引=1比200,000地图的相应区域索引×4-3-4;
2.如果8≤1比200,000地图的区域索引<17,
开始区域索引=1比200,000地图的相应区域索引×4-3-8;
3.如果17≤1比200,000地图的区域索引<22,
开始区域索引=1比200,000地图的相应区域索引×4-3-16;和
4.如果22≤1比200,000地图的区域索引≤24,
不存在开始区域索引。
例如,当输入的经度和纬度分别是127°和38°时,1比100,000地图的经度偏移是0{=[((127°-125°35′)-0×2°-1×1°)/30′]的整数},和纬度偏移是0 {=[((39°-38°)-0×3°-1×1°)/30′]的整数}。这样,对应于输入的经度和纬度的1比100,000地图中的区域索引变成9(=0×2+0+9)。
如果在步118中,利用等式(3)计算图3的1比100,000地图的区域索引,则地图管理单元13利用在第二存储单元15中存储的地图索引文件的J6中包含的相应数据来确定对应于计算的区域索引的数据存储位置是否无效以及数据长度是否为0(步119)。这是因为该区域索引即使是在如结合图3所描述的1比100,000地图中的没有地图数据的区域中也是指定的。地图管理单元13把对应于计算的区域索引的数据存储位置和数据长度分别为无效和零的情况作为数据不存在的差错来处理(步120)。
其时,当对应于计算的区域索引的数据存储位置和数据长度分别不是无效和零时,地图管理单元13确定输入比例索引是否是4(步121)。当输入的比例索引是4时,地图管理单元13利用与在第二存储单元15中存储的和在步118中计算的地图索引文件的区域J6中确定的区域索引对应的数据存储位置和数据长度来从地图数据库存储单元11读取相应的地图数据(步121)。然后,地图管理单元13经由视频存储器16在显示器17上显示读取的地图数据,以便用户能看到它。同时,当输入比例索引不是4时,地图管理单元13利用参照图8所描述的1比50,000地图以及利用含有1比50,000地图的经度偏移、纬度偏移和区域索引的下述等式(4)来计算相应于输入的经度和纬度的区域索引(步123)。
经度偏移=[((X-125°35′)
-1∶1,200,000地图的经度偏移×2°
-1∶200,000地图的经度偏移×1°
-1∶100,000地图的经度偏移×30′)/15′]的整数
纬度偏移=[((39°-Y)
-1∶1,200,000地图的纬度偏移×3°
-1∶200,000地图的纬度偏移×1°
-1∶100,000地图的纬度偏移×30′)/15′]的整数
区域索引=纬度偏移×2+经度偏移
+开始区域索引 ......(4)
这里,在经度和纬度偏移计算等式(4)中的分母中所示的15′分别是图2的1比500,000地图的每个区域中的经度间隔和纬度间隔。在1比50,000地图中的区域索引与1比100,000地图的区域索引具有如下关系;
1.如果1比100,000地图的区域索引<21,
开始区域索引=1比100,000地图的相应区域索引×4-3-8;
2.如果22≤1比100,000地图的区域索引<67,
开始区域索引=1比100,000地图的相应区域索引×4-3-12;
3.如果1比100,000地图的区域索引=68,
在1比50,000地图中没有地图数据。
在执行步123或步117之后,地图管理单元13利用在第二存储单元15中存储的图10的地图索引文件的区域J7中包含的相应数据来确定是否区域索引无效和是否数据长度为0(步124)。这是因为区域索引即使在结合图2描述的1比50,000地图中没有地图数据的区域中也是指定的。地图管理单元13把相应于计算的区域索引的数据存储位置和数据长度分别是无效和零的情况作为数据不存在的差错来处理(步120)。
相反,当对应于计算的区域索引的数据存储位置和数据长度分别不是无效和零时,地图管理单元13确定5、6和7中哪一个是输入的比例索引(步125)。当输入的比例索引是5时,地图管理单元13利用相应于在步123或步117中计算的和在第二存储单元15中存储的地图索引文件的区域J7中确定的区域索引的数据存储位置和数据长度从存储有地图数据文件的地图数据库存储单元11中读取相应的地图数据(步126)。然后,地图管理单元13经由视频存储器16在显示器17上显示读取的地图数据,以便用户能看到它。
同时,如果在步125中判断输入的比例索引是6,地图管理单元13执行步127。在步127中,地图管理单元13确定在步117或123中计算的区域索引是否是包含济州岛地区的1比50,000地图的区域索引(步127)。该地图管理单元13能被修改,以利用输入的经度和纬度去确定它是否属于济州岛地区。当输入的比例索引被确定为它不是济州岛地区的区域索引时,地图管理单元13利用下述等式(5)计算相应于输入的经度和纬度的1比25,000地图的区域索引。
经度偏移=[((X-125°35′)
-1∶1,200,000地图的经度偏移×2°
-1∶200,000地图的经度偏移×1°
-1∶100,000地图的经度偏移×30′
-1∶50,000地图的经度偏移×15′)/7′30″]的整数
纬度偏移=[((39°-Y)
-1∶1,200,000地图的纬度偏移×3°
-1∶200,000地图的纬度偏移×1°
-1∶100,000地图的纬度偏移×30′
-1∶150,000地图的纬度偏移×15′)/7′30″]的整数
区域索引=纬度偏移×10+经度偏移
+开始区域索引 ....(5)
这里,在经度和纬度偏移计算等式(5)的分母中所示的7′30″分别是相应于1比25,000地图的每个区域索引的区域中的经度间隔和纬度间隔。还有,由于1比25,000地图的区域索引以4个区域索引对应于1比50,000地图的一个区域索引的形式被加以形式化,所以1比25,000地图的开始区域索引为1比50,000地图的相应区域索引×4-3。
然而,如果在步117或123中计算的区域索引被确定为表示济州岛的1比50,000地图的区域索引,那么地图管理单元13确定结合1比50,000地图计算出的区域索引是否属于257至259一类和260至262另一类中的一个。如果计算出的区域索引是257至259中的一个,该地图管理单元13利用下述等式(6)计算对应于输入经度和纬度的1比25,000地图的区域索引。
经度偏移=[((X-126°15′)
-(1∶50,000地图的区域索引-257)×15′)/7′30″]的整数
纬度偏移=[((33°37′33″-Y)/7′30″]的整数
区域索引=纬度偏移×2+经度偏移
+开始区域索引 .....(6)
其时,如果计算的区域索引不是1比50,000地图的257至259中的一个,地图管理单元13利用下述等式(7)计算相应于输入的经度和纬度的1比25,000地图的区域索引。
经度偏移=[((X-126°7′30″)
-(1∶50,000地图的区域索引-260)×15′)/7′30″]的整数
纬度偏移=[((33°22′30″-Y)/7′30″]的整数
区域索引=纬度偏移×2+经度偏移
+开始区域索引 .....(7)
利用上述等式(6)和(7),能够获得从1025至1048的1比25,000地图的区域索引。
如果利用等式(5)、(6)或(7)计算相应于输入的经度和纬度的1比25,000地图的区域索引,则地图管理单元13从在第二存储单元15中存储的地图索引文件的区域J8中确定相应于该计算的区域索引的数据存储位置是否无效以及数据长度是否为0(步128)。如果数据存储位置和数据长度分别为无效和零,地图管理单元13作为数据不存在的差错来处理它(步129)。
同时,当对应于该计算的区域索引的数据存储位置和数据长度分别不是无效和零时,地图管理单元13从在第二存储单元15中存储的地图索引文件的J8中读取与在步127中计算的区域索引相应的数据存储位置和数据长度。利用该数据存储位置和长度信息,地图管理单元13读取相应于在地图数据库管理单元11中存储的地图数据文件的地图数据(步130)。然后,地图管理单元13经由视频存储器16在显示器17上显示读取的地图数据,以使用户能够看到它。
同时,如果在步125中确定输入比例索引是7,地图管理单元13确定在步117或123中计算的区域索引是否是含有济州岛的1比50,000地图的区域索引。当输入的比例索引被确定不是济州岛区域的区域索引时,地图管理单元13利用下述等式(8)计算参照图7描述的、相应于输入的经度和纬度的1比5,000地图的区域索引(步131)。
经度偏移=[((X-125°35′)
-1∶1,200,000地图的经度偏移×2°
-1∶200,000地图的经度偏移×1°
-1∶100,000地图的经度偏移×30′
-1∶50,000地图的经度偏移×15′)/1′30″]的整数
纬度偏移=[((39°-Y)
-1∶1,200,000地图的纬度偏移×3°
-1∶200,000地图的纬度偏移×1°
-1∶100,000地图的纬度偏移×30′
-1∶50,000地图的纬度偏移×15′)/1′30″]的整数
区域索引=纬度偏移×10+经度偏移
+开始区域索引 ....(8)
这里,经度和纬度偏移计算等式(8)的分母中所示的1′30″分别是对应于1比5,000地图的每个区域索引的区域中的经度间隔和纬度间隔。还有,由于1比5,000地图的区域索引以100个区域索引对应着1比50,000地图的一个区域索引的形式被形式化,所以1比5,000地图的开始区域索引成为1比50,000地图的相应区域索引×100-99。
同时,如果计算的区域索引是257至262中的一个,该地图管理单元13确定该相关1比50,000地图计算的区域索引是属于257至259一类以及260至262另外一类中的哪一类。如果计算的区域索引是257至259中的一个,地图管理单元13利用下述等式(9)计算相应于输入的经度和纬度的济州岛的1比5,000地图上的区域索引。
经度偏移=[((X-126°7′)
-(1∶50,000地图的区域索引-257)×15′)/1′30″]的整数
纬度偏移=[((33°37′30″-Y)/1′30″]的整数
区域索引=纬度偏移×10+经度偏移
+开始区域索引 .....(9)
其时,如果1比50,000地图的区域索引是260至262中的一个,地图管理单元13利用下述等式(10)计算1比5,000地图的区域索引。
经度偏移=[((X-126°7′30″)的整数
-(1∶50,000地图的区域索引-260)×15′)/1′30″]
纬度偏移=[((33°22′30″-Y)/1′30″]的整数
区域索引=纬度偏移×10+经度偏移
+开始区域索引 .....(10)
如果利用等式(8)、(9)和(10)计算相应于输入的经度和纬度的1比5,000地图的区域索引(步131),地图管理单元13在第二存储单元15中存储的地图索引文件的区域J9中所存储的诸数据存储位置和数据长度中,确定相应于计算的区域索引的数据存储位置是否为无效和数据长度是否为0(步132)。这是因为该区域索引即使在1比5,000地图的没有地图数据的区域中也是存在的。如果数据存储位置和数据长度分别为无效和零,地图管理单元13作为数据不存在的差错的情况来处理它(步129)。
同时,当对应于计算的区域索引的数据存储位置和数据长度分别不是无效和不是零时,地图管理单元13在第二存储单元15和地图索引文件的区域J9中存储的诸数据中确定与在步132中计算的区域索引相应的数据存储位置和数据长度。利用确定的数据存储位置和长度信息,地图管理单元13从在地图数据库存储单元11中存储的地图数据文件中读取地图数据(步133)。然后,地图管理单元13经由视频存储器16在显示器17上显示读取的地图数据,以便用户能看到它。
如上所述,根据本发明的地图数据管理方法和系统经由形式化的索引结构和分层结构管理各种比例地图的地图数据。这样,地图索引文件的尺寸可被最小化,而且地图数据的检索可经由简单计算简单地执行。还有,在每个比例上把区域分类成有陆地的部分和没有陆地的部分,这就使得能只用地理上有用的地图数据构成地图数据库。这样,能有效构成地图数据库。
虽然在本说明书中描述的只是本发明的一些特定实施例,很明显不脱离本发明的精神和范围可以作出各种改型。