DE60132243T2 - METHOD FOR INDICATING ENTITIES - Google Patents

METHOD FOR INDICATING ENTITIES Download PDF

Info

Publication number
DE60132243T2
DE60132243T2 DE60132243T DE60132243T DE60132243T2 DE 60132243 T2 DE60132243 T2 DE 60132243T2 DE 60132243 T DE60132243 T DE 60132243T DE 60132243 T DE60132243 T DE 60132243T DE 60132243 T2 DE60132243 T2 DE 60132243T2
Authority
DE
Germany
Prior art keywords
sub
points
region
quad
entities
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.)
Expired - Lifetime
Application number
DE60132243T
Other languages
German (de)
Other versions
DE60132243D1 (en
Inventor
Ian Barry Ipswich CRABTREE
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.)
British Telecommunications PLC
Original Assignee
British Telecommunications PLC
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
Priority claimed from GB0123154A external-priority patent/GB0123154D0/en
Application filed by British Telecommunications PLC filed Critical British Telecommunications PLC
Application granted granted Critical
Publication of DE60132243D1 publication Critical patent/DE60132243D1/en
Publication of DE60132243T2 publication Critical patent/DE60132243T2/en
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/22Indexing; Data structures therefor; Storage structures
    • G06F16/2228Indexing structures
    • G06F16/2246Trees, e.g. B+trees
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99931Database or file accessing
    • Y10S707/99932Access augmentation or optimizing
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99931Database or file accessing
    • Y10S707/99933Query processing, i.e. searching
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99931Database or file accessing
    • Y10S707/99933Query processing, i.e. searching
    • Y10S707/99935Query augmenting and refining, e.g. inexact access
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99941Database schema or data structure
    • Y10S707/99944Object-oriented database structure
    • Y10S707/99945Object-oriented database structure processing

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Processing Or Creating Images (AREA)
  • Organic Low-Molecular-Weight Compounds And Preparation Thereof (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Description

Die vorliegende Erfindung bezieht sich auf ein Verfahren zum Indexieren für die Verwendung mit in einer Datenbank gespeicherten Entitäten.The The present invention relates to a method of indexing for the Use with entities stored in a database.

Es kann leicht gesehen werden, dass, wenn es eine riesengroße Anzahl von Entitäten in einer Datenbank gibt, das Identifizieren der Entitäten in Übereinstimmung mit einer Abfrage in Bezug auf die Daten in der Datenbank innerhalb einer angemessenen Zeitdauer eine nichttriviale Aufgabe ist. Um den Wiedergewinnungsprozess zu erleichtern, sind im Allgemeinen die Daten in der Datenbank in irgendeiner Weise indexiert, wobei die Abfragen dann am Index ausgeführt werden. Es kann erwartet werden, dass die Art, in der die Entitäten indexiert sind, eine signifikante Bedeutung für die Qualität und die Geschwindigkeit der Wiedergewinnung besitzt, und da Informationen zunehmend in Datenbanken gespeichert werden, gibt es ein signifikantes Interesse daran, verbesserte Arten zum Indexieren von Daten zu finden.It can easily be seen that if there is a huge number of entities in a database, identifying the entities in accordance with a query regarding the data in the database within a reasonable period of time is a non-trivial task. Around The recovery process is generally easier indexed the data in the database in some way, where the queries will then be executed at the index. It can be expected be that the way in which the entities are indexed, a significant Meaning of the quality and the speed of recovery possesses, and there information increasingly stored in databases, there is a significant interest to find improved ways to index data.

Es ist bekannt, Ortsdaten basierend auf Ortsnamen zu indexieren. Es ist außerdem bekannt, eine Menge geographischer Koordinaten aus den Ortsnamen wiederzugewinnen und einen Index basierend auf den aus den Koordinaten extrahierten topologischen Informationen anzubringen (z. B. "GIPSY": entwickelt in U. C. Berkeley im Zusammenhang mit einer gemeinsamen NSF/NASA/ARPA-Initiative (Wilensky u. a., 1994)). Außerdem ist bekannt, einen Index basierend auf den geographischen Koordinaten selbst anzubringen: die Verkäufer von Datenbanken, wie z. B. OracleTM, haben Systeme zum Speichern und Indexieren geometrischer Daten entwickelt – z. B. die räumliche Datenkassette von Oracle, die erlaubt, dass unter Verwendung eines erweiterten (Nichtstandard-)Formulars von SQL ein räumliches Abfragen ausgeführt wird. Andere Verkäufer, wie MapInfoTM, SpatialWareTM, InnogisticTM und InformixTM besitzen ähnliche proprietäre Arten, um mit räumlichen Daten umzugehen. Insbesondere hat InnogisticTM ein Produkt entwickelt, das als Cartology DSI bekannt ist, das geometrische Vektordaten als Blobs (große binäre Objekte – die durch die zugrunde liegende Datenbank nicht in intrinsisch erkennbar sind) speichert. Es erzeugt außerdem Indizes außerhalb der Datenbank basierend auf der wohlbekannten 'Viereckbaum'-Idee ("quad tree"-Idee). Die Indexdaten sind in Binärbaum-Strukturen gespeichert, wobei auf sie durch Middleware-Dienste eines verteilten Komponentenobjektmodells (DCOM) zugegriffen wird.It is known to index location data based on place names. It is also known to retrieve a lot of geographic coordinates from the place names and to index based on the topological information extracted from the coordinates (eg "GIPSY": developed in UC Berkeley in the context of a common NSF / NASA / ARPA). Initiative (Wilensky et al., 1994)). In addition, it is known to install an index based on the geographic coordinates itself: the vendors of databases such. Oracle , have developed systems for storing and indexing geometric data - such as Oracle's spatial data cartridge, for example, which allows spatial querying to be performed using an extended (non-standard) form of SQL. Other vendors, such as MapInfo , SpatialWare , Innogistic and Informix ™, have similar proprietary ways to handle spatial data. In particular, Innogistic ™ has developed a product known as Cartology DSI which stores geometric vector data as blobs (large binary objects - which are not intrinsically recognizable by the underlying database). It also generates indexes outside the database based on the well-known quad-tree idea. The index data is stored in binary tree structures, accessed through middleware services of a distributed component object model (DCOM).

Sowohl die OracleTM- als auch die InnogisticTM-Systeme machen vom Viereckbaum-Verfahren Gebrauch, bei dem ein ganzer Bereich einer Schicht in eine Folge von vier verschachtelten Quadraten geteilt und unterteilt wird. Der ganze Bereich wird einem von vier Quadraten zugeordnet, die als 0, 1, 2 und 3 bezeichnet werden. Jedes dieser Quadrate wird in vier kleinere Quadrate unterteilt. Der Bereich des Quadrates 1 wird 10, 11, 12 und 13. Jedes von diesen wird weiter unterteilt, was bedeutet, dass z. B. den Unterteilungen des Quadrates 11 die Indexwerte von 110, 111, 112 und 113 zugeordnet werden würden. Im Ergebnis kann auf irgendeinen Ort auf der Karte durch eine einzige Indexzahl Bezug genommen werden. Der Nachteil bei diesem Viereckbaum-Verfahren ist, dass Verarbeitungszeit verschwendet wird, wenn es keine Punkte in den unterteilten Quadraten gibt; falls die Indexierung über einen großen Bereich ausgeführt wird, ist diese verschwendete Verarbeitungszeit nichttrivial und teuer.Both the Oracle and Innogistic systems use the quadrilateral tree process, which splits and subdivides a whole area of a layer into a series of four interlaced squares. The whole area is assigned to one of four squares, called 0, 1, 2, and 3. Each of these squares is divided into four smaller squares. The area of the square 1 becomes 10, 11, 12 and 13. Each of them is further subdivided, which means that e.g. For example, the subdivisions of the square 11 would be assigned the index values of 110, 111, 112 and 113. As a result, any location on the map can be referenced by a single index number. The disadvantage with this quadrilateral method is that processing time is wasted when there are no points in the divided squares; if the indexing is done over a large area, this wasted processing time is nontrivial and expensive.

US-Patent US 6.161.105 beschreibt ein System, durch das mehrdimensionale Daten durch binären hyperräumlichen Code (BH-Code) dargestellt werden und das erlaubt, dass sie unter Verwendung des Viereckbaum-Verfahrens indexiert werden.US Patent US 6,161,105 describes a system by which multi-dimensional data is represented by binary hyperbubble (BH) code and which allows it to be indexed using the quadrilateral tree method.

Ein alternatives Indexierungsverfahren ist das Verfahren des k-dimensionalen binären Suchbaums, das durch J. L. Bentley in "Multidimensional binary search trees for associative searching", Commun. ACM 18 (9), 1975, 509–517, beschrieben wird. Bei diesem Verfahren werden die vertikalen und horizontalen Seiten einer Region, die zu indexierende Punkte enthält, verglichen, wobei die Region durch eine gerade Linie, die zur längeren Seite senkrecht ist, in zwei Teile zerteilt wird. Die Position der Teilungs- oder Partitionierungslinie wird so bestimmt, dass jeder resultierende Teil die gleiche Datenmenge enthält. Dieses Verfahren wird rekursiv auf jeden der zwei Teile angewendet, bis ein vorgegebenes Kriterium erfüllt ist. Typischerweise steht dieses Kriterium mit der Kapazität einer Seite in einer relationalen Datenbank (d. h. den Speichereinschränkungen der Datenbank) in Beziehung. Die partitionierten Teile werden als Knoten in einem binären Baum dargestellt, wobei die Positionen der Teilungslinien zwischen den Teilen die Position eines Knotens bezüglich der anderen Knoten in dem Baum bestimmen. Dieses Verfahren ist für das Wiedergewinnen von Punkten bezüglich eines Bereichs von Interesse besonders effizient, weil Abschnitte des Suchraums (des binären Baums) durch einen einfachen Vergleich zwischen dem Bereich von Interesse und den Teilungslinien der Teile eliminiert werden können.One alternative indexing method is the k-dimensional binary search tree method by J.L. Bentley in "Multidimensional binary search trees for associative searching ", Commun. ACM 18 (9), 1975, 509-517 becomes. In this procedure, the vertical and horizontal Pages of a region containing points to index compared, taking the region through a straight line leading to the longer side is vertical, is divided into two parts. The position of the division or partitioning line is determined so that each resulting Part contains the same amount of data. This procedure is applied recursively to each of the two parts, until a predetermined criterion is met. Typically it stands this criterion with the capacity a page in a relational database (that is, the storage restrictions the database). The partitioned parts are called Node in a binary Tree, with the positions of the dividing lines between the parts the position of a node with respect to the other nodes in determine the tree. This procedure is for recovering points in terms of a section of interest particularly efficient because sections search space (binary Baums) by a simple comparison between the range of Interest and the dividing lines of the parts can be eliminated.

Die Anwendung des k-dimensionalen Verfahrens auf geographische Daten wird in "A file Organisation for geographic information systems based an spatial proximity" von Matsuyama u. a., Computer Vision, Graphics and image processing, 26, 303–318, (1984), beschrieben.The Application of the k-dimensional method to geographic data becomes in "A file Organization for geographic information systems based on spatial proximity "of Matsuyama u. a, Computer Vision, Graphics and image processing, 26, 303-318, (1984), described.

Insbesondere vergleichen Matsuyama u. a. den Wirkungsgrad des k-dimensionalen Baumverfahrens mit dem Viereckbaum-Verfahren, wobei sie feststellen, dass das k-dimensionale Verfahren sowohl hinsichtlich der Verwendung der Speicherraums (weil das Viereckbaum-Verfahren typischerweise Vierecke und folglich Speicher Regionen zuordnet, in denen sich keine Punkte befinden) als auch hinsichtlich der Datenwiedergewinnung (weil der Suchraum effizient unter Verwendung des k-dimensionalen Baumverfahrens reduziert werden kann, wie oben beschrieben worden ist) ein weit effizienteres Verfahren ist.Especially compare Matsuyama u. a. the efficiency of the k-dimensional tree method with the quadrilateral method, where they find that the k-dimensional Method both regarding the use of memory space (because the quadrilateral tree process typically quadrilaterals and thus memory Allocates regions where there are no points) as well in terms of data recovery (because the search space is efficient be reduced using the k-dimensional tree method can, as described above) a far more efficient method is.

Ungeachtet der Tatsache, dass das k-dimensionale Baumverfahren effizienter als das Standard-Viereckbaum-Verfahren ist, weist es immer noch mehr Bereichen Speicher zu, als tatsächlich erforderlich ist – wie oben beschrieben worden ist, wobei, wenn eine Region partitioniert wird (Knoten im binären Baum erzeugt werden), die Partitionierungslinie so bestimmt wird, dass jeder resultierende Teil die gleiche Datenmenge enthält; folglich besitzen die Teile eine größere Größe, als sie besitzen müssten, wobei schließlich der binäre Baum mehr Knoten besitzt, als notwendig sind.regardless the fact that the k-dimensional tree method more efficient as the standard quad-tree method, it still rejects more areas to store than is actually required - as above wherein when a region is partitioned (Node in binary Tree), the partitioning line is determined that each resulting part contains the same amount of data; consequently the parts have a larger size than they would have to own finally the binary tree own more nodes than are necessary.

OOI, B. C. u. a. in Spatial KD-Tree: An Indexing Mechanism for Spatial Database, Proceedings of the Annual International Computer Software and Applications Conference (COMPSAC), Tokio, 7.–9. Oktober 1987, Washington, IEEE Corp. Soc. Press., USA, Bd. conf. 11, Seiten 433–438, offenbaren die Verwendung eines so genannten räumlichen kd-Baums, um die Verarbeitung der Abfragen räumlicher Datenbanken zu erleichtern. Der räumliche kd-Baum partitioniert einen Satz von Datensätzen im k-dimensionalen Raum basierend auf ihrer räumlichen Nähe in kleine Gruppen.OOI, B. C. u. a. in Spatial KD-Tree: An Indexing Mechanism for Spatial Database, Proceedings of the Annual International Computer Software and Applications Conference (COMPSAC), Tokyo, 7-9. October 1987, Washington, IEEE Corp. Soc. Press., USA, Bd. Conf. 11, pages 433-438 the use of a so-called spatial kd-tree to processing the queries spatial Facilitate databases. The spatial kd tree is partitioned a set of records in k-dimensional space based on their spatial proximity in small groups.

Gemäß einem ersten Aspekt der vorliegenden Erfindung wird ein Verfahren zum Anbringen eines Indexes an mehreren Entitäten geschaffen, das die im Anspruch 1 des beigefügten Satzes der Ansprüche definierten Merkmale besitzt.According to one The first aspect of the present invention is a method for Attaching an index to multiple entities created in the Claim 1 of the attached Set of claims has defined features.

Folglich "schrumpft" das vorliegende Verfahren im Vergleich zu bekannten Indexierungsverfahren zuerst den Indexierungsraum, so dass es nur über Bereiche indexiert, die Punkte enthalten. Folglich sind die Speicherbereiche entsprechend kompakt, was hinsichtlich des Minimierens der Verwendung von Speicherraum Vorteile besitzt.Consequently, the present "shrinks" Method compared to known indexing methods first the indexing space so that it only indexes over areas that Points included. Consequently, the memory areas are corresponding compact, which in terms of minimizing the use of memory space Has advantages.

In der Tat identifizieren im oben erwähnten Aufsatz mit dem Titel "A file Organisation for geographic information systems based an spatial proximity" Matsuyama u. a. das dem Viereckbaum-Verfahren zugeordnete Problem – nämlich das Indexieren von leeren Seiten der Datenbank (siehe S. 312) – wobei sie aber das Problem lösen, indem sie ein Verfahren anwenden, das von jenem der vorliegenden Erfindung vollständig verschieden ist, (das k-dimensionale Baumverfahren).In In fact, in the above-mentioned article entitled "A file organization for geographic information systems based on spatial proximity "Matsuyama et al. the problem associated with the quadrilateral tree process - namely Indexing empty pages of the database (see p. 312) - where but they solve the problem by applying a method similar to that of the present one Invention complete is different, (the k-dimensional tree method).

Vorteilhaft umfasst der Schritt des Verkleinerns der Region das Berechnen der Abstände zwischen den Entitäten in jeder von zwei Dimensionen; und für jede der Dimensionen das Identifizieren, welche der Entitäten den größten Abstand zwischen sich besitzen, so dass, wenn die zwei Dimensionen senkrecht zueinander sind, die in dem Schritt ii erzeugte Region ein Rechteck ist, das durch wenigstens zwei Punkte definiert ist.Advantageous For example, the step of shrinking the region includes calculating the distances between the entities in each of two dimensions; and for each of the dimensions that Identify which of the entities the greatest distance between them, so that when the two dimensions are vertical to each other, the region generated in step ii is a rectangle is defined by at least two points.

Die Unterregionen können über eine so genannte "verknüpfte Liste" der Punkte verknüpft werden, was ein im Stand der Technik bekannter effektiver Verknüpfungsmechanismus ist.The Subregions can have one linked so-called "linked list" of points what is an effective linkage mechanism known in the art is.

Vorzugsweise wird die Region in vier Unterregionen unterteilt, wobei die Schritte ii und iii für jeden der zweiten Bereiche rekursiv wiederholt werden.Preferably The region is divided into four subregions, with the steps ii and iii for each of the second areas are recursively repeated.

Zweckmäßig enthält das Verfahren das Speichern der Verknüpfungsdaten in einer Datenbank, das Halten einer Aufzeichnung der Anzahl von Entitäten, die in der Datenbank gespeichert sind, und für jede Unterregion das Schreiben der momentan aufgezeichneten Anzahl in den ihr entsprechenden Speicherbereich.Appropriately, the method contains saving the linkage data in a database, keeping a record of the number of entities which are stored in the database, and writing for each subregion the currently recorded number in their corresponding memory area.

Vorteilhaft können die Entitäten, die in Übereinstimmung mit dem ersten Aspekt der Erfindung indexiert worden sind, wiedergewonnen werden. Insbesondere und hinsichtlich der Punkte, die den Entitäten entsprechen, können die Punkte, die in einem vorgegebenen Bereich enthalten sind, durch das Ausführen der folgenden Schritte wiedergewonnen werden:

  • (a) Identifizieren einer oder mehrerer Regionen, die in dem vorgegebenen Bereich enthalten sind, wobei jede Region einen oder mehrerer Punkte umschließt und wobei jeder Region Verknüpfungsdaten zugeordnet sind, die für jede Region den Punkt oder die Punkte, die von dieser Region umschlossen sind, identifizieren; und
  • (b) Zugreifen auf Verknüpfungsdaten, die den identifizierten Regionen entsprechen, um so Punkte, die von den identifizierten Regionen umschlossen werden, wiederzugewinnen.
Advantageously, the entities indexed in accordance with the first aspect of the invention can be recovered. In particular, and with respect to the points corresponding to the entities, the points contained in a given area can be recovered by performing the following steps:
  • (a) identifying one or more regions included in the given area, wherein each region encloses one or more points and wherein each region is associated with linkage data identifying for each region the point or points enclosed by that region; and
  • (b) accessing linkage data corresponding to the identified regions so as to retrieve points encompassed by the identified regions.

Die Regionen entsprechen den Speicherbereichen, die in Übereinstimmung mit dem ersten Aspekt der Erfindung indexiert sind. Folglich ist, da die Speicherbereiche kompakt sind, weil, wie oben beschrieben worden ist, sie um die Punkte "schrumpfverpackt" sind, die Identifikation der Punkte im Index ein effizienter Prozess.The Regions correspond to the memory areas that match are indexed with the first aspect of the invention. Consequently, because the storage areas are compact because, as described above they are "shrink wrapped" around the dots, the ID the points in the index an efficient process.

Vorzugsweise umfasst der Identifizierungsschritt (a) die Schritte des Wiedergewinnens einer Region und des Ausführens eines Prozesses in Bezug auf die Region, wobei der Prozess die folgenden Schritte umfasst: Vergleichen der Ausmaße der Region mit Ausmaßen des vorgegebenen Bereichs, um festzustellen, ob die erste Region mit dem vorgegebenen Bereich überlappt; und falls eine Überlappung besteht, Wiedergewinnen von Unterregionen der Region und Identifizieren irgendwelcher derartiger Unterregionen, deren Ausmaße vollständig innerhalb des vorgegebenen Bereichs liegen. Dieser Prozess kann für jede Unterregion wiederholt werden, bis alle Unterregionen hiervon, die vollständig in den vorgegebenen Bereich fallen, identifiziert sind.Preferably The identifying step (a) comprises the steps of retrieving a region and carrying out a process relating to the region, the process being the following Steps includes: Comparing the dimensions of the region with dimensions of the predetermined range to determine if the first region with overlaps the given area; and if there is an overlap exists, recovering subregions of the region and identifying any such subregions, the dimensions of which are completely within the predetermined range lie. This process can be for any subregion be repeated until all subregions thereof completely in fall within the given range are identified.

Zweckmäßig werden die mehreren Punkte im Voraus als eine Liste von Punkten in Übereinstimmung mit Beziehungen zwischen den jeweiligen Regionen und Unterregionen hiervon gespeichert und enthalten die Verknüpfungsdaten einen Wert, der die Position eines ersten der entsprechenden umschlossenen Punkte in der Liste von Punkten angibt. Der Zugriffsschritt (b) umfasst dann für jede der identifizierten Regionen und Unterregionen: Wiedergewinnen eines Identifizierers, der die Anzahl der umschlossenen Punkte repräsentiert, und Wiedergewinnen eines Positionswertes, der der identifizierten Unterregion zugeordnet ist; und Zugreifen auf die Liste von Punkten und Wiedergewinnen der Anzahl umschlossener Punkte ausgehend von einer Position in der Liste, die durch den Positionswert gegeben ist.Be useful the multiple points in advance as a list of points in accordance with Relations between the respective regions and subregions thereof stored and contain the linkage data, a value the position of a first of the corresponding enclosed points in the list of points. The access step (b) comprises then for each of the identified regions and subregions: Recover an identifier representing the number of enclosed points, and Recovering a position value of the identified subregion assigned; and accessing the list of points and recoveries the number of enclosed points from a position in the list given by the position value.

Vorzugsweise entspricht der in den Verknüpfungsdaten enthaltene Wert der in den Speicherbereich geschriebenen aufgezeichneten Anzahl.Preferably corresponds to that in the linkage data included value of recorded recorded in the memory area Number.

Die Verfahrenschritte sind vorzugsweise in einem oder mehreren Computer-Programmen verkörpert, die ganz oder teilweise als ein Signal in einer Trägerwelle für die Übertragung über ein Kommunikationsnetz und/oder in einem computerlesbaren Medium als ein Computerprogrammprodukt verkörpert sein können.The Process steps are preferably in one or more computer programs embodies that wholly or partly as a signal in a carrier wave for transmission over a communication network and / or in a computer readable medium as a computer program product personified could be.

Zweckmäßig entsprechen die Punkte Daten, die in zwei Dimensionen ausgedrückt werden können, z. B. Ortsdaten (Länge und Breite) oder Reichweitendaten. Die Reichweitendaten können Betriebsstunden (z. B. Öffnungs- und Schließzeiten), Preismargen (z. B. maximale und minimale Preise) und/oder medizinische Daten (z. B. maximaler und minimaler Blutdruck) sein. Folglich könnte ein vorgegebener Bereich eine Preisspanne sein – wie z. B. ein maximaler Hauspreis und minimaler Hauspreis. In Übereinstimmung mit dem oben beschriebenen Wiedergewinnungsverfahren werden die Ausmaße eines vorgegebenen Bereichs (d. h. eine Preisklasse) mit einer vom Index wiedergewonnenen Region verglichen. Alle Regionen, die mit der Preisklasse überlappen, werden dann der Reihe nach wiedergewonnen, bis eine Region identifiziert ist, die vollständig in die spezifizierte Preisklasse fällt. Alle Punkte, die in diese identifizierte Region fallen, repräsentieren folglich Waren, die einen Preis besitzen, der in die spezifizierte maximale und minimale Preisklasse fällt.Suitably correspond the dots data that are expressed in two dimensions can, z. B. Location data (length and latitude) or range data. The range data can run hours (eg opening and closing times), Price margins (eg maximum and minimum prices) and / or medical Data (eg, maximum and minimum blood pressure). Consequently, one could given range be a price range - such. B. a maximum house price and minimum house price. In accordance With the recovery method described above, the dimensions a given range (i.e., a price range) with one from the Index recovered region. All regions with overlap the price range, are then retrieved in turn until a region is identified is that completely falls into the specified price range. All the points in this thus fall within the identified region, thus representing goods which own a price that is in the specified maximum and minimum Price class falls.

Weitere Aspekte, Merkmale und Vorteile der vorliegenden Erfindung werden aus der folgenden Beschreibung der bevorzugten Ausführungsformen der Erfindung offensichtlich, die auf die beigefügte Zeichnung Bezug nimmt, worin:Further Aspects, features and advantages of the present invention from the following description of the preferred embodiments of the invention, which refers to the attached drawing, wherein:

1 eine schematische graphische Darstellung ist, die Aspekte eines durch die Erfindung verwendeten Kommunikationssystems veranschaulicht; 1 Figure 3 is a schematic diagram illustrating aspects of a communication system used by the invention;

2 eine schematische graphische Darstellung ist, die ein Beispiel der Punkte zeigt, die gemäß der Erfindung zu indexieren sind; 2 is a schematic diagram showing an example of the points to be indexed according to the invention;

3 eine schematische graphische Darstellung ist, die eine erweiterte Ansicht nach 2 zeigt; 3 is a schematic diagram, which is an expanded view 2 shows;

4a u. 4b in Kombination einen Ablaufplan umfassen, der eine Ausführungsform eines Indexierungsprozesses gemäß der vorliegenden Erfindung zeigt, wenn die in 2 gezeigten Punkte indexiert werden; 4a u. 4b in combination, comprise a flowchart showing an embodiment of an indexing process according to the present invention, when the in 2 indexed points shown become;

5 eine schematische graphische Darstellung ist, die die Anwendung des Prozesses nach den 4a u. 4b zeigt, um ein Viereck um die in 2 gezeigten Punkte zu erzeugen; 5 is a schematic diagram showing the application of the process according to 4a u. 4b shows a square around the in 2 to produce points shown;

6 eine schematische graphische Darstellung ist, die die Anwendung des Prozesses nach den 4a u. 4b zeigt, um ein Unterviereck des gemäß 5 erzeugten Vierecks zu erzeugen; 6 is a schematic diagram showing the application of the process according to 4a u. 4b shows to a sub-quad of the according to 5 generate generated quadrilaterals;

7 eine schematische graphische Darstellung ist, die die Anwendung des Prozesses nach den 4a u. 4b zeigt, um ein Unterviereck von einem der Untervierecke nach 6 zu erzeugen; 7 is a schematic diagram showing the application of the process according to 4a u. 4b points to a sub-quad of one of the sub-quads 6 to create;

8 eine erweiterte Ansicht nach 7 ist; 8th an expanded view 7 is;

9 eine erweiterte Ansicht nach 8 ist, die die Anwendung des Prozesses nach den 4a u. 4b zeigt, um ein weiteres der in 7 gezeigten Untervierecke zu erzeugen; 9 an expanded view 8th is that the application of the process after the 4a u. 4b shows another one in 7 to produce sub-quads shown;

10 eine erweiterte Ansicht nach 8 ist, die die Anwendung des Prozesses nach den 4a u. 4b zeigt, um ein weiteres der in 7 gezeigten Untervierecke zu erzeugen; 10 an expanded view 8th is that the application of the process after the 4a u. 4b shows another one in 7 to produce sub-quads shown;

11 eine schematische graphische Darstellung ist, die die Anwendung des Prozesses nach den 4a und 4b zeigt, um ein weiteres Unterviereck von einem der Untervierecke nach 6 zu erzeugen; 11 is a schematic diagram showing the application of the process according to 4a and 4b points to another sub-quad of one of the sub-quads 6 to create;

12 eine schematische graphische Darstellung ist, die einen Prozess des Speicherns von Punkten gemäß der Erfindung veranschaulicht; 12 Fig. 12 is a schematic diagram illustrating a process of storing dots according to the invention;

13a u. 13b in Kombination einen Ablaufplan umfassen, der eine Ausführungsform eines Wiedergewinnungsprozesses gemäß der vorliegenden Erfindung zeigt, wenn die Punkte in Übereinstimmung mit einem Bereich von Interesse wiedergewonnen werden; 13a u. 13b in combination, comprise a flowchart showing an embodiment of a retrieval process according to the present invention when the points are retrieved in accordance with a region of interest;

14 eine schematische graphische Darstellung ist, die ein Beispiel eines Bereichs von Interesse zeigt, für den Punkte wiederzugewinnen sind; 14 Fig. 12 is a schematic diagram showing an example of a region of interest for which points are to be recovered;

15 eine schematische graphische Darstellung ist, die die Anwendung des Prozesses nach den 13a u. 13b auf eines der Untervierecke nach 6 zeigt; 15 is a schematic diagram showing the application of the process according to 13a u. 13b on one of the sub-quads 6 shows;

16 und 17 eine vergrößerte Ansicht nach 15 und schematische graphische Darstellungen sind, die die Anwendung des Prozesses nach den 13a u. 13b auf ein erstes der Untervierecke nach 7 zeigen; 16 and 17 an enlarged view 15 and are schematic diagrams illustrating the application of the process to the 13a u. 13b on a first of the sub-quads 7 demonstrate;

18 eine vergrößerte Ansicht nach 15 ist und den Bereich von Interesse und ein zweites der Untervierecke nach 7 zeigt; 18 an enlarged view 15 is after and the area of interest and a second of the sub-quads 7 shows;

19 eine schematische graphische Darstellung ist, die 18 entspricht und die Anwendung des Prozesses nach den 13a u. 13b auf das zweite der Untervierecke nach 7 zeigt; 19 is a schematic diagram, the 18 corresponds and the application of the process after the 13a u. 13b on the second of the sub-quads 7 shows;

20a u. 20b schematische graphische Darstellungen sind, die die Anwendung des Prozesses nach den 13a u. 13b auf ein (erstes) Unterviereck des in 18 gezeigten Untervierecks zeigen; 20a u. 20b schematic diagrams are showing the application of the process according to the 13a u. 13b to a (first) sub-quad of the in 18 show sub-quadrilateral shown;

21a u. 21b schematische graphische Darstellungen sind, die die Anwendung des Prozesses nach den 13a u. 13b auf ein weiteres (ein zweites) Unterviereck des in 18 gezeigten Untervierecks zeigen; 21a u. 21b schematic diagrams are showing the application of the process according to the 13a u. 13b to another (a second) sub-quad of the in 18 show sub-quadrilateral shown;

22a u. 22b schematische graphische Darstellungen sind, die die Anwendung des Prozesses nach den 13a u. 13b auf ein weiteres Unterviereck (ein drittes) des in 18 gezeigten Untervierecks zeigen; 22a u. 22b schematic diagrams are showing the application of the process according to the 13a u. 13b to another sub-quad (a third) of the in 18 show sub-quadrilateral shown;

23a u. 23b schematische graphische Darstellungen sind, die die Anwendung des Prozesses nach den 13a u. 13b auf ein weiteres Unterviereck (ein viertes) des in 18 gezeigten Untervierecks zeigen; 23a u. 23b schematic diagrams are showing the application of the process according to the 13a u. 13b to another sub-quad (a fourth) of the in 18 show sub-quadrilateral shown;

24 eine vergrößerte Ansicht nach 15 ist und den Bereich von Interesse und ein drittes der Untervierecke nach 7 zeigt; 24 an enlarged view 15 is and the area of interest and a third of the sub-quads after 7 shows;

25 eine schematische graphische Darstellung ist, die 24 entspricht und die Anwendung des Prozesses nach den 13a u. 13b auf das dritte der Untervierecke nach 7 zeigt; 25 is a schematic diagram, the 24 corresponds and the application of the process after the 13a u. 13b on the third of the sub-quads 7 shows;

26a u. 26b schematische graphische Darstellungen sind, die die Anwendung des Prozesses nach den 13a u. 13b auf ein (erstes) Unterviereck des in 24 gezeigten Untervierecks zeigen; 26a u. 26b schematic diagrams are showing the application of the process according to the 13a u. 13b to a (first) sub-quad of the in 24 show sub-quadrilateral shown;

27a u. 27b schematische graphische Darstellungen sind, die die Anwendung des Prozesses nach den 13a u. 13b auf ein weiteres (ein zweites) Unterviereck des in 24 gezeigten Untervierecks zeigen; 27a u. 27b schematic diagrams are showing the application of the process according to the 13a u. 13b to another (a second) sub-quad of the in 24 show sub-quadrilateral shown;

28a u. 28b schematische graphische Darstellungen sind, die die Anwendung des Prozesses nach den 13a u. 13b auf ein weiteres Unterviereck (ein drittes) des in 24 gezeigten Untervierecks zeigen; 28a u. 28b schematic diagrams are showing the application of the process according to the 13a u. 13b to another sub-quad (a third) of the in 24 show sub-quadrilateral shown;

29a u. 29b schematische graphische Darstellungen sind, die die Anwendung des Prozesses nach den 13a u. 13b auf ein weiteres Unterviereck (ein viertes) des in 24 gezeigten Untervierecks zeigen; 29a u. 29b schematic diagrams are showing the application of the process according to the 13a u. 13b to another sub-quad (a fourth) of the in 24 show sub-quadrilateral shown;

30 eine vergrößerte Ansicht nach 15 ist und den Bereich von Interesse und ein viertes der Untervierecke nach 7 zeigt; und 30 an enlarged view 15 is and the area of interest and a fourth of the sub-quads after 7 shows; and

31 eine schematische graphische Darstellung ist, die 30 entspricht und die Anwendung des Prozesses nach den 13a u. 13b auf das vierte der Untervierecke nach 7 zeigt; 31 is a schematic diagram, the 30 corresponds and the application of the process after the 13a u. 13b to the fourth of the sub-quads 7 shows;

32 ein Ablaufplan ist, der weitere Schritte zeigt, die im Wiedergewinnungsprozess nach den 13a u. 13b enthalten sind; und jede der 32 is a flowchart showing further steps to follow in the recovery process 13a u. 13b are included; and each of the

33a33e eine schematische Veranschaulichung einer Region von Interesse ist, für die Punkte gemäß der Erfindung wiederzugewinnen sind. 33a - 33e Figure 3 is a schematic illustration of a region of interest for which points according to the invention are to be recovered.

Überblickoverview

Die Datenbank-Server DB1, DB2, wie z. B. jene, die in 1 gezeigt sind, speichern typischerweise Informationen für die Wiedergewinnung durch die Anwender. Auf der physikalischen Ebene enthält die Kommunikationsumgebung, in der sich die Datenbank-Server DB1, DB2 befinden, wenigstens eine Anwenderschnittstelle, die im Allgemeinen durch ein Computer-Endgerät oder einen Arbeitsplatzrechner T3 bereitgestellt wird.The database servers DB1, DB2, such as B. those in 1 typically store information for recovery by the users. At the physical level, the communication environment in which the database servers DB1, DB2 reside includes at least one user interface, which is generally provided by a computer terminal or workstation T3.

Die Ausführungsformen der Erfindung können im Arbeitsplatzrechner T3 ausgeführt werden, der mit den Datenbank-Servern DB1, DB2 verbunden ist. Obwohl die Datenbank-Server DB1, DB2 im selben LAN N1 wie das Endgerät T3 gezeigt sind, ist es selbstverständlich, dass die Datenbank-Server DB1, DB2 mit anderen Netzen verbunden sein könnten, die wiederum über eine oder mehrere (nicht gezeigte) Vermittlungen und/oder Router mit dem LAN N1 verbunden sind. Die Ausführungsformen empfangen Daten als Eingabe, z. B. als eine Datei, und bringen einen Index an den Daten an, wie im Folgenden ausführlicher beschrieben wird. Der angebrachte Index wird dann in einer der Datenbanken DB1, DB2 gesichert, wobei die indexieren Daten außerdem in einer durch die Struktur des angebrachten Indexes gegebenen Reihenfolge in einer der Datenbanken DB1, DB2 gesichert werden. Der angebrachte Index kann in derselben oder in einer anderen Datenbank wie der Datenbank, in der die Daten gespeichert sind, gesichert werden.The embodiments of the invention executed in the workstation T3 which is connected to the database servers DB1, DB2. Even though the database servers DB1, DB2 are shown in the same LAN N1 as the terminal T3 are, of course, that the database server DB1, DB2 connected to other networks could be which in turn over one or more switches and / or routers (not shown) connected to the LAN N1. The embodiments receive data as input, z. As a file, and attach an index to the Data, as described in more detail below is described. The attached index will then be in one of the databases DB1, DB2 backed up, with the indexed data also in a given order by the structure of the attached index in one of the databases DB1, DB2. The attached one Index can be in the same or different database as the Database in which the data is stored.

Die Ausführungsformen der vorliegenden Erfindung betreffen das Indexieren von Entitäten, die durch 2 Dimensionen definiert sind. Offensichtliche Beispiele der Entitäten, die gemäß den Ausführungsformen indexiert werden können, enthalten den Ort von Objekten, wie z. B. Tankstellen, Geldautomaten usw., da die Position der Objekte im Allgemeinen in Form von Breite und Länge definiert ist. Viele andere Entitäten können in 2 Dimensionen dargestellt werden – z. B. die Beschleunigung eines Motorrads als eine Funktion von Zeit und Geschwindigkeit, die Leitfähigkeit eines Materials als eine Funktion der Materialeigenschaften und der Temperatur, die Deformation eines Gegenstandes als eine Funktion der Materialeigenschaften und der auf den Gegenstand ausgeübten Kraft usw. Außerdem können Transformationen auf n-dimensionale Parameter angewendet werden, um sie auf 2-dimensionale Parameter zu verringern, die in einem 2-dimensionalen Raum gezeigt werden können.The embodiments of the present invention relate to indexing entities defined by 2 dimensions. Obvious examples of the entities that may be indexed according to the embodiments include the location of objects, such as objects. As gas stations, ATMs, etc., since the position of the objects is generally defined in the form of width and length. Many other entities can be represented in 2 dimensions - eg. For example, the acceleration of a motorcycle as a function of time and speed, the conductivity of a material as a function of material properties and temperature, deformation of an article as a function of material properties, and force applied to the article, etc. In addition, transformations to n -dimensional parameters are used to reduce them to 2-dimensional parameters that can be shown in a 2-dimensional space.

Ein weiteres Beispiel von Entitäten, die unter Verwendung der Ausführungsformen der vorliegenden Erfindung indexiert werden können, enthält Reichweiteninformationen, z. B. Zeitinformationen, Preisinformationen und Informationen über medizinische Zustande.One another example of entities, those using the embodiments of the present invention contains range information, z. As time information, pricing information and information about medical Conditions.

Ein Beispiel der Zeitspanneninformationen sind die Öffnungs- und Schließzeiten von Geschäfts- und Freizeiteinrichtungen – diese Zeiten können in zwei Dimensionen ausgedrückt werden, z. B. mit den Schließ- und Öffnungszeiten auf den Ordinaten- bzw. Abszissenachsen. Ähnlich können Lieferzeiten (früheste und späteste) in zwei Dimensionen ausgedrückt werden.One Example of the time span information are the opening and closing times of business and recreational facilities - these Times can expressed in two dimensions be, for. B. with the closing and opening times on the ordinate or abscissa axes. Similarly, delivery times (earliest and latest) expressed in two dimensions become.

Ein Beispiel der Preisinformationen enthält die Preise von Waren, so dass z. B. maximale und minimale Preise von Waren jeweils in einer von zwei Dimensionen ausgedrückt und auf diese Weise unter Verwendung der Ausführungsformen der Erfindung indexiert werden können. Die Preisinformationen enthalten außerdem Handelsinformationen, wie sie verwendet werden, um Wertpapiere, Aktien, Anleihen usw. zu kaufen und zu verkaufen.One Example of price information contains the prices of goods, so that z. B. maximum and minimum prices of goods each in one expressed in two dimensions and in this way using the embodiments of the invention can be indexed. The pricing information also includes trade information, how they are used to transfer securities, stocks, bonds etc. to buy and sell.

Ein Beispiel der Informationen über medizinische Zustände enthält Statistiken bezüglich messbarer Zustände, wie z. B. Körpertemperatur und Blutdruck, und Zustande, die in numerische Darstellungen übersetzt werden können, wie z. B. die Stellen von Karzinomen.One Example of information about medical conditions contains Statistics regarding measurable states, such as B. Body temperature and blood pressure, and states that are translated into numerical representations can, such as For example, the sites of carcinomas.

In der folgenden Beschreibung werden die Entitäten im Allgemeinen als "Punkte" bezeichnet, um den Kontext der Entitäten (z. B. Tankstelle, Geldautomat usw.) von den Mechaniken der Ausführungsform zu trennen.In In the following description, the entities are generally referred to as "points" to the context of the entities (eg, gas station, ATM, etc.) of the mechanics of the embodiment to separate.

Im Überblick wird eine Ausführungsform eines Verfahrens zum Indexieren von Punkten unter Bezugnahme auf 2 beschrieben. 2 zeigt einen Bereich R1, in dem sich mehrere Punkte 200 befinden. Jeder der Punkte ist in einem Raum der x, y-Koordinaten definiert. Der Bereich R1, der zu indexierende Punkte umfasst, wird im Wesentlichen untersucht und in die Bereiche R3, R4, die Punkte enthalten, und den Bereich R2, der keine Punkte enthält, zerteilt (die Bereiche könnten in jede Form, wie z. B. Rechteck, Dreieck oder Streifen, zerteilt werden; 2 zeigt die Bereiche, die in Streifen zerteilt sind, um das erfinderische Konzept dieser Erfindung zu beschreiben). Die Ausführungsform untersucht dann die Verteilung der Punkte in den Bereichen R3 und R4, wobei sie dann in einem Maßstab, der kleiner als der ist, der für die Region R1 betrachtet worden ist, die Bereiche in R3 und R4 identifiziert, die Punkte umfassen. In 3 wird R4 im wesentlichen R11, wobei die Verteilung der Punkte in R11 untersucht wird. Indem die Verteilung der Punkte in dieser Weise konzentriert wird, werden die Bereiche, die keine Punkte enthalten, die Region R2 in 2 und die Region R12 in 3, implizit verworfen. Der Prozess wird kontinuierlich wiederholt, wobei er sich effektiv durch eine Folge von Bereichen mit abnehmender Größe "nach unten vertieft", bis die Größe eines Bereichs so ist, dass sie auf die Größe eines einzigen Punktes kollabiert. Wie sich die Ausführungsform "nach unten vertieft", ist jeder Bereich mit dem Bereich über ihm verknüpft, so dass jeder Punkt durch eine Folge von Bereichen verknüpft ist. Ein Index für diese Punkte umfasst die Folge der Bereiche, wobei diese Bereiche und Punkte verwendet werden, um einen Index zu erzeugen (was im Folgenden ausführlicher beschrieben wird), der in der Datenbank DB1 gesichert wird. Die Beziehung zwischen den Punkten und den Bereichen ermöglicht es, dass die Punkte durch die Identifikation eines Bereichs im Index identifiziert werden.An overview of an embodiment of a method for indexing points will be given with reference to FIG 2 described. 2 shows a region R1 in which several points 200 are located. Each of the points is defined in a space of x, y coordinates. The region R1 comprising points to be indexed is substantially examined and divided into the regions R3, R4 containing points and the region R2 containing no points (the regions could be divided into any shape such as Rectangle, triangle or strip, to be parted; 2 Figure 4 shows the areas that are divided into strips to describe the inventive concept of this invention). The embodiment then examines the distribution of the points in the regions R3 and R4, and then, on a scale smaller than that considered for the region R1, identifies the regions in R3 and R4 that comprise points. In 3 R4 becomes substantially R11, and the distribution of points in R11 is examined. By concentrating the distribution of points in this way, the areas not containing points become the region R2 in FIG 2 and the R12 region in 3 , implicitly discarded. The process is continuously repeated, effectively "down" through a succession of areas of decreasing size until the size of a region is such that it collapses to the size of a single point. As the embodiment "deepens down," each area is linked to the area above it so that each point is linked by a series of areas. An index for these points includes the sequence of ranges, which ranges and points are used to create an index (to be described in more detail below) that is saved in database DB1. The relationship between the points and the regions allows the points to be identified by identifying an area in the index.

Einer der Vorteile des Erzeugens eines Indexes, wie oben beschrieben worden ist, ist, dass der Abfrage-Suchbereich auf Bereiche begrenzt ist, von denen bekannt ist, dass sie Punkte enthalten – d. h. die Abfragen werden nur an den in der Datenbank DB1 gesicherten Bereichen ausgeführt, und da diese Bereiche per definitionem Punkte enthalten, ist der Suchbereich relativ kompakt. Zurück in 2 ist der Prozess des Identifizierens von Punkten in Bezug auf eine Abfrage gemäß der oben beschriebenen Ausführungsform schneller, als wenn der Index Informationen bezüglich des ganzen Bereichs R1 umfasst.One of the advantages of creating an index, as described above, is that the query search area is limited to areas known to contain points - ie, the queries are executed only on the areas saved in database DB1 , and since these areas by definition contain points, the search area is relatively compact. Back in 2 For example, the process of identifying points with respect to a query according to the above-described embodiment is faster than if the index includes information on the whole area R1.

In einer besonderen Form einer Ausführungsform, die im Folgenden unter Bezugnahme auf die 411 dargestellt wird, sind die Punkte 2-dimensionale Koordinaten im x, y-Raum. Falls die zu indexierenden Entitäten Beschleunigungswerte sind, die durch eine entsprechende Menge von Zeit- und Geschwindigkeitswerten definiert sind, werden die Zeit- und Geschwindigkeitswerte direkt auf den Raum der x, y-Koordinaten abgebildet, so dass (t1, v1), (t2, v2), ..., (tn, vn) Koordinaten von Punkten sind, die den Beschleunigungswerten entsprechen. Falls die zu indexierenden Entitäten Ortswerte sind, die durch eine entsprechende Menge von Breiten- und Längenwerten definiert sind, werden die Breiten- und Längewerte direkt auf einem Raum der x, y-Koordinaten abgebildet, so dass (lat_1, long_1), ..., (lat_n, long_n) die Koordinaten von Punkten sind, die den Ortswerten entsprechen. Es wird angenommen, dass die Punkte gespeichert worden sind (z. B. in eine Datei geschrieben worden sind), so dass die Ausführungsformen der Erfindung die Punkte in Form einer Datei lesen. In alternati ven Ausführungsformen kann ein Anwender die Punkte eingeben, wenn der Index für diese Punkte angebracht wird.In a particular form of an embodiment, which is described below with reference to the 4 - 11 is represented, the points are 2-dimensional coordinates in x, y space. If the entities to be indexed are acceleration values defined by a corresponding set of time and velocity values, the time and velocity values are mapped directly to the space of the x, y coordinates such that (t1, v1), (t2, v2), ..., (tn, vn) are coordinates of points corresponding to the acceleration values. If the entities to be indexed are place values defined by a corresponding set of latitude and longitude values, the latitude and longitude values become direct are mapped onto a space of x, y coordinates such that (lat_1, long_1), ..., (lat_n, long_n) are the coordinates of points corresponding to the location values. It is assumed that the points have been stored (eg written to a file) so that the embodiments of the invention read the points in the form of a file. In alternative embodiments, a user may enter the points when the index is applied to these points.

Außerdem sind in der im Folgenden dargestellten Ausführungsform die Bereiche Quadrate, die in der folgenden Beschreibung als "Viereck" und "Unterviereck" bezeichnet werden, wobei jedes Viereck der Reihe nach in vier Untervierecke zerteilt wird. Jedes Unterviereck wird nach dem Vorhandensein von Punkten untersucht. Jene ohne Punkte werden verworfen, was ein äquivalenter Prozess zum Verwerfen des Bereichs R2 ist, der oben unter Bezugnahme auf die 2 und 3 beschrieben worden ist, wobei jedes neue Unterviereck, das Punkte enthält, um den kleinsten Bereich "schrumpfverpackt" wird, der in diesem Unterviereck Punkte enthält. (Die Ausführungsform analysiert die Bereiche in Übereinstimmung mit Quadraten, es könnten aber viele andere Formen verwendet werden, um die "Schrumpfverpackung" um die Punkte auszuführen.) Jedes Unterviereck wird dann abermals in vier Untervierecke unterteilt, wobei leere Untervierecke abermals verworfen werden und jedes verbleibende Unterviereck um seinen kleinsten Bereich, der Punkte enthält, "schrumpfverpackt" wird. Schließlich ist jedes verbleibende Unterviereck auf einen einzigen Punkt "schrumpfverpackt", wobei seine Koordinaten jene des betroffenen Punkts sind. Sobald das Viereck und alle Untervierecke, einschließlich sowohl der dazwischenliegenden Untervierecke, die nicht verworfen worden sind, als auch der Untervierecke, die mit einzelnen Punkten zusammenfallen, identifiziert worden sind, wird ein Index für die Punkte, der das Viereck und die Untervierecke umfasst, die für jeden relevant sind, erzeugt. Dies ist nach der Erörterung der 510 ausführlich beschrieben.In addition, in the following embodiment, the areas are squares, which will be referred to as "square" and "sub-quad" in the following description, each square being divided into four sub-quadrants in order. Each sub-quad is examined for the presence of points. Those without dots are discarded, which is an equivalent process for discarding the area R2 described above with reference to FIGS 2 and 3 has been described, with each new sub-quad, containing points, being "shrink-wrapped" around the smallest area containing dots in that sub-quad. (The embodiment analyzes the areas in accordance with squares, but many other shapes could be used to perform the "shrink wrap" around the points.) Each sub-quad is then subdivided into four sub-quads, with empty sub-quads discarded again and every one remaining Sub-quad around its smallest area containing dots is "shrink wrapped". Finally, any remaining sub-quad is "shrink-wrapped" to a single point, with its coordinates being that of the point of interest. Once the quad and all sub-quads, including both the intervening sub-quads that have not been discarded and the sub-quads that coincide with individual points, have been identified, an index for the points that includes the quad and sub-quads will be identified are relevant for everyone. This is after the discussion of 5 - 10 described in detail.

Im Folgenden sind die Schritte S4.1 bis S4.9 der Reihe nach in dem Ablaufplan nach den 4a und 4b gezeigt und durch die Operationen mit den gleichen Bezugszeichen, wie sie in den 511 gezeigt sind, veranschaulicht.Hereinafter, steps S4.1 to S4.9 are sequentially included in the flowchart of FIGS 4a and 4b shown and through the operations with the same reference numerals as used in the 5 - 11 are shown illustrated.

55

  • • Schritt S4.1 Lese die x, y-Koordinaten aller zu indexierender Punkte ein (wie oben dargelegt worden ist, können die Punkte von irgendeiner Speicherstelle, wie z. B. einer Datei, oder direkt von einem Anwender gelesen werden);• Step S4.1 Read in the x, y coordinates of all points to be indexed (As stated above, the points of any Storage location, such. A file, or read directly by a user become);
  • • Schritt S4.2 Erstelle einen Begrenzungsrahmen für alle Punkte, identifiziere und führe die "Schrumpfverpackung" um die Koordinaten der äußersten Punkte aus (der Begrenzungsrahmen ist durch die Differenz zwischen den Koordinaten der äußersten Punkte sowohl in der x- als auch der y-Dimension gegeben: dx bzw. dy). Der Begrenzungsrahmen ist das äußerste Viereck 501;• Step S4.2 Create a bounding box for all points, identify and perform the "shrink wrapping" around the coordinates of the outermost points (the bounding box is the difference between the coordinates of the outermost points in both the x and y dimensions given: dx or dy). The bounding box is the outermost square 501 ;
  • • Schritt S4.3 u. Schritt 4.4 Sichere die Ausmaße des Vierecks 501 – d. h. dx, dy – und die Koordinaten der Punkte in ihm;• Step S4.3 u. Step 4.4 Secure the dimensions of the quadrilateral 501 - ie dx, dy - and the coordinates of the points in it;
  • • Schritt S4.5 Prüfe, ob das äußerste Viereck 501 eine positive Größe besitzt (d. h., sind dy, dy des Vierecks 501 gleich null?). In dem in 5 gezeigten Beispiel gibt es ein äußerstes Viereck 501, weil sich in dem Viereck mehrere Punkte befinden, sind dx, dy von null verschieden, wobei folglich das Viereck 501 eine positive Größe besitzt;• Step S4.5 Check if the outermost square 501 has a positive size (ie, dy, dy of the quadrilateral 501 equals zero?). In the in 5 example shown there is an extreme quadrangle 501 because there are several points in the quadrilateral, dx, dy are different from zero, hence the quadrilateral 501 has a positive size;
  • • Schritt S4.6 Zerteile das äußerste Viereck 501 in vier Untervierecke 503a, 503b, 503c, 503d;• Step S4.6 Divide the outermost square 501 in four sub-quads 503a . 503b . 503c . 503d ;
  • • Schritt S4.6.1 Etikettiere jeden Punkt mit seinem relevanten Unterviereck und zeichne die Anzahl der Punkte in jedem Unterviereck auf;• Step S4.6.1 Label each point with its relevant sub-quad and record the number of dots in each sub-quad;
  • • Schritt S4.7 Prüfe beginnend mit dem Unterviereck 0 (503a), ob es irgendwelche Punkte im Unterviereck 503a gibt.• Step S4.7 Check starting with the sub-quad 0 ( 503a ), if there are any points in the sub-quad 503a gives.

Wenn es Punkte gibt, gebe die Punkte in diesem Unterviereck 0 (503a) in den Schritt S4.1 ein und laufe für das Unterviereck 0 (503a) weiter durch die Schritte Schritt S4.1, wie im Folgenden unter Bezugnahme auf 6 beschrieben ist.If there are points, give the points in this sub-quad 0 ( 503a ) in step S4.1 and run for the sub-quad 0 ( 503a ) continue through the steps step S4.1, as described below with reference to 6 is described.

66

  • • Schritt S4.1 Lese die x, y-Koordinaten der Punkte ein, die dem Unterviereck 503a entsprechen;• Step S4.1 Read in the x, y coordinates of the points that correspond to the sub-quad 503a correspond;
  • • Schritt S4.2 Erstelle einen Begrenzungsrahmen für alle Punkte in 503a, erzeuge ein "schrumpfverpacktes" Unterviereck 0 601. Dies veranschaulicht das oben beschriebene Prinzip – die Ausführungsform identifiziert einen Bereich im Unterviereck 0, in dem es keine Punkte gibt, wobei dieser Bereich dann verworfen wird;• Step S4.2 Create a bounding box for all points in 503a , create a "shrink-wrapped" sub-quad 0 601 , This illustrates the principle described above - the embodiment identifies an area in sub-quad 0 in which there are no points, this area is then discarded;
  • • Schritt S4.3 u. Schritt S4.4 Sichere die Ausmaße des Untervierecks 0 (601) – d. h. dy, dy – und die Koordinaten der Punkte in ihm;• Step S4.3 u. Step S4.4 Save the dimensions of sub-quad 0 ( 601 ) - ie dy, dy - and the coordinates of the points in it;
  • • Schritt S4.5 Prüfe, ob das Unterviereck 601 eine positive Größe besitzt? (Das heißt sind dx, dy des Vierecks 601 gleich null?) Wie in 6 zu sehen ist, befinden sich im Viereck 601 mehrere Punkte, sind dx, dy für das Viereck 601 von null verschieden und besitzt folglich das Unterviereck 601 eine positive Größe;• Step S4.5 Check if the sub-quad 601 has a positive size? (That is, dx, dy of the quadrilateral 601 equal to zero?) As in 6 can be seen, are in the square 601 several points are dx, dy for the quadrilateral 601 different from zero and thus has the sub-quad 601 a positive size;
  • • Schritt S4.6 Zerteile das Unterviereck 0 601 in 4 Untervierecke; 0,0 (603a), 0,1 (603b), 0,2 (603c), 0,3 (603d);• Step S4.6 Divide the sub-quad 0 601 in 4 sub-quads; 0.0 ( 603a ), 0.1 ( 603b ), 0.2 ( 603c ), 0.3 ( 603d );
  • • Schritt S4.6.1 Etikettiere jeden Punkt mit seinem relevanten Unterviereck und zeichne die Anzahl der Punkte in jedem Unterviereck auf;• Step S4.6.1 Label each point with its relevant sub-quad and record the number of dots in each sub-quad;
  • • Schritt S4.7 Prüfe beginnend mit dem Unterviereck 0,0 (603a), ob es im Unterviereck 0,0 (603a) irgendwelche Punkte gibt: Da es Punkte gibt, gebe diese Punkte in diesem Unterviereck 0,0 (603a) in den Schritt S4.1 ein und laufe für das Unterviereck 0,0 (603a) weiter durch die Schritte Schritt S4.1, wie im Folgenden unter Bezugnahme auf 7 beschrieben ist.• Step S4.7 Check starting with the sub-quad 0,0 ( 603a ), whether in the sub-quadrant 0.0 ( 603a ) there are any points: Since there are points, these points in this sub-quad give 0.0 ( 603a ) in step S4.1 and run for the sub-quad 0,0 ( 603a ) continue through the steps step S4.1, as described below with reference to 7 is described.

77

  • • Schritt S4.1 Lese die x, y-Koordinaten der Punkte ein, die dem Unterviereck 603a entsprechen;• Step S4.1 Read in the x, y coordinates of the points that correspond to the sub-quad 603a correspond;
  • • Schritt S4.2 Erstelle einen Begrenzungsrahmen für alle Punkte im Unterviereck 0,0 (603a), erzeuge ein "schrumpfverpacktes" Unterviereck 0,0 701. Wie für das Unterviereck 0 wird der Bereich ohne Punkte im Unterviereck 603a ignoriert;• Step S4.2 Create a bounding box for all points in the sub-quad 0,0 ( 603a ), create a "shrink-wrapped" sub-quad 0,0 701 , As for the sub-quad 0, the area without dots in the sub-quad becomes 603a ignored;
  • • Schritt S4.3 u. Schritt S4.4 Sichere die Ausmaße des Untervierecks 0,0 (701) – d. h. dy, dy – und die Koordinaten der Punkte in ihm;• Step S4.3 u. Step S4.4 Save the dimensions of the sub-quad 0,0 ( 701 ) - ie dy, dy - and the coordinates of the points in it;
  • • Schritt S4.5 Prüfe, ob das Unterviereck 701 eine positive Größe besitzt? (Das heißt sind dx, dy des Vierecks 701 gleich null?) Wie in 7 zu sehen ist, befinden sich im Viereck 701 mehrere Punkte, sind dx, dy für das Viereck 701 von null verschieden und besitzt dieses Unterviereck 701 eine positive Größe;• Step S4.5 Check if the sub-quad 701 has a positive size? (That is, dx, dy of the quadrilateral 701 equal to zero?) As in 7 can be seen, are in the square 701 several points are dx, dy for the quadrilateral 701 non-zero and has this sub-quad 701 a positive size;
  • • Schritt S4.6 Zerteile das Unterviereck 0,0 701 in 4 Untervierecke; 0,0,0 (703a), 0,0,1 (703b), 0,0,2 (703c), 0,0,3 (703d);• Step S4.6 Divide the sub quad 0,0 701 in 4 sub-quads; 0,0,0 ( 703a ), 0,0,1 ( 703b ), 0,0,2 ( 703c ), 0,0,3 ( 703d );
  • • Schritt S4.6.1 Etikettiere jeden Punkt mit seinem relevanten Unterviereck und zeichne die Anzahl der Punkte in jedem Unterviereck auf;• Step S4.6.1 Label each point with its relevant sub-quad and record the number of dots in each sub-quad;
  • • Schritt S4.7 Prüfe beginnend mit dem Unterviereck 0,0,0 (703a), ob es im Unterviereck 0,0,0 (703a) irgendwelche Punkte gibt: es gibt einen Punkt im Unterviereck 0,0,0 (703a), gebe daher diese Punkte in diesem Unterviereck 0,0,0 in den Schritt S4.1 ein und laufe für das Unterviereck 0,0,0 (703a) weiter durch die Schritte Schritt S4.1, wie im Folgenden unter weiterer Bezugnahme auf 7 beschrieben ist.• Step S4.7 Check starting with the sub-quad 0,0,0 ( 703a ), whether it is in the sub-quad 0,0,0 ( 703a ) there are any points: there is a point in the sub-quad 0,0,0 ( 703a Therefore, enter these points in this sub-quad 0,0,0 in step S4.1 and run for the sub-quad 0,0 ( 703a ) continue through the steps step S4.1, as described below with further reference to 7 is described.

Außerdem in 7 Also in 7

  • • Schritt S4.1 Lese die x, y-Koordinaten der Punkte ein, die dem Unterviereck 703a entsprechen;• Step S4.1 Read in the x, y coordinates of the points that correspond to the sub-quad 703a correspond;
  • • Schritt S4.2 Erstelle einen Begrenzungsrahmen für alle Punkte im Unterviereck 0,0,0 (703a), erzeuge ein "schrumpfverpacktes" Unterviereck 0,0,0: hier um einen einzigen Punkt;• Step S4.2 Create a bounding box for all points in the sub-quad 0,0,0 ( 703a ), create a "shrink-wrapped" sub-quad 0,0,0: here around a single point;
  • • Schritt S4.3 u. Schritt S4.4 Sichere die Ausmaße des "schrumpfverpackten" Untervierecks 0,0,0, die nun auf einen einzigen Punkt herunter sind, so dass dy, dy = 0 gilt, und sichere die Koordinaten des Punkts;• Step S4.3 u. Step S4.4 Secure the dimensions of the "shrink-wrapped" sub-quad 0,0,0, which now points to one single point down so that dy, dy = 0, and sure the coordinates of the point;
  • • Schritt S4.5 Prüfe, ob das Unterviereck eine positive Größe besitzt? (Das heißt sind dx, dy des Punkts gleich null?) In der Tat sind dx und dy beide null, weil das Unterviereck 703a in einen einzigen Punkt kollabiert ist. Daher zum Schritt S4.8;• Step S4.5 Check if the sub-quad has a positive size? (That is, dx, dy of the point equals zero?) In fact, dx and dy are both zero because the sub-quad 703a collapsed into a single point. Therefore, to step S4.8;
  • • Schritt S4.8 Inkrementiere den Unterviereck-Zähler i auf dieser Ebene (0,0,i), gebe die Punkte (Schritt S4.7) im Unterviereck 0,0,1 (703b) in den Schritt S4.1 ein und laufe für das Untervier eck 0,0,1 (703b) weiter durch die Schritte Schritt S4.1, wie im Folgenden unter Bezugnahme auf 8 beschrieben ist.Step S4.8 Increment the sub-quad counter i at this level (0,0, i), give the points (step S4.7) in the sub-quad 0,0,1 ( 703b ) in step S4.1 and run for the lower quadrant 0,0,1 ( 703b ) continue through the steps step S4.1, as described below with reference to 8th is described.

88th

  • • Schritt S4.1 Lese die x, y-Koordinaten der Punkte ein, die dem Unterviereck 703b entsprechen;• Step S4.1 Read in the x, y coordinates of the points that correspond to the sub-quad 703b correspond;
  • • Schritt S4.2 Erstelle einen Begrenzungsrahmen für alle Punkte im Unterviereck 0,0,1 (703b), erzeuge ein "schrumpfverpacktes" Unterviereck 0,0,1 801. Wie für das Unterviereck 0 wird der Bereich ohne Punkte im Unterviereck 703b ignoriert;• Step S4.2 Create a bounding box for all points in the sub-quad 0,0,1 ( 703b ), create a "shrink-wrapped" sub-quad 0,0,1 801 , As for the sub-quad 0, the area without dots in the sub-quad becomes 703b ignored;
  • • Schritt S4.3 u. Schritt S4.4 Sichere die Ausmaße des Untervierecks 801 – d. h. dy, dy – und die Koordinaten der Punkte in ihm;• Step S4.3 u. Step S4.4 Save the dimensions of the sub-quad 801 - ie dy, dy - and the coordinates of the points in it;
  • • Schritt S4.5 Prüfe, ob das Unterviereck 801 eine positive Größe besitzt? (Das heißt sind dx, dy des Vierecks 703a gleich null?) In dem Unterviereck 801 befinden sich mehrere Punkte, sind dx, dy für das Viereck 801 von null verschieden und besitzt folglich dieses Unterviereck 801 eine positive Größe;• Step S4.5 Check if the sub-quad 801 has a positive size? (That is, dx, dy of the quadrilateral 703a zero?) in the sub-quad 801 if there are several points, dx, dy are for the quadrilateral 801 different from zero and thus has this sub-quad 801 a positive size;
  • • Schritt S4.6 Zerteile das Unterviereck 0,0,1 801 in 4 Untervierecke; 0,0,1,0 (803a), 0,0,1,1 (803b), 0,0,1,2 (803c), 0,0,1,3 (803d);• Step S4.6 Divide the sub-quad 0,0,1 801 in 4 sub-quads; 0,0,1,0 ( 803a ), 0,0,1,1 ( 803b ), 0,0,1,2 ( 803c ), 0,0,1,3 ( 803d );
  • • Schritt S4.6.1 Etikettiere jeden Punkt mit seinem relevanten Unterviereck und zeichne die Anzahl der Punkte in jedem Unterviereck auf;• Step S4.6.1 Tag each point with its relevant sub-quad and draw the number of Points in each sub-quad on;
  • • Schritt S4.7 Prüfe beginnend mit dem Unterviereck 0,0,1,0 (803a), ob es im Unterviereck 0,0,1,0 (803a) irgendwelche Punkte gibt: Es gibt keine Punkte im Unterviereck 0,0,1,0 (803a);• Step S4.7 Check starting with the sub-quad 0,0,1,0 ( 803a ), whether it is in the sub-quadrant 0,0,1,0 ( 803a ) There are no points in the sub-quadrant 0,0,1,0 ( 803a );
  • • Schritt S4.8 Inkrementiere den Unterviereck-Zähler i auf dieser Ebene (0,0,1,i) und gebe die Punkte (Schritt S4.7) im Unterviereck 0,0,1,1 (803b) in den Schritt S4.1 ein und laufe für das Un terviereck 0,0,1,1 (803b) weiter durch die Schritte Schritt S4.1, wie im Folgenden unter Bezugnahme auf 9 beschrieben ist.Step S4.8 Increment the sub-quad counter i at this level (0,0,1, i) and give the points (step S4.7) in the sub-quad 0,0,1,1 ( 803b ) enter step S4.1 and run for the sub-square 0,0,1,1 ( 803b ) continue through the steps step S4.1, as described below with reference to 9 is described.

99

  • • Schritt S4.1 Lese die x, y-Koordinaten der Punkte ein, die dem Unterviereck 803b entsprechen;• Step S4.1 Read in the x, y coordinates of the points that correspond to the sub-quad 803b correspond;
  • • Schritt S4.2 Erstelle einen Begrenzungsrahmen für alle Punkte im Unterviereck 0,0,1,1 (803b), erzeuge ein "schrumpfverpacktes" Unterviereck 0,0,1,1, das ein einziger Punkt ist;• Step S4.2 Create a bounding box for all points in the sub-quad 0,0,1,1 ( 803b ), create a "shrink-wrapped" sub-quad 0,0,1,1, which is a single point;
  • • Schritt S4.3 u. Schritt S4.4 Sichere die Ausmaße des einzigen Punkts – d. h. dy, dy – und die Koordinaten des Punkts;• Step S4.3 u. Step S4.4 Ensure the dimensions of the single point - d. H. dy, dy - and the coordinates of the point;
  • • Schritt S4.5 Prüfe, ob der Punkt eine positive Größe besitzt? (Das heißt sind dx, dy des Punkts gleich null?) In der Tat sind dx und dy beide null, weil das Unterviereck 803b in einen einzigen Punkt kollabiert ist. Daher zum Schritt 4.8;• Step S4.5 Check if the point has a positive size? (That is, dx, dy of the point equals zero?) In fact, dx and dy are both zero because the sub-quad 803b collapsed into a single point. Therefore to step 4.8;
  • • Schritt S4.8 Inkrementiere den Unterviereck-Zähler i auf dieser Ebene (0,0,1,i) und gebe die Punkte im Unterviereck 0,0,1,2 (803b) in den Schritt S4.1 ein und laufe für das Unterviereck 0,0,1,2 (803b) weiter durch die Schritte Schritt S4.1, wie im Folgenden unter weiterer Bezugnahme auf 9 beschrieben ist.Step S4.8 Increment the sub-quad counter i at this level (0,0,1, i) and give the points in the sub-quad 0,0,1,2 ( 803b ) enter step S4.1 and run for the sub-quad 0,0,2 ( 803b ) continue through the steps step S4.1, as described below with further reference to 9 is described.

Außerdem in 9 Also in 9

  • • Schritt S4.1 Lese die x, y-Koordinaten der Punkte ein, die dem Unterviereck 803c entsprechen;• Step S4.1 Read in the x, y coordinates of the points that correspond to the sub-quad 803c correspond;
  • • Schritt S4.2 Erstelle einen Begrenzungsrahmen für alle Punkte im Unterviereck 0,0,1,2 (803c), erzeuge ein "schrumpfverpacktes" Unterviereck 0,0,1,2, das ein einziger Punkt ist;• Step S4.2 Create a bounding box for all points in the sub-quad 0,0,1,2 ( 803c ), create a "shrink-wrapped" sub-quad 0,0,1,2, which is a single point;
  • • Schritt S4.3 u. Schritt S4.4 Sichere die Ausmaße des einzigen Punkts – d. h. dy, dy – und die Koordinaten des Punkts;• Step S4.3 u. Step S4.4 Ensure the dimensions of the single point - d. H. dy, dy - and the coordinates of the point;
  • • Schritt S4.5 Prüfe, ob der Punkt eine positive Größe besitzt? (Das heißt sind dx, dy des Punkts gleich null?) In der Tat sind dx und dy beide null, weil das Unterviereck 803c in einen einzigen Punkt kollabiert ist. Daher zum Schritt S4.8;• Step S4.5 Check if the point has a positive size? (That is, dx, dy of the point equals zero?) In fact, dx and dy are both zero because the sub-quad 803c collapsed into a single point. Therefore, to step S4.8;
  • • Schritt S4.8 Inkrementiere den Unterviereck-Zähler i auf dieser Ebene (0,0,1,i). Es gibt keine Punkte (Schritt S4.7) im Unterviereck 0,0,1,3 (803b), daher zurück zum Schritt S4.8: inkrementiere den Unterviereck-Zähler i auf dieser Ebene (0,0,1,i): aber i > 3, daher• Step S4.8 Increment the sub-quad counter i at this level (0,0,1, i). There are no points (step S4.7) in the sub-quad 0,0,1,3 ( 803b Therefore, back to step S4.8: increment the sub-quad counter i at this level (0,0,1, i): but i> 3, therefore
  • • Schritt S4.9 Kehre zur Unterviereck-Ebene 0,0,i zurück und inkrementiere den Unterviereck-Zähler von 1 zu 2 und betrachte folglich das Unterviereck 0,0,2 (703c): Es gibt einen Punkt im Unterviereck 0,0,2 (703c), daher gebe die Punkte (Schritt S4.7) im Unterviereck 0,0,2 (703c) in den Schritt S4.1 ein und laufe für das Unterviereck 0,0,2 (703c) weiter durch die Schritte Schritt S4.1, wie im Folgenden unter Bezugnahme auf 10 beschrieben ist.Step S4.9 Return to the sub-quad level 0,0, i and increment the sub-quad counter from 1 to 2 and thus consider the sub-quad 0,0,2 ( 703c ): There is one point in the sub-quad 0,0,2 ( 703c ), therefore the points (step S4.7) in the sub-quadrant give 0,0,2 ( 703c ) in step S4.1 and run for the sub-quad 0,0,2 ( 703c ) continue through the steps step S4.1, as described below with reference to 10 is described.

1010

  • • Schritt S4.1 Lese die x, y-Koordinaten der Punkte ein, die dem Unterviereck 703c entsprechen;• Step S4.1 Read in the x, y coordinates of the points that correspond to the sub-quad 703c correspond;
  • • Schritt S4.2 Erstelle einen Begrenzungsrahmen für alle Punkte im Unterviereck 0,0,2 (703c), erzeuge ein "schrumpfverpacktes" Unterviereck 0,0,2, das ein einziger Punkt ist;• Step S4.2 Create a bounding box for all points in the sub-quad 0,0,2 ( 703c ), create a "shrink-wrapped" sub-quad 0,0,2, which is a single point;
  • • Schritt S4.3 u. Schritt S4.4 Sichere die Ausmaße des einzigen Punkts – d. h. dy, dy – und die Koordinaten des Punkts;• Step S4.3 u. Step S4.4 Ensure the dimensions of the single point - d. H. dy, dy - and the coordinates of the point;
  • • Schritt S4.5 Prüfe, ob der Punkt eine positive Größe besitzt? (Das heißt sind dx, dy des Punkts gleich null?) In der Tat sind dx und dy beide null, weil das Unterviereck 703c in einen einzigen Punkt kollabiert ist. Daher zum Schritt 4.8;• Step S4.5 Check if the point has a positive size? (That is, dx, dy of the point equals zero?) In fact, dx and dy are both zero because the sub-quad 703c collapsed into a single point. Therefore to step 4.8;
  • • Schritt S4.8 Inkrementiere den Unterviereck-Zähler i auf dieser Ebene (0,0,i). Es gibt keine Punkte (Schritt S4.7) im Unterviereck 0,0,3 (703d), daher zurück zum Schritt S4.8: inkrementiere den Unterviereck-Zähler i auf dieser Ebene (0,0,i): aber i > 3, daher• Step S4.8 Increment the sub-quad counter i at this level (0,0, i). There are no points (step S4.7) in the sub-quad 0,0,3 ( 703d Therefore, back to step S4.8: increment the sub-quad counter i at this level (0,0, i): but i> 3, therefore
  • • Schritt S4.9 Kehre zur Unterviereck-Ebene 0,i zurück und inkrementiere den Unterviereck-Zähler i von 0 zu 1 und betrachte folglich das Unterviereck 0,1 (603b), wie unter Bezugnahme auf 11 beschrieben ist.Step S4.9 Return to the sub-quad level 0, i and increment the sub-quad counter i from 0 to 1 and thus consider the sub-quad 0,1 ( 603b ), as with reference to 11 is described.

1111

Der in den 810 beschriebene Prozess wird wiederholt, aber für das Unterviereck 0,1, wobei, sobald alle Punkte innerhalb des Untervierecks O,n Untervierecken zugeordnet worden sind, der Prozess zum Unterviereck 1 geht.The in the 8th - 10 The process described is repeated, but for the sub-quadrant 0.1, where once all points within the sub-quad O, n sub-quads have been assigned, the process goes to sub-quad 1.

Wie früher beschrieben worden ist, ist das Anbringen eines Indexes an diesen Punkten dann eine Sache des Sicherns der Unterviereck-Informationen. Dies kann in vielen Arten bewerkstelligt werden, aber vorzugsweise umfasst der Index die in den Schritten S4.3 und S4.4 gesicherten Unterviereck-Informationen, nämlich die Ausmaße des Untervierecks (in den x, y-Koordinaten) und die Koordinaten der in dieses fallenden Punkte und eine Verknüpfung zu den 4 Unterquadranten in dem Unterviereck. Folglich umfasst der Index im Wesentlichen eine Hierarchie von Unterviereck-Strukturen, wobei die Hierarchie durch die Beziehung zwischen jedem aufeinander folgenden Unterviereck und seinen 4 Untervierecken gegeben ist. Die Untervierecke werden in Übereinstimmung mit der Unterviereck-Hierarchie vom größten Unterviereck (hier 501 in 5) hinunter zum kleinsten Unterviereck in den Index geschrieben.As described earlier, attaching an index at these points is then a matter of backing up the sub-quad information. This can be done in many ways, but preferably the index includes the sub-quad information saved in steps S4.3 and S4.4, namely the dimensions of the sub-quad (in the x, y coordinates) and the coordinates of those falling into it Points and a link to the 4 subquadrants in the sub-quad. Thus, the index essentially comprises a hierarchy of sub-quad structures, the hierarchy being given by the relationship between each successive sub-quad and its 4 sub-quads. The sub-quads are ordered in accordance with the sub-quad hierarchy of the largest sub-quad (here 501 in 5 ) written down to the smallest sub-quad in the index.

Zusätzlich zum Sichern der Unterviereck-Strukturen in der Datenbank DB1 werden die Punkte in einer durch das Inverse der Unterviereck-Hierarchie gegebenen Reihenfolge in die Datenbank (entweder in dieselbe Datenbank oder eine andere Datenbank), z. B. in eine Datei, geschrieben. Folglich werden in diesem Fall die Punkte in den Untervierecken am unteren Ende der Hierarchie zuerst in die Datei geschrieben. Da die Punkte in eine Datei geschrieben werden, wird eine laufende Rechnung der Gesamtzahl der Punkte (Aufzeichnung der Anzahl der Punkte) aufrechterhalten, so dass ein Zähler, der momentane Anzahl der Punkte, der bisher begegnet worden ist, + 1 repräsentiert, in die entsprechende Unterviereck-Struktur geschrieben wird, wie jeder Punkt in die Datei geschrieben wird. Die Rechnung arbeitet vom kleinsten Unterviereck aufwärts, wobei sie für jedes Unterviereck im Wesentlichen die Position des ersten von allen Punkten in diesem Unterviereck im Vergleich zu allen indexierten Punkten (Possub_quad) angibt, z. B. unter Bezugnahme auf 12. Unterviereck Punkte im Unterviereck (N) Nummer des ersten in das Unterviereck geschriebenen Punkts (Possub_quad) hervorgehobener Punkt in der Punktedatei 0,0,1,1 n (N = 1) 1 n, m, p, o, ... 0,0,1,2 m (N = 1) 2 n, m, p, o, ... 0,0,0 p (N = 1) 3 n, m, p, o, ... 0,0,1 n, m (N = 2) 1 n, m, p, o, ... 0,0,2 o (N = 1) 4 n, m, p, o, ... 0,0 n, m, p, o (N = 4) 1 n, m, p, o, ... 0,1,c,d einige Punkte 5 n, m, p, o, nächster ... In addition to securing the sub-quad structures in database DB1, the points are placed in the database (either in the same database or another database) in an order given by the inverse of the sub-quad hierarchy, e.g. In a file. Thus, in this case, the dots in the sub-quads at the bottom of the hierarchy are first written to the file. Since the points are written to a file, a running calculation of the total number of points (recording of the number of points) is maintained so that a counter representing the current number of points that has been encountered so far, + 1, into the corresponding one Subarray structure is written as each point is written to the file. The calculation operates from the smallest sub-quadrilateral, essentially indicating, for each sub-quadrilateral, the position of the first of all points in that sub-quad, compared to all indexed points (Pos sub_quad ), e.g. B. with reference to 12 , sub-quad Points in the sub-quad (N) Number of the first point written in the sub-quad (Pos sub_quad ) highlighted point in the point file 0,0,1,1 n (N = 1) 1 n, m, p, o, ... 0,0,1,2 m (N = 1) 2 n, m, p, o, ... 0,0,0 p (N = 1) 3 n, m, p, o, ... 0,0,1 n, m (N = 2) 1 n, m, p, o, ... 0,0,2 o (N = 1) 4 n, m, p, o, ... 0.0 n, m, p, o (N = 4) 1 n, m, p, o, ... 0.1, c, d some points 5 n, m, p, o, next ...

Folglich lautet die Punktedatei für das Unterviereck 501 (das äußerste Viereck, siehe 5) n, m, p, o, ... (beginnend vom kleinsten Unterviereck 0,0,1,1). Da sowohl die Anzahl der Punkte (N) als auch die Nummer in der laufenden Rechnung der Punkte (Possub_quad), die dem ersten Punkt in einem Unterviereck entspricht, in das Unterviereck geschrieben sind, können dann, sobald ein Unterviereck von Interesse identifiziert worden ist, die Punkte, die in dem identifizierten Unterviereck liegen, extrahiert werden, indem in der Punktedatei zu (Possub_quad) gegangen wird und N Punkte von dieser Position extrahiert werden. Dies ist in einer Ausführungsform demonstriert, die die Wiedergewinnung von Punkten demonstriert.Thus, the dot file for the sub-quad is 501 (the outermost quadrangle, see 5 ) n, m, p, o, ... (starting from the smallest sub-quad 0,0,1,1). Since both the number of points (N) and the number in the current calculation of the points (Pos sub_quad ) corresponding to the first point in a sub-quad are written in the sub-quad, then once a sub-quad of interest has been identified , the points lying in the identified sub-quad are extracted by going to (Pos sub_quad ) in the point file and extracting N points from that position. This is demonstrated in an embodiment demonstrating the recovery of points.

Das Wiedergewinnen von InformationenRecovering information

Die zweite Erfindung bezieht sich auf ein Verfahren zum Wiedergewinnen von Entitäten mittels eines Indexes von Elementen, der mit den Entitäten in Beziehung steht, wenn die Beziehung zwischen jedem Element und den anderen Elementen im Index und die Beziehung zwischen den Elementen im Index und den indexierten Entitäten bekannt sind. Das Verfahren ist leicht auf einen in Übereinstimmung mit dem oben dargestellten Verfahren zum Indexieren erzeugten Index anwendbar, weil der Index eine Hierarchie von Unterviereck-Strukturen umfasst und die Hierarchie (durch die Viereck- > Unterviereck-Beziehungen) gut definiert ist. Es sollte jedoch daran gedacht werden, dass das Verfahren in gleicher Weise auf irgendeinen Indextyp anwendbar ist, der diese Bedingungen erfüllt.The The second invention relates to a method for recovering of entities by means of an index of elements related to the entities stands if the relationship between each element and the other Elements in the index and the relationship between the elements in the index and the indexed entities are known. The process is easy on one in accordance index generated by the method of indexing outlined above applicable because the index is a hierarchy of sub-quadrilateral structures includes and the hierarchy (through the quadrilateral> quadrilateral relations) well defined. However, it should be remembered that that Method is equally applicable to any type of index, that meets these conditions.

In der folgenden Beschreibung wird eine Ausführungsform des Wiedergewinnungsprozesses beschrieben, bei der ein Index für die Punkte mit einer Abfrage, die eine "Region von Interesse" spezifiziert, abgefragt wird. Es wird angenommen, dass:

  • • die Elemente im Index mehrere Bereiche in einem vorgegebenen Bereich sind,
  • • die indexierten Entitäten Punkte sind, die durch zwei Dimensionen definiert sind;
  • • es eine vorgegebene Beziehung zwischen den Bereichen gibt; und
  • • es eine vorgegebene Beziehung zwischen den Bereichen und den Punkten gibt.
In the following description, an embodiment of the retrieval process will be described in which an index is queried for the points with a query specifying a "region of interest". It is assumed that:
  • • the elements in the index are several areas in a given area,
  • • the indexed entities are points defined by two dimensions;
  • • there is a given relationship between the areas; and
  • • There is a given relationship between the areas and the points.

Im Wesentlichen identifiziert die Ausführungsform, welcher der Bereiche

  • a) mit der Region von Interesse überlappt und
  • b) in diesen Bereichen Punkte enthält, die mit der Region von Interesse überlappen.
In essence, the embodiment identifies which of the areas
  • a) overlapped with the region of interest and
  • b) contains points in these areas that overlap with the region of interest.

Die vorgegebene Beziehung zwischen den Bereichen und den Punkten wird dann verwendet, um die Punkte zu extrahieren, die in die identifizierten Bereiche fallen.The given relation between the areas and the points then used to extract the points that were identified in the Areas fall.

Eine Region von Interesse bezieht sich auf eine Region in der zweidimensionalen Darstellung der Entität. Folglich würde für die oben beschriebene Zeitspanne (die Schließ- und Öffnungszeiten von Geschäfts- und Freizeiteinrichtungen) eine Region von Interesse eine Zeitdauer von Interesse sein – wie z. B. "die Geschäfte öffnen zwischen 10.00 und 13.00 Uhr". Die Region von Interesse wird dann durch eine Region (vorzugsweise ein Quadrat) definiert sein, das innerhalb im Voraus spezifizierter Punkte begrenzt ist. In den 33a–e könnte die Region von Interesse irgendeine der folgenden sein:
(0, 10), (13, 24) = die Einrichtungen, die irgendwann zwischen 10.00 u. 13.00 offen sind (33a)
(0, 13), (10, 24) = die Einrichtungen, die durchgehend zwischen 10.00 u. 13.00 offen sind (33b)
(0, 10), (10, 13) = die Einrichtungen, die vor 10.00 offen sind, aber vor 13.00 schließen (33c)
(10, 13), (13, 24) = die Einrichtungen, die nach 10.00 öffnen, aber nach 13.00 schließen (33d)
(10, 10), (13, 13) = die Einrichtungen, die nach 10.00 öffnen u. vor 13.00 schließen (33e)
A region of interest refers to a region in the entity's two-dimensional representation. Thus, for the time span described above (the closing and opening times of business and leisure facilities), a region of interest would be a period of interest - such B. "the shops open between 10.00 and 13.00 clock". The region of interest will then be defined by a region (preferably a square) bounded within pre-specified points. In the 33a -E the region of interest could be any of the following:
(0, 10), (13, 24) = the facilities, which sometime between 10.00 u. 13.00 are open ( 33a )
(0, 13), (10, 24) = the facilities that run continuously between 10.00 u. 13.00 are open ( 33b )
(0, 10), (10, 13) = the facilities that are open before 10.00 but close before 13.00 ( 33c )
(10, 13), (13, 24) = the facilities that open after 10.00 but close after 13.00 ( 33d )
(10, 10), (13, 13) = the facilities that open after 10.00 u. close before 13.00 ( 33e )

Ähnlich würde für die oben beschriebene Preisklasse eine Region von Interesse eine Preisspanne sein, so dass für eine Wiedergewinnungsanforderung von "allen Elementen, die irgendwo in die Spanne von £50,00 und £80,00 fallen", die Region von Interesse durch eine Region definiert sein könnte, die in den Punkten (0, 50) und (80, 80) begrenzt ist.Similarly, for the above described price range being a region of interest a price range so for a retrieval request of "all the elements that are somewhere in the Range of £ 50.00 and £ 80.00 fall, "the region of interest could be defined by a region defined in the points (0, 50) and (80, 80) is limited.

Für die oben beschriebenen Ortsinformationen würde eine Region von Interesse ein Gebiet von Positionen sein, wie z. B. "alle Elemente, die sich zwischen einer ersten Position ((lat, long)1) und einer zweiten Position ((lat, long)2) befinden".For the location information described above, a region of interest would be an area of locations, such as location. B. "all elements that are between a first position ((lat, long) 1 ) and a second position ((lat, long) 2 )".

Ein Ablaufplan, der die Schritte eines Verfahrens zum Identifizieren von Bereichen zeigt, die mit der Region von Interesse überlappen, wenn sich die Region von Interesse auf Ortsinformationen bezieht, ist in den 13a und 13b gezeigt. Die Schritte sind dann für die in 14 gezeigte Region von Interesse in den 1431 veranschaulicht. In dieser Ausführungsform werden spezifische Beispiele der Bereiche in einer vorgegebenen Region als Vierecke und Untervierecke bezeichnet. Die in 13 gezeigten Verfahrensschritte werden im Folgenden unter Bezugnahme auf jede der 1431 beschrieben.A flowchart showing the steps of a method for identifying areas that overlap with the region of interest when the region of interest is related to location information is disclosed in U.S. Patent Nos. 4,774,866 13a and 13b shown. The steps are then for the in 14 shown region of interest in the 14 - 31 illustrated. In this embodiment, specific examples of the regions in a given region are referred to as quadrangles and sub-quads. In the 13 The method steps shown below are described below with reference to each of 14 - 31 described.

1414

  • • S13.1.1 Lese die x, y-Koordinaten einer Region von Interesse (x1, y1), (x2, y2) ein. Als ein Beispiel könnten diese, falls ein Anwender wünscht, die Kfz-Werkstätten in einem bestimmten Bereich zu lokalisieren, als Breiten-/Längenpaare indexiert sein, die Punkte in einem zweidimensionalen Raum definieren, wobei der geographische Bereich, an dem der Anwender interessiert ist, als eine "Region von Interesse" in dem zweidimensionalen Raum ausgedrückt werden kann;• S13.1.1 Read the x, y coordinates of a region of interest (x1, y1), (x2, y2). As an example could this, if a user wishes the motor vehicle workshops to locate in a specific area, as latitude / longitude pairs be indexed defining points in a two-dimensional space where the geographical area in which the user is interested is as a "region of interest "in can be expressed in two-dimensional space;
  • • S13.1.2 Gewinne die Koordinaten der Punkte und die Größe des Vierecks für das äußerste Viereck wieder und setze (X1_Q, Y1_Q), (X2_Q, Y2_Q) auf die Größe des äußersten Vierecks;• S13.1.2 Win the coordinates of the points and the size of the square for the outermost square again and set (X1_Q, Y1_Q), (X2_Q, Y2_Q) to the size of the outermost one quadrangle;
  • • S13.2 Beurteile, ob die Region von Interesse das Beschneiden erfordert: falls x1 < X1_Q, setze x1 = X1_Q; falls y1 < Y1_Q, setze y1 = Y1_Q; falls x2 > X2_Q, setze x2 = X2_Q; falls y2 > Y2_Q, setze y2 = Y2_Q. Für die in 14 gezeigte Beispielregion von Interesse ist keine dieser Bedingungen erfüllt;• S13.2 Assess if the region of interest requires pruning: if x1 <X1_Q, set x1 = X1_Q; if y1 <Y1_Q, set y1 = Y1_Q; if x2> X2_Q, set x2 = X2_Q; if y2> Y2_Q, set y2 = Y2_Q. For the in 14 Example region of interest shown does not satisfy any of these conditions;
  • • S13.3 Beurteile, ob x1 > x2 oder y1 > y2 gilt. In diesem Fall sind keine Bedingungen erfüllt;• S13.3 Judge if x1> x2 or y1> y2. In this case, no conditions are met;

Die Schritte S13.2 und S13.3 sind nur Beispiele von Bedingungen, die angewendet werden können, um festzustellen, ob das in S13.1.2 wiedergewonnene Unterviereck mit der Region von Interesse überlappt, und ob es, wenn es eine Überlappung gibt, irgendwelche Punkte in der überlappenden Region gibt; es wird in Betracht gezogen, dass alternative Verfahren angewendet werden könnten, um dies festzustellen.

  • • S13.4 Beurteile, ob die Region von Interesse exakt mit dem Viereck überlappt. Nein:
  • • S13.5 Gewinne ein Unterviereck (503a) des aktuellen Vierecks (501) in Übereinstimmung mit S13.1.2 wieder, wie unter Bezugnahme auf 15 beschrieben ist.
Steps S13.2 and S13.3 are just examples of conditions that can be used to determine if the sub-quad recovered in S13.1.2 overlaps with the region of interest, and if there is any overlap, any points in the overlapping region; it is contemplated that alternative methods could be used to determine this.
  • • S13.4 Judge if the region of interest overlaps exactly with the quadrangle. No:
  • • S13.5 Win a sub-quad ( 503a ) of the current quadrilateral ( 501 ) in accordance with S13.1.2 again, as with reference to 15 is described.

1515

  • • S13.1.2 Gewinne die Koordinaten der Punkte und die Größe des Untervierecks aus dem "schrumpfverpackten" Unterviereck 0 601 wieder: setze (X1_Q, Y1_Q), (X2_Q, Y2_Q) auf die Größe des "schrumpfverpackten" Untervierecks 601;• S13.1.2 Get the coordinates of the points and the size of the sub-quad from the "shrink-wrapped" sub-quad 0 601 Again, set (X1_Q, Y1_Q), (X2_Q, Y2_Q) to the size of the "shrink-wrapped" sub-quad 601 ;
  • • S13.2 Beurteile, ob die Region von Interesse das Beschneiden erfordert: falls x1 < X1_Q, setze x1 = X1_Q; falls y1 < Y1_Q, setze y1 = Y1_Q; falls x2 > X2_Q, setze x2 = X2_Q; falls y2 > Y2_Q, setze y2 = Y2_Q. In diesem Fall sind keine dieser Bedingungen erfüllt;• S13.2 Assess whether the region of interest requires pruning: if x1 <X1_Q, set x1 = X1_Q; if y1 <Y1_Q, set y1 = Y1_Q; if x2> X2_Q, set x2 = X2_Q; if y2> Y2_Q, set y2 = Y2_Q. In this case, none of these conditions are met;
  • • S13.3 Beurteile, ob x1 > x2 oder y1 > y2 gilt. In diesem Fall sind keine Bedingungen erfüllt;• S13.3 Judge if x1> x2 or y1> y2. In this case, no conditions are met;
  • • S13.4 Beurteile, ob die Region von Interesse exakt mit dem Unterviereck überlappt. Nein:• S13.4 Judge if the region of interest overlaps exactly with the sub-quad. No:
  • • S13.5 Gewinne ein Unterviereck des aktuellen Untervierecks in Übereinstimmung mit S13.1.2 wieder, wie unter Bezugnahme auf die 16 und 17 beschrieben ist.• S13.5 Recover a sub-quad of the current sub-quad in accordance with S13.1.2 as described with reference to 16 and 17 is described.

16 u. 17 16 u. 17

  • • S13.1.2 Gewinne die Koordinaten der Punkte und die Größe des Untervierecks aus dem "schrumpfverpackten" Unterviereck 0,0 701 wieder: setze (X1_Q, Y1_Q), (X2_Q, Y2_Q) auf die Größe des "schrumpfverpackten" Untervierecks 701;• S13.1.2 Get the coordinates of the points and the size of the sub-quad from the "shrink-wrapped" sub-quad 0,0 701 Again, set (X1_Q, Y1_Q), (X2_Q, Y2_Q) to the size of the "shrink-wrapped" sub-quad 701 ;
  • • S13.2 Beurteile, ob die Region von Interesse das Beschneiden erfordert: x2 > X2_Q, daher setze x2 = X2_Q, und y2 > Y2_Q, daher setze y2 = Y2_Q;• S13.2 Assess whether the region of interest requires pruning: x2> X2_Q, so set x2 = X2_Q, and y2> Y2_Q, therefore set y2 = Y2_Q;
  • • S13.3 Beurteile, ob x1 > x2 oder y1 > y2 gilt. In diesem Fall (17) sind beide Bedingungen erfüllt, was bedeutet, dass es keine Punkte im Unterviereck 0,0 (701) gibt, die in die Region von Interesse fallen;• S13.3 Judge if x1> x2 or y1> y2. In this case ( 17 ), both conditions are met, meaning that there are no points in the sub-quad 0,0 ( 701 ) that fall into the region of interest;
  • • S13.6 Inkrementiere den Unterviereck-Zähler i auf dieser Ebene (0,i) und gewinne das Unterviereck (0,1) in Übereinstimmung mit S13.1.2 wieder, wie unter Bezugnahme auf die 18 und 19 beschrieben ist.• S13.6 Increment the sub-quad counter i at this level (0, i) and recover the sub-quad (0,1) in accordance with S13.1.2 as described with reference to FIG 18 and 19 is described.

18 u. 19 18 u. 19

  • • S13.1.2 Gewinne die Koordinaten der Punkte und die Größe des Untervierecks aus dem "schrumpfverpackten" Unterviereck 0,1 wieder: setze (X1_Q, Y1_Q), (X2_Q, Y2_Q) auf die Größe des "schrumpfverpackten" Untervierecks 0,1;• S13.1.2 Take the coordinates of the points and the size of the sub-quad from the "shrink-wrapped" sub-quad 0,1 again: set (X1_Q, Y1_Q), (X2_Q, Y2_Q) to the size of the "shrink-wrapped" sub-quad 0,1;
  • • S13.2 Beurteile, ob die Region von Interesse das Beschneiden erfordert: x1 < X1_Q, daher setze x1 = X1_Q, und y2 > Y2_Q, daher setze y2 = Y2_Q;• S13.2 Assess whether the region of interest requires pruning: x1 <X1_Q, therefore set x1 = X1_Q, and y2> Y2_Q, therefore set y2 = Y2_Q;
  • • S13.3 Beurteile, ob x1 > x2 oder y1 > y2 gilt. In diesem Fall sind keine Bedingungen erfüllt;• S13.3 Judge if x1> x2 or y1> y2. In this case, no conditions are met;
  • • S13.4 Beurteile, ob die (nun beschnittene) Region von Interesse exakt mit dem Unterviereck überlappt. Nein:• S13.4 Assess whether the (now cropped) region of interest is exact overlaps with the sub-quad. No:
  • • S13.5 Gewinne ein Unterviereck 0,1,0 des aktuellen Untervierecks 0,1 in Übereinstimmung mit S13.1.2 wieder, wie unter Bezugnahme auf die 20a und 20b beschrieben ist.• S13.5 Recover a sub-quad 0,1,0 of the current sub-quad 0,1 in accordance with S13.1.2, as with reference to 20a and 20b is described.

20a u. 20b 20a u. 20b

  • • S13.1.2 Gewinne die Koordinaten der Punkte und die Größe des Untervierecks aus dem "schrumpfverpackten" Unterviereck 0,1,0 wieder: setze (X1_Q, Y1_Q), (X2_Q, Y2_Q) auf die Größe des "schrumpfverpackten" Untervierecks 0,1,0;• S13.1.2 Take the coordinates of the points and the size of the sub-quad from the "shrink-wrapped" sub-quad 0,1,0 again: set (X1_Q, Y1_Q), (X2_Q, Y2_Q) to the size of the "shrink wrapped" subarray 0,1,0;
  • • S13.2 Beurteile, ob die Region von Interesse das Beschneiden erfordert: x2 > X2_Q, daher setze x2 = X2_Q, und y2 > Y2_Q, daher setze y2 = Y2_Q;• S13.2 Assess whether the region of interest requires pruning: x2> X2_Q, so set x2 = X2_Q, and y2> Y2_Q, therefore set y2 = Y2_Q;
  • • S13.3 Beurteile, ob x1 > x2 oder y1 > y2 gilt. In diesem Fall (20b) sind beide Bedingungen erfüllt, was bedeutet, dass es keine Punkte im Unterviereck 0,1,0 gibt, die in die Region von Interesse fallen;• S13.3 Judge if x1> x2 or y1> y2. In this case ( 20b ) both conditions are met, which means that there are no points in the sub-quadrant 0,1,0 that fall into the region of interest;
  • • S13.6 Inkrementiere den Unterviereck-Zähler i auf dieser Ebene (0,1,i) und (S13.6.1) gewinne das Unterviereck (0,1,1) in Übereinstimmung mit S13.1.2 wieder, wie unter Bezugnahme auf die 21a und 21b beschrieben ist.• S13.6 Increment the sub-quad counter i at this level (0,1, i) and (S13.6.1) recover the sub-quad (0,1,1) in accordance with S13.1.2 as described with reference to FIG 21a and 21b is described.

21a u. 21b 21a u. 21b

  • • S13.1.2 Gewinne die Koordinaten der Punkte und die Größe des Untervierecks aus dem "schrumpfverpackten" Unterviereck 0,1,1 wieder: setze (X1_Q, Y1_Q), (X2_Q, Y2_Q) auf die Größe des "schrumpfverpackten" Untervierecks 0,1,1 – d. h. eines einzigen Punkts;• S13.1.2 Take the coordinates of the points and the size of the sub-quad from the "shrink-wrapped" sub-quad 0,1,1 Again, set (X1_Q, Y1_Q), (X2_Q, Y2_Q) to the size of the "shrink wrapped" subarray 0,1,1 - d. H. a single point;
  • • S13.2 Beurteile, ob die Region von Interesse das Beschneiden erfordert: x1 < X1_Q, daher setze x1 = X1_Q, und y2 > Y2_Q, daher setze y2 = Y2_Q;• S13.2 Assess whether the region of interest requires pruning: x1 <X1_Q, therefore set x1 = X1_Q, and y2> Y2_Q, therefore set y2 = Y2_Q;
  • • S13.3 Beurteile, ob x1 > x2 oder y1 > y2 gilt. In diesem Fall (21b) sind beide Bedingungen erfüllt, was bedeutet, dass es keine Punkte im Unterviereck 0,1,1 gibt, die in die Region von Interesse fallen;• S13.3 Judge if x1> x2 or y1> y2. In this case ( 21b ) both conditions are met, meaning that there are no points in the subarray 0,1,1 that fall into the region of interest;
  • • S13.6 Inkrementiere den Unterviereck-Zähler i auf dieser Ebene (0,1,i) und (S13.6.1) gewinne das Unterviereck (0,1,2) in Übereinstimmung mit S13.1.2 wieder, wie unter Bezugnahme auf die 22a und 22b beschrieben ist.• S13.6 Increment the sub-quad counter i at this level (0,1, i) and (S13.6.1) recover the sub-quad (0,1,2) in accordance with S13.1.2 as described with reference to FIG 22a and 22b is described.

22a u. 22b 22a u. 22b

  • • S13.1.2 Gewinne die Koordinaten der Punkte und die Größe des Untervierecks aus dem "schrumpfverpackten" Unterviereck 0,1,2 wieder: setze (X1_Q, Y1_Q), (X2_Q, Y2_Q) auf die Größe des "schrumpfverpackten" Untervierecks 0,1,2 – d. h. eines einzigen Punkts;• S13.1.2 Recover the coordinates of the points and the size of the sub-quad from the "shrink-wrapped" sub-quad 0,1,2: set (X1_Q, Y1_Q), (X2_Q, Y2_Q) to the size of the "shrink wrapped" subarray 0,1,2 - d. H. a single point;
  • • S13.2 Beurteile, ob die Region von Interesse das Beschneiden erfordert: x1 < X1_Q, daher setze x1 = X1_Q, y1 < Y1_Q, x2 > X2_Q und y2 > Y2_Q, daher setze x1 = X1_Q, y1 = Y1_Q, x2 = X2_Q, y2 = Y2_Q;• S13.2 Assess whether the region of interest requires pruning: x1 <X1_Q, therefore set x1 = X1_Q, y1 <Y1_Q, x2> X2_Q and y2> Y2_Q, so set x1 = X1_Q, y1 = Y1_Q, x2 = X2_Q, y2 = Y2_Q;
  • • S13.3 Beurteile, ob x1 > x2 oder y1 > y2 gilt. Nein;• S13.3 Judge if x1> x2 or y1> y2. No;
  • • S13.4 Beurteile, ob die (nun beschnittene) Region von Interesse exakt mit dem Unterviereck überlappt: Ja;• S13.4 Assess whether the (now cropped) region of interest is exact overlaps with the sub-quad: Yes;
  • • S13.4.2 Zeichne das Unterviereck und die Anzahl der Punkte im Unterviereck (hier 1) auf;• S13.4.2 Draw the sub-quad and the number of dots in the sub-quad (here 1);
  • • S13.6 Inkrementiere den Unterviereck-Zähler i auf dieser Ebene (0,1,i) und (S13.6.1) gewinne das Unterviereck (0,1,3) in Übereinstimmung mit S13.1.2 wieder, wie unter Bezugnahme auf die 23a und 23b beschrieben ist.• S13.6 Increment the sub-quad counter i at this level (0,1, i) and (S13.6.1) recover the sub-quad (0,1,3) in accordance with S13.1.2 as described with reference to FIG 23a and 23b is described.

23a u. 23b 23a u. 23b

  • • S13.1.2 Gewinne die Koordinaten der Punkte und die Größe des Untervierecks aus dem "schrumpfverpackten" Unterviereck 0,1,3 wieder: setze (X1_Q, Y1_Q), (X2_Q, Y2_Q) auf die Größe des "schrumpfverpackten" Untervierecks 0,1,3 – d. h. eines einzigen Punkts;• S13.1.2 Take the coordinates of the points and the size of the sub-quad from the "shrink wrapped" subarray 0,1,3 Again, set (X1_Q, Y1_Q), (X2_Q, Y2_Q) to the size of the "shrink wrapped" subarray 0,1,3 - d. H. a single point;
  • • S13.2 Beurteile, ob die Region von Interesse das Beschneiden erfordert: x1 < X1_Q, daher setze x1 = X1_Q, y1 < Y1_Q, x2 > X2_Q und y2 > Y2_Q, daher setze x1 = X1_Q, y1 = Y1_Q, x2 = X2_Q, y2 = Y2_Q;• S13.2 Assess whether the region of interest requires pruning: x1 <X1_Q, therefore set x1 = X1_Q, y1 <Y1_Q, x2> X2_Q and y2> Y2_Q, so set x1 = X1_Q, y1 = Y1_Q, x2 = X2_Q, y2 = Y2_Q;
  • • S13.3 Beurteile, ob x1 > x2 oder y1 > y2 gilt. Nein;• S13.3 Judge if x1> x2 or y1> y2. No;
  • • S13.4 Beurteile, ob die (nun beschnittene) Region von Interesse exakt mit dem Unterviereck überlappt: Ja;• S13.4 Assess whether the (now cropped) region of interest is exact overlaps with the sub-quad: Yes;
  • • S13.4.2 Zeichne das Unterviereck und die Anzahl der Punkte im Unterviereck (hier 1) auf;• S13.4.2 Draw the sub-quad and the number of dots in the sub-quad (here 1);
  • • S13.6 Inkrementiere den Unterviereck-Zähler i auf dieser Ebene (0,1,i) ... i > 3, daher (S13.6.2) gewinne das Unterviereck (0,2) in Übereinstimmung mit S13.1.2 wieder, wie unter Bezugnahme auf die 24 und 25 beschrieben ist.• S13.6 Increment the sub-quad counter i at this level (0,1, i) ... i> 3, therefore (S13.6.2) recover the sub-quad (0,2) in accordance with S13.1.2, as with reference to the 24 and 25 is described.

24 u. 25 24 u. 25

  • • S13.1.2 Gewinne die Koordinaten der Punkte und die Größe des Untervierecks aus dem "schrumpfverpackten" Unterviereck 0,2 wieder: setze (X1_Q, Y1_Q), (X2_Q, Y2_Q) auf die Größe des "schrumpfverpackten" Untervierecks 0,2;• S13.1.2 Take the coordinates of the points and the size of the sub-quad from the "shrink-wrapped" sub-quad 0,2 again: set (X1_Q, Y1_Q), (X2_Q, Y2_Q) to the size of the "shrink-wrapped" sub-quad 0,2;
  • • S13.2 Beurteile, ob die Region von Interesse das Beschneiden erfordert: y1 < Y1_Q, daher setze y1 = Y1_Q, und x2 > X2_Q, daher setze x2 = X2_Q;• S13.2 Assess whether the region of interest requires pruning: y1 <Y1_Q, therefore set y1 = Y1_Q, and x2> X2_Q, therefore set x2 = X2_Q;
  • • S13.3 Beurteile, ob x1 > x2 oder y1 > y2 gilt. In diesem Fall sind keine Bedingungen erfüllt;• S13.3 Judge if x1> x2 or y1> y2. In this case, no conditions are met;
  • • S13.4 Beurteile, ob die (nun beschnittene) Region von Interesse exakt mit dem Unterviereck überlappt. Nein:• S13.4 Assess whether the (now cropped) region of interest is exact overlaps with the sub-quad. No:
  • • S13.5 Gewinne ein Unterviereck 0,2,0 des aktuellen Untervierecks 0,2 in Übereinstimmung mit S13.1.2 wieder, wie unter Bezugnahme auf die 26a und 26b beschrieben ist.• S13.5 Recover a sub-quad 0,2,0 of the current sub-quad 0,2 in accordance with S13.1.2 as described with reference to 26a and 26b is described.

26a u. 26b 26a u. 26b

  • • S13.1.2 Gewinne die Koordinaten der Punkte und die Größe des Untervierecks aus dem "schrumpfverpackten" Unterviereck 0,2,0 wieder: setze (X1_Q, Y1_Q), (X2_Q, Y2_Q) auf die Größe des "schrumpfverpackten" Untervierecks 0,2,0;• S13.1.2 Recover the coordinates of the points and the size of the sub-quad from the "shrink-wrapped" sub-quad 0,2,0: set (X1_Q, Y1_Q), (X2_Q, Y2_Q) to the size of the "shrink-wrapped" sub-quad 0,2,0;
  • • S13.2 Beurteile, ob die Region von Interesse das Beschneiden erfordert: x2 > X2_Q, daher setze x2 = X2_Q, und y2 > Y2_Q, daher setze y2 = Y2_Q;• S13.2 Assess whether the region of interest requires pruning: x2> X2_Q, so set x2 = X2_Q, and y2> Y2_Q, therefore set y2 = Y2_Q;
  • • S13.3 Beurteile, ob x1 > x2 oder y1 > y2 gilt. In diesem Fall (26b) sind beide Bedingungen erfüllt, was bedeutet, dass es keine Punkte im Unterviereck 0,2,0 gibt, die in die Region von Interesse fallen;• S13.3 Judge if x1> x2 or y1> y2. In this case ( 26b ) both conditions are fulfilled, which means that there are no points in the sub-quadrant 0.2.0 that fall into the region of interest;
  • • S13.6 Inkrementiere den Unterviereck-Zähler i auf dieser Ebene (0,2,i) und (S13.6.1) gewinne das Unterviereck (0,2,1) in Übereinstimmung mit S13.1.2 wieder, wie unter Bezugnahme auf die 27a und 27b beschrieben ist.• S13.6 Increment the sub-quad counter i at this level (0,2, i) and (S13.6.1) recover the sub-quad (0,2,1) in accordance with S13.1.2 as described with reference to FIG 27a and 27b is described.

27a u. 27b 27a u. 27b

  • • S13.1.2 Gewinne die Koordinaten der Punkte und die Größe des Untervierecks aus dem "schrumpfverpackten" Unterviereck 0,2,1 wieder: setze (X1_Q, Y1_Q), (X2_Q, Y2_Q) auf die Größe des "schrumpfverpackten" Untervierecks 0,2,1 – d. h. eines einzigen Punkts;• S13.1.2 Take the coordinates of the points and the size of the sub-quad from the "shrink-wrapped" sub-quad 0,2,1 Again, set (X1_Q, Y1_Q), (X2_Q, Y2_Q) to the size of the "shrink wrapped" subarray 0,2,1 - d. H. a single point;
  • • S13.2 Beurteile, ob die Region von Interesse das Beschneiden erfordert: x1 < X1_Q, daher setze x1 = X1_Q, y1 < Y1_Q, x2 > X2_Q und y2 > Y2_Q, daher setze x1 = X1_Q, y1 = Y1_Q, x2 = X2_Q, y2 = Y2_Q;• S13.2 Assess whether the region of interest requires pruning: x1 <X1_Q, therefore set x1 = X1_Q, y1 <Y1_Q, x2> X2_Q and y2> Y2_Q, so set x1 = X1_Q, y1 = Y1_Q, x2 = X2_Q, y2 = Y2_Q;
  • • S13.3 Beurteile, ob x1 > x2 oder y1 > y2 gilt. Nein;• S13.3 Judge if x1> x2 or y1> y2. No;
  • • S13.4 Beurteile, ob die (nun beschnittene) Region von Interesse exakt mit dem Unterviereck überlappt: Ja;• S13.4 Assess whether the (now cropped) region of interest is exact overlaps with the sub-quad: Yes;
  • • S13.4.2 Zeichne das Unterviereck und die Anzahl der Punkte im Unterviereck (hier 1) auf;• S13.4.2 Draw the sub-quad and the number of dots in the sub-quad (here 1);
  • • S13.6 Inkrementiere den Unterviereck-Zähler i auf dieser Ebene (0,1,i) ... i < 3, daher (S13.6.1) gewinne das Unterviereck (0,2,2) in Übereinstimmung mit S13.1.2 wieder, wie unter Bezugnahme auf die 28a und 28b beschrieben ist.• S13.6 Increment the sub-quad counter i at this level (0,1, i) ... i <3, therefore (S13.6.1) recover the sub-quad (0,2,2) in accordance with S13.1.2 as with reference to the 28a and 28b is described.

28a u. 28b 28a u. 28b

  • • S13.1.2 Gewinne die Koordinaten der Punkte und die Größe des Untervierecks aus dem "schrumpfverpackten" Unterviereck 0,2,2 wieder: setze (X1_Q, Y1_Q), (X2_Q, Y2_Q) auf die Größe des "schrumpfverpackten" Untervierecks 0,2,2;• S13.1.2 Take the coordinates of the points and the size of the sub-quad from the "shrink-wrapped" sub-quad 0,2,2 again: set (X1_Q, Y1_Q), (X2_Q, Y2_Q) to the size of the "shrink-wrapped" sub-quad 0,2,2;
  • • S13.2 Beurteile, ob die Region von Interesse das Beschneiden erfordert: x2 > X2_Q, daher setze x2 = X2_Q, und y1 < Y1_Q, daher setze y1 = Y1_Q;• S13.2 Assess whether the region of interest requires pruning: x2> X2_Q, so set x2 = X2_Q, and y1 <Y1_Q, therefore set y1 = Y1_Q;
  • • S13.3 Beurteile, ob x1 > x2 oder y1 > y2 gilt. In diesem Fall (28b) sind beide Bedingungen erfüllt, was bedeutet, dass es keine Punkte im Unterviereck 0,2,2 gibt, die in die Region von Interesse fallen;• S13.3 Judge if x1> x2 or y1> y2. In this case ( 28b ) both conditions are met, which means that there are no points in the subarray 0,2,2 that fall into the region of interest;
  • • S13.6 Inkrementiere den Unterviereck-Zähler i auf dieser Ebene (0,2,i) und (S13.6.1) gewinne das Unterviereck (0,2,3) in Übereinstimmung mit S13.1.2 wieder, wie unter Bezugnahme auf 29 beschrieben ist.• S13.6 Increment the sub-quad counter i at this level (0,2, i) and (S13.6.1) recover the sub-quad (0,2,3) in accordance with S13.1.2 as described with reference to 29 is described.

2929

  • • S13.1.2 Gewinne die Koordinaten der Punkte und die Größe des Untervierecks aus dem "schrumpfverpackten" Unterviereck 0,2,3 wieder: es gibt kein Unterviereck, das 0,2,3 entspricht, weil es keine Punkte in dem Bereich gibt, der diesem Unterviereck entspricht, daher springe zu S13.6;• S13.1.2 Take the coordinates of the points and the size of the sub-quad from the "shrink-wrapped" sub-quad 0,2,3 again: there is no sub-quad equivalent to 0,2,3 because it is there are no points in the range corresponding to this sub-quad, therefore jump to S13.6;
  • • S13.6.2 Inkrementiere den Unterviereck-Zähler i auf dieser Ebene (0,2,i): i > 3, daher (S13.6.2) gewinne das Unterviereck (0,3) in Übereinstimmung mit S13.1.2 wieder, wie unter Bezugnahme auf die 30 und 31 beschrieben ist.• S13.6.2 Increment the sub-quad counter i at this level (0,2, i): i> 3, therefore (S13.6.2) retrieve the sub-quad (0,3) in accordance with S13.1.2, as referenced on the 30 and 31 is described.

30 u. 31 30 u. 31

  • • S13.2 Beurteile, ob die Region von Interesse das Beschneiden erfordert: x1 < X1_Q, daher setze x1 = X1_Q, y1 < Y1_Q, x2 > X2_Q und y2 > Y2_Q, daher setze x1 = X1_Q, y1 = Y1_Q, x2 = X2_Q, y2 = Y2_Q;• S13.2 Assess whether the region of interest requires pruning: x1 <X1_Q, therefore set x1 = X1_Q, y1 <Y1_Q, x2> X2_Q and y2> Y2_Q, so set x1 = X1_Q, y1 = Y1_Q, x2 = X2_Q, y2 = Y2_Q;
  • • S13.3 Beurteile, ob x1 > x2 oder y1 > y2 gilt. Nein;• S13.3 Judge if x1> x2 or y1> y2. No;
  • • S13.4 Beurteile, ob die (nun beschnittene) Region von Interesse exakt mit dem Unterviereck überlappt: Ja;• S13.4 Assess whether the (now cropped) region of interest is exact overlaps with the sub-quad: Yes;
  • • S13.4.2 Zeichne das Unterviereck und die Anzahl der Punkte im Unterviereck (hier 2) auf;• S13.4.2 Draw the sub-quad and the number of dots in the sub-quad (here 2);
  • • S13.6 Inkrementiere den Unterviereck-Zähler i auf dieser Ebene (0,i) ... i > 3, daher (S13.6.2) gewinne das Unterviereck 1 in Übereinstimmung mit S13.1.2 wieder.• P13.6 Increment the sub-quad counter i at this level (0, i) ... i> 3, therefore, (S13.6.2) win the sub-quad 1 in accordance with S13.1.2 again.

Wie aus 14 ersichtlich ist, fällt die Region von Interesse ausschließlich in das Unterviereck 0 und die Untervierecke darin, so dass, wenn der in den 13a und 13b beschriebene Prozess auf die Untervierecke 1, 2 und 3 angewendet wird, die in den Schritten S13.2 und S13.3 angewendeten Bedingungen verursachen, dass der Prozess innerhalb einiger Schritte endet.How out 14 is apparent, the region of interest falls exclusively in the sub-quadrilateral 0 and the sub-quadrilateral therein, so that when the in the 13a and 13b is applied to the sub-quads 1, 2 and 3, the conditions applied in steps S13.2 and S13.3 cause the process to end within a few steps.

Am Ende des Prozesses des Identifizierens der Untervierecke, die mit der Region von Interesse überlappen, werden die Untervierecke und die Anzahl der Punkte in diesen Untervierecken, die in den Schritten S13.4.2 aufgezeichnet worden sind, zurückgeschickt – für dieses Beispiel:
Unterviereck 0,1,2, Anzahl der Punkte: 1 Punkt;
Unterviereck 0,1,3, Anzahl der Punkte: 1 Punkt;
Unterviereck 0,2,1, Anzahl der Punkte: 1 Punkt;
Unterviereck 0,3, Anzahl der Punkte: 2 Punkte.
At the end of the process of identifying the sub-quads that overlap with the region of interest, the sub-quads and the number of points in those sub-quads recorded in steps S13.4.2 are returned - for this example:
Sub-quadrant 0,1,2, number of points: 1 point;
Sub-quadrant 0,1,3, number of points: 1 point;
Lower quadrant 0,2,1, Number of points: 1 point;
Sub-square 0.3, number of points: 2 points.

Sobald die Untervierecke identifiziert worden sind, werden die tatsächlichen Punkte wiedergewonnen. In dieser Ausführungsform, und wie oben beschrieben worden ist, sind die Punkte in einer flachen Datei gespeichert. Außerdem speichert jede Unterviereck-Struktur eine Zahl, die die Position des ersten Punkts in einem jeweiligen Unterviereck bezüglich der Gesamtzahl der indexierten Punkte (siehe z. B. 4, alle Punkte im Viereck 501) angibt.Once the sub-quads have been identified, the actual points are retrieved. In this embodiment, and as described above, the dots are in a flat file stores. In addition, each sub-quad structure stores a number representing the position of the first point in a respective sub-quad relative to the total number of indexed points (see, eg, FIG. 4 , all points in the square 501 ) indicates.

Der Prozess für das tatsächliche Wiedergewinnen der Punkte ist in 32 gezeigt:
Für jedes Viereck, das im Schritt S13.4.2 aufgezeichnet worden ist:

  • • S32.1 Gewinne für dieses Unterviereck die Anzahl der Punkte wieder, die in das Unterviereck fallen, (N);
  • • S32.2 Gewinne die Position des ersten Punkts von der entsprechenden Unterviereck-Struktur (Possub_quad) wieder;
  • • S32.3 Bewege einen Dateizeiger in eine durch Possub_quad gegebene Position in der Punktedatei;
  • • S32.4 Extrahiere aus dieser Position N Punkte aus der Datei.
The process for actually recovering the points is in 32 shown:
For each quadrangle recorded in step S13.4.2:
  • • S32.1 For this sub-quad, recover the number of points that fall into the sub-quad, (N);
  • • S32.2 Recover the position of the first point from the corresponding sub-quad structure (Pos sub_quad );
  • • S32.3 Move a file pointer to a position in the point file given by Pos sub_quad;
  • • S32.4 Extract N points from the file from this position.

Implementierungimplementation

Die in den 4a und 4b, den 13a und 13b und 32 beschriebenen Prozesse sind in Software implementiert und werden in einem der Endgeräte T3, T4 ausgeführt oder sind zwischen den Endgeräten T3, T4 verteilt. Die Endgeräte T3, T4 repräsentieren folglich einen von mehreren Computern, wobei sie vorzugsweise Server-Computer sind.The in the 4a and 4b , the 13a and 13b and 32 The processes described are implemented in software and are executed in one of the terminals T3, T4 or are distributed between the terminals T3, T4. The terminals T3, T4 thus represent one of several computers, preferably server computers.

Die zu indexierenden Punkte können über eine Datei oder ähnliches in die Endgeräte T3, T4 eingegeben werden, der Index, der erzeugt worden ist, wie oben beschrieben worden ist, kann in der Datenbank DB1 gespeichert werden und die Punktedatei kann außerdem in der Datenbank DB1 gespeichert werden. Ein Bereich von Interesse kann in der Form einer Datenbankabfrage eingegeben werden, die in einer bekannten Weise über ein (nicht gezeigtes) Client-Endgerät eingegeben und über das Netz N1 zu den Endgeräten T3, T4 übertragen wird.The to be indexed points can be over a File or similar in the terminals T3, T4, the index that has been generated, such as described above can be stored in the database DB1 and the point file can also be stored in database DB1 get saved. An area of interest may be in the form of a Database query entered in a known manner via a (not shown) client terminal entered and over the network N1 to the terminals T3, T4 transferred becomes.

Vorzugsweise sind die oben beschriebenen Prozesse in der Programmiersprache C implementiert und verwenden rekursive Programmierungsverfahren, um in den Untervierecken zu Untervierecken "nach unten zu vertiefen". Es ist selbstverständlich, dass ein derartiges Verfahren für die Erfindung unwesentlich ist.Preferably are the processes described above in the C programming language implements and uses recursive programming techniques, to "lower down" in the sub-quads to subdivide. It goes without saying that such a method for the invention is immaterial.

Weitere Einzelheiten und ModifikationenFurther details and modifications

Wie oben dargelegt worden ist, kann die Erfindung verwendet werden, um Daten zu indexieren und wiederzugewinnen, die in 2 Dimensionen ausgedrückt sind. Die Erfindung kann außerdem verwendet werden, um Daten in mehr als 2 Dimensionen zu indexieren und wiederzugewinnen, vorausgesetzt, die Daten (n-dimensionalen Daten, wobei n > 2 gilt) können in 2 Dimensionen transformiert werden. In derartigen Fällen können die transformierten 2-dimensionalen Daten gemäß der Erfindung indexiert und wiedergewonnen werden. Objekte, die in einen 3-dimensionalen Raum definiert sind, können z. B. unter Verwendung eines Pakets, wie z. B. NCAR Graphics, was ein unix-gestütztes Graphikpaket ist, das einen ausgedehnten Bereich von Fähigkeiten für die Anzeige und die Manipulation numerischer Daten bietet und von der University Corporation for Atmospheric Research entwickelt worden ist, in 2 Dimensionen transformiert werden. (Siehe http://www.dkrz.de/ngdoc/ng4.0.1 für Informationen bezüglich NCAR Graphics und http://ngwww.ucar.edu/ngdoc/ng/fund/chp16–21/threed.html für Informationen bezüglich der Aspekte der 3-zu-2-dimensional-Transformation.)As set forth above, the invention can be used to index and retrieve data in 2 dimensions expressed are. The invention can also used to index data in more than 2 dimensions and regain, provided the data (n-dimensional Data, where n> 2 applies) be transformed in 2 dimensions. In such cases, the transformed 2-dimensional data according to the invention indexed and be recovered. Objects in a 3-dimensional space are defined z. B. using a package such. B. NCAR Graphics, what a unix-based Graphics package is that a wide range of capabilities for the Display and manipulation of numerical data offers and of the University Corporation for Atmospheric Research is to be transformed in 2 dimensions. (See http://www.dkrz.de/ngdoc/ng4.0.1 for information in terms of NCAR Graphics and http://ngwww.ucar.edu/ngdoc/ng/fund/chp16-21/threed.html for information in terms of the aspects of 3-to-2-dimensional transformation.)

Es könnten andere Variationen ausgeführt werden. Es könnte z. B. einfach ein Unterteilen der Vierecke und Untervierecke in eine andere Anzahl von Bereichen bei jeder Iteration, wie z. B. acht oder zehn anstelle von vier, verwendet werden.It could other variations executed become. It could z. B. simply dividing the squares and sub-squares into a different number of areas at each iteration, such as B. eight or ten instead of four, can be used.

Claims (15)

Verfahren zum Anbringen eines Indexes an mehreren Entitäten, wobei jede Entität durch Daten repräsentiert wird, die einen in einem Raum definierten Punkt durch Erzeugen einer Hierarchie von Unterbereichs-Datenstrukturen identifizieren, wobei das Verfahren umfasst: i. Erzeugen einer minimalen Beschränkungsregion um die Punkte, die die Entitäten repräsentieren (S4.2); ii. Ausführen eines Prozesses in Bezug auf die erzeugte Region oder Unterregion, wobei der Prozess umfasst: Erzeugen einer Bereichs- oder Unterbereichs-Datenstruktur; Speichern von Daten, die das Ausmaß der jeweiligen Region oder Unterregion spezifizieren, in der Bereichs- oder Unterbereichs-Datenstruktur; Speichern von Verknüpfungen zu Punkten, die in die jeweilige Region oder Unterregion fallen, in der Bereichs- oder Unterbereichs-Datenstruktur (S4.3); Unterteilen der Region oder Unterregion, um mehrere Unterregionen (S4.6) zu erzeugen; und für jede der mehreren Unterregionen, die Punkte enthalten: Verkleinern der Unterregion, bis ihre weitere Verkleinerung zur Folge hätte, dass einer der Punkte außerhalb der Unterregion fällt; und iii. wiederholtes Ausführen des Prozesses in Bezug auf jede erzeugte Unterregion, die Punkte enthält, bis ein vorgegebenes Kriterium erfüllt ist (S4.5); wobei das Verfahren ferner das Speichern von Verknüpfungen zu Unterbereichs-Datenstrukturen, die ihren jeweiligen mehreren Unterregionen entsprechen, in jeder Bereichs- oder Unterbereichs- Datenstruktur umfasst; und wobei die Hierarchie der Unterbereichs-Datenstrukturen den Index an den Entitäten bereitstellt.A method of attaching an index to a plurality of entities, wherein each entity is represented by data identifying a point defined in a space by generating a hierarchy of subregion data structures, the method comprising: i. Creating a minimum constraint region around the points representing the entities (S4.2); ii. Performing a process related to the generated region or subregion, the process comprising: generating a region or subregion data structure; Storing data specifying the extent of the respective region or subregion in the region or subregion data structure; Storing links to points that fall within the respective region or subregion, in the area or subrange data structure (S4.3); Dividing the region or subregion to create multiple subregions (S4.6); and for each of the plurality of sub-regions containing points: reducing the sub-region until its further reduction would cause one of the points to fall outside the sub-region; and iii. repeatedly executing the process with respect to each generated subregion containing points until a predetermined criterion is satisfied (S4.5); the method further comprising storing links to sub-area data structures corresponding to their respective plurality of subregions in each area or sub-area data structure; and wherein the hierarchy of the subarea data structures provides the index to the entities. Verfahren nach Anspruch 1, wobei das vorgegebene Kriterium ist, dass eine Unterregion einen einzigen Punkt enthält.The method of claim 1, wherein the predetermined The criterion is that a subregion contains a single point. Verfahren nach einem der vorhergehenden Ansprüche, wobei der Schritt des Verkleinerns der Region umfasst: Berechnen von Abständen zwischen Punkten, die Entitäten entsprechen, in jeder von zwei Dimensionen; und für jede der Dimensionen Identifizieren, welche der Punkte den größten Abstand zwischen sich haben, so dass dann, wenn die zwei Dimensionen zueinander senkrecht sind, die erzeugte Region ein Rechteck ist, das durch Punkte definiert ist, die wenigstens zwei Entitäten entsprechen.Method according to one of the preceding claims, wherein the step of shrinking the region includes: To calculate of distances between points, the entities correspond, in each of two dimensions; and for each of Dimensions Identify which of the points is the greatest distance between them, so that if the two dimensions to each other are vertical, the generated region is a rectangle that points through is defined, which correspond to at least two entities. Verfahren nach einem der vorhergehenden Ansprüche, wobei die Region in vier Unterregionen unterteilt wird.Method according to one of the preceding claims, wherein the region is divided into four subregions. Verfahren nach einem der vorhergehenden Ansprüche, wobei die Schritte ii. und iii. rekursiv wiederholt werden.Method according to one of the preceding claims, wherein the steps ii. and iii. recursively repeated. Verfahren nach einem der vorhergehenden Ansprüche, das umfasst: Speichern der Entitäten in einer Datenbank, Halten einer Aufzeichnung der Anzahl von Entitäten, die in der Datenbank gespeichert sind, für jede Unterregion und Schreiben der momentan aufgezeichneten Anzahl in die ihr entsprechende Unterbereichs-Datenstruktur.Method according to one of the preceding claims, which includes: Saving the entities in a database, hold a record of the number of entities stored in the database are for each subregion and writing the number currently recorded into its corresponding subarea data structure. Verfahren nach Anspruch 6, wobei Entitäten in die Datenbank in Übereinstimmung mit der Größe einer Unterregion geschrieben werden, so dass Entitäten, die in die kleinsten Unterregionen fallen, als Erstes in die Datenbank geschrieben werden.The method of claim 6, wherein entities in the Database in accordance with the size of a subregion be written so that entities that are in the smallest subregions fall, first be written to the database. Verfahren nach einem der vorhergehenden Ansprüche, das das Empfangen eines Auslösesignals zum Aufrufen der Schritte i. bis iii. umfasst.Method according to one of the preceding claims, which receiving a trigger signal to call the steps i. to iii. includes. Verfahren nach einem der vorhergehenden Ansprüche, das ferner das Wiedergewinnen einer oder mehrerer Entitäten, die in einem vorgegebenen Bereich enthalten sind, umfasst, wobei die oder jede Entität durch das Verfahren nach einem der vorhergehenden Ansprüche indexiert worden ist, das die folgenden Schritte umfasst: Identifizieren einer oder mehrerer Regionen, die in dem vorgegebenen Bereich enthalten sind, wobei jede Region einen oder mehrere Punkte umschließt und wobei jeder Region Verknüpfungsdaten zugeordnet sind, die für jede Region den Punkt oder die Punkte, die von dieser Region umschlossen sind, identifizieren; und Zugreifen auf Verknüpfungsdaten, die den identifizierten Regionen entsprechen, um so Punkte, die von den identifizierten Regionen umschlossen werden, wiederzugewinnen.Method according to one of the preceding claims, which and recovering one or more entities that are included in a predetermined range, wherein the or any entity indexed by the method of any one of the preceding claims which comprises the following steps: Identify one or more regions included in the given area are, each region enclosing one or more points and wherein each region linkage data are assigned for each region the point or points that enclosed this region are, identify; and Accessing linkage data, corresponding to the identified regions, so points that be surrounded by the identified regions to regain. Verfahren nach Anspruch 9, wobei der Identifizierungsschritt die folgenden Schritte umfasst: Wiedergewinnen von Daten, die eine Region identifizieren; Ausführen eines Prozesses in Bezug auf die Region, wobei der Prozess die folgenden Schritte umfasst: Vergleichen der Ausmaße der Region mit Ausmaßen des vorgegebenen Bereichs, um festzustellen, ob die Region mit dem vorgegebenen Bereich überlappt; und falls eine Überlappung besteht, Wiedergewinnen von Daten, die Unterregionen der Region identifizieren und irgendwelche derartigen Unterregionen, deren Ausmaße vollständig innerhalb des vorgegebenen Bereichs liegen, identifizieren; und für jede Unterregion Wiederholen des Prozesses, bis alle Unterregionen hiervon, die vollständig in den vorgegebenen Bereich fallen, identifiziert sind, wobei der Zugriffsschritt das Zugreifen auf Verknüpfungsdaten umfasst, die den identifizierten Unterregionen entsprechen, um so Punkte, die von den Unterregionen umschlossen werden, wiederzugewinnen.The method of claim 9, wherein the identifying step comprises the steps of: retrieving data identifying a region; Performing a process related to the region, the process comprising the steps of: comparing the extents of the region with extents of the predetermined region to determine if the region overlaps the predetermined region; and if there is an overlap, retrieving data identifying subregions of the region and identifying any such subregions whose extents are entirely within the predetermined range; and for each subregion, repeating the process until all subregions thereof that fall entirely within the predetermined range are identified, wherein the accessing step comprises accessing linkage data corresponding to the identified subregions so as to regain points enclosed by the subregions. Verfahren nach Anspruch 10, wobei die mehreren Punkte im Voraus als eine Liste von Punkten in Übereinstimmung mit Beziehungen zwischen jeweiligen Regionen und Unterregionen hiervon gespeichert werden und die Verknüpfungsdaten einen Wert enthalten, der die Position eines Ersten der entsprechenden umschlossenen Punkte in der Liste von Punkten angibt, und wobei der Zugriffsschritt für jede der identifizierten Regionen umfasst: Wiedergewinnen eines Identifizierers, der die Anzahl umschlossener Punkte repräsentiert, und Wiedergewinnen eines Positionswertes, der der identifizierten Region zugeordnet ist; und Zugreifen auf die Liste von Punkten und Wiedergewinnen der Anzahl umschlossener Punkte ausgehend von einer Position in der Liste, die durch den Positionswert gegeben ist.The method of claim 10, wherein the plurality of points in advance as a list of points in accordance with relationships stored between respective regions and subregions thereof and the linkage data contain a value representing the position of a first of the corresponding indicates enclosed points in the list of points, and where the access step for Each of the identified regions includes: Regaining one Identifier representing the number of enclosed points and retrieving a position value of the one identified Region is assigned; and Access the list of points and retrieving the number of enclosed points from one Position in the list given by the position value. Verfahren nach einem der Ansprüche 9 bis 11, wobei die Regionen und die entsprechenden Verknüpfungsdaten in einem Index gespeichert sind.Method according to one of claims 9 to 11, wherein the regions and the corresponding linkage data stored in an index. Verfahren nach einem der vorhergehenden Ansprüche 9 bis 12, wobei der vorgegebene Bereich Reichweiteninformationen entspricht.Method according to one of the preceding claims 9 to 12, wherein the predetermined range corresponds to range information. Verfahren nach Anspruch 13, wobei die Reichweiteninformationen geographische Reichweiteninformationen, Betriebsstundeninformationen, Lieferzeitinformationen und/oder medizinische Informationen umfassen.The method of claim 13, wherein the range information geographical range information, operating hours information, Delivery time information and / or medical information include. Computerprogrammprodukt, das einen Satz von Befehlen enthält, um einen Computer dazu zu veranlassen, die Schritte des Verfahrens nach den Ansprüchen 1 bis 14 auszuführen.Computer program product containing a set of commands contains to cause a computer to follow the steps of the procedure according to the claims 1 to 14.
DE60132243T 2000-12-15 2001-12-11 METHOD FOR INDICATING ENTITIES Expired - Lifetime DE60132243T2 (en)

Applications Claiming Priority (7)

Application Number Priority Date Filing Date Title
EP00311228 2000-12-15
EP00311234 2000-12-15
EP00311228 2000-12-15
EP00311234 2000-12-15
GB0123154A GB0123154D0 (en) 2001-09-26 2001-09-26 Method of indexing entities
GB0123154 2001-09-26
PCT/GB2001/005486 WO2002048909A1 (en) 2000-12-15 2001-12-11 Method of indexing entities

Publications (2)

Publication Number Publication Date
DE60132243D1 DE60132243D1 (en) 2008-02-14
DE60132243T2 true DE60132243T2 (en) 2008-12-11

Family

ID=27223583

Family Applications (1)

Application Number Title Priority Date Filing Date
DE60132243T Expired - Lifetime DE60132243T2 (en) 2000-12-15 2001-12-11 METHOD FOR INDICATING ENTITIES

Country Status (6)

Country Link
US (2) US7904486B2 (en)
JP (2) JP4219165B2 (en)
AU (2) AU2002222178A1 (en)
CA (2) CA2430446C (en)
DE (1) DE60132243T2 (en)
WO (2) WO2002048908A1 (en)

Families Citing this family (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080168002A1 (en) * 2007-01-05 2008-07-10 Kagarlis Marios A Price Indexing
US20090164300A1 (en) * 2007-12-21 2009-06-25 Yahoo! Inc. Application program interface and graphical user interface for providing a user interface for targeting mobile advertisements in a mobile marketing environment
US8589436B2 (en) * 2008-08-29 2013-11-19 Oracle International Corporation Techniques for performing regular expression-based pattern matching in data streams
US8935293B2 (en) * 2009-03-02 2015-01-13 Oracle International Corporation Framework for dynamically generating tuple and page classes
US10789834B2 (en) * 2009-11-24 2020-09-29 Verizon Patent And Licensing Inc. Traffic data distribution in a navigational system
US9305057B2 (en) * 2009-12-28 2016-04-05 Oracle International Corporation Extensible indexing framework using data cartridges
US9430494B2 (en) * 2009-12-28 2016-08-30 Oracle International Corporation Spatial data cartridge for event processing systems
US8959106B2 (en) * 2009-12-28 2015-02-17 Oracle International Corporation Class loading using java data cartridges
US8713049B2 (en) 2010-09-17 2014-04-29 Oracle International Corporation Support for a parameterized query/view in complex event processing
US9189280B2 (en) 2010-11-18 2015-11-17 Oracle International Corporation Tracking large numbers of moving objects in an event processing system
US8990416B2 (en) 2011-05-06 2015-03-24 Oracle International Corporation Support for a new insert stream (ISTREAM) operation in complex event processing (CEP)
US9329975B2 (en) 2011-07-07 2016-05-03 Oracle International Corporation Continuous query language (CQL) debugger in complex event processing (CEP)
US8730264B1 (en) 2011-09-26 2014-05-20 Google Inc. Determining when image elements intersect
US9977789B2 (en) * 2011-11-29 2018-05-22 Oracle International Corporation Hierarchical grid for spatial querying
US11288277B2 (en) 2012-09-28 2022-03-29 Oracle International Corporation Operator sharing for continuous queries over archived relations
US9563663B2 (en) 2012-09-28 2017-02-07 Oracle International Corporation Fast path evaluation of Boolean predicates
US10956422B2 (en) 2012-12-05 2021-03-23 Oracle International Corporation Integrating event processing with map-reduce
US9098587B2 (en) 2013-01-15 2015-08-04 Oracle International Corporation Variable duration non-event pattern matching
US10298444B2 (en) 2013-01-15 2019-05-21 Oracle International Corporation Variable duration windows on continuous data streams
US9390135B2 (en) 2013-02-19 2016-07-12 Oracle International Corporation Executing continuous event processing (CEP) queries in parallel
US9047249B2 (en) 2013-02-19 2015-06-02 Oracle International Corporation Handling faults in a continuous event processing (CEP) system
US9418113B2 (en) 2013-05-30 2016-08-16 Oracle International Corporation Value based windows on relations in continuous data streams
US9934279B2 (en) 2013-12-05 2018-04-03 Oracle International Corporation Pattern matching across multiple input data streams
US9244978B2 (en) 2014-06-11 2016-01-26 Oracle International Corporation Custom partitioning of a data stream
US9712645B2 (en) 2014-06-26 2017-07-18 Oracle International Corporation Embedded event processing
US9886486B2 (en) 2014-09-24 2018-02-06 Oracle International Corporation Enriching events with dynamically typed big data for event processing
US10120907B2 (en) 2014-09-24 2018-11-06 Oracle International Corporation Scaling event processing using distributed flows and map-reduce operations
WO2017018901A1 (en) 2015-07-24 2017-02-02 Oracle International Corporation Visually exploring and analyzing event streams

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4435752A (en) * 1973-11-07 1984-03-06 Texas Instruments Incorporated Allocation of rotating memory device storage locations
US5499360A (en) * 1994-02-28 1996-03-12 Panasonic Technolgies, Inc. Method for proximity searching with range testing and range adjustment
DE69529088T2 (en) * 1994-11-21 2003-09-25 Oracle Corp METHOD AND DEVICE FOR A MULTI-DIMENSIONAL DATABASE WITH A BINARY HYPERRATIOUS CODE
JP3952518B2 (en) * 1996-03-29 2007-08-01 株式会社日立製作所 Multidimensional data processing method
US5963956A (en) * 1997-02-27 1999-10-05 Telcontar System and method of optimizing database queries in two or more dimensions
US5926820A (en) * 1997-02-27 1999-07-20 International Business Machines Corporation Method and system for performing range max/min queries on a data cube
US6073134A (en) * 1997-05-29 2000-06-06 Oracle Corporation Method article of manufacture, and apparatus for generating a multi-dimensional record management index
US6134541A (en) * 1997-10-31 2000-10-17 International Business Machines Corporation Searching multidimensional indexes using associated clustering and dimension reduction information
US6070164A (en) * 1998-05-09 2000-05-30 Information Systems Corporation Database method and apparatus using hierarchical bit vector index structure
US6223182B1 (en) * 1998-06-30 2001-04-24 Oracle Corporation Dynamic data organization
JP2000035965A (en) * 1998-07-17 2000-02-02 Nippon Telegr & Teleph Corp <Ntt> Method and device for retrieving similar feature quantity and storage medium storing retrieval program of similar feature quantity
US6366911B1 (en) * 1998-09-28 2002-04-02 International Business Machines Corporation Partitioning of sorted lists (containing duplicate entries) for multiprocessors sort and merge
JP3542732B2 (en) * 1999-01-06 2004-07-14 日本電信電話株式会社 Multidimensional spatial data structure, method for updating and searching for multidimensional spatial data, recording medium recording the multidimensional spatial data structure, and recording medium recording a program for implementing the method
US6549907B1 (en) * 1999-04-22 2003-04-15 Microsoft Corporation Multi-dimensional database and data cube compression for aggregate query support on numeric dimensions
US6381605B1 (en) * 1999-05-29 2002-04-30 Oracle Corporation Heirarchical indexing of multi-attribute data by sorting, dividing and storing subsets
US6633882B1 (en) * 2000-06-29 2003-10-14 Microsoft Corporation Multi-dimensional database record compression utilizing optimized cluster models
US6879980B1 (en) * 2001-06-29 2005-04-12 Oracle International Corporation Nearest neighbor query processing in a linear quadtree spatial index
US6973457B1 (en) * 2002-05-10 2005-12-06 Oracle International Corporation Method and system for scrollable cursors

Also Published As

Publication number Publication date
US20040039725A1 (en) 2004-02-26
JP4219165B2 (en) 2009-02-04
WO2002048908A1 (en) 2002-06-20
AU2002222172A1 (en) 2002-06-24
CA2430437A1 (en) 2002-06-20
CA2430446C (en) 2010-10-26
JP2004516553A (en) 2004-06-03
US7904486B2 (en) 2011-03-08
JP2004516552A (en) 2004-06-03
WO2002048909A1 (en) 2002-06-20
AU2002222178A1 (en) 2002-06-24
US7277886B2 (en) 2007-10-02
JP4259864B2 (en) 2009-04-30
CA2430446A1 (en) 2002-06-20
CA2430437C (en) 2006-05-09
US20040019592A1 (en) 2004-01-29
DE60132243D1 (en) 2008-02-14

Similar Documents

Publication Publication Date Title
DE60132243T2 (en) METHOD FOR INDICATING ENTITIES
DE69401662T2 (en) DATABASE STRUCTURES
DE69636761T2 (en) SAVING AND RE-RELEASING ORDERED KEY QUANTITIES IN A COMPACT 0-COMPLETE TREE
DE19782227B4 (en) A method for distributing index data among a plurality of networked nodes and a system for managing an index
DE10028688B4 (en) Method, system, and program for a join operation in a multi-column table and double-valued satellite tables
DE68926849T2 (en) Structure and method for arranging recursively derived data in a database
DE3650673T2 (en) Record and retrieve a representation of topological structures
DE3855213T2 (en) Database system and method for simultaneous record access using a tree structure index
DE60130475T2 (en) PERFORMING CALCULATIONS OF A TABLE CALCULATION TYPE IN A DATABASE SYSTEM
DE60313371T2 (en) Use of tree-like &#34;bitmap&#34; data structures
DE69910219T2 (en) TRANSFORMING THE PERSPECTIVE ON TABLES FROM RELATIONAL DATABASES
DE3855212T2 (en) Procedure for calculating a transitive closure
DE3856055T2 (en) Method and device to enable simultaneous access to indexed sequential files
DE19617381C2 (en) Object conversion device from a flat object space to a class structured space
DE69024932T2 (en) Procedure to identify documents with a certain attribute with the help of a vector-relational characteristic object
DE10035043A1 (en) Building multi-dimensional indexing structure for use with linear optimising requests involves forming two convex envelopes of input data sets, some representing envelope apex points
WO2002001407A2 (en) Automatic search method
DE112017006106T5 (en) Create, access, and view lineage metadata
DE69127399T2 (en) Method for the automatic deletion of temporary document connections in a data processing system
DE10251440A1 (en) Method for reproducible selection of elements in a hierarchy e.g. for business enterprises, has sequence of actions marked in an element selection script
DE112012004916T5 (en) Improved database query and effort estimation
DE19924261A1 (en) Network configuration management objective access method, involves returning acquired information on child management objective instance to parent management object instance which in turn return it to manager
DE60131796T2 (en) Object domain data generation method and apparatus, polygon approximation method and apparatus
WO2000060497A2 (en) Method for using fractal semantic networks for all kinds of data base appliances
EP1159689A2 (en) Search and surf device for hypertext documents

Legal Events

Date Code Title Description
8364 No opposition during term of opposition