DE102013207066A1 - Method for storing altitude profile data, as well as profile data and method for generating a height profile from these profile data - Google Patents
Method for storing altitude profile data, as well as profile data and method for generating a height profile from these profile data Download PDFInfo
- Publication number
- DE102013207066A1 DE102013207066A1 DE201310207066 DE102013207066A DE102013207066A1 DE 102013207066 A1 DE102013207066 A1 DE 102013207066A1 DE 201310207066 DE201310207066 DE 201310207066 DE 102013207066 A DE102013207066 A DE 102013207066A DE 102013207066 A1 DE102013207066 A1 DE 102013207066A1
- Authority
- DE
- Germany
- Prior art keywords
- height
- values
- grid
- grids
- profile
- 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.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01C—MEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
- G01C7/00—Tracing profiles
- G01C7/02—Tracing profiles of land surfaces
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T17/00—Three dimensional [3D] modelling, e.g. data description of 3D objects
- G06T17/005—Tree description, e.g. octree, quadtree
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T17/00—Three dimensional [3D] modelling, e.g. data description of 3D objects
- G06T17/05—Geographic models
Abstract
Die Erfindung betrifft ein Verfahren zum Speichern von Profildaten für ein vorgegebenes Höhenprofil, umfassend die folgenden Schritte: (a) Vorsehen eines regelmäßigen Rasters (1) mit polygonalen Rasterfeldern (2) eines ersten Levels in einer Ebene, wobei Eckpunkte (3) der Rasterfelder (2) Rasterpunkte darstellen, und zu jedem Rasterpunkt ein Höhenwert gespeichert wird, (b) Bestimmen eines Fehlerwertes für eine jedes Rasterfeld (2), der eine Abweichung eines durch die Höhenwerte des Rasterfelds (2) approximierten Höhenprofils vom vorgegebenen Höhenprofil beschreibt, (c) Unterteilen der Rasterfelder (2), deren Fehlerwert einen vorbestimmten Schwellwert überschreitet, in polygonale Teilrasterfelder (4, 5), wobei zumindest zu den Eckpunkten (3) der Teilrasterfelder (4, 5), die nicht mit Eckpunkten (3) der Rasterfelder (2) zusammen fallen, Höhenwerte gespeichert werden, (d) Zuordnen jeweils eines Indikators zu einem jeden Rasterfeld (2), wobei der Indikator beschreibt, ob das Rasterfeld (2) unterteilt ist oder nicht, und Speichern dieser Indikatoren zusammen mit den Höhenwerten, und (e) Wiederholen der Schritte (b) bis (d) für alle Teilrasterfelder (4, 5), wobei die Teilrasterfelder (4, 5) eines i-ten Levels Rasterfelder (2) eines i + 1-ten Level bilden, wobei die Höhenwerte in einer vorbestimmten Reihenfolge gespeichert werden, so dass die Höhenwerte aufgrund der Reihenfolge jeweils einem bestimmten Eckpunkt (3) des Rasterfeldes (4, 5) zugeordnet sind und durch die Indikatoren eines j-ten Levels bestimmt ist, für welche Eckpunkte (3) des j + 1-ten Levels Höhenwerte gespeichert sind.The invention relates to a method for storing profile data for a predetermined height profile, comprising the following steps: (a) providing a regular grid (1) with polygonal grid fields (2) of a first level in one plane, wherein corner points (3) of the grid fields ( 2) represent raster points and a height value is stored for each raster point, (b) determining an error value for each raster field (2) which describes a deviation of an altitude profile approximated by the height values of the raster field (2) from the predetermined height profile, (c) Subdivide the grid fields (2), the error value of which exceeds a predetermined threshold value, into polygonal partial grid fields (4, 5), with at least the corner points (3) of the partial grid fields (4, 5) that do not have corner points (3) of the grid fields (2 ) coincide, elevation values are stored, (d) assigning one indicator to each grid (2), the indicator describing whether the ras subfield (2) is subdivided or not, and storing these indicators together with the elevation values, and (e) repeating steps (b) to (d) for all partial grid fields (4, 5), the partial grid fields (4, 5) being one i-th levels form grid fields (2) of an i + 1-th level, the height values being stored in a predetermined sequence, so that the height values are each assigned to a specific corner point (3) of the grid field (4, 5) based on the sequence and the indicators of a j-th level determine for which corner points (3) of the j + 1-th level elevation values are stored.
Description
Die vorliegende Erfindung betrifft ein Verfahren zum Speichern von Profildaten für ein vorgegebenes Höhenprofil, sowie entsprechende Profildaten und ein Verfahren zum Erzeugen eines Höhenprofils aus solchen Profildaten.The present invention relates to a method for storing profile data for a given height profile, as well as corresponding profile data and a method for generating a height profile from such profile data.
Profildaten werden beispielsweise in Geoinformationssystemen zum Beschreiben eines Geländes verwendet. Ein Gelände ist eine Fläche im dreidimensionalen Raum mit besonderen Eigenschaften. Ein Gelände lässt sich stetig und lokal umkehrbar eindeutig in eine Ebene abbilden, solange es keine Überhänge gibt und solange Bauten nicht zum Gelände zählen. Somit ist ein Gelände ein 2,5-dimensionales Gebilde. Ein Gelände kann somit durch eine zweidimensionale Fläche, wobei jedem Punkt der zweidimensionalen Fläche ein Höhenwert zugeordnet ist, dargestellt werden.Profile data is used, for example, in geographic information systems to describe a terrain. A terrain is an area in three-dimensional space with special properties. A terrain can be steadily and locally reversibly uniquely reproduced in a plane, as long as there are no overhangs and as long as buildings are not part of the terrain. Thus, a terrain is a 2.5-dimensional structure. A terrain can thus be represented by a two-dimensional surface, wherein each point of the two-dimensional surface is assigned a height value.
In der Praxis werden Höhenwerte zu einem vorbestimmten Raster gespeichert und das Gelände wird durch eine Vielzahl aneinanderhängender Dreiecke approximiert (Triangulation). Die Eckpunkte eines Dreieckes werden jeweils durch einen Höhenwert dargestellt.In practice, elevation values are stored to a predetermined grid and the terrain is approximated by a plurality of contiguous triangles (triangulation). The vertices of a triangle are each represented by a height value.
Es ist bekannt, die Höhenwerte in einem regelmäßigen oder regulären Gitter, in einem unregelmäßigen Dreiecksnetz und mit einem semi-regulären Dreiecksnetz anzuordnen und zu speichern.It is known to arrange and store the elevation values in a regular or regular grid, in an irregular triangle mesh and with a semi-regular triangle mesh.
Bei einem regulären Dreiecksgitter werden die Höhenwerte zu einem jeden Eckpunkt eines in der Ebene angeordneten Dreiecks gespeichert, wobei alle Dreiecke in der Ebene kongruent zueinander sind. Da für einen jeden Eckpunkt ein Höhenwert benötigt wird, sind die Speicheranforderungen sehr hoch. Beispielsweise müssen für eine flache Ebene genauso viele Höhenwerte pro Fläche gespeichert werden, wie für einen stark konturierten Bereich. Damit der stark konturierte Bereich jedoch korrekt dargestellt werden kann, dürfen die einzelnen Dreiecke nicht zu groß sein. Durch Datenkompression können die Speicheranforderungen etwas vermindert werden.In a regular triangular grid, the elevation values are stored at each vertex of a triangle arranged in the plane, with all triangles in the plane being congruent to each other. Since a height value is needed for each vertex, the memory requirements are very high. For example, for a flat layer, the same amount of height values per surface must be stored as for a strongly contoured area. However, to ensure that the strongly contoured area can be displayed correctly, the individual triangles must not be too large. Data compression can somewhat reduce storage requirements.
Unregelmäßige Dreiecksnetze (TIN: Triangle Irregular Grid) speichern irreguläre Dreiecksnetze. Mit einem Verfahren zum Erzeugen derartiger irregulärer Dreiecksnetze können Höhenprofile sehr gut approximiert werden, da in stark konturierten Bereichen kleinere Dreiecksflächen und in weniger konturierten Bereichen größere Dreiecksflächen vorgesehen werden. Hierdurch können einerseits stark konturierte Bereiche exakt wiedergegeben werden und andererseits ebene Flächen mit wenigen Daten korrekt gespeichert werden. Ein solches Dreiecksnetz löst einerseits das Problem des Speicherbedarfs und andererseits das Problem der Genauigkeit der Darstellung eines Höhenprofils. Die Bearbeitung und Erzeugung derartiger irregulärer Dreiecksnetze ist jedoch sehr aufwändig. Die Suche von Höhenwerten in irregulären Dreiecksnetzen ist kompliziert. Ein solches irreguläres Dreiecksnetz ist nicht hierarchisch aufgebaut und es muss immer eine vollständige Beschreibung der Dreiecksnetze abgespeichert werden.Irregular triangular networks (TIN: Triangle Irregular Grid) store irregular triangular networks. With a method for producing such irregular triangular nets height profiles can be very well approximated, since in larger contoured areas smaller triangular areas and in less contoured areas larger triangular areas are provided. In this way, on the one hand, strongly contoured areas can be reproduced exactly and, on the other hand, flat areas with a small amount of data can be stored correctly. Such a triangle mesh solves on the one hand the problem of the memory requirement and on the other hand the problem of the accuracy of the representation of a height profile. The processing and production of such irregular triangular networks is very complex. The search for altitude values in irregular triangular meshes is complicated. Such an irregular triangle mesh is not hierarchical and it is always necessary to store a complete description of the triangular meshes.
Weiterhin sind ROAM-Netze (Real-time Optimal Adapting Meshes) bekannt. Diese Netze sind semi-reguläre Dreiecksnetze zur Darstellung eines Höhenfeldes. Sie benötigen deutlich weniger Dreiecke als ein reguläres Gitter, aber etwas mehr als ein unregelmäßiges Dreiecksnetz.Furthermore, ROAM networks (Real-time Optimal Adapting Meshes) are known. These nets are semi-regular triangular meshes representing a height field. They require significantly fewer triangles than a regular grid, but a little more than an irregular triangle mesh.
Bei den unregelmäßigen Dreiecksnetzen und bei den semi-regulären Dreiecksnetzen werden die Höhenwerte zusammen mit den X-/Y-Koordinaten gespeichert. Dies heißt, dass für einen jeden Höhenpunkt alle drei Raumkoordinaten gespeichert werden.For the irregular triangular meshes and the semi-regular triangular meshes, the elevation values are stored along with the XY coordinates. This means that for each altitude point all three space coordinates are stored.
Der vorliegenden Erfindung liegt die Aufgabe zugrunde, ein Verfahren zum Speichern von Profildaten für ein vorgegebenes Höhenprofil, sowie entsprechende Profildaten und ein Verfahren zum Erzeugen eines Höhenprofils aus solchen Profildaten zu schaffen, so dass ein vorgegebenes Höhenprofil durch die Profildaten präzise wiedergegeben wird, die Datenmenge gering ist und das Verfahren einfach und schnell ausführbar ist.The present invention has for its object to provide a method for storing profile data for a given height profile, as well as corresponding profile data and a method for generating a height profile of such profile data, so that a predetermined height profile is accurately reproduced by the profile data, the amount of data low and the process is easy and quick to execute.
Die Aufgabe wird durch das in den unabhängigen Ansprüchen definierte Verfahren zum Speichern von Profildaten, den entsprechenden Profildaten und dem Verfahren zum Erzeugen eines Höhenprofils gelöst. Vorteilhafte Ausgestaltungen der Erfindung sind in den jeweiligen Unteransprüchen definiert.The object is achieved by the method for storing profile data, the corresponding profile data and the method for generating a height profile, as defined in the independent claims. Advantageous embodiments of the invention are defined in the respective subclaims.
Das erfindungsgemäße Verfahren zum Speichern von Profildaten für ein vorliegendes Höhenprofil umfasst folgende Schritte:
- (a) Vorsehen eines regelmäßigen Rasters mit polygonalen Rasterfeldern eines nullten Levels in einer Ebene, wobei Eckpunkte der Rasterfelder Rasterpunkte darstellen, und zu jedem Rasterpunkt ein Höhenwert gespeichert wird,
- (b) Bestimmen eines Fehlerwertes für ein jedes Rasterfeld, der eine Abweichung eines durch die Höhenwerte des Rasterfelds approximierten Höhenprofils vom vorgegebenen Höhenprofil beschreibt,
- (c) Unterteilen der Rasterfelder, deren Fehlerwert einen vorbestimmten Schwellwert überschreitet, in polygonale Teilrasterfelder, wobei zumindest zu den Eckpunkten der Teilrasterfelder, die nicht mit Eckpunkten der Rasterfelder zusammen fallen, Höhenwerte gespeichert werden,
- (d) Zuordnen jeweils eines Indikators zu einem jeden Rasterfeld, wobei der Indikator beschreibt, ob das Rasterfeld unterteilt ist oder nicht, und Speichern dieser Indikatoren zusammen mit den Höhenwerten, und
- (e) Wiederholen der Schritte (b) bis (d) für alle Teilrasterfelder, wobei die Teilrasterfelder eines i-ten Levels Rasterfelder eines i + 1-ten Level bilden, wobei die Höhenwerte in einer vorbestimmten Reihenfolge gespeichert werden, so dass die Höhenwerte aufgrund der Reihenfolge jeweils einem bestimmten Eckpunkt des Rasterfeldes zugeordnet sind und durch die Indikatoren eines j-ten Levels bestimmt ist, für welche Eckpunkte des j + 1-ten Levels Höhenwerte gespeichert sind.
- (a) providing a regular grid with polygonal grids of a zeroth level in a plane, where vertices of the grids represent halftone dots, and an elevation value is stored for each grid point,
- (b) determining an error value for each grid which describes a deviation of a height profile approximated by the height values of the grid from the given height profile,
- (c) dividing the grids whose error value exceeds a predetermined threshold into polygonal sub-grids, wherein at least to the vertices of the sub-grids that do not coincide with vertices of the grids, height values are stored,
- (d) assigning one indicator to each grid, the indicator describing whether the grid is subdivided or not, and storing these indicators together with the elevation values, and
- (e) repeating steps (b) through (d) for all sub-grids, wherein the sub-grids of an i-th level form rasters of i + 1-th level, wherein the altitude values are stored in a predetermined order such that the altitude values are the order are each assigned to a specific vertex of the grid and is determined by the indicators of a j-th level, for which vertices of the j + 1-th level height values are stored.
Durch diese Verfahren werden semi-reguläre Profildaten erzeugt. Rasterfelder, die ein vorgegebenes Höhenprofil mit der gewünschten Genauigkeit wiedergeben, werden nicht unterteilt, wohingegen Rasterfelder, die das vorgegebene Höhenprofil nicht mit der gewünschten Genauigkeit wiedergeben, in Teilrasterfelder unterteilt werden. Diese Teilrasterfelder können wiederum unterteilt werden (Rekursion). Diese Unterteilung kann an sich beliebig oft wiederholt werden. Hierdurch ist es grundsätzlich möglich, ein vorgegebenes Höhenprofil beliebig genau zu approximieren. Ebenflächige Bereiche in einem vorgegebenen Höhenprofil können hingegen mit einem großflächigen Rasterfeld sehr exakt approximiert werden, ohne dass weitere Unterteilungen und damit weitere Höhenwerte notwendig sind.These procedures generate semi-regular profile data. Grids that reflect a given height profile with the desired accuracy are not subdivided, whereas grids that do not reflect the given height profile with the desired accuracy are subdivided into sub-grids. These partial grid fields can in turn be subdivided (recursion). This subdivision can be repeated as often as desired. As a result, it is fundamentally possible to approximate a given height profile as exactly as desired. On the other hand, flat areas in a given height profile can be approximated very accurately with a large-area grid, without the need for further subdivisions and thus additional height values.
Hiermit wird somit eine sehr präzise Approximierung des vorgegebenen Höhenprofils erzeugt, als auch eine Aufteilung in kleine Rasterfelder nur ausgeführt, wo es notwendig ist. Dadurch kann die Anzahl an Höhenwerten gering gehalten werden.Thus, a very precise approximation of the given height profile is generated, as well as a division into small grids only executed where it is necessary. This allows the number of altitude values to be kept low.
Mit den Indikatoren wird beschrieben, welches Rasterfeld unterteilt ist oder nicht unterteilt ist. Da die Indikatoren zusammen mit den Höhenwerten gespeichert werden und dem jeweiligen Rasterfeld zugeordnet sind, enthalten die gespeicherten Profildaten die Information über die Teilung der einzelnen Rasterfelder. Die Höhenwerte sind für ein jeweiliges Rasterfeld in einer vorbestimmten Reihenfolge gespeichert, so dass die Höhenwerte aufgrund der Reihenfolge jeweils einem bestimmten Eckpunkt des jeweiligen Rasterfeldes zugeordnet sind. Hierdurch ist es nicht notwendig, die X- und Y-Koordinaten der Eckpunkte der Rasterfelder zu speichern. Diese Information ist in den Profildaten impliziert durch die Reihenfolge der Höhenwerte in Kombination mit den Indikatoren enthalten, mit welchen die einzelnen Abschnitte der gespeicherten Höhenwerte eindeutig einem Rasterfeld zuordenbar sind. Da die X- und Y-Koordinaten der Eckpunkte der Rasterfelder nicht explizit gespeichert werden, verringert sich das Datenvolumen der Profildaten erheblich. Ein geringes Datenvolumen benötigt zum einen wenig Speicherbedarf und lässt sich zum anderen wesentlich schneller als ein großes Datenvolumen verarbeiten. Dies bedeutet, dass die erfindungsgemäßen Profildaten in einem mobilen Geoinformationssystem einfach abgespeichert und verarbeitet werden können, ohne dass eine außergewöhnlich hohe Rechenleistung notwendig ist. Im Vergleich zu herkömmlichen Profildaten ist es möglich, bei gleicher Rechenleistung die Qualität der Auflösung erheblich zu steigern.The indicators describe which grid is subdivided or not subdivided. Since the indicators are stored together with the altitude values and assigned to the respective grid, the stored profile data contains the information about the division of the individual grid fields. The height values are stored for a respective grid in a predetermined order, so that the height values are each assigned to a specific vertex of the respective grid due to the order. As a result, it is not necessary to store the X and Y coordinates of the vertices of the grids. This information is contained in the profile data implied by the order of the altitude values in combination with the indicators with which the individual sections of the stored altitude values are uniquely assignable to a grid. Since the X and Y coordinates of the corner points of the grids are not explicitly stored, the data volume of the profile data is reduced considerably. A small volume of data requires little storage space and can be processed much faster than a large volume of data. This means that the profile data according to the invention in a mobile geographic information system can be easily stored and processed without an exceptionally high computing power is necessary. Compared to conventional profile data, it is possible to significantly increase the quality of the resolution with the same computing power.
Die Rasterfelder haben eine polygonale Form, insbesondere eine dreieckförmige oder rechteckförmige Form. Vorzugsweise ist die Form der Rasterfelder einheitlich dreieckförmig oder rechteckförmig. Die Größe der einzelnen Rasterfelder der unterschiedlichen Level unterscheidet sich natürlich.The grids have a polygonal shape, in particular a triangular or rectangular shape. Preferably, the shape of the grid is uniformly triangular or rectangular. The size of the individual grids of the different levels is of course different.
Die Höhenwerte können als absolute Höhenwerte oder als relative Höhenwerte zu einer Bezugshöhe gespeichert werden. Vorzugsweise wird ein Teil der Höhenwerte als absolute Höhenwerte und die übrigen Höhenwerte werden als relative Höhenwerte gespeichert, wobei sich die relativen Höhenwerte auf einem bestimmten, gespeicherten absoluten Höhenwert beziehen. Beispielsweise wird in jedem Rasterfeld des nullten Levels ein absoluter Höhenwert gespeichert und alle weiteren Höhenwerte dieses Rasterfeldes des nullten Levels und der entsprechenden Teilrasterfelder werden als relative Höhenwerte unter Bezugnahme auf diesen einen absoluten Höhenwert gespeichert. Es kann auch zweckmäßig sein zu jedem Rasterfeld eines Levels einen absoluten Höhenwert zu speichern und die übrigen Höhenwerte als relative Höhenwerte zu speichern.The altitude values can be stored as absolute altitude values or as relative altitude values to a reference altitude. Preferably, a portion of the altitude values are stored as absolute altitude values and the remaining altitude values are stored as relative altitude values, wherein the relative altitude values relate to a particular, stored absolute altitude value. For example, an absolute height value is stored in each zeroth level grid, and all other elevation values of this zeroth level grid and the corresponding sub-grids are stored as relative altitude values with reference to this one absolute altitude value. It may also be useful to store an absolute height value for each grid of a level and to store the remaining altitude values as relative altitude values.
Die absoluten Höhenwerte sind vorzugsweise an Eckpunkten der Rasterfelder angeordnet, die wiederum ein regelmäßiges Raster darstellen, d. h., dass an einem vorbestimmten Punkt des jeweiligen Rasterfeldes ein absoluter Höhenwert vorgesehen ist. The absolute height values are preferably arranged at vertices of the grids, which in turn represent a regular grid, ie that an absolute height value is provided at a predetermined point of the respective grid.
Beim Bestimmen des Fehlerwertes eines Rasterfeldes bezüglich des folgenden Höhenprofils wird ein approximiertes Höhenprofil durch mehrere Dreieckflächen dargestellt, wobei die Höhenwerte Eckpunkte der Dreieckflächen bilden und ein Fehler bezüglich des vorgegebenen Höhenprofils nach einer vorbestimmten Metrik berechnet wird.In determining the error value of a grid with respect to the following elevation profile, an approximate elevation profile is represented by a plurality of triangular faces, wherein the elevation values form vertices of the triangular faces and an error in the predetermined elevation profile is calculated according to a predetermined metric.
Hierzu kann an sich eine beliebige Metrik zur Berechnung der Abweichung des approximierten Höhenprofils vom vorgegebenen Höhenprofil verwendet werden. Als Metrik kann beispielsweise ein Abstand des approximierten Höhenprofils zum vorgegebenen Höhenprofil verwendet werden, wobei der Abstand ein maximaler, ein mittlerer Abstand oder ein gewichteter Abstand sein kann. Als mittlerer Abstand wird ein Abstand verstanden, der an mehreren Punkten an der jeweiligen Dreiecksfläche berechnet und dann gemittelt wird. Ein gewichteter Abstand ist ein Abstand, der an mehreren Punkten einer Dreiecksfläche berechnet wird und dann gewichtet und gemittelt wird. Eine alternative Metrik ist das Integral über den absoluten Abstand zwischen dem approximierten Höhenprofils und dem vorgegebenen Höhenprofil.For this purpose, an arbitrary metric for calculating the deviation of the approximated height profile from the given height profile can be used per se. As a metric, for example, a distance of the approximated height profile can be used for the given height profile, wherein the distance may be a maximum, a mean distance or a weighted distance. The mean distance is understood to mean a distance which is calculated at several points on the respective triangular surface and then averaged. A weighted distance is a distance that is calculated at several points on a triangular surface and then weighted and averaged. An alternative metric is the integral over the absolute distance between the approximated height profile and the given height profile.
Das regelmäßige Raster des ersten Levels kann eine vorbestimmte Anzahl, insbesondere vier, polygonale Rasterfelder aufweisen. Dies ist insbesondere bei einer rechteckförmigen oder quadratischen Fläche zweckmäßig. Die entsprechenden Teilrasterfelder sind vorzugsweise Quadranten des ursprünglichen Rasterfeldes. Die weitere Unterteilung der Rasterfelder erfolgt wieder durch Teilrasterfelder in Form von Quadranten. Die sich hierdurch ergebende Datenstruktur entspricht einem Quad-Tree.The regular grid of the first level may have a predetermined number, in particular four, polygonal grids. This is particularly useful in a rectangular or square area. The corresponding sub-grids are preferably quadrants of the original grid. The further subdivision of the grids is again by partial grids in the form of quadrants. The resulting data structure corresponds to a quad-tree.
Die wiederholte Unterteilung der Rasterfelder stellt eine Rekursion dar.The repeated subdivision of the grids represents a recursion.
Ein erfindungsgemäßes Verfahren zum Erzeugen eines Höhenprofils umfasst folgende Schritte:
- – Lesen von erfindungsgemäßen Profildaten, wobei anhand der Indikatoren die jeweiligen Höhenwerte bestimmten Rasterfeldern zugeordnet werden und anhand der Reihenfolge, mit der die Höhenwerte in den Profildaten gespeichert sind, die Höhenwerte bestimmten Eckpunkten der Rasterfelder bzw. deren zweidimensionalen Koordinaten zugeordnet werden, und
- – Erzeugen von aneinander hängenden Dreiecksflächen, deren Eckpunkte jeweils benachbarte Höhenwerte sind, wobei die Dreiecksflächen das Höhenprofil darstellen.
- Reading of profile data according to the invention, wherein the respective elevation values are assigned to specific grids based on the indicators, and the elevation values are assigned to certain vertices of the grids or their two-dimensional coordinates based on the order in which the elevation values are stored in the profile data;
- - Creating triangular faces hanging from one another, whose vertices are respectively adjacent height values, the triangular areas representing the height profile.
Mit dem erfindungsgemäßen Verfahren können Profildaten sehr effizient gespeichert werden. Von der NASA sind SRTM-Daten mit 90 m horizontaler Auflösung bekannt, welche unkomprimiert 37,7 GB Speicherplatz und verlustfrei komprimiert 13,7 GB Speicherplatz benötigen. Die erfindungsgemäßen Profildaten benötigen für die gesamte Welt bei horizontaler Auflösung von 90 m lediglich 1 GB Speicherplatz.With the method according to the invention profile data can be stored very efficiently. NASA is aware of SRTM data with 90 m horizontal resolution, which requires uncompressed 37.7 GB of storage and lossless compressed 13.7 GB of storage space. The profile data according to the invention require only 1 GB storage space for the entire world with a horizontal resolution of 90 m.
Weiterhin erlaubt die Erfindung eine sehr schnelle Approximierung des Höhenprofils durch die Erstellung der Dreiecke (Triangulation).Furthermore, the invention allows a very fast approximation of the height profile by creating the triangles (triangulation).
Das erfindungsgemäße Verfahren ist inkrementell aufgebaut. Sobald man einen vollständigen Level gelesen hat, kann man bereits ein grobes Höhenprofil erstellen. Je mehr Level gelesen worden sind, desto detaillierter wird das Höhenprofil. Dies ist beispielsweise für ein Streaming von einem Server zu einem Client, insbesondere in einem in einem Kraftfahrzeug befindlichen Client, vorteilhaft, da man nach dem Übertragen der ersten Level bereits ein Höhenprofil erzeugen kann, das mit der weiteren Übertragung zunehmend präzisiert wird.The inventive method is constructed incrementally. Once you have read a full level, you can already create a rough elevation profile. The more levels have been read, the more detailed the elevation profile becomes. This is advantageous, for example, for streaming from a server to a client, in particular in a client located in a motor vehicle, because after the first levels have been transmitted, it is already possible to generate a height profile which is increasingly specified with the further transmission.
Das Verfahren ist hierarchisch aufgebaut. Dadurch kann sehr schnell auf einzelne Höhenwerte zugegriffen werden.The procedure is hierarchical. As a result, individual height values can be accessed very quickly.
Die Erfindung wird nachfolgend beispielhaft anhand der Zeichnung näher erläutert. Die Zeichnung zeigt in:The invention will be explained in more detail by way of example with reference to the drawing. The drawing shows in:
Beim nachfolgend erläuterten Ausführungsbeispiel zum Speichern von Profildaten für ein vorbestimmtes Höhenprofil wird von einem regelmäßigen Raster
Das Verfahren zum Speichern von Profildaten wird nachfolgend anhand von
Das Verfahren beginnt mit dem Schritt S1 (Start).The method of storing profile data will be described below with reference to FIG
The process starts with step S1 (start).
Im Schritt S2 werden die Rasterfelder
Im darauffolgenden Schritt (S3) werden die Höhenwerte 1–9 an den Eckpunkten
Mit diesen Höhenwerten wird das Höhenprofil approximiert (S4), indem jeweils die Höhenwerte dreier benachbarter Eckpunkte mit einem ebenflächigen Dreieck verbunden werden. Im vorliegenden Ausführungsbeispiel umfassen die Dreiecke beispielsweise die Eckpunkte 1, 2, 4 und 2, 4, 5 und 2, 3, 5 und 3, 5, 6 und 4, 5, 7 und 5, 7, 8 und 5, 6, 8 und 6, 8, 9. Es sind somit acht zusammenhängende Dreiecke, deren Eckpunkte entsprechend den jeweiligen Höhenwerten über der Ebene des Rasters
Für ein jedes Rasterfeld
Für ein jedes Rasterfeld
Ist die Abweichung des approximierten Höhenprofils vom vorgegebenen Höhenprofil größer als eine maximal vorbestimmte Abweichung, dann wird das Rasterfeld
Im vorliegenden Ausführungsbeispiel sind die Rasterfelder
Die in
Für den Eckpunkt 5 wird der Höhenwert als absoluter Wert H5 gespeichert. Für die anderen Eckpunkte 1–4 und 6–9 werden die Höhenwerte lediglich als Höhendifferenzen zu dem Höhenwert H5 gespeichert. Durch die Speicherung der Höhendifferenzen kann der notwendige Zahlenraum kleiner gehalten werden als beim Speichern von absoluten Höhenwerten. Zudem erlaubt das Vorsehen von Höhendifferenzen eine sehr schnelle Triangulierung des approximierten Höhenprofils.For
Im folgenden Schritt S8 wird geprüft, ob ein weiteres Raster des jeweiligen Levels vorhanden ist. Da beim vorliegenden Ausführungsbeispiel der nullte Level lediglich ein einziges Raster
Der Verfahrensablauf geht auf den Schritt S9 über, in dem geprüft wird, ob zumindest ein Indikator gesetzt ist (S9). Ist dies der Fall, dann bedeutet dies, dass zumindest ein Rasterfeld
Die Indikatoren und die Höhenwerte des ersten Rasters des ersten Levels werden im folgenden Datenfeld gespeichert:
Die Indikatoren 1, 0, 0, 1 bedeuten, dass die Rasterfelder
Der Höhenwert zum Eckpunkt H3 wird als absoluter Höhenwert gespeichert. Die übrigen Höhenwerte werden als relative Höhenwerte gespeichert, wobei sie Bezug auf den Höhenwert H3 nehmen.The height value to the corner point H3 is stored as an absolute height value. The remaining altitude values are stored as relative altitude values, referring to the altitude value H3.
Nach dem Speichern der Indikatoren und Höhenwerte im Schritt S7 wird im Schritt S8 wiederum geprüft, ob ein weiteres Raster des ersten Levels vorhanden ist. In diesem Fall gibt es ein weiteres Raster, nämlich den zweiten Quadranten des Rasters des 0-ten Levels, für das die Höhenwerte zu bestimmen sind. Deshalb verzweigt der Verfahrensablauf wieder auf den Schritt S3.After saving the indicators and height values in step S7, it is again checked in step S8 whether there is another raster of the first level. In this case, there is another raster, the second quadrant of the raster of the 0th level, for which the altitude values are to be determined. Therefore, the process flow branches back to the step S3.
Die Schritte S3 bis S8 bzw. S2 bis S8 werden so oft wiederholt, bis in allen Rasterfeldern des jeweils höchsten Levels die Fehlerwerte unter dem Schwellenwert liegen. Grundsätzlich können beliebig viele Level erzeugt werden. In jedem Level werden Höhenwerte für zumindest eines oder mehrere Raster berechnet. Die Datenfelder werden aufeinanderfolgend in eine Datei gespeichert, wobei für das jeweilige Raster zunächst die Indikatoren mit einem Zahlenwert und dann nachfolgend die Höhenwerte mit jeweils einem Zahlenwert gespeichert werden. Die Höhenwerte werden mit einer vorbestimmten Reihenfolge gespeichert. Im vorliegenden Ausführungsbeispiel werden die Höhenwerte in der Reihenfolge 1, 2, 3, 4, 5, 6, 7, 8, 9 der in
Als Datenfelder werden nur die Werte in der linken Spalte der in den beiden obigen Tabellen gezeigten Datenfelder in eine Datei gespeichert. Durch das Vorsehen der Indikatoren und der bestimmten Reihenfolge, mit welcher die Höhenwerte in den Datenfeldern angeordnet sind, sind die einzelnen Höhenwerte jeweils einem bestimmten Eckpunkt zuordenbar.As data fields, only the values in the left column of the data fields shown in the two tables above are stored in a file. By providing the indicators and the particular order in which the elevation values are arranged in the data fields, the individual elevation values can each be assigned to a specific vertex.
Im Rahmen der Erfindung können selbstverständlich andere Reihenfolgen gewählt werden und es kann selbstverständlich auch eine andere Form der Rasterfelder gewählt werden. Es können auch dreieckförmige Rasterfelder sinnvoll sein. Ein Raster kann auch eine andere Anzahl von Rasterfeldern enthalten. Grundsätzlich ist es auch möglich, dass die Anzahl der Rasterfelder pro Raster in den einzelnen Level variiert. Es ist jedoch vorteilhaft, in allen Leveln die gleiche Form und/oder Anzahl der Rasterfelder zu verwenden und auch die gleiche Reihenfolge der Zuordnung der Höhenwerte zu den Eckpunkten beizubehalten. Hierdurch können sowohl beim Speichern als auch beim Lesen der Profildaten die Höhenwerte den jeweiligen Eckpunkten sehr einfach, schnell und eindeutig mit dem gleichen Regelsatz zugeordnet werden.In the context of the invention, of course, other orders can be selected and of course, another form of the grid can be selected. It can also be useful triangular grids. A grid can also contain a different number of grids. In principle, it is also possible that the number of grids per grid varies in each level. However, it is advantageous to use the same shape and / or number of grids in all levels and also to maintain the same order of assignment of the height values to the vertices. As a result, both when saving and when reading the profile data, the height values can be assigned to the respective corner points very simply, quickly and unambiguously with the same rule set.
Beim Lesen der Profildaten werden die Indikatoren und die jeweiligen Höhenwerte eines bestimmten Levels zunächst gelesen, dann werden die Höhenwerte den Eckpunkten des Rasters zugeordnet. Danach werden die Indikatoren und die Höhenwerte des nächsten Levels gelesen. Diese Höhenwerte werden anhand der Indikatoren des vorhergehenden Levels und der vorbestimmten Reihenfolge Eckpunkten vom Rasterfeld des vorliegenden Levels zugeordnet. Dies wird so oft wiederholt, bis die Höhenwerte aller Level gelesen und entsprechenden Eckpunkten zugeordnet worden sind. Das Höhenprofil wird dann aus zusammenhängenden Dreiecksflächen erzeugt, wobei die Eckpunkte der Dreiecksflächen jeweils benachbarte Höhenwerte sind. Die zusammenhängenden Dreiecksflächen bilden dann das Höhenprofil.When reading the profile data, the indicators and the respective height values of a certain level are read first, then the height values are assigned to the vertices of the grid. Then the indicators and the altitude values of the next level are read. These elevation values are assigned vertices from the grid of the present level based on the indicators of the previous level and the predetermined order. This is repeated until the elevation values of all levels have been read and assigned to corresponding vertices. The elevation profile is then generated from contiguous triangular faces, where the vertices of the triangular faces are each adjacent elevation values. The contiguous triangular surfaces then form the height profile.
Die erfindungsgemäßen Profildaten werden beispielsweise zum Darstellen eines Geländes an einem Geoinformationssystem verwendet. Hierbei ist es möglich, zunächst nach dem Lesen der Höhenwerte einiger weniger Level ein vorläufiges Geländeprofil zu berechnen. Nach dem Lesen von Höhenwerten weiterer Level kann das Geländeprofil weiter verfeinert werden.The profile data according to the invention are used, for example, for displaying a terrain on a geographic information system. Here it is possible to first calculate a preliminary terrain profile after reading the elevation values of a few levels. After reading altitude values of further levels, the terrain profile can be further refined.
BezugszeichenlisteLIST OF REFERENCE NUMBERS
- 11
- Rastergrid
- 22
- Rasterfeldgrid
- 33
- Eckpunktvertex
- 44
- Teilrasterfeld von Level Null bzw. Rasterfeld von Level EinsSub-grid of level zero or grid of level one
- 55
- Teilrasterfeld von Level Eins bzw. Rasterfeld von Level ZweiPartial Grid of Level One or Grid of Level Two
Claims (13)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE201310207066 DE102013207066A1 (en) | 2013-04-19 | 2013-04-19 | Method for storing altitude profile data, as well as profile data and method for generating a height profile from these profile data |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE201310207066 DE102013207066A1 (en) | 2013-04-19 | 2013-04-19 | Method for storing altitude profile data, as well as profile data and method for generating a height profile from these profile data |
Publications (1)
Publication Number | Publication Date |
---|---|
DE102013207066A1 true DE102013207066A1 (en) | 2014-10-23 |
Family
ID=51628911
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE201310207066 Pending DE102013207066A1 (en) | 2013-04-19 | 2013-04-19 | Method for storing altitude profile data, as well as profile data and method for generating a height profile from these profile data |
Country Status (1)
Country | Link |
---|---|
DE (1) | DE102013207066A1 (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE102019213532A1 (en) * | 2019-09-05 | 2021-03-11 | Zf Friedrichshafen Ag | Find a slope |
-
2013
- 2013-04-19 DE DE201310207066 patent/DE102013207066A1/en active Pending
Non-Patent Citations (2)
Title |
---|
PAJAROLA, R.; GOBBETTI, E.: Survey of semi-regular multiresolution models for interactive terrain rendering. The Visual Computer, Volume 23 Issue 8, July 2007, Seiten 583 - 605. * |
PAJAROLA, R.; GOBBETTI, E.: Survey of semi-regular multiresolution models for interactive terrain rendering. The Visual Computer, Volume 23 Issue 8, July 2007, Seiten 583 – 605. |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE102019213532A1 (en) * | 2019-09-05 | 2021-03-11 | Zf Friedrichshafen Ag | Find a slope |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE112009004371T5 (en) | Collision determination device and collision determination program | |
DE102004004641A1 (en) | Image processing method, involves determining contribution of each voxel to bin of detector array or vice versa in accordance with projections of voxel edges and detector bin edges on predetermined plane | |
EP1631938A1 (en) | Method for generating a three-dimensional terrain model | |
DE102014208967A1 (en) | Environment map for driving surfaces with any height gradient | |
EP2602591B1 (en) | Method for simplified storage of data representing shapes | |
DE112013007652T5 (en) | Sequence for resolving faults in building a global raster for complex fault network topologies | |
DE112013007399T5 (en) | Global grid creation in postponed areas by an optimized equalization process | |
DE102013207066A1 (en) | Method for storing altitude profile data, as well as profile data and method for generating a height profile from these profile data | |
DE102013206276A1 (en) | Method and device for creating a functional model for a control unit of an engine system | |
WO2023279125A1 (en) | Method for providing simulation cells for continuum mechanical simulations of an object | |
WO2009124663A1 (en) | Semi-global correspondence search in stereo images | |
DE102018122842A1 (en) | Computer-implemented method for compressing measurement data from a measurement of a measurement volume | |
DE102012203117A1 (en) | Method and system for determining a boundary mesh | |
EP3465608B1 (en) | Method and device for determining a transfer between two display images, and vehicle | |
DE102014103768A1 (en) | Method for compression of observations of a plurality of test procedures | |
EP1645036B1 (en) | Data compression of simulation results | |
EP3168673B1 (en) | System for the visualization of image data | |
DE102022112184A1 (en) | METHOD FOR DETERMINING A ROLLING CONTACT BETWEEN A ROLLING BODY AND A SMOOTHED SURFACE | |
WO2022090046A1 (en) | Masking method, computer program, storage medium and electronic control unit | |
EP3905095A1 (en) | Computer-implemented method for calculating and providing at least one value of at least one parameter of a solid object | |
DE102021104886A1 (en) | Computer-implemented method for determining a spatial distribution of element size values for geometric primitives of a mesh representation from a digital representation of an object for a simulation of the object | |
WO2022101258A2 (en) | Method for compressing model data, and computer system | |
DE102010052069A1 (en) | Method for operating navigation system to perform sharp three-dimensional representation of feature polygons e.g. river, in two-dimensional map, involves determining whether point is found inside or outside surface element on basis of tree | |
DE102012218854A1 (en) | Method of compressing image data, particularly image data of remote sensing images produced by satellites, involves segmenting output image in segmentation section into image object, and coding image object | |
DE10196812B4 (en) | A method of accelerating the generation and display of volume-rendered; Partially cutaway views of three-dimensional images |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
R163 | Identified publications notified | ||
R012 | Request for examination validly filed |