TWI261772B - Neighbor-finding search method and system based on space-filling curve - Google Patents

Neighbor-finding search method and system based on space-filling curve Download PDF

Info

Publication number
TWI261772B
TWI261772B TW93132313A TW93132313A TWI261772B TW I261772 B TWI261772 B TW I261772B TW 93132313 A TW93132313 A TW 93132313A TW 93132313 A TW93132313 A TW 93132313A TW I261772 B TWI261772 B TW I261772B
Authority
TW
Taiwan
Prior art keywords
value
curve
neighbor
spatial
spatial curve
Prior art date
Application number
TW93132313A
Other languages
Chinese (zh)
Other versions
TW200614044A (en
Inventor
Ye-In Chang
Hue-Ling Chen
Original Assignee
Univ Nat Sun Yat Sen
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 Univ Nat Sun Yat Sen filed Critical Univ Nat Sun Yat Sen
Priority to TW93132313A priority Critical patent/TWI261772B/en
Publication of TW200614044A publication Critical patent/TW200614044A/en
Application granted granted Critical
Publication of TWI261772B publication Critical patent/TWI261772B/en

Links

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

The invention relates to a neighbor-finding search method and system based on space-filling curve. The method of the invention comprises the steps of: (a) utilizing a bit separation to transform a block number of a query point on a first space-filling curve into a first coordinate value and a second coordinate value of the query point; (b) selecting a neighbor in a direction near the query point, and calculating a first coordinate value and a second coordinate value of the neighbor according to the first coordinate value and the second coordinate value of the query point; (c) using a bit shuffling to transform the first coordinate value and the second coordinate value of the neighbor into a block number of the neighbor on the first space-filling curve. The method and system of the invention can efficiently and exactly find the block number of the neighbor near the query point, and does not spend extra I/O time to access the un-needed block number.

Description

1261772 九、發明說明: 【發明所屬之技術領域】 本發明係關於一種資料搜尋方法及系統,詳言之,係關 ;種X弟空間曲線為基礎搜尋鄰居之資料搜尋方法及 系統。 【先前技術】 隨著無線行動網路環境與網際地理資訊系統 的發達,最近鄰居的查詢通常是電子地圖上最熱門 的,詢類型’例如··在公路上開車時,駕駛可能會問··「離 我取近的加油站在哪裡?」。由於最近鄰居空間查詢是—個 在空間貧料結構中與相近距離相關的查 線的特性是將二維的空間資料轉為一維資料儲存時:= 保持資料間彼此相近的距離,使這些距離維持不變,所以 空曲線可以用來回答最近鄰居的查詢。 最=鄰居的查詢是空間資料庫中的查詢類型之一,它與 工間貝料彼此間的距離有關係。用來回答最近鄰居查詢的 有、及树的索引架構為基礎和以空間曲線為基礎的兩 w京引架構為基礎的方法裡,是將距離相近的空 貝:叢集並館存起來,放在-個有限制容量(—city)的 碟區塊中。R樹為一埋古 .、棵回度平衡樹,與一維空間的B +樹 似,都是在葉節點的地 乃辟存一個指向硬碟資料的指標 在二維空間中,每個物體, „ ^ 7 都疋被一個最小的矩形包圍 並用适個最小矩形的左 卜角舆右上角座標來記錄這個物 96413.doc 1261772 一條路徑中,找不到該路 個葉即點,就必須在 口上一層子節點,往此子節點的 的葦〜 b千即占的另-個路徑去找有關係 〇即點’亚將最近於被查詢目標的物體資料傳回。由此 可在任—子節點及葉節點間的路徑來回地搜尋、掏取 可::的資料,並予以作距離的計# ’會花費大量的時間, =結果並不-定完全正確是最近於被查詢目標的物體資 ;斗。以圖1(a)為例,被查詢目標p位於梢方重疊的區域範圍 内’當要尋找最近於P點的物體時,會由根部(圖先在A 的範圍内搜尋,G是最近於p的物體,然而在圖i⑷中,好 才是最近於P的物體,所以必須也在万的範圍内搜尋,才能 找到物體i/的資訊’所以必須花費搜尋兩條路徑的時間,並 擷取範圍内所有的物體資料,計算與最近點的距離後,才 有可能找到正確的最近鄰居。 而以工間曲線為基礎的方法裡,當資料從二維空間轉換 成以一維空間儲存時,空間曲線的特性可以保存資料在二 、准工間中彼此的距離,所以可以空間曲線可以用來回答最 近鄰居的查言旬。以下所述為先前以时區域樹之空間曲線 為基礎來尋找最近鄰居的方法: 1 ·先计异出被查詢目標Θ位於哪個區域號碼内,即查詢區 域號碼為ρ。 2·然後在空間曲線上,也就是一維線性空間中,在曲線 上以向前或向後的順序,依序地尋找區域號碼,且在這些 號碼所標示的區域中,必須去找尋與被查詢目標相鄰最近 的點資訊,找到第一個最近點α a 96413.doc 1261772 3. 計算最近點α與被查詢目標7間的距離j。 4. 在二維空間中,以被查詢目標g為圓心,距離j為半秤 作範圍查詢(r㈣ge ,找尋在這個範圍内,是否還有其 他比目前已尋找到的最近點α更近於被查詢目標7的點次 訊。 ··、、貝 然而,利用上述的方法來回答最近鄰居的查詢,必須依 序地在空間曲線上檢查每個區域號碼内的點資訊。而這此 被檢查的區域號碼,在二維空間中,並不一定是查詢區域 號碼的鄰居。所以會浪費額外的J/〇時間去存取這些不必要 的區域號碼,造成速度太慢,或是無法及時回應情形。 【發明内容】 ^ 本發明之目的在於提供—種以—第—空間曲線為基礎尋 找鄰居之資料搜尋方法,包括下列步驟:⑷利用位元區隔 方法,將-被查詢目標之該第一空間曲線之區塊號碼轉換 為該被查詢目標之-第-座標值及—第二座標值;(b)選定 鄰㈣被查詢目標之—方向之鄰居,依據該被查詢目標之 該第一座標值及該第二座標值,計算得該鄰居之一第一座 標值第二座標值;及⑷利用位元穿插方法,將該鄰居 之該第一座標值及該第二座標值,轉換為該鄰居於該第一 空間曲線之一區塊號碼。 本發明之另-目的在於提供—種以—第—空間曲線為基 楚尋找#居之資料搜尋系統,其包括:_位元區隔裝置、 一鄰居選擇裝置及-位元穿插裝置。該位元區隔裝置用以 將被查5旬目標之第一空間曲線之區塊號碼轉換為該被查 96413.doc 1261772 旬目私之一第一座標值及一第二座標值。該鄰居選擇裝置 用以選定鄰近該被查詢目標之一方向之鄰居,依據該被查 詢目標之該第一座標值及該第二座標值,計算得該鄰居之 米第座標值及一第二座標值。該位元穿插裝置用以將該 郇居之忒第一座標值及該第二座標值,轉換為該鄰居於該 第一空間曲線之一區塊號碼。 本發明之方法及系統利用空間曲線的性質,有效且正確 地計算得到相鄰於被查詢目標之鄰居的區域號碼,不需要 花費額外的//〇時間去存取不是鄰居的區域號碼。進:言 之’本發明之方法及系統利用空間曲線保持資料間相近距 離的特性,有效且正確地找到與被查詢目標相鄰最近的鄰 居的資訊。本發明心間曲線為基礎尋找最近鄰居的方法 及系統,可以應用在目前最熱門的電子地圖導航系統上: 例如·· 汽車導航系統。 【實施方式】 本發明係在空間曲線上,利用空間曲線的性質,以叶曾 的方式,有效且正確地得勒鄰於查㈣域的區域號/ 不需要花費額外的//0時間去存取不是鄰居的區域號碼。 為了使空間資料在維度轉_維持彼錢對與相對 係,空間曲線使得空間中的每—筆資料,以_對_的對應 關係,將資料從高維空間轉換成—維的號碼順序來儲存… 在本發明實施例中所涉及的空間曲線有三種:⑴第 曲線:户⑽仙曲線(2)第二空間曲線曲線(3)第三空:二 線:Hilbert曲線。 96413.doc 1261772 曲線上的號碼,稱為丑值。 空間曲線上的號碼與座標之間有相互的關係,可以將號 辱、、工由某公式轉換成座標的位元表示法。在尸⑽㈣曲線上的 號碼’可以直接轉換成座標軸的位元表示法。以圖5為例說 明,其為級度2的户嶋0曲、線,座標軸上的讀^座標都以二 進位位元表示,錢y座標軸的範圍為㈡。以座標(2七為 例’它的二進位表示法為(1〇,〇1),也就是謂標2的二進位 表示法為丨0,而Γ座標丨的二進位表示法為〇1。將尤座標的二 職表示法的第-個位元丨,穿插㉔標的二進位表示法的 第個位700,接著穿插X座標的二進位表示法的第二個字 以,最後穿插7座標的二進位表示法的第二個位元i,構成 個一進位的位元字串丨謝,將這個位元字串1㈣轉成十 進位表不法為9,構成了在級度2之〜_曲線上的—個區域 號碼9。 r、、、:而圖6(a)級度2之及方G曲線或圖6(b)級度2之历/心以二 級曲線與座標的二進位表示法之間就沒有直接的關係。本 發明利用P咖曲線穿插位元的性質(將二維的空間資料以 穿插謂Γ座標相對應二進位位元的方式轉換成―維的點資 料),簡單地應用在找尋最近鄰居的問題上,然後由轉換後 的一維資料去分析資料在空間中的位置。由於娜曲線或 历/心々曲線在範圍查詢比户⑽⑽曲線的表現要好,所以空間 資料會以這兩種曲線來儲存。所以本發明提出在&⑽〇曲線 及7曲線,在㈣〇曲線及仞/心以曲線之間轉換的規則, 去協助本發明正確且快速地找到離被查詢目標最近的點資 96413.doc 1261772 料。 以圖7來舉例說明,它是一個衔道圖,以空間曲線來將其 上的資料做順序性的編號,有三種空間曲線的編號方式: (a)Pe㈣〇曲線(b)i?5G曲線曲線。即將這些資料依 照這些編號的順序儲存到實際硬碟空間中。圖8顯示為這些 資料放置在磁碟空間中的情形。今有一個火災發生在這個 街道上,標示為F,在圖7(a)以級度2之尸μ如曲線來編號的 地圖上,火災發生是在號碼9的位置。以傳統四方區域樹之 空間曲線的技術來找最近於火災地點的消防栓(標示為好) 時,會沿著號碼向前向後尋找,找到編號1 〇的位置是最近 的消防栓,離編號9的火災地點相距2個區塊。接下來就以 編號9的火災地點厂為圓心,半徑為2個區塊,搜尋在這個範 圍内’有 >又有比這個編號1 〇的更近的消防检。最後發現編 號3才疋離編说9最近的消防检,僅相距一個區塊。以圖§(a) 的硬碟儲存情形來看,由編號9的磁碟位置出發,沿著曲線 的順序向前向後尋找時,必須存取6(=9-3)個磁碟空間,即 花費6個//(9的時間去做存取比對,才能找到最近的消防 栓:編號3。 依照相同的方式,即以傳統四方區域樹之空間曲線的技 術,在圖7(b)以級度2之抑G曲線或以圖7(c)級度2之////心々 曲線來編號的地圖上,尋找最近的消防栓。在圖8(b)或圖8(c) 上顯示,必須k費11 (=13-2)或11 (=1 3-2)個//(9的時間去做存 取比對。然而,找到的僅只可能是一個方向上的最近鄰居。 相較下,使用本發明的方法來找最近的鄰居,本發明可以 96413.doc 1261772 直接算出在圖7上,盥、t α^ ’、 火也”、七F相鄰一個區塊,而且在八 個方向上的鄰居區塊,缺饴 …、後再去磁碟中存取這些鄰居的區 塊。如此一來,本發明的士 乃的方法可以有效率地減少搜尋並存 取不是鄰居區塊的時間,开 並且正確地獲得最近於火災地點 的消防栓//的資訊。 圖9顯示級度為3的二插此% · —種曲線·(a)Pea"o曲線曲線 (c)//7/Z>eri曲線,表示在一張士 張地圖必須用級度3的空間曲線來 Λ !生儲存其上的空間貧料,而可以選用曲線、灿G曲 線或祕⑺曲線的編號方式來儲存。當下達某-個最近鄰 居的查料,首㈣得被查詢目標位於區塊的號碼,然後 再…、在不同曲線的方法尋找離被查詢目標最近的鄰居。 以下的敘述均會以圖9的圖形來辅助說明。 參:圖10所示’係本發明第-實施例以/W曲線為基 礎子找被查詢目標之一方向之鄰居的流程圖。配合來考 W 13 ’本發明H空間曲線曲線)為基礎搜尋鄰 居之資料搜尋系統40主要包括:—位元區隔裝置41、—鄰 居選擇裝置42及一付:分空林·壯职 牙插衣置43。茲以圖9(a)來輔助說明 本發明第一實施例之方法及系統。 »亥位7L區隔裝置41係利用圖1Q中步驟u之位元區隔(仙 ⑽叫方法,將—被查詢目標之第-空間曲線之區塊 號碼轉換為該被查詢目標之一第一座標值及一第二座標 值2詳言之,該位元區隔裝置41係將該被查詢目標之該區 ^ ’υ馬(十進位)轉換為一被查詢目標之二進位值,並以位元 區隔分別取出該被查詢目標二進位值之奇數位元及偶數位 96413.doc 1261772 元,分別串接合併以各自形成一被查詢目標奇數位元組二 進位值及一被查詢目標偶數位元組二進位值,分別將該被 查珣目標奇數位元組二進位值及一被查詢目標偶數位元組 二進位值轉換至十進位,以對應得該被查詢目標之第一座 標值及第二座標值。 參考圖9(a),其中被查詢目標位於區塊號碼45,即冗值為 45。將查詢區塊的號碼45 (原為十進位表示),轉換成二進位 值1〇11辽1(二進位表示)。在二進位表示中,由左算來第一、 第二、與第五位等奇數位的位元形成一第一座標(尤座標)的 二進位表示110,即有標示底線的位元;而第二、第四與第 六位等偶數位的位元形成一第二座標(r座標)的二進位表 不〇11。然後將這兩座標的二進位表示分別轉換成十進位表 示即尤座彳示值為6,F座標值為3,即查詢區塊的第_座標 值及第二座標值為(X,7)=(6, 3)。 α亥郇居選擇裝置42係依據圖1 〇之步驟丨2方法選定鄰近該 被查詢目標之一方向之鄰居乃%⑴·⑽),依據該被 查詢目標之該第一座標值及該第二座標值,計算得該鄰居 之一第一座標值及一第二座標值。亦即,該鄰居選擇裝置 42係依據該選定之方向,決定一第一座標偏移值及一第二 座標偏移值,依據該被查詢目標之該第一座標值及該第二 座标值,及该第一座標偏移值及該第二座標偏移值,計算 知该鄰居之第一座標值及第二座標值。 苓考圖9(a),例如,選定該被查詢目標之西方之鄰居,所 以在水平方向上的字串變數月l^’west,,在垂直方向上的字 96413.doc -14- 1261772 011。將糊二進位表示中,由左算來第-個位元!,穿插 糊二進位表示中,由左算來第-個位元〇,然後依序再穿 插鮮的第二個位元0,糊第二個位元1,綱第三個位元 的第一個位凡丨,構成一個位元字串上〇泛1丄1,其中標 示底線的字元是來自於糊二進位表示中的三個位元,而 其餘未標示底線的三個位元來自#7的二進位表示。接著, 在將這個經牙插位元動作後的位元字串轉換成十進 位表不39。在圖9(a)中,區塊號碼39即是查詢區塊號碼45 的西方鄰居,其Z值為39。相同的,查詢區塊號碼45在八個 方向上的鄰居,都可以利用本發明之該位元區隔裝置41、 該鄰居選擇裝置42及該位元穿插裝置43,並經由上述的三 個步驟正確地計算得所選擇鄰居之區塊號碼。 圖11係本發明第二實施例以第二空間曲線曲線)為 基礎,尋找被查詢目標之一方向最近鄰居之流程圖。圖ι工 的流程圖可分為三個步驟,並且以圖9(b)來辅助說明這三個 步驟的過程。配合參考圖13,本發明第二實施例係利用該 貢料搜尋系統40之一第二空間曲線轉換裝置44、位元區隔 裝置41、鄰居選擇裝置42、位元穿插裝置43及一第二空間 曲線還原裝置46完成第二空間曲線曲線)為基礎,尋找 被查沟目標之一方向最近鄰居。該第二空間曲線轉換裝置 44用以將該被查詢目標之一第二空間曲線之區塊號碼轉換 為相對於該被查詢目標之該第一空間曲線之區塊號碼,如 圖11之步驟21所示。 爹考圖9(b),其中被查詢目標位於區塊號碼59,即該第 96413.doc -16- 1261772 二空間曲線之區塊號碼為59。將該區域號碼59(原為十進位 表示),轉換成111 〇 11 (此為二進位表示)。本發明可以將第 二空間曲線之區塊號碼的二進位表示藉由任一習知轉換方 法,例如先前技術C. Faloutsos所提之"Multiattribute1261772 IX. Description of the Invention: [Technical Field of the Invention] The present invention relates to a data search method and system, and more particularly, to a data search method and system for searching neighbors based on a X-space curve. [Prior Art] With the development of the wireless mobile network environment and the Internet geographic information system, the nearest neighbor's query is usually the hottest on the electronic map, and the type of inquiry 'for example, when driving on the road, the driver may ask... "Where is the gas station close to me?". Since the nearest neighbor spatial query is a characteristic of the line related to the close distance in the space-poor structure, when the two-dimensional spatial data is converted into one-dimensional data storage: = keep the distances close to each other, so that these distances It remains the same, so an empty curve can be used to answer the nearest neighbor's query. The most = neighbor query is one of the query types in the spatial database, which is related to the distance between the work materials. In the method based on the index structure of the nearest neighbor query and the tree, and the two-based Beijing-based architecture based on the space curve, the airbags with similar distances are clustered and stored in the library. - A block with limited capacity (-city). The R tree is a buried ancient tree with a balanced tree. It is similar to the B + tree in the one-dimensional space. It is an indicator of the hard disk data in the leaf node. In the two-dimensional space, each object , „ ^ 7 Tudor is surrounded by a smallest rectangle and uses the smallest rectangle of the left corner 舆 the upper right corner coordinates to record this object 96413.doc 1261772 In a path, the road can not find the point, that is, in A sub-node on the mouth, to the other node of the sub-node ~ b thousand that is the other path to find a relationship, that is, the point that the sub-return of the object data of the recently queried target is returned. The path between the leaf nodes and the leaf nodes can be searched back and forth, and the data can be::, and the distance meter can take a lot of time, and the result is not - the correctness is the object that is closest to the target being queried; In the case of Figure 1(a), the queried target p is located in the area where the tip overlaps. When searching for the object closest to point P, it will be searched for by the root (the map first searches within the range of A, G is The object closest to p, however, in Figure i(4), it is the closest to P. Body, so you must search within 10,000 to find the information of object i/' so you must spend time searching for two paths, and extract all the objects in the range, calculate the distance from the nearest point, then It is possible to find the correct nearest neighbor. In the method based on the inter-work curve, when the data is converted from two-dimensional space to one-dimensional space, the characteristics of the spatial curve can preserve the distance between the data and the quasi-work. , so the space curve can be used to answer the recent neighbor's query. The following is the method for finding the nearest neighbor based on the spatial curve of the previous time zone tree: 1 · The first query is where the target is located Within the number, the query area number is ρ. 2· Then in the spatial curve, that is, in the one-dimensional linear space, the area numbers are sequentially searched in the forward or backward order on the curve, and are marked in these numbers. In the area, you must find the nearest point information adjacent to the target being searched to find the first closest point α a 96413.doc 1261772 3. Calculate the nearest point α The distance j between the target 7 is queried. 4. In the two-dimensional space, the target g is the center of the query, and the distance j is the semi-scale for the range query (r(four)ge. Looking for this range, is there any other than the current search? The nearest point α is closer to the point at which the target 7 is queried. ···, 贝, however, using the above method to answer the nearest neighbor's query, it is necessary to check the area curve for each area number in sequence. Point information. The area number to be checked, in the two-dimensional space, is not necessarily the neighbor of the query area number. So it will waste extra J/〇 time to access these unnecessary area numbers, causing speed too. Slowly, or unable to respond to the situation in time. [Invention] The purpose of the present invention is to provide a data search method for finding neighbors based on the -first-space curve, including the following steps: (4) using the bit segmentation method, - the block number of the first spatial curve of the queried target is converted to the - coordinate value of the queried target and the second coordinate value; (b) the direction of the selected neighbor (four) queried target - The neighbor calculates a second coordinate value of the first coordinate value of the neighbor according to the first coordinate value and the second coordinate value of the queried target; and (4) using the bit interpolation method, the first of the neighbors The coordinate value and the second coordinate value are converted into a block number of the neighbor in the first spatial curve. Another object of the present invention is to provide a data search system based on the -first space curve, which includes: a bit partitioning device, a neighbor selecting device, and a bit interpolating device. The bit segmentation device is configured to convert the block number of the first spatial curve of the 5th target to be converted into a first coordinate value and a second coordinate value of the one of the 96413.doc 1261772. The neighbor selection device is configured to select a neighbor adjacent to one of the queried targets, and calculate a coordinate value of the neighbor and a second coordinate according to the first coordinate value and the second coordinate value of the queried target value. The bit interpolating device is configured to convert the first coordinate value and the second coordinate value of the neighbor into a block number of the neighbor in the first spatial curve. The method and system of the present invention utilizes the nature of the spatial curve to efficiently and correctly calculate the area number of the neighbor adjacent to the queried target, without the need for additional // time to access the area number that is not the neighbor. The method and system of the present invention utilizes the spatial curve to maintain the close distance between data, and effectively and correctly find the information of the nearest neighbor adjacent to the object being queried. The method and system for finding the nearest neighbor based on the intercardiogram curve of the present invention can be applied to the most popular electronic map navigation system: for example, a car navigation system. [Embodiment] The present invention utilizes the nature of the spatial curve on the spatial curve, and effectively and correctly obtains the area number of the neighboring (four) domain in the manner of Ye Zeng / does not need to spend an additional / / 0 time to save Take the area number that is not a neighbor. In order to make the spatial data in the dimension _ maintain the money pair and the relative system, the spatial curve makes each data in the space, with the correspondence of _ _ _, the data is converted from the high-dimensional space to the - dimensional number order to store There are three kinds of spatial curves involved in the embodiment of the present invention: (1) the first curve: the household (10) fairy curve (2) the second spatial curve curve (3) the third space: the second line: the Hilbert curve. 96413.doc 1261772 The number on the curve, called the ugly value. There is a mutual relationship between the number on the space curve and the coordinates, which can be used to convert the humiliation and workmanship into a bit representation of the coordinates. The number ' on the cadaver (10) (four) curve can be directly converted to the bit representation of the coordinate axis. Taking Figure 5 as an example, it is the zero-curve and line of the household degree 0 of the degree 2, and the read coordinates of the coordinate axis are represented by binary bits, and the range of the axis of the money y coordinate is (2). Taking the coordinates (2-7 as an example), its binary representation is (1〇, 〇1), that is, the binary representation of the scale 2 is 丨0, and the binary representation of the 丨 coordinate is 〇1. Intersect the first bit of the second-position representation of the symposium, insert the first bit 700 of the binary representation of the 24-label, then insert the second word of the binary representation of the X-coordinate, and finally intersperse the 7-coordinate The second bit i of the binary representation, which constitutes a carry-bit string of words, converts the bit string 1 (four) into a decimal table, which is 9, which constitutes the curve of the level 2 The upper area number is 9. r, , , : and the graph of (a) level 2 and the square G curve or the figure 6 (b) level 2 calendar / heart is represented by the secondary curve and the binary of the coordinates There is no direct relationship between the methods. The present invention utilizes the nature of the P-curve interspersed bit (the two-dimensional spatial data is converted into the "dimensional point data" by interspersing the corresponding coordinates into the binary bit), which is simple. The application is to find the nearest neighbor, and then the transformed one-dimensional data is used to analyze the position of the data in space. The calendar/heartbeat curve performs better in the range query than the household (10) (10) curve, so the spatial data will be stored in these two curves. Therefore, the present invention proposes the &(10)〇 curve and the 7 curve, in the (four)〇 curve and the 仞/心Using the rules of transition between curves, the present invention is assisted to correctly and quickly find the nearest point 96413.doc 1261772 from the target being queried. As illustrated by Figure 7, it is an orientation map, which will be a spatial curve. The data on it is numbered sequentially, and there are three ways to number the space curves: (a) Pe (four) 〇 curve (b) i? 5G curve. The data is stored in the actual hard disk space in the order of these numbers. 8 shows the situation where the data is placed in the disk space. A fire has occurred on this street, labeled F, on the map numbered 2 in Figure 7(a). Occurs in the position of number 9. When using the technique of the space curve of the traditional quadrilateral area tree to find the fire hydrant (marked as good) near the fire place, it will look forward and backward along the number to find the number 1 〇 It is the nearest fire hydrant, which is 2 blocks away from the fire station number 9. Next, the fire station factory with the number 9 is the center of the circle, and the radius is 2 blocks. The search is in this range '有有>; This is a more recent fire test with the number 1 。. It was finally found that the number 3 was only separated from the nearest fire test, only one block away. According to the hard disk storage situation of Figure § (a), by number 9 When the disk position starts and looks forward and backward in the order of the curve, you must access 6 (= 9-3) disk spaces, that is, take 6 // (9 times to do the access comparison to find The nearest fire hydrant: No. 3. In the same way, that is, the technique of the spatial curve of the traditional quadrilateral area tree, in Fig. 7(b), the G curve of the degree 2 or the level 2 of Fig. 7(c) //// Heartbeat curve to number the map, look for the nearest fire hydrant. It is shown in Fig. 8(b) or Fig. 8(c) that it is necessary to charge 11 (= 13-2) or 11 (=1 3-2) // (9 times to do the access comparison. However, It is only possible to find the nearest neighbor in one direction. In contrast, using the method of the present invention to find the nearest neighbor, the present invention can be directly calculated in Figure 13, on page 7, 盥, t α^ ', fire also ", seven blocks adjacent to a block, and neighboring blocks in eight directions, lacking ..., then go to the disk to access the blocks of these neighbors. Thus, the method of the present invention It is possible to efficiently reduce the time to search for and access non-neighbor blocks, and to open and correctly obtain the information of the fire hydrant // that was recently in the fire place. Figure 9 shows the gradation of 3, which is the second curve. (a) Pea"o curve (c)//7/Z> eri curve, which means that the space curve of grade 3 must be used in a map of a map, and the space in the space is stored. The numbering of the curve, the Can G curve or the secret (7) curve is stored. When the search of a nearest neighbor is released, the first (four) is to be queried for the target. The number, then..., finds the nearest neighbor to the queried target in a different curve. The following description will be assisted by the graph of Fig. 9. Reference: Figure 10 shows the first embodiment of the present invention. The W curve is a flowchart for finding a neighbor in the direction of one of the queried targets. The data search system 40 for searching for neighbors based on the test of the H-space curve of the present invention mainly includes: a bit segmentation device 41 - Neighbor selection device 42 and one payment: separate empty forest and strong teeth insertion device 43. The method and system of the first embodiment of the present invention are assisted by Fig. 9(a). »Hai 7L segmentation device The 41 system converts the block number of the first-space curve of the queried target into a first coordinate value and a second coordinate of the queried target by using the bit interval of step u in FIG. 1Q (the sen (10) calling method. Value 2 In detail, the bit segmentation device 41 converts the region of the queried target ^'s horse (decimal) into a binary value of the queried target, and takes out the bit segment separately. Odd bits and even bits 9641 of the target binary value being queried 3.doc 1261772 elements, respectively, are joined in series and each form a query target odd-numbered byte set binary value and a queried target even-numbered byte set binary value, respectively, the checked target odd-numbered byte set binary The value and an even-numbered byte of the queried target are converted to a decimal value to correspond to the first coordinate value and the second coordinate value of the queried target. Referring to FIG. 9( a ), wherein the queried target is located in the block The number 45, that is, the redundancy value is 45. The number 45 of the query block (originally represented by decimal) is converted into a binary value of 1〇11 Liao 1 (indicated by the binary). In the binary representation, it is calculated by the left. The odd-numbered bits of the first, second, and fifth bits form a binary representation 110 of the first coordinate (especially), that is, the bit with the bottom line; and the second, fourth, and sixth bits, etc. The even-numbered bits form a binary coordinate of the second coordinate (r coordinate). Then the binary representations of the two coordinates are respectively converted into decimal representations, that is, the value of the coordinates is 6, and the coordinate value of the F is 3, that is, the _th coordinate value and the second coordinate value of the query block are (X, 7). =(6, 3). The 郇 郇 郇 选择 选择 选择 42 42 选择 α α α α α α α α α α α α α α α α α α α α α α α α α α α α α α α α α α α α α α α α α α α The coordinate value is calculated as one of the first coordinate value and a second coordinate value of the neighbor. That is, the neighbor selection device 42 determines a first coordinate offset value and a second coordinate offset value according to the selected direction, according to the first coordinate value and the second coordinate value of the queried target. And the first coordinate offset value and the second coordinate offset value, and the first coordinate value and the second coordinate value of the neighbor are calculated. Referring to Fig. 9(a), for example, the neighbor of the west of the queried target is selected, so the string in the horizontal direction is variable month l^'west, and the word in the vertical direction is 96413.doc -14-1261772 011 . Put the paste into the binary representation, and count the first bit from the left! In the middle of the binary representation, the first bit is calculated from the left, and then the second bit 0 is inserted in the order, the second bit is pasted, and the third bit is the first. Each bit 丨 丨 构成 构成 构成 构成 构成 构成 构成 构成 构成 构成 构成 构成 构成 构成 构成 构成 构成 构成 构成 构成 构成 构成 构成 构成 构成 , , , , , , , , , , , , , , , , , , , , , , , The binary representation of 7 is indicated. Next, the bit string after the bit interpolation operation is converted into a decimal table 39. In Fig. 9(a), the block number 39 is the western neighbor of the inquiry block number 45, and its Z value is 39. Similarly, the neighboring block number 45 in the eight directions can use the bit segmentation device 41, the neighbor selection device 42 and the bit interpolating device 43 of the present invention, and through the above three steps. The block number of the selected neighbor is correctly calculated. Figure 11 is a flow chart showing the nearest neighbor in one of the queried targets based on the second spatial curve of the second embodiment of the present invention. The flow chart of the figure can be divided into three steps, and the process of the three steps is explained in Fig. 9(b). Referring to FIG. 13, a second embodiment of the present invention utilizes a second spatial curve conversion device 44, a bit segmentation device 41, a neighbor selection device 42, a bit interpolating device 43, and a second Based on the second spatial curve curve, the spatial curve reduction device 46 searches for the nearest neighbor in one of the directions of the target. The second spatial curve conversion device 44 is configured to convert the block number of the second spatial curve of the queried target to the block number of the first spatial curve relative to the queried target, as shown in step 21 of FIG. Shown. Referring to Figure 9(b), the target to be queried is located at block number 59, that is, the block number of the 96413.doc -16-1261772 space curve is 59. Convert the area number 59 (formerly decimal) to 111 〇 11 (this is the binary). The present invention can represent the binary representation of the block number of the second spatial curve by any conventional conversion method, such as the prior art C. Faloutsos, "Multiattribute

Hashing Using Gray Codes/ 的演算法 SIGMOD Int. Conf. on Management of Data, pp. 227-238,Algorithm for Hashing Using Gray Codes/ SIGMOD Int. Conf. on Management of Data, pp. 227-238,

Aug· 1986),轉換成相對應第一空間曲線之區塊號碼的二進 位表不101101,在此不加資述。 芩考圖11之第二步驟22,以第一空間曲線為基礎尋找一 方向之鄰居。在上述步驟21中,已計算得相對應第一空間 曲線之區塊號碼,因此,可以利用本發明之該位元區隔裝 置41、該鄰居選擇裝置42及該位元穿插裝置43,並經由圖 10中之三個步驟正確地計算得所選擇鄰居之第一空間曲線 之區塊號碼。在第二實施例中’仍以尋找被查詢目標之西 方鄰居為例說明之。 由第-步驟21所獲得的第一空間曲線之被查詢目標區塊 號碼的二進位表示1G11()1,其實就是在〜咖區線上被查詢 目標區塊號碼45的二進位表示。所以可以將這個二進位表 示帶入圖1 0的計算流程中 v 4曰 枉τ 以侍到被查詢目標之西方鄰居 於第一空間曲線之區堍辨石Q ^ ^ 匕尾琥碼39,其二進位表示為100111。 參考圖11之第三步驟23 m + 壤 v 丫 3所不,弟一空間曲線轉換為第二 空間曲線。配合參考圖1 3,* A叫一 口 3本發明育料搜尋系統40之該第 二空間曲線還原裝置46 ’用以將該鄰居之該第一空間曲線 之區塊號碼轉換為相對於該鄰居之該第二空間曲線之區塊 96413.doc 1261772 號碼。 將第二步驟所獲得的該鄰居之該第一空間曲線之區塊號 碼的一進位表示100111,經由先前技術a ⑽所提 ’’Multiattribute Hashing Using Gray Codes,’,的演算法(Ρπ of ACM SIGMOD Int. Conf. 〇n Management of Data, pp. 227-238, Aug· 1986),轉換成在曲線上的該鄰居之該第 一空間曲線之區塊號碼的二進位表示丨丨〇丨〇〇,將這個位元 字串轉成十進位表示,得到該鄰居之該第二空間曲線之區 塊唬碼十進制表示為52,即在圖9(b)中,區塊號碼52即是被 查詢目標區塊號碼59的西方鄰居。 圖12係本發明第三實施例以第三空間曲線⑺以曲線) 為基礎,尋找被查詢目標之一方向最近鄰居之流程圖。圖 12的流釭圖可分為九個步驟,並且以圖9(c)來輔助說明這三 個步驟的過程。配合參考圖丨3,本發明第三實施例係利用 該資料搜尋系統40之一第三空間曲線轉換裝置45、位元區 隔裝置41、鄰居選擇裝置42、位元穿插裝置43及一第三空 間曲線還原裝置47完成第三空間曲線(讯/6以(曲線)為基 礎,尋找被查詢目標之一方向最近鄰居。其中該第三空間 曲線轉換裝置45用以將該被查詢目標之一第三空間曲線之 區塊號碼轉換為相對於該被查詢目標之該第一空間曲線之 區塊5虎碼。 參考圖14所示,該第三空間曲線轉換裝置幻包括:一第 二空間位元分割45 1、一高低級度轉換器M2、一第三空 間曲線轉換器453及一第一空間曲線位元連接器454。配合 96413.doc -18- 1261772 圖12之流程圖說明之。 如圖12之第一步驟31所示,將第三空間曲線(所/z>州曲線) 位元分割(5" 。亦即該第三空間位元分割器45 1用 以將該被查詢目標之該第三空間曲線之該區塊號碼轉換為 一被查询目標第三空間曲線之二進位值,並以位元分割將 被查詢目標第三空間曲線之二進位值,由左至右,依序分 割為二個位元為一組之複數個位元組,將該等位元組分別 轉換成十進位表示的複數個數值。 參考圖9(c),被查詢目標位於的區塊號碼51,即該被查詢 目標第三空間曲線之區塊號碼為51。將查詢區塊的號碼 51 (原為十進位表示),轉換成被查詢目標第三空間曲線之二 進位值。將該二進位表示由左至右,依序分割為兩 個一組的位元組,即標示底線的兩個位元為一組。再將這 二位元組各自轉換成十進位表示,即i辽i,這個以十進位 表示的字串為查詢區塊號碼51在历級度為3的曲線上 的位置這些十進位的數字表示所/心以曲線由級度,低,形成 級度’高,的曲線時,經過旋轉與順序反向的資訊。第一個數 字3表示第一層,也就是地圖分成四個大區塊時,區塊號碼 51是位於第3個大區塊。第二個數字為〇表示第二層,也就 是將大區塊再分為四個中區塊,區塊號碼51位於第三個大 區塊中的第〇個中區塊。然而中區塊的號碼順序已經過旋 反向的過私,與原先大區塊的號碼順序相異。第三個 ^為3表不第二層,也就是將中區塊再分為四個小區塊, 品鬼唬碼5 1則為於第3個大區塊中的第〇個中區塊中的第 96413.doc -19- 1261772 3個小區塊。而小區塊的號碼順序也因為旋轉與反向的過程 後,與較大區塊的號碼順序相異。 如圖12之第二步·驟3 2所示,高低級度轉換,亦即將第三 空間曲線曲線)由級度,高’轉成以級度1為順序的曲 線。利用該高低級度轉換器452,若該第三空間曲線為一大 於1之高級度第三空間曲線,將該等高級度第三空間曲線數 值轉換為級度等於1之低級度第三空間曲線數值。 由於在之後的步驟’需利用以尸α⑽曲線為基礎去尋找最 近鄰居的方法,而且曲線與尸⑽㈣曲線不同在於: iiz·/心ri級度’高’的曲線必須由級度,低,的曲線經由複製、旋 轉及順序反向而串連形成,所以在某個位置上的號碼順序 是與級度’低’的曲線上的號碼順序不同的。而戶級度,高 ’的曲線是由級度’低’的曲線經由複製後_連形成的,所以在 某個位置上的號碼順序還是與級度,低,的曲線上的號碼順 序相同。所以在這個步驟,必須將曲線由級度,高, 退化轉成以級度1為順序的曲線。 該高低級度轉換器452係由左至右依序轉換該等高級度 第三空間曲線數值,當高級度第三空間曲線數值為3時,其 下一位數值若為0則須轉換為2,若為2則須轉換為〇,以成 為該下一位數值之轉換數值;當高級度第三空間曲線數值 為〇時,其下一位數值若為丨則須轉換為3,若為3則須轉換 為1,以成為該下一位數值之轉換數值;轉換至最後一數 值’組合該等轉換數值即為該低級度第三空間曲線數值。 以上述之實施例說明之,該等高級度(級度3)第三空間曲 96413.doc -20- 1261772 線數值為 3 0 3(十進#矣-、^ y ^ --- 位表不),第一個數字為3,表示位於 整個地圖分成四大塊的笫:t , 弟3個大區塊。而运個大區塊内(分 成四個中區塊)的號碼順戽p、左装 1興斤随者反時針旋轉9〇度與反向過 即級度1的號碼順序為〇與2, 。當要退化成級度1的號碼順 程’與級度1的號碼順序不同, 與在第3個大區塊内順序相反 序時,在第3個大區塊 内號碼0要變成2,號碼2要變成〇。所 以旭的第二個數字要從。變成2,第三個數字不變m !;也就是當觀察第一個數字後,在其後的每個數字,都要 檢查它們的號碼順序,並做相對的變動。 同理,在整個地圖分成四大塊的第〇個大區塊,而這個大 區塊内(分成四個中區塊)的號碼順序隨著順時針旋轉90度 與反向過程,與級度丨的號碼順序不同,即級以的號碼順 序為1與3,肖在第0個大區塊内順序相反。當要退化成級度 1的號碼順序時,在第〇個大區塊内號…要變成3,號碼3 要變成卜當觀察到第二個數字為G,其後第三個數字要從3 變成卜由於在此的十進位的表示丄。立只有三個數字,所以 觀察到第三個數字時,即為最後—個數字,這個步驟就停 止’而退化過程後的所獲得的十進位表示,即為轉 換後之該低級度(級度1)第三空間曲線數值。 如圖i2之第三步驟33所示,將第三空間曲線轉換成第一 空間曲線。亦即,該第三空間曲線轉換器4 5 3用以將該等低 級度第三空間曲線數值轉換為複數個相對於該第一空間曲 線之數值。詳言之,該第三空間曲線轉換器⑹係由左至右 依序轉換該等低級度第三空間曲線數值,#低級度第三空 96413.doc 21 1261772 間曲線數值為2時,將其轉換為3 ;當低級度第三空間曲線 數值為3時,將其轉換為2 ;轉換至最後一數值,即為相對 於該第一空間曲線之數值。 比較圖2(a)Pa⑽級度}的曲線上的號碼順序與圖 4(a)////心以級度1的曲線上的號碼順序,兩者之間的差異在 於號碼2與號碼3的順序不同。所以在第二步驟32所獲得的 低、、及度(、、及度1)第二空間曲線數值,轉換成第一空間曲線 (Pea㈣曲線)時,要將數字為2的轉換成3,數字為3的轉換 成2。所以丄2·1經轉換後變成Hi,即為在第一空間曲線 (Peaeo曲線)之數值。 如圖12之第四步驟34所示,在第一空間曲線心曲線) 上的位元連接(5z7 C0nc如⑼如·⑽)。亦即,該第一空間曲線 位元連接器454將該等相對於該第一空間曲線之數值分別 轉換至一進位,以得到該被查詢目標之該第一空間曲線之 區塊號碼之二進位值。 將第三步驟獲得第一空間曲線Peano曲線)數值的十進 位表不2 I上中的每個數字各自轉換成二進位表示边让 壯允並將沒些位7連接起來,以得到該被查詢目標之該第 -空間曲線之區塊號碼之二進位值1〇ιι〇ι。 ’考圖12之第五步驟35 ’以第—空間曲線為基礎尋找一 方向之^居。在上述步驟34中,已計算得相對應第一空間 曲線之區塊號碼,因此,可以利用本發明之該位元區隔裝 置μ、該鄰居選擇裝置42及該位元穿插裝置43,並經由圖 1〇中之三個步驟正確地計算得所選擇鄰居之第-空間曲線 96413.doc -22- 1261772 之區塊號碼。在第二實施例中’仍以尋找被查詢目標之西 方鄰居為例說明之。 曲線之被查詢目標 由上述第四步驟34所獲得的第一空間 其貫就是在區線上被 區塊號碼的二進位表示1〇11()1, 查詢目標區塊號碼45的二進位表示。所以可以將這個二進 位表示帶入圖Η)的計算流程中,以得到被查詢目標之西方 鄰居於第一空間曲線之區塊號碼39 ,其二進位表示為 100111 〇 得到被查詢目標之西方鄰居於第_空間曲線之區塊號碼 後必須再轉換為相對於該鄰居之該第三空間曲線之區塊號 碼。因此,參考圖13,本發明資料搜尋系統4〇之該第三空 間曲線還原1置47,用以將該鄰居之該第—空間曲線之區 塊號碼轉換為相肖於該鄰居之該第i $間曲、線之區塊號 碼。 三空間曲線還原裝置47包括··一第一空 一第三空間曲線還原器472、一低高級 三空間曲線位元連接器474。配合圖12 參考圖15,該第, 間位元分割器471、 度轉換器473及一第 之流程圖說明之。 如圖12之第六步驟36所示,在戶α⑽曲線上的位元分割 。第一空間位元分割器471用以將該鄰居之該 第一空間之該區塊號碼轉換為一鄰居第一空間之二進位 值,並以位元分割將鄰居第一空間之二進位值,由左至右, 依序分割為二個位元為一組之複數個位元組,將該等位元 組分別轉換成十進位表示的複數個數值。 96413.doc -23 - 1261772 在第五步驟3 5中’被查詢目標之西方鄰居於第一空間曲 線之區塊號碼計算得等於3 9,將其二進位表示1 〇 〇丨丨丨由左 至右,依序分割為兩個一組的位元組,即標示底線的兩個 位元為一組。再將這些位元組各自轉換成十進位表示,即2 1 i,這個以十進位表示的字串為西方鄰居區塊號碼39在 尸級度為3的曲線上的位置。 如圖12之第七步驟37所示,將第一空間曲線㈣曲線) 還原為第三空間曲線(////心"曲線)。第三空間曲線還原器 472用以將該鄰居之該第一空間曲線之該等數值轉換為複 數個相對於級度等於1之低級度第三空間曲線數值。詳言 之,該第三空間曲線還原器472係由左至右依序轉換該鄰居 之該第一空間曲線之該等數值,當該鄰居之該第一空間曲 線之該等數值為2時,將其轉換為3 ;當該鄰居之該第一空 間曲線之該等數值為3時,將其轉換為2 ;轉換至最後一數 值’即為該等低級度第三空間曲線數值。 相同於第三步驟33的理由,在第六步驟36所計算之該鄰 居之該第一空間曲線之該等數值為H丄,再經第七步驟叨 轉換後變成i !_ ,即為該鄰居之該等低級度(級度1)第三空 間曲線數值。 如圖12之第八步驟3 8所示,低高級度轉換,亦即將第三 空間曲線曲線)由級度1轉成以級度’高,為順序的曲 線。利用該低高級度轉換器473,將該等低級度第三空間曲 線數值轉換為級度大於1之高級度第三空間曲線數值。亦 即’該低高級度轉換器473由左至右依序轉換該等低級度第 96413.doc -24- 1261772 一工間曲線數值,當低級度第二空間曲線數值為3時,其下 一位數值若為0則須轉換為2,若為2則須轉換為〇,以成為 。亥下位數值之轉換數值;當低級度第三空間曲線數值為〇 時,其下一位數值若為!則須轉換為3,若為3則須轉換, 以成為該下一位數值之轉換數值;轉換至最後一數值,組 合該等轉換數值即為該高級度第三空間曲線數值。 相同於第二步驟32的理由,不同的是在這個步驟,必須 將奶7心以曲線由以級度丨的順序為主的曲線,經由遞迴地複 製、旋轉及反向的過程,轉成級度,高,的曲線。所以該鄰居 之該等低級度(級度1)第三空間曲線數值計算得為丄丄红十 進位表示),其中第一個數字3,在其後的第二個數字不變, 第三個數字由2變成〇,得到。由於在腿州曲線中, 級度α的曲線是由前一個級度心丨的曲線,經由遞迴地複 製、旋轉及反向的過程串連而成的。所以要以前一個轉變 的十進位表示去做觀察判斷,然後觀察丄丄立的第二個 數字1,由於第一區塊的號碼順序是與級度丨的號碼順序相 同,所以其後的數字不做任何變動。當觀察到第三個數字 時,即為最後一個數字,則這個步驟就停止了。所以十進 位表不110為西方鄰居在历/心以級度為3的曲線上的數值。 如圖12之第九步驟39所示,在第三空間曲線(历曲線) 位π連接(5" Co/wWe㈣)。第三空間曲線位元連接器474 用以將該等高級度第三空間曲線之數值分別轉換至二進 位,以得到該鄰居之該高級度第三空間曲線之區塊號碼之 一進位值,再轉換為十進位,以得到該鄰居之該第三空間 96413.doc <25-Aug·1986), the binary table converted to the block number corresponding to the first spatial curve is not 101101, and is not described here. Referring to the second step 22 of Fig. 11, the neighbors in one direction are searched based on the first spatial curve. In the above step 21, the block number corresponding to the first spatial curve has been calculated. Therefore, the bit segmentation device 41, the neighbor selection device 42 and the bit interpolating device 43 of the present invention can be utilized and The three steps in Figure 10 correctly calculate the block number of the first spatial curve of the selected neighbor. In the second embodiment, the description is made by taking the western neighbor of the queried target as an example. The binary of the queried target block number of the first spatial curve obtained by the first step 21 represents 1G11()1, which is actually represented by the binary of the target block number 45 on the YY area line. Therefore, this binary representation can be brought into the calculation flow of Fig. 10 v 4 曰枉 τ to serve the western neighbor of the queried target in the area of the first spatial curve 堍 石 Q Q ^ ^ 琥 琥 琥 39 The binary is expressed as 100111. Referring to the third step 23 m + soil v 丫 3 of Fig. 11, the space curve of the younger brother is converted into the second spatial curve. Referring to FIG. 13 3, * A is a port 3 of the second space curve reducing device 46' of the breeding search system 40 of the present invention for converting the block number of the first spatial curve of the neighbor to be relative to the neighbor. The block of the second spatial curve is 96413.doc 1261772 number. The carry-in representation of the block number of the first spatial curve of the neighbor obtained in the second step is 100111, and the algorithm of the ''Multiattribute Hashing Using Gray Codes'' is proposed by the prior art a (10) (Ρπ of ACM SIGMOD) Int. Conf. Managementn Management of Data, pp. 227-238, Aug·1986), converted to a binary representation of the block number of the first spatial curve of the neighbor on the curve, Converting the bit string into a decimal representation, obtaining the block weight decimal representation of the second spatial curve of the neighbor is 52, that is, in FIG. 9(b), the block number 52 is the queried target area. Western neighbor with block number 59. Figure 12 is a flow chart showing the nearest neighbor in one of the queried targets based on the third spatial curve (7) on the basis of the third embodiment of the present invention. The flow map of Fig. 12 can be divided into nine steps, and the process of these three steps is assisted by Fig. 9(c). Referring to FIG. 3, a third embodiment of the present invention utilizes a third spatial curve conversion device 45, a bit segmentation device 41, a neighbor selection device 42, a bit interpolating device 43, and a third. The spatial curve restoring device 47 completes the third spatial curve (the signal/6 is based on (curve), and searches for the nearest neighbor in the direction of one of the queried targets. The third spatial curve converting device 45 is used to The block number of the three-space curve is converted into a block 5 of the first spatial curve with respect to the queried target. Referring to FIG. 14, the third spatial curve conversion device includes: a second spatial bit The partition 45 1 , a high and low level converter M2 , a third space curve converter 453 and a first space curve bit connector 454 are provided in conjunction with the flow chart of 96413.doc -18-1261772. In the first step 31 of 12, the third spatial curve (the /z> state curve) is bit-divided (5", that is, the third spatial bit splitter 45 1 is used to The area of the third spatial curve The number is converted into a binary value of the third spatial curve of the queried target, and the binary value of the third spatial curve to be queried by the bit is divided by a bit, from left to right, sequentially divided into two bits as a group. a plurality of bytes, each of which is converted into a plurality of values represented by decimals. Referring to FIG. 9(c), the block number 51 at which the target is located, that is, the third space curve of the queried target The block number is 51. The number 51 of the query block (originally represented by decimal) is converted into the binary value of the third spatial curve of the query target. The binary representation is divided from left to right and sequentially divided into Two sets of bytes, that is, two bits indicating the bottom line, are grouped together, and then the two bytes are each converted into a decimal representation, that is, i Liao, the string represented by decimal is a query. The location of the block number 51 on the curve with a degree of 3 is the decimal number indicating that the curve is rotated by the level, low, and the curve of the level 'high' is rotated. The first number 3 indicates the first layer, which is the ground. When divided into four large blocks, the block number 51 is located in the third large block. The second number is 〇 indicates the second layer, that is, the large block is subdivided into four middle blocks, and the block number is 51 is located in the third block of the third largest block. However, the number order of the middle block has been reversed and reversed, which is different from the original large block. The third ^ is 3 The second layer is not divided into four blocks, that is, the middle block is subdivided into four cell blocks, and the product ghost code 5 1 is the 96413.doc in the third block in the third large block - 19- 1261772 3 cell blocks, and the number order of the cell block is also different from the number order of the larger block because of the process of rotation and reversal. As shown in the second step and step 3 2 of Figure 12, the level is different. The gradation conversion, that is, the third spatial curve curve, is changed from gradation, high' to a gradation 1 sequence. Using the high and low level converter 452, if the third spatial curve is a high degree third spatial curve greater than 1, the third spatial curve value of the advanced degree is converted into a lower third degree spatial curve with a degree equal to one. Value. Since in the following steps 'the method of finding the nearest neighbor based on the cadre α(10) curve, and the curve is different from the corpse (10) (four) curve: the curve of the iiz·/heart ri grade 'high' must be graded, low, The curves are formed in series by copying, rotating, and sequentially reversing, so the order of numbers at a certain position is different from the order of numbers on the curve of the level 'low'. The curve of the household level, high ' is formed by the curve of the lower degree 'low' via the copying, so the order of numbers at a certain position is the same as the order of the numbers on the curve of the degree, low. So in this step, the curve must be converted from gradation, high, and degradation to a curve with order 1 in order. The high and low level converter 452 sequentially converts the third spatial curve values of the advanced degrees from left to right. When the value of the third spatial curve of the high degree is 3, the next digit of the value of 0 is converted to 2 If it is 2, it must be converted to 〇 to become the conversion value of the next digit. When the value of the third spatial curve of the high degree is 〇, the next digit of the value is 丨, it must be converted to 3, if it is 3 Then, it must be converted to 1 to become the conversion value of the next digit value; the conversion to the last value 'combination of the conversion values is the lower third degree of the spatial curve value. According to the above embodiment, the advanced level (level 3) third space song 96413.doc -20- 1261772 line value is 3 0 3 (ten into #矣-, ^ y ^ --- ), the first number is 3, which means that the entire map is divided into four large blocks: t, and the other three large blocks. In the case of a large block (divided into four middle blocks), the numbers are 戽 戽 p, the left 1 1 斤 斤 随 随 随 , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , . When the number sequence to be degraded to the level 1 is different from the order of the level 1 and the order is reversed in the third block, the number 0 is changed to 2 in the third block. 2 want to become awkward. So the second number of Asahi must come from. It becomes 2, and the third number does not change m !; that is, after observing the first number, each number after it is checked for their number order and made relative changes. In the same way, the entire map is divided into the fourth large block of four large blocks, and the order of numbers in this large block (divided into four middle blocks) rotates 90 degrees clockwise and reverses the process, and the degree The order of the numbers is different, that is, the order of numbers is 1 and 3, and the order is reversed in the 0th block. When the number order is to be degraded to the degree 1, the number in the first block is changed to 3, the number 3 is changed to be the second number is G, and the third number is 3 It is said that it is 十 by the decimal place. There are only three numbers, so when the third number is observed, that is, the last number, this step stops 'and the decimal representation obtained after the degradation process is the low degree after the conversion (level) 1) The value of the third spatial curve. As shown in the third step 33 of Figure i2, the third spatial curve is converted into a first spatial curve. That is, the third spatial curve converter 453 is configured to convert the values of the lower third degree spatial curves into a plurality of values relative to the first spatial curve. In detail, the third spatial curve converter (6) sequentially converts the lower third degree spatial curve values from left to right, and #lower degree third space 96413.doc 21 1261772 when the curve value is 2, Converted to 3; when the low-level third spatial curve value is 3, it is converted to 2; the conversion to the last value is the value relative to the first spatial curve. Compare the order of the numbers on the curve of Fig. 2(a) Pa(10) degree} with the number sequence on the curve of the level 1 in Fig. 4(a)////, the difference between the two is the number 2 and the number 3. The order is different. Therefore, when the value of the second, spatial sum (, and degree 1) obtained in the second step 32 is converted into the first spatial curve (Pea (four) curve), the number is converted to 2, and the number is converted into 3, the number Convert 3 to 2. Therefore, 丄2·1 becomes Hi after conversion, which is the value in the first space curve (Peaeo curve). As shown in the fourth step 34 of Fig. 12, the bit connections on the first spatial curve curve (5z7 C0nc as (9) as (10)). That is, the first spatial curve bit connector 454 converts the values of the first spatial curve to a carry separately to obtain the binary of the block number of the first spatial curve of the queried target. value. The third step obtains the decimal value of the value of the first spatial curve Peano curve. Each of the digits in the I 1 is converted into a binary representation, and the edge is allowed to be joined and the bits 7 are not connected to obtain the query. The binary value of the block number of the target-space curve of the target is 1 〇ιι〇ι. The fifth step 35' of the test chart 12 is based on the first space curve to find a direction. In the above step 34, the block number corresponding to the first spatial curve has been calculated. Therefore, the bit segmentation device μ of the present invention, the neighbor selection device 42 and the bit interpolating device 43 can be utilized and The three steps in Figure 1 correctly calculate the block number of the first-space curve 96413.doc -22- 1261772 of the selected neighbor. In the second embodiment, the description is made by taking the western neighbor of the queried target as an example. The queried target of the curve The first space obtained by the fourth step 34 above is represented by the binary representation of the block number on the zone line by 1〇11()1, and the binary representation of the query target block number 45 is indicated. Therefore, the binary representation can be brought into the calculation process of the graph to obtain the block number 39 of the western neighbor of the queried target in the first spatial curve, and the binary digit is represented as 100111 〇 to obtain the western neighbor of the queried target. After the block number of the _space curve, it must be converted to the block number of the third space curve relative to the neighbor. Therefore, referring to FIG. 13, the third spatial curve of the data search system of the present invention is restored to 1 by 47, for converting the block number of the first-space curve of the neighbor to the ith of the neighbor. $ block, line block number. The three-space curve reduction device 47 includes a first empty third space curve restorer 472 and a low-level three-space curve bit connector 474. Referring to Fig. 15 with reference to Fig. 15, the inter-symbol divider 471, the degree converter 473, and a flowchart are illustrated. As shown in the sixth step 36 of Fig. 12, the bit division on the household α(10) curve is divided. The first spatial bit splitter 471 is configured to convert the block number of the first space of the neighbor into a binary value of a neighbor first space, and divide the binary value of the first space of the neighbor by a bit. From left to right, it is sequentially divided into a plurality of bytes in which two bits are a group, and the bits are respectively converted into a plurality of values represented by decimals. 96413.doc -23 - 1261772 In the fifth step 35, the block number of the western neighbor in the searched target is calculated to be equal to 3 9, and its binary representation is 1 〇〇丨丨丨 from left to Right, the two groups of bytes are sequentially divided into two groups, that is, two bits indicating the bottom line are a group. These bytes are each converted to a decimal representation, i.e., 2 1 i, which is the position of the western neighbor block number 39 on the curve of the cadre level of 3. As shown in the seventh step 37 of FIG. 12, the first spatial curve (four) curve is restored to the third spatial curve (////heart " curve). The third spatial curve restorer 472 is operative to convert the values of the first spatial curve of the neighbor into a plurality of lower third degree spatial curve values relative to a level equal to one. In detail, the third spatial curve restorer 472 sequentially converts the values of the first spatial curve of the neighbor from left to right, when the value of the first spatial curve of the neighbor is 2, Convert it to 3; when the value of the first spatial curve of the neighbor is 3, convert it to 2; the transition to the last value 'is the third spatial curve value of the lower level. For the reason of the third step 33, the value of the first spatial curve of the neighbor calculated in the sixth step 36 is H丄, and after the seventh step, the conversion becomes i!_, which is the neighbor. The lower level (level 1) third spatial curve value. As shown in the eighth step 38 of Fig. 12, the low-level conversion, that is, the third spatial curve, is converted from the level 1 to the level 'high', which is the order curve. The low-level third-degree curve value is converted into the third-degree spatial curve value of the higher-order degree greater than one by the low-level converter 473. That is, the low-level converter 473 sequentially converts the low-level 96413.doc -24-1261772 inter-work curve values from left to right, and when the low-level second spatial curve has a value of 3, the next If the bit value is 0, it must be converted to 2, and if it is 2, it must be converted to 〇 to become. The conversion value of the value of the lower position of the sea; when the value of the third spatial curve of the lower level is 〇, the next value is: It shall be converted to 3, if it is 3, it shall be converted to become the conversion value of the next digit value; if it is converted to the last value, the combination of the conversion values shall be the value of the third spatial curve of the advanced degree. The reason is the same as the second step 32. The difference is that in this step, the milk 7 heart must be converted into a curve which is dominated by the order of the order, and the process of copying, rotating and reversing is reversed. Grade, high, curve. Therefore, the low-level (level 1) third spatial curve value of the neighbor is calculated as the blush decimal digit, wherein the first digit 3, the second digit after it remains unchanged, the third The number changes from 2 to 〇, which is obtained. Since in the leg state curve, the curve of the degree α is a curve of the heart of the previous stage, which is connected in series by recursively copying, rotating and reversing. Therefore, it is necessary to make a observation and judgment on the decimal point of the previous transition, and then observe the second number 1 of the standing. Since the order of the numbers of the first block is the same as the order of the numbers of the level, the subsequent numbers are not Make any changes. When the third digit is observed, which is the last digit, this step is stopped. Therefore, the decimal table is not a value of 110 on the curve of the Western neighbors in the calendar/heart. As shown in the ninth step 39 of Fig. 12, the third spatial curve (time curve) is connected by a bit π (5 " Co/wWe (4)). The third spatial curve bit connector 474 is configured to respectively convert the values of the third spatial curves of the advanced degrees to the binary bits to obtain a carry value of the block number of the third spatial curve of the high degree of the neighbor, and then Convert to decimal to get the third space of the neighbor 96413.doc <25-

Claims (1)

1261?物32313號專利申請案 / 中文申請專利範圍替換本(95年5月) 、 十、申請專利範圍: 1· -種以-第-空間曲線為基礎尋找鄰居之資料搜尋方 法’包括下列步驟: ⑷利用位元區隔方法’將一被查詢目標之該第一空間 曲線之區塊號碼轉換為該被查詢目標之U標值及 一第二座標值; (b ) 疋鄰近該被杳% 士 ^ 被㈣目&之—方向之鄰居,依據該被 查詢目標之該第-座標值及該第二座標值,計算得該鄰 居之一第一座標值及一第二座標值;及 广)利用位元穿插方法,將該鄰居之該第一座標值及該 第二座標i,轉換為該鄰居於該第—空間曲線之一區塊 號碼。 2·,請求項1之方法,其中在步驟⑷中該位元區隔方法係將 該被查詢目標之該區塊號碼轉換為一被查詢目標之二進 T值,並以位元區隔分別取出該被查詢目標二進位值之 奇數位元及偶數位元,分別串接合併以各自形成一被查 詢目標奇數位元組二進位值及一被查詢目標偶數位元組 二進位值,分別將該被查詢目標奇數位元組二進位值及 一被查詢目標偶數位元組二進位值轉換至十進位,以對 應得該被查詢目標之第一座標值及第二座標值。 3.如請求項1之方法,其中在步驟(b)中依據該選定之方向, 决疋一第一座標偏移值及一第二座標偏移值,依據該被 查珣目標之該第一座標值及該第二座標值,及該第一座 標偏移值及該第二座標偏移值,計算得該鄰居之第一座 96413-950516.doc 1261772 標值及第二座標值。 (如請求们之方法,其中在步驟(c)令該位元穿插方法係以 十進位轉換二進位方法,分別將該鄰居之第一座標值及 第二座標值轉換為一鄰居奇數位元組二進位值及一鄰居 偶數位元組二進位值,穿插合併該鄰居奇數位元組二進 位值及該鄰居偶數位元組二進位值,以得到一鄰居二進 位,’轉換該鄰居二進位值至十進位,以得到該鄰居於 該第一空間曲線之一區塊號碼。 5, I月求項1之方法,其中該第_座標及該第二座標,係分 別為直角座標之橫座標及縱座標。 6· U項1之方法’其中該第一座標及該第二座標,係分 別為直角座標之縱座標及橫座標。 8. 士 ::項1之方法’其中該第-空間曲線為-戶_〇曲線。 月、、員7之方法,在步驟(a)之前另包括一 轉換步驟,用以蔣# ^太 工間曲線 f^ 被查詢目標之―第二空間曲線之區 9. A k ”、、換為相對於該被查詢目標之該第一空間曲線之 區塊號碼,該第二空間曲線為一㈣曲線。〗曲線之 如請求項8之方、本 ,„ 還原步 以# 之後另包括一第二空間曲線 轉換為相對鄰居ί該第一空間曲線之區塊號碼 10.如請求項7之 之為弟-空間曲線之區塊號碼。 轉換步驟m在步驟⑷之前另包括一第三空間曲線 自& 將該被查詢目標之一第三空間曲線之區 规就碼轉換為相 ^ 區塊號碼,該第该被查詢目標之該第-空間曲線之 A弟一空間曲線為一奶曲線。 96413-950516.doc 1261772 如明求項1 〇之方法,其中該第三空間曲線轉換步驟係包 括以下步驟: (甲)將該被查詢目標之該第三空間之該區塊號碼轉 換為一被查詢目標第三空間之二進位值,並以位元分割 將被查詢目標第三空間之二進位值,由左至右,依序分 軎1J為二個位元為一組之複數個位元組,將該等位元組分 別轉換成十進位表示的複數個數值; (乙)若該第三空間曲線為一大於1之高級度第三空間 曲線’將該等高級度第三空間曲線數值轉換為級度等於i 之低級度第三空間曲線數值; (丙)將該等低級度第三空間曲線數值轉換為複數個 相對於該第一空間曲線之數值; (丁)將該等相對於該第一空間曲線之數值分別轉換 至一進位,以得到該被查詢目標之該第一空間曲線之區 塊號碼之二進位值。 士。月求項11之方法’其中在步驟(乙)中由左至右依序轉換 該等高級度第三空間曲線數值,當高級度第三空間曲線 數值為3時’其下-位數值若為〇則須轉換為2,若為2則 須轉換為〇,以成為該下一位數值之轉換數值;當高級度 第三空間曲線數值為〇砗, 、 ^ /、下一位數值若為1則須轉換 為3 ’若為3則須轉換兔1 ^成為該下一位數值之轉換數 值,轉換至最後一數值,έ人 值組合该等轉換數值即為該低級 度第三空間曲線數值。 1 3 ·如請求項11項之方法 其中在步驟(丙)中由左至右依序轉 96413-9505I6.doc1261? Patent No. 32313 Patent Application / Chinese Application Patent Renewal (May 95), X. Patent Application Range: 1· - Searching for a neighbor's data search method based on the -first-space curve' includes the following steps (b) using the bit division method to convert the block number of the first spatial curve of the queried target into the U value and a second coordinate value of the queried target; (b) 疋 adjacent to the 杳% The neighbor of the (four) head & the direction of the direction, according to the first coordinate value of the queried target and the second coordinate value, calculate the first coordinate value and a second coordinate value of the neighbor; And using the bit interleaving method to convert the first coordinate value and the second coordinate i of the neighbor into a block number of the neighbor in the first space curve. The method of claim 1, wherein in the step (4), the bit segmentation method converts the block number of the queried target into a binary T value of the queried target, and respectively divides the bit by the bit Extracting the odd-numbered bits and the even-numbered bits of the queried target binary value, respectively string-joining and respectively forming a queried target odd-numbered byte set binary value and a queried target even-numbered octet binary value, respectively The finder target odd-numbered byte binary value and a queried target even-numbered byte binary value are converted to decimal values to correspond to the first coordinate value and the second coordinate value of the queried target. 3. The method of claim 1, wherein in step (b), a first coordinate offset value and a second coordinate offset value are determined according to the selected direction, according to the first target of the checked target The coordinate value and the second coordinate value, and the first coordinate offset value and the second coordinate offset value are calculated as the first seat of the neighbor 96413-950516.doc 1261772 and the second coordinate value. (For example, in the method of the requester, wherein in the step (c), the bit interleaving method is converted into a neighbor odd bit by respectively converting the first coordinate value and the second coordinate value of the neighbor by a decimal conversion binary bit method. a binary value and a neighboring even-bit binary value, interpolating and merging the neighbor odd-bit binary value and the neighbor even-bit binary value to obtain a neighbor binary, 'converting the neighbor binary value To the decimal position, to obtain the block number of the neighbor in the first space curve. The method of claim 1, wherein the _ coordinate and the second coordinate are respectively the horizontal coordinates of the right angle coordinate and Vertical coordinate. 6· Method of U item 1 'The first coordinate and the second coordinate are the ordinate and the horizontal coordinate of the rectangular coordinate. 8. The method of item 1: the method of 'the space' For the method of the household, the method of the month 7 and the member 7 includes a conversion step before the step (a), for the Jiang # ^ too-work curve f^ the area of the second space curve of the target being queried 9 . A k ”,, replaced with respect to the investigation Inquiring about the block number of the first spatial curve of the target, the second spatial curve is a (four) curve. The curve is as the square of the request item 8, the „, the reduction step is followed by the # and the second space curve is converted into Relative neighbor ί the block number of the first space curve 10. The request block 7 is the block number of the brother-space curve. The conversion step m further includes a third space curve from & before the step (4) The area code of one of the third spatial curves of the query target is converted into a phase block number, and the space curve of the A-division of the first-spaced curve of the first query target is a milk curve. 96413-950516.doc 1261772 The method of claim 1, wherein the third spatial curve conversion step comprises the following steps: (a) converting the block number of the third space of the queried target into a third space of the queried target Binary value, and divides the binary value of the third space to be queried by the bit, from left to right, and sequentially divides 1J into two bits as a group of plural bytes. Tuples are converted into decimal tables a plurality of values shown; (b) if the third spatial curve is a higher-degree third-space curve greater than one, the third spatial curve value of the higher-level is converted into a lower-level third spatial curve with a degree equal to i (C) converting the lower third degree spatial curve values into a plurality of values relative to the first spatial curve; (d) converting the values relative to the first spatial curve to a carry, respectively Obtaining a binary value of the block number of the first spatial curve of the queried target. The method of the monthly finding item 11 wherein the high-level third is sequentially converted from left to right in step (b) The value of the spatial curve, when the value of the third spatial curve of the high degree is 3, 'the lower-digit value shall be converted to 2 if it is ,, and the conversion to 〇 if it is 2, to become the conversion value of the next digit; When the value of the third degree of high-level spatial curve is 〇砗, ^, and the next digit is 1, it must be converted to 3'. If it is 3, the rabbit 1 ^ must be converted to the conversion value of the next digit. Last value, combination of values The converted values are the lower third spatial curve values. 1 3 · The method of claim 11 wherein in step (c), the sequence is rotated from left to right. 96413-9505I6.doc 1261772 換。亥等低級度第三空間曲線數值,當低級度第三空間曲 線數值為2時’將其轉換為3 ;當低級度第三空間曲線數 值為3日守,將其轉換為2 ;轉換至最後一數值,即為相對 於該第一空間曲線之數值。 14. 15. 16. 如睛求項10之方法,在步驟(c)之後另包括一第三空間曲 線還原步驟,用以將該鄰居之該第一空間曲線之區塊號 碼轉換為相對於該鄰居之該第三空間曲線之區塊號碼。 如請求項14之方法,其中該第三空間曲線還原步驟係包 括以下步驟: (子)將該鄰居之該第一空間之該區塊號碼轉換為一 鄰居第一空間之二進位值,並以位元分割將鄰居第一空 間之二進位值,由左至右,依序分割為二個位元為一組 之複數個位元組’將該等位元組分別轉換成十進位表示 的複數個數值; (丑)將該鄰居之該第一空間曲線之該等數值轉換為 複數個相對於級度等於1之低級度第三空間曲線數值; (貝)將該等低級度第三空間曲線數值轉換為級度大 於1之高級度第三空間曲線數值; (印)將該等高級度第三空間曲線之數值分別轉換至 一進位,以得到該鄰居之該南級度第三空間曲線之區塊 號碼之二進位值,再轉換為十進位,以得到該鄰居之該 第三空間曲線之區塊號碼。 如請求項1 5項之方法,其中在步驟(丑)中由左至右依序轉 換δ亥鄰居之該第一空間曲線之該等數值,當該鄰居之兮 96413-950516.doc 1261772 ㈣線之該等數值為2時,將其轉換為3;當該鄰 韓拖…空間曲線之該等數值為3時,將其轉換為2; 轉換至最後一數值,即 P為忒專低級度第三空間曲線數值。 方法’其中在步驟(寅)中由左至右依序轉換 :寻低級度弟三空間曲線數值,當低級度第三空間曲線 /值為3日寸’其下-位數值若為〇則須轉換為2,若為2則 須轉換為〇,以成袁 — 成為4下一位數值之轉換數值;當低級度 弟二空間曲線數值為0時,其下一位數值若為㈣須轉換 為3 ’若為3則須轉換為卜以成為該下—位數值之轉換數 值二轉換至最後-數值,組合該等轉換數值即為該高級 度第三空間曲線數值。 1 8. 一種以一裳一 ^ 币一二間曲線為基礎尋找鄰居之資料搜尋系 統’其包括: 位兀區隔裝置,用以將一被查詢目標之第一空間曲 線之區塊號碼轉換為該被查詢目標之一第一座標值及一 第二座標值; 郇居适擇裝置,用以選定鄰近該被查詢目標之一方 向之郇居,依據該被查詢目標之該第一座標值及該第二 座標值’計算得該鄰居之一第/座標值及一第二座標 值;及 π 位元穿插裝置,用以將該鄰居之該第一座標值及該 弟二座標值,轉換為該鄰居於該第一空間曲線之一區塊 號碼。 Α 1 9 · 士 #求項丨8之資料搜尋系統,其中該位元區隔裝置係將 96413-950516.doc 1261772 泫被查詢目標之該區塊號碼轉換為一被查詢目標之二進 :值’亚以位元區隔分別取出該被查詢目標二進位值之 奇數位元及偶數位元,分別串接合併以各自形成一被查 詢目標奇數位元組二進位值及一被查詢目標偶數位元組 二進位值,分別將該被查詢目標奇數位元組二進位值及 以對 一破查詢目標偶數位元組二進位值轉換至十進位 應得該被查詢目標之第一座標值及第二座標值。 2〇·如:求項18之資料搜尋系統,其中該鄰居選擇裝置係依 據4 4疋之方向,決定—第—座標偏移值及_第二座標 =移值’依據該被查詢目標之該第—座標值及該第二座 標值,及該第—座標偏移值及該第二座標偏移值,計算 得該鄰居之第一座標值及第二座標值。 # 2Κ如請求項18之資料搜尋系統,其中該位元穿插裝置係以 十進位轉換二進位方法,分別將該鄰居之第一座標值及 第一座帖值轉換為一鄰居奇數位元組二進位值及一鄰居 偶數位元組二進位值,穿插合併該鄰居奇數位元組I進 位值及該鄰居偶數位元組二進位值,以得到一鄰居二進 位,,轉換該鄰居二進位值至十進位,以得到該鄰居於 σ亥第空間曲線之一區塊號碼。 22·如請求項18之資料搜尋系統,其中該第一座標及該第 座標’係分別為直角座標之橫座標及縱座標。 士月长項1 8之資料搜尋系統,其中該第一座標及該第 座仏’係分別為直角座標之縱座標及橫座標。 24·如請求項丨8之資料搜尋系統,其中該第一空間曲線為 96413-950516.doc 1261772 / Peano曲線。 25. 如明求項24之資料搜尋系、统,另包括一第二空間曲線轉 換衣置,用以將該被查詢目標之一第二空間曲線之區塊 號碼轉換為相對於該被查詢目標之該第一空間曲線之區 塊號碼,忒第二空間曲線為一尺5C7曲線。 26. 如明求項25之貧料搜尋系統,另包括一第二空間曲線還 原版置,用以將該鄰居之該第一空間曲線之區塊號螞轉 換為相對於该鄰居之該第二空間曲線之區塊號碼。 27. 如請求項24之資料搜尋系統,另包括一第三空間曲線轉 換裝置’用以將該被查詢目標之一第三空間曲線之區塊 號碼轉換為相對於該被查詢目標之該第一空間曲線之區 塊號碼,該第三空間曲線為一曲線。 28·如請求項27之資料搜尋系統,其中該第三空間曲線轉換 裝置包括: X 一第三空間曲線位元分割器,用以將該被查詢目標之 該第三空間曲線之該區塊號碼轉換為一被查詢目標第二 空間之二進位值,並以位元分割將被查詢目標第三空間 曲線之二進位值,由左至右,依序分割為二個位元為一 組之複數個位元組’將該等位元組分別轉換成十進位表 示的複數個數值; 一高低級度轉換器,若該第三空間曲線為一大於1之高 級度第三空間曲線,將該等高級度第三空間曲線數值轉 換為級度等於1之低級度第三空間曲線數值; 一第三空間曲線轉換裔’用以將該等低級度第三空間 96413-950516.doc 1261772 曲線數值轉換為複數個相對於該第—空間曲線之數值; -第-空間曲線位7G連接器,將該等相對於該第一办 間曲線之數值分別轉換至二進位,以得到該被查詢目: 之該第一空間曲線之區塊號碼之二進位值。 29. 30. 31. 32. 如請求項2 8之資料搜尋车鲚,甘, 貝了才牧+系、、死,其中該鬲低級度轉換器係 由左至右依序轉換該等高級度第三空間曲線數值,當高 級度第三空間曲線數值為3時,其下一位數值若為〇則; 轉換為2,若為2則須轉換為Q,以成為該下—位數值之轉 換數值;當高級度第三空間曲線數值為〇時,其下一位數 值若為1則須轉換為3,若為3則須轉換為!,以成為該下 一位數值之轉換數值;轉換至最後一數值,組合該等轉 換數值即為該低級度第三空間曲線數值。 如請求項28項之資料搜尋系統,其中該第三空間曲線轉 換器係由左至右依序轉換該等低級度第三空間曲線數 值,當低級度第三空間曲線數值為2時,將其轉換為3 ; 當低級度第三空間曲線數值為3時,將其轉換為2 ;轉換 至最後一數值,即為相對於該第一空間曲線之數值。 如請求項27之資料搜尋系統,另包括一第三空間曲線還 原裝置,用以將該鄰居之該第一空間曲線之區塊號碼轉 換為相對於該鄰居之該第三空間曲線之區塊號碼。 如巧求項3 1之資料搜尋系統,其中該第三空間曲線還原 裝置包括: 一第一空間位元分割器,用以將該鄰居之該第一空間 之该區塊號碼轉換為一鄰居第一空間之二進位值,並以 位几分割將鄰居第一空間之二進位值,由左至右,依序 96413-950516.doc 1261772 V日:止替換頁 分割為二個位元為一組之複數個位元組,將該等位元組 分別轉換成十進位表示的複數個數值; 一第三空間曲線還原器,用以將該鄰居之該第一空間 曲線之該等數值轉換為複數個相對於級度等於1之低級 度第三空間曲線數值; 一低高級度轉換器,用以將該等低級度第三空間曲線 數值轉換為級度大於1之高級度第三空間曲線數值; 一第三空間曲線位元連接器,用以將該等高級度第三 空間曲線之數值分別轉換至二進位,以得到該鄰居之該 向級度第三空間曲線之區塊號碼之二進位值,再轉換為 十進位,以得到該鄰居之該第三空間曲線之區塊號碼。 33·如請求項32項之資料搜尋系統,其中該第三空間曲線還 原器係由左至右依序轉換該鄰居之該第一空間曲線之該 等數值,當該鄰居之該第一空間曲線之該等數值為2時, 將其轉換為3,當該鄰居之該第一空間曲線之該等數值為 3時’將其轉換為2 ;轉換至最後一數值,即為該等低級 度第三空間曲線數值。 34.如請求項32之資料搜尋系統,其中該低高級度轉換器由 左至右依序轉換該等低級度第三空間曲線數值,當低級 度第三空間曲線數值為3時,其下一位數值若為〇則須轉 換為2,若為2則須轉換為〇,以成為該下一位數值之轉換 數值;當低級度第三空間曲線數值為〇時,其下一位數值 若為1則須轉換為3,若為3則須轉換為丨,以成為該下一 位數值之轉換數值;轉換至最後一數值,組合該等轉換 數值即為該尚級度第三空間曲線數值。 96413-950516.doc1261772 change. The lower third degree spatial curve value, such as Hai, is converted to 3 when the lower third degree spatial curve value is 2; when the lower third degree spatial curve value is 3 day guard, it is converted to 2; A value is the value relative to the first spatial curve. 14. 15. 16. The method of claim 10, further comprising, after step (c), a third spatial curve reduction step for converting the block number of the first spatial curve of the neighbor to be relative to the The block number of the third spatial curve of the neighbor. The method of claim 14, wherein the third spatial curve restoring step comprises the steps of: (sub) converting the block number of the first space of the neighbor into a binary value of a neighboring first space, and The bit division divides the binary value of the first space of the neighbor from left to right, and sequentially divides into two bits as a group of a plurality of bytes, and converts the bits into a complex number represented by decimals. ( ugly) converting the values of the first spatial curve of the neighbor into a plurality of lower third degree spatial curves with respect to a degree equal to one; (b) the third spatial curve of the lower order The value is converted into a third spatial curve value of the degree of progression greater than 1; (printed) the values of the third spatial curve of the advanced degrees are respectively converted to a carry to obtain the third spatial curve of the south degree of the neighbor. The binary value of the block number is converted to a decimal to obtain the block number of the third spatial curve of the neighbor. The method of claim 15, wherein in the step (ugly), the first value of the first spatial curve of the δHear neighbor is sequentially converted from left to right, when the neighbor is 96413-950516.doc 1261772 (four) line When the value is 2, convert it to 3; when the value of the neighboring Korean drag space is 3, convert it to 2; convert to the last value, that is, P is the lower level Three spatial curve values. Method 'wherein the step (寅) is converted from left to right in order: find the lower three-dimensional curve value, when the lower third degree curve / value is 3 days 'the lower-digit value is 〇 Converted to 2, if it is 2, it must be converted to 〇, to become Yuan - become the conversion value of 4 next digit value; when the low-level tempo 2 spatial curve value is 0, the next digit of the value is (4) must be converted to 3 'If it is 3, it must be converted to Bu to become the conversion value of the lower-digit value and converted to the last-value. The combination of the conversion values is the value of the third spatial curve of the advanced degree. 1 8. A data search system for finding a neighbor based on a curve of one skirt and one coin, which includes: a partitioning device for converting a block number of a first spatial curve of a query target into a first coordinate value and a second coordinate value of the queried target; a squatting device for selecting a neighboring one of the directions of the queried target, according to the first coordinate value of the queried target and The second coordinate value 'calculates a /th coordinate value and a second coordinate value of the neighbor; and a π bit interpolating device for converting the first coordinate value and the second coordinate value of the neighbor to The neighbor is in the block number of the first space curve. Α 1 9 · 士# The data search system of item ,8, wherein the bit segmentation device converts the block number of the queried target into a binary of the queried target: 96413-950516.doc 1261772 The sub-regions respectively take out the odd-numbered bits and the even-numbered bits of the queried target binary value, respectively, and respectively join and form a queried binary bit binary value and a queried target even number. The tuple binary value, respectively, the binary target value of the queried target bit and the binary value of the even-numbered byte of the broken query target are converted to the decimal value, and the first coordinate value of the queried target and the first coordinate value Two coordinates. 2〇·如: The data search system of claim 18, wherein the neighbor selection device is determined according to the direction of 4 4疋, the first coordinate offset value and the second coordinate = shift value are determined according to the target to be queried The first coordinate value and the second coordinate value, and the first coordinate offset value and the second coordinate offset value are used to calculate the first coordinate value and the second coordinate value of the neighbor. #2Κ The data search system of claim 18, wherein the bit interpolating device converts the first coordinate value and the first post value of the neighbor into a neighbor odd bit group 2 by using a decimal conversion binary method a carry value and a neighbor even byte triple value, interspersed and merged the neighbor odd byte I carry value and the neighbor even byte lower binary value to obtain a neighbor binary bit, and convert the neighbor binary value to Decimal to get the block number of one of the neighbors in the space curve of σ. 22. The data search system of claim 18, wherein the first coordinate and the first coordinate are respectively a transverse coordinate and an ordinate of a right angle coordinate. The data search system for the monthly term of 18, wherein the first coordinate and the first 仏' are respectively the ordinate and the transverse coordinates of the right angle coordinates. 24. The data search system of claim 8, wherein the first spatial curve is 96413-950516.doc 1261772 / Peano curve. 25. The data search system of claim 24, further comprising a second spatial curve conversion device for converting the block number of the second spatial curve of the queried target to be relative to the queried target The block number of the first spatial curve, and the second spatial curve is a one-foot 5C7 curve. 26. The poor material search system of claim 25, further comprising a second spatial curve reduction version for converting the block number of the first spatial curve of the neighbor to the second relative to the neighbor The block number of the space curve. 27. The data search system of claim 24, further comprising a third spatial curve conversion device for converting the block number of the third spatial curve of the queried target to the first relative to the queried target The block number of the space curve, the third space curve is a curve. The data search system of claim 27, wherein the third spatial curve conversion means comprises: X - a third spatial curve bit splitter for the block number of the third spatial curve of the queried target Converting to a binary value of the second space of the queried target, and dividing the binary value of the third spatial curve to be queried by the bit, from left to right, sequentially dividing into two bits as a group of plural a byte 'converts each of the bytes into a plurality of values represented by decimals; a high and low level converter, if the third spatial curve is a third spatial curve of higher than 1 degree, The third degree spatial curve value of the advanced degree is converted into the third spatial curve value of the lower level with the degree equal to 1; a third spatial curve conversion is used to convert the lower third degree space 96413-950516.doc 1261772 curve value into a plurality of values relative to the first space curve; - a first space curve bit 7G connector, respectively converting the values of the first inter-run curve to binary bits to obtain the queryed object: Binary value of the block number of the first space curve. 29. 30. 31. 32. If the information in Request No. 2 8 is searched for ruts, Gan, Bei, and the priests, and the death, where the low-level converter converts the advanced degrees from left to right. The value of the third spatial curve, when the value of the third spatial curve of the high degree is 3, the next digit of the value is 〇; the conversion is 2, and if it is 2, it is converted to Q to become the conversion of the lower digit. Value; when the value of the third spatial curve of the high degree is 〇, the next digit of the value is 1 and must be converted to 3, if it is 3, it must be converted to! To become the conversion value of the next digit value; to convert to the last value, the combination of the conversion values is the lower third degree of the spatial curve value. The data search system of claim 28, wherein the third spatial curve converter sequentially converts the low-level third spatial curve values from left to right, and when the low-level third spatial curve has a value of 2, Converted to 3; when the low-level third spatial curve value is 3, it is converted to 2; the conversion to the last value is the value relative to the first spatial curve. The data search system of claim 27, further comprising a third spatial curve restoring means for converting the block number of the first spatial curve of the neighbor to the block number of the third spatial curve relative to the neighbor . The data search system of item 3, wherein the third spatial curve restoring device comprises: a first spatial bit splitter for converting the block number of the first space of the neighbor into a neighbor The second binary value of a space, and the bitwise division of the first space of the neighbor, from left to right, in the order of 96413-950516.doc 1261772 V: the replacement page is divided into two bits as a group a plurality of bytes, each of which is converted into a plurality of values represented by a decimal; a third spatial curve restorer for converting the values of the first spatial curve of the neighbor into a plurality a lower third degree spatial curve value relative to the degree equal to 1; a low high degree converter for converting the lower third degree spatial curve value to a higher degree third spatial curve value having a degree greater than one; a third spatial curve bit connector for converting the values of the third spatial curves of the advanced degrees to binary bits respectively to obtain the binary value of the block number of the third spatial curve of the neighboring degree of the neighbor , then turn It is a decimal, to obtain the block number of the third space of neighbor Curve. 33. The data search system of claim 32, wherein the third spatial curve restorer sequentially converts the values of the first spatial curve of the neighbor from left to right, when the first spatial curve of the neighbor When the value is 2, it is converted to 3, when the value of the first spatial curve of the neighbor is 3, 'converts it to 2; and the last value is the lower level. Three spatial curve values. 34. The data search system of claim 32, wherein the low-levelness converter sequentially converts the lower-level third spatial curve values from left to right, and when the low-level third spatial curve has a value of 3, the next If the bit value is 〇, it must be converted to 2, if it is 2, it must be converted to 〇 to become the conversion value of the next digit. When the lower-level third space curve is 〇, the next digit is 1 must be converted to 3, if it is 3, it must be converted to 丨 to become the conversion value of the next digit; to the last value, the combination of the conversion values is the third spatial curve value of the gradation. 96413-950516.doc
TW93132313A 2004-10-26 2004-10-26 Neighbor-finding search method and system based on space-filling curve TWI261772B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
TW93132313A TWI261772B (en) 2004-10-26 2004-10-26 Neighbor-finding search method and system based on space-filling curve

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
TW93132313A TWI261772B (en) 2004-10-26 2004-10-26 Neighbor-finding search method and system based on space-filling curve

Publications (2)

Publication Number Publication Date
TW200614044A TW200614044A (en) 2006-05-01
TWI261772B true TWI261772B (en) 2006-09-11

Family

ID=37987004

Family Applications (1)

Application Number Title Priority Date Filing Date
TW93132313A TWI261772B (en) 2004-10-26 2004-10-26 Neighbor-finding search method and system based on space-filling curve

Country Status (1)

Country Link
TW (1) TWI261772B (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI398828B (en) * 2010-04-06 2013-06-11 Univ Nat Sun Yat Sen A Method of Seeking Range Query in Hilbert Curve

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI398828B (en) * 2010-04-06 2013-06-11 Univ Nat Sun Yat Sen A Method of Seeking Range Query in Hilbert Curve

Also Published As

Publication number Publication date
TW200614044A (en) 2006-05-01

Similar Documents

Publication Publication Date Title
TWI393862B (en) Method for integrating road names and place names in source data
US9235598B2 (en) Location based full text search
US7046827B2 (en) Adapting point geometry for storing address density
US20170024435A1 (en) Use Of Dynamic Dictionary Encoding With An Associated Hash Table To Support Many-To-Many Joins And Aggregations
US6816779B2 (en) Programmatically computing street intersections using street geometry
EP2038677B1 (en) Enhanced positional accuracy in geocoding by dynamic interpolation
US20070078848A1 (en) Indexing and caching strategy for local queries
US20070192301A1 (en) Systems and methods for indexing and searching data records based on distance metrics
Stoter et al. Property in 3D—registration of multiple use of space: current practice in Holland and the need for a 3D cadastre
CN103970769B (en) Image search method and device
CN102867065B (en) Based on Data Transform Device and the method for relevant database
US20030158667A1 (en) Programmatically deriving street geometry from address data
Yang et al. Interactive visualization of multi-resolution urban building models considering spatial cognition
Cheung et al. Compactifications of cluster varieties and convexity
Zlatanova et al. The role of DBMS in the new generation GIS architecture
Penninga et al. A simplicial complex‐based DBMS approach to 3D topographic data modelling
CN109885638B (en) Three-dimensional space indexing method and system
TWI261772B (en) Neighbor-finding search method and system based on space-filling curve
van Wijngaarden et al. Map integration—update propagation in a multi-source environment
Gonzalez‐Diaz et al. Cubical cohomology ring of 3D photographs
Stoter et al. Multiple use of space: current practice of registration and development of a 3D cadastre
CN113569564B (en) Address information processing and displaying method and device
Djordjevic et al. Detecting regular visit patterns
Babcock Aggregation without aggravation: determining spatial contiguity and joining geographic areas using hashing
Lee et al. An efficient location encoding method for moving objects using hierarchical administrative district and road network

Legal Events

Date Code Title Description
MM4A Annulment or lapse of patent due to non-payment of fees