Highway strip BIM_GIS multi-scale terrain fusion method
Patent Information
- Application Number
- CN202611421096.8
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2026-09-14
- Publication Date
- 2026-10-16
AI Technical Summary
[0003]现有BIM与GIS地形融合处理中,不同来源模型在分辨率、高程和纹理细节方面存在差异,直接衔接时,边界区域容易出现错位、悬浮、陷入以及几何或颜色跳变,且面向带状公路场景浏览时,常规空间区域加载方式还可能加载视野外或与观察距离不匹配的数据,增加内存占用和图形处理负担
[0037]Compared to the method of directly overlaying BIM 3D models with GIS basic terrain data, this application first divides continuous intervals based on mileage marker information and establishes multi-scale pyramid models for each interval. Secondly, it generates buffer zones based on the boundaries of the BIM 3D models, and then applies gradient processing to the corresponding elevations and texture colors according to the distance from the vertices to the boundaries within the buffer zones, forming a fused multi-scale pyramid model. Because the data on both sides of the boundary is continuously adjusted according to spatial distance, the elevation and color differences between the detailed model and the basic terrain gradually transition within the buffer zone, thereby reducing misalignment, floating, sinking, and abrupt changes at model boundaries, and maintaining the correspondence between the fused results of each interval and the mileage marker range.
Smart Images

Figure CN122928650A_ABST
Abstract
Description
Technical Field
[0001] This invention relates to the field of data fusion technology, specifically to a method for multi-scale terrain fusion of highway strip BIM_GIS. Background Technology
[0002] With the development of digitalization of highway infrastructure and the application of 3D geographic information, BIM models can express the detailed geometry and texture of facilities such as bridges and tunnels, while GIS data can provide a large-scale topographical, imagery, and spatial location basis along the route. Merging these two types of data into a unified 3D scene can be used for highway facility display and spatial analysis. Since highways extend continuously along the route, the data accuracy and coverage vary across different sections, requiring careful handling of the connection between the detailed model and the basic terrain during fusion.
[0003] In existing BIM and GIS terrain fusion processing, models from different sources differ in resolution, elevation, and texture detail. When directly merging them, boundary areas are prone to misalignment, floating, embedding, and geometric or color abrupt changes. Furthermore, when browsing linear highway scenes, conventional spatial area loading methods may load data outside the field of view or that does not match the viewing distance, increasing memory consumption and graphics processing burden. Therefore, there is a challenge in simultaneously achieving continuous fusion of model boundaries and on-demand scheduling of scale data. Summary of the Invention
[0004] The purpose of this invention is to provide a multi-scale terrain fusion method for highway strip BIM_GIS to address the shortcomings of the prior art.
[0005] To achieve the above objectives, the present invention provides the following technical solution: a highway strip BIM_GIS multi-scale terrain fusion method, the method comprising:
[0006] Acquire information on the highway centerline, mileage markers, GIS basic topographic data, BIM 3D model, and mileage marker coverage area;
[0007] Based on the mileage marker information, the highway is divided into continuous sections, and a multi-scale pyramid model is built for each section. A buffer zone is generated based on the boundary of the BIM 3D model. According to the distance from each vertex in the buffer zone to the boundary, the BIM 3D model and the GIS basic terrain data are subjected to gradient processing to obtain a fused multi-scale pyramid model. Each section that intersects with the mileage marker coverage area is determined as a target section. The scale level of each target section is loaded from the fused multi-scale pyramid model to obtain the target scene data. The scale level includes the basic terrain layer and the background image layer.
[0008] Output a 3D road strip scene based on the target scene data.
[0009] As one possible design, the BIM 3D model and GIS basic terrain data are subjected to gradient processing based on the distance from each vertex within the buffer zone to the boundary, including:
[0010] A ring-shaped buffer zone extends outward from the boundary along the highway route and in the lateral direction;
[0011] Determine the shortest distance from each vertex to the boundary within the circular buffer zone, and determine the weights of BIM data and GIS data based on the relative positions of the shortest distances within the buffer width;
[0012] The elevation and texture color of each vertex are weighted according to the weights of BIM data and GIS data.
[0013] As one possible design, obtaining the coverage area of the mileage markers includes:
[0014] Obtain the position, orientation, field of view, and distance to the far plane of the virtual camera, and determine the intersection of the virtual camera's view cone and the plane containing the road centerline;
[0015] Calculate the mileage markers corresponding to each point on the intersection line, and determine the coverage area of the mileage markers based on the minimum and maximum mileage markers among them.
[0016] Based on the distance between each target segment and the virtual camera, the scale level to be loaded is determined from the fused multi-scale pyramid model.
[0017] As one possible design, the scale hierarchy also includes an oblique photography model layer and a facility unit model layer;
[0018] When the distance from the virtual camera to the target segment is greater than A2 meters, load the basic terrain layer and the background image layer;
[0019] When the distance is A1 meters to A2 meters, a high-precision oblique photogrammetry model layer is loaded.
[0020] When the distance is less than A1 meters, load the critical facility unit model layer.
[0021] As one possible design, the highway is divided into continuous sections based on mileage marker information, including:
[0022] Highways are divided according to a preset mileage, or the boundary of the interval is determined by the terrain change location of the tunnel entrance or bridge.
[0023] Each scale level of the multi-scale pyramid model is associated with the starting and ending station numbers of the interval segment in which it is located.
[0024] As one possible design, after outputting the 3D scene of the highway strip, the method also includes:
[0025] Receive dynamic business data sent by the business system. The dynamic business data includes asset codes and content to be presented or device operating status.
[0026] Based on the asset code, locate the corresponding target model in the highway strip 3D scene and determine the specified material area of the target model.
[0027] As one possible design approach, the method also includes:
[0028] Call the graphics processor interface to render the content to be presented or the device's operating status as a dynamic texture according to a preset display style;
[0029] The dynamic texture is assigned to a specified material area of the target model to cover the original texture of the specified material area.
[0030] As one possible design, target models include variable message sign models, camera equipment models, or tunnel ventilation fan models;
[0031] Dynamic business data includes information board content, video streams, or device on / off status;
[0032] The specified material area is a dynamic material slot that is pre-set on the surface of the target model.
[0033] As one possible design, after determining each target interval, the method also includes:
[0034] The intervals that do not intersect with the coverage area of the mileage markers are identified as non-target intervals, and the model data corresponding to the non-target intervals are unloaded.
[0035] As a possible design, the position, orientation, field of view, and distance to the far plane of the virtual camera are acquired in real time, and the coverage area of the mileage markers, each target segment, and the corresponding scale level are redefined based on the changed virtual camera parameters. The client's 3D rendering engine then schedules the data of the corresponding scale level within each target segment that has been redefined.
[0036] The technical effects and advantages provided by the present invention in the above technical solution are as follows:
[0037] Compared to the method of directly overlaying BIM 3D models with GIS basic terrain data, this application first divides continuous intervals based on mileage marker information and establishes multi-scale pyramid models for each interval. Secondly, it generates buffer zones based on the boundaries of the BIM 3D models, and then applies gradient processing to the corresponding elevations and texture colors according to the distance from the vertices to the boundaries within the buffer zones, forming a fused multi-scale pyramid model. Because the data on both sides of the boundary is continuously adjusted according to spatial distance, the elevation and color differences between the detailed model and the basic terrain gradually transition within the buffer zone, thereby reducing misalignment, floating, sinking, and abrupt changes at model boundaries, and maintaining the correspondence between the fused results of each interval and the mileage marker range. Attached Figure Description
[0038] To more clearly illustrate the technical solutions in the embodiments of this application or the prior art, the drawings used in the embodiments will be briefly introduced below. Obviously, the drawings described below are only some embodiments recorded in this invention. For those skilled in the art, other drawings can be obtained based on these drawings.
[0039] Figure 1 This is a flowchart of the highway strip BIM_GIS multi-scale terrain fusion method of the present invention.
[0040] Figure 2 This is a schematic diagram of the buffer gradient processing structure of the present invention.
[0041] Figure 3 This is a schematic diagram illustrating the principle of dual-drive scale scheduling of the visual cone and mileage marker in this invention.
[0042] Figure 4 This is a comparative schematic diagram showing the terrain gradient treatment at the tunnel entrance and exit of the present invention before and after.
[0043] Figure 5 This is a schematic diagram illustrating the texture representation of the dynamic business data of the present invention on the surface of the target model. Detailed Implementation
[0044] To make the objectives, technical solutions, and technical effects of this invention clearer, the following description, in conjunction with the accompanying drawings and specific embodiments, further illustrates the highway strip BIM_GIS multi-scale terrain fusion method. The described embodiments are used to explain the technical concept of this invention, and not to limit the scope of its implementation; those skilled in the art can make adaptive adjustments to the data organization, operating environment, and parameter values without departing from the technical concept of this invention.
[0045] In the following description, "some embodiments" may refer to a subset of all embodiments, or to technical content that can be combined with different embodiments. Where there is no technical conflict, the data acquisition method, interval division method, gradient processing method, scale scheduling method, and dynamic texture rendering method described in one embodiment can be combined with corresponding content in other embodiments.
[0046] In this invention, the highway centerline refers to linear geometric data used to characterize the spatial orientation of a highway. The highway centerline can originate from road design results, as-built survey results, or existing geographic information data, and it is marked with continuous mileage markers along the route. The mileage marker information is used at least to characterize the correspondence between positions on the highway centerline and their corresponding markers, and may include the starting marker, ending marker, direction of marker increment, and markers at the boundaries of intervals.
[0047] GIS basic topographic data is data used to represent the topographic relief and background imagery over a large spatial area along a highway, and may include at least one of digital elevation models (DEM), digital orthophotos (DOM), and satellite imagery. BIM 3D models are 3D models used to represent the geometric shape and texture information of bridges, tunnels, toll stations, interchanges, information boards, or other highway facilities, and may include oblique photogrammetry models and individual facility models.
[0048] A multi-scale pyramid model is a hierarchical data set organized according to spatial coverage, data resolution, geometric accuracy, and the level of detail in the model content. Different scale levels are used to represent the scene content of the same segment at different viewing distances, and each scale level is associated with the start and end station numbers of its respective segment. Scale levels may include a basic terrain layer, a background image layer, an oblique photogrammetry model layer, and a facility unit model layer.
[0049] The buffer zone is a transitional area extending outward from the boundary of the BIM 3D model, used to handle elevation and texture gradient processing between the BIM 3D model and the GIS basic terrain data. Fusion vertices are terrain or model vertices located within the buffer zone that participate in the calculation of elevation or texture color values. The distance from the fusion vertex to the boundary is used to determine the weights of the BIM data and the GIS data.
[0050] The mileage marker coverage area is the range of markers formed by mapping the view frustum coverage of the current 3D scene virtual camera onto the road centerline. Intersecting segments with the mileage marker coverage area are called target segments, and non-intersecting segments are called non-target segments. Target scene data is scale-level data loaded from the fused multi-scale pyramid model, belonging to the target segment and matching the distance to the current viewpoint.
[0051] Dynamic business data refers to data sent by traffic monitoring platforms or other business systems that needs to be presented in a highway-shaped 3D scene. This data can include asset codes, information board content, video streams, and equipment operating status. Dynamic material slots are material positions pre-set on a specified surface area of the target model, used to receive dynamically generated textures and update the displayed content on the model's surface.
[0052] In some embodiments, the present invention can be executed independently by a client-side 3D visualization system. The client reads the highway centerline, mileage marker information, GIS basic terrain data, and BIM 3D model stored locally or on the network, establishes a multi-scale pyramid model, performs gradient blending and scale scheduling, and outputs a highway strip 3D scene through a display device. The client can run on a desktop computer, graphics workstation, or other terminal with 3D graphics processing capabilities.
[0053] In other embodiments, the invention can be executed collaboratively by a server and a client. The server stores data along the route, establishes a mileage marker index, organizes a multi-scale pyramid model, and provides target scene data to the client; the client acquires virtual camera parameters, determines the mileage marker coverage area, initiates scale-level loading requests, and completes 3D rendering. The business system can send dynamic business data to the client via the network, or send it to the server first and then forward it to the client.
[0054] The client and server can communicate via a local area network (LAN) or a wide area network (WAN). The client can run 3D visualization programs in a browser, such as calling the Cesium 3D rendering engine in the Chrome browser; the client's graphics processor is used to perform terrain mesh display, texture fitting, and dynamic texture updates. The above-described equipment and software environment are used to illustrate one possible implementation and do not limit the invention to using a specific brand or specific program interface.
[0055] Before establishing the multi-scale pyramid model, spatial benchmarks are unified for the highway centerline, GIS basic topographic data, and BIM 3D model. Specifically, all data are converted to the same plane coordinate system and the same elevation benchmark, and length units are standardized. When the BIM 3D model uses local engineering coordinates, translation, rotation, and scale transformation relationships are determined using known control points in the model and corresponding control points in the GIS coordinates, transforming the BIM 3D model to the geographic spatial location corresponding to the highway centerline. After the transformation, the same spatial location has comparable plane coordinates and elevation values across all data sets.
[0056] When establishing a correspondence between mileage marker information and the highway centerline, the marker number can be determined based on the cumulative length of the centerline's broken line or curve, or by reading the marker number attributes stored in the highway design data. For sampling locations on the centerline, the corresponding marker number is determined based on the proportion of that sampling location to adjacent control points, thus forming a mapping between spatial location and mileage markers. The same mapping is used to record the starting and ending marker numbers for each section and each scale level.
[0057] The aforementioned spatial benchmark unification and stationing mapping are used to ensure that model boundary extraction, distance calculation, elevation acquisition, texture sampling, and interval segment retrieval use a consistent calculation benchmark, without changing the highway facilities and roadside terrain content expressed by the BIM 3D model and GIS basic terrain data.
[0058] Example 1
[0059] like Figure 1 As shown in the figure, this embodiment provides a method for multi-scale terrain fusion of highway strip BIM_GIS. First, the highway centerline, mileage marker information, GIS basic terrain data, BIM 3D model, and mileage marker coverage area are acquired. Based on the mileage marker information, the highway is divided into continuous segments, and a multi-scale pyramid model is established for each segment. A buffer zone is generated based on the boundary of the BIM 3D model. According to the distance from each vertex in the buffer zone to the boundary, the BIM 3D model and the GIS basic terrain data are subjected to gradient processing to obtain the fused multi-scale pyramid model.
[0060] Subsequently, the segments intersecting with the coverage area of the mileage markers are identified as target segments, and the scale levels of each target segment are loaded from the fused multi-scale pyramid model to obtain target scene data. The scale levels include at least a basic terrain layer and a background image layer. Based on the target scene data, a highway strip-shaped 3D scene is output. Depending on the needs of scene observation, the scale levels may also include an oblique photogrammetry model layer and a facility unit model layer.
[0061] After outputting the 3D scene of the highway strip, it can receive dynamic business data sent by the business system. The dynamic business data includes asset codes and the operating status of the content to be presented or the equipment. Based on the asset codes, it locates the corresponding target model in the 3D scene of the highway strip and determines the specified material area of the target model. It calls the graphics processor interface to render the content to be presented or the operating status of the equipment as a dynamic texture according to the preset display style, and then assigns the dynamic texture to the specified material area.
[0062] After determining the target interval, intervals that do not intersect with the mileage marker coverage area can be designated as non-target intervals, and the model data corresponding to the non-target intervals can be unloaded. As the position, orientation, field of view, or distance to the far plane of the virtual camera changes, the mileage marker coverage area, target interval, and corresponding scale level are redefined, and the redefined data is scheduled by the client's 3D rendering engine.
[0063] The above processing forms a continuous data link: mileage information is used to establish a linear spatial index, the linear spatial index is used to organize the multi-scale pyramid model of each interval segment, buffer gradient processing is used to form a fused multi-scale pyramid model, mileage coverage interval is used to filter target interval segments, viewpoint distance is used to select the scale level from the target interval segment, the selected scale level constitutes the target scene data, and the target scene data is used to output the highway strip 3D scene.
[0064] This embodiment uses the mileage marker range as the basis for linking intervals and scale levels, allowing data continuously distributed along the route to be retrieved by station number. Elevation and texture within the buffer are continuously adjusted according to vertex spatial positions, creating a smooth transition between the BIM 3D model and the GIS basic terrain data near the boundary. Target interval filtering and scale level selection are performed sequentially, reducing the amount of data outside the current observation range entering the rendering process.
[0065] Taking the digital project of the G30 Xiaowu section expressway as an example, the design data of the entire expressway was first obtained, and a linear spatial index with mileage markers as the core was established based on the expressway centerline and the chainage system. Any position on the expressway centerline can correspond to a mileage marker, and the boundary of the interval is represented by the starting and ending mileage markers.
[0066] In one implementation, the highway is divided into N consecutive segments, each segment being 1 kilometer long, denoted as Seg1, Seg2, ..., Seg... N For the i-th interval segment Seg i Record its starting station number K start i and the ending station number K end i This ensures that adjacent sections are continuous in the direction of station number. The number of sections N is determined based on the total length of the highway and the actual division results.
[0067] In another implementation, it is not required that all intervals have the same length. Tunnel entrances, major bridges, interchanges, or locations of terrain changes can be used as interval boundaries. Using this method, an interval can cover road sections with relatively consistent terrain and model types, facilitating the determination of the corresponding fusion area and scale level in subsequent processing. The preset mileage length division method can also be used in combination with the terrain change location division method.
[0068] For each interval Seg i Construct an independent multi-scale pyramid model, and use the starting station K of this interval segment. start i and the ending station number K end i Identify the coverage area of the model. The various scale levels in the model can be organized using a unified data catalog, database records, or 3D tile index, as long as the data of the corresponding level can be located based on the station number range of the interval segment.
[0069] The base terrain layer can be used as LOD0, covering the entire Seg. i In this embodiment, the basic terrain layer uses a 30-meter resolution DEM and a 15-meter resolution satellite image to represent terrain undulations and background along the line at a relatively large viewing distance. This layer has a large data coverage area, and the geometric and texture details are relatively simplified.
[0070] The background image layer can be used as LOD1, also covering the entire Seg. i The background image layer uses a DOM with a resolution of 5 meters and a DEM with a resolution of 2 meters. Compared with the basic terrain layer, the background image layer provides finer surface images and elevation information, making it suitable for scenarios where the observation distance is shortened but a detailed facility model is not yet required.
[0071] The oblique photogrammetry model layer can be used as LOD2, covering Seg i Key sections within the area, such as interchanges, service areas, or other locations requiring detailed 3D terrain features, are included. The oblique photogrammetry model is generated by acquiring images along the route using a drone and organized in 3D Tiles format; in this embodiment, its ground resolution is better than 5 centimeters.
[0072] The facility's individual model layer can be used as LOD3, covering Seg i Key facilities within the area include bridges, tunnels, and toll stations. Individual facility models can be created using detailed modeling methods, such as establishing geometric models of tunnel portals, toll station canopies, variable message signs, and tunnel ventilation fans, and saving the corresponding texture and material information.
[0073] Different scale levels are all associated with mileage station ranges. For example, LOD0 and LOD1 can be associated with the entire Seg. i The starting and ending station numbers of the intervals are associated; LOD2 and LOD3 are associated with Seg. i In addition to the chainage range, the actual covered chainage within the interval can also be stored. When the client searches by chainage, it can first locate the interval and then determine the scale level existing in that interval.
[0074] In some embodiments, after the multi-scale pyramid model is established, interval segment index records can be generated. Each interval segment index record contains at least the interval segment identifier, starting station number, ending station number, and data location at each scale level. The client or server can retrieve the data available within a specified station range by reading this record, without having to traverse all model files for the entire highway.
[0075] In this way, the linear space of the highway is transformed into a set of segments arranged continuously along the direction of the kilometer markers, with each segment internally organized into multiple scale levels according to their fineness. This organization corresponds to the spatial characteristics of the highway extending along its route, providing a data foundation for subsequent data selection based on the coverage area of the kilometer markers and the selection of scale levels based on viewpoint distance.
[0076] like Figure 2 As shown, after the multi-scale pyramid model is established, a gradient processing is applied to the boundary area between the BIM 3D model and the GIS basic terrain data. Taking the tunnel entrance as an example, when the individual facility model at the tunnel entrance is directly connected to the basic terrain layer or background image layer, there may be differences between the two in terms of vertex elevation, grid density, and texture color. Therefore, a buffer zone is set based on the boundary of the individual facility model at the tunnel entrance.
[0077] The boundaries of a BIM 3D model can be defined by its outer contour in a unified planar coordinate system. For individual facility models with closed surface projections, the outer contour of its horizontal projection is extracted as the fusion boundary. For tunnel portals, bridge abutments, or other models that only connect with the terrain on the connecting side, the boundary segment connecting with the GIS base terrain is selected as the fusion boundary. The fusion boundary is offset by a buffer zone width D towards the GIS base terrain side, and the strip-shaped area between the offset boundary and the fusion boundary constitutes the buffer zone.
[0078] The annular buffer zone, as referred to in this paper, is a strip-shaped transition region formed around a closed outer contour, and is not required to be a circle. When the fusion boundary is an open line segment, the buffer zone is a strip-shaped transition region that extends continuously along that line segment. The fusion vertices involved in the processing within the buffer zone can originate from the GIS terrain grid or from the transition grid regenerated for the transition region.
[0079] Specifically, a ring-shaped buffer zone extends outward from the boundary of the BIM 3D model along the highway route and laterally on both sides of the boundary. The shape of the buffer zone varies with the boundary of the BIM 3D model and is not required to be a regular circle or rectangle. In the example of the entrance and exit of the G30 Xiaowu section tunnel, the buffer zone width D can be 20 meters.
[0080] The buffer width D represents the spatial distance from the boundary of the BIM 3D model to the outer boundary of the buffer zone. In practice, D can be set according to the elevation difference at the model boundary, the range of terrain changes, and the model size. Using 20 meters is only to illustrate one specific parameter; other widths that can form a continuous transition can also be used in the same way.
[0081] Traverse each merging vertex P within the buffer and determine the shortest distance d from that vertex to the boundary of the BIM 3D model. The shortest distance can be calculated from the spatial distance from the merging vertex to the boundary line segment or boundary mesh, and d is limited to between 0 and D. Merging vertices located at the boundary of the BIM 3D model correspond to d of 0, while merging vertices located at the outer boundary of the buffer correspond to d of D.
[0082] The BIM data weight ω is determined based on the relative position of d within the buffer width D. BIM and GIS data weight ω GIS In the implementation method that uses the boundary of the BIM 3D model as the distance starting point, ω can be set... BIM =1-d / D, ω GIS =d / D, so that ω BIM It is negatively correlated with the distance from the fused vertex to the boundary of the BIM 3D model, and the sum of the two weights is 1.
[0083] If we take the outer boundary of the buffer as the starting point of the distance, let d be the distance from the merged vertex to the outer boundary of the buffer. out Then it can be written as ω BIM =d out / D,ω GIS =1-ω BIM The two methods of expression have different starting points for distance, but both are used to achieve a gradual relationship where BIM data has a higher weight when closer to the BIM 3D model and GIS data has a higher weight when closer to the GIS basic terrain.
[0084] For the fused vertex P, its planar coordinates in the unified planar coordinate system are first used as the query location, and the corresponding elevation H is obtained from the GIS basic terrain data. GIS When using regular DEM rasters for GIS basic terrain data, interpolation can be performed based on the elevations of adjacent rasters; when using irregular terrain grids, interpolation can be performed based on the vertex elevations of the triangular mesh faces where the fused vertex projections are located. Then, by querying the corresponding positions on the BIM 3D model surface or fused boundary along the elevation direction, the BIM elevation H can be obtained. BIM If no directly intersecting model surfaces exist, the elevation of the point on the BIM 3D model boundary closest to the fusion vertex plane is used as H. BIM According to H P =ω BIM ×H BIM +ωGIS ×H GIS Calculate the final elevation H of the merged vertices. P .
[0085] In the general terrain fusion process, the planar coordinates of the fusion vertex P are kept unchanged, and only the calculated H is used. P The elevation component is written to avoid horizontal position offset caused by directly interpolating complete 3D coordinates between different grid topologies. Only when the BIM 3D model and the GIS basic terrain data have established a one-to-one correspondence between vertex values and use the same coordinate datum can the formula P=ω be used. BIM ×P BIM +ω GIS ×P GIS Process the complete coordinates or other interpolable geometric values, where P BIM and P GIS These represent the corresponding values of the same spatial location in the two types of data.
[0086] Texture colors are gradientd using the same weights as elevation. The planar coordinates of the merging vertices are used as sampling locations. The corresponding pixel colors are read from the GIS background image, and the corresponding colors on the model surface are read from the texture coordinates of the BIM 3D model. When a directly corresponding color cannot be obtained, the nearest valid texture color on the merging boundary is used. For textures with red, green, and blue color channels, each color channel is weighted separately. The calculation results can be written to the vertex colors of the transition mesh, or a transition texture covering the buffer can be generated, causing each pixel or vertex within the buffer to change continuously with the same distance weight.
[0087] In some embodiments, the elevation of the mesh vertices within the buffer is processed first, and then the texture color is processed based on the processed mesh position; alternatively, elevation and texture color can be calculated simultaneously when traversing the same fused vertex. Regardless of the execution order, the same fused vertex is kept to use a weight determined by its spatial distance.
[0088] After processing each fused vertex within the buffer, the transition model generated in the buffer is associated with the corresponding level in the original multi-scale pyramid model to obtain the fused multi-scale pyramid model. The fused multi-scale pyramid model retains the stationing relationships of each interval segment and each scale level, and also includes the gradient elevation and texture at the boundary between the BIM 3D model and the GIS basic terrain data.
[0089] The gradient processing in this embodiment does not alter the basic terrain data outside the buffer zone, nor does it require rebuilding the entire BIM 3D model. The processing is concentrated near the model boundaries, allowing elevation and texture color differences to vary continuously within the buffer zone width, thereby reducing noticeable seams at tunnel entrances / exits, bridge connections, or around toll stations. Figure 4 As shown, the comparison before and after gradient processing is used to illustrate the transition from abrupt elevation changes and texture jumps at the model boundary to a continuous transition within the buffer.
[0090] like Figure 3 As shown, after completing the construction of the fused multi-scale pyramid model, the data to be loaded is determined based on the virtual camera parameters. Virtual camera parameters can include position, orientation, field of view (FOV), and distance to the far plane. Position represents the 3D coordinates of the viewpoint, orientation represents the viewing direction, and the FOV and distance to the far plane together define the coverage area of the view frustum in 3D space.
[0091] In some embodiments, the client-side 3D rendering engine acquires virtual camera parameters each time the scene view changes and constructs a view frustum based on these parameters. The plane containing the highway centerline described herein is a local road reference plane established for a specific segment to determine the coverage area of the view frustum along the highway direction, rather than an infinite plane uniquely determined by the entire 3D highway centerline. For each candidate segment, the local road reference plane can be determined using the local tangent of the segment's centerline as the longitudinal direction, the horizontal direction as the transverse direction, and the representative elevation of the centerline. For segments with significant curvature or large changes in longitudinal slope, multiple local segments can be divided along the centerline to establish separate reference planes.
[0092] Calculate the effective intersection points between the view cone boundary and each local road reference plane, and determine the intercepted area of the view cone on the local road reference plane based on the effective intersection points; then project this intercepted area along the highway centerline direction to obtain the coverage line segment. The intersection line between the view cone and the plane containing the highway centerline, as described in this paper, is used to represent the coverage line segment formed by the above-mentioned intercepted area in the direction of the highway centerline. Map the endpoints or boundary sampling points of each coverage line segment to the highway centerline and calculate the corresponding station number; when there are multiple local coverage line segments, summarize the effective station numbers, and record the smallest station number as K. curr_start The maximum mileage station number is denoted as K. curr_end Thus, the coverage area of the mileage markers [K] is obtained. curr_start K curr_end When there is no valid interception area, the current mileage marker coverage area is empty.
[0093] The mileage marker coverage area reflects the current area covered by the sight cone along the highway route. For all Segment sections... i Set its station interval [K start i K end i The intersection of the segment with the coverage area of the mileage marker is determined. If there is an intersection, then Seg is set to... i Determine the target interval segment; if the two do not intersect, then set Seg... iIt has been determined to be a non-target interval segment.
[0094] For non-target intervals, the client may not initiate a data loading request; if data for a non-target interval has already been loaded, the corresponding model data for that interval will be unloaded. Unloading may include releasing 3D meshes, textures, and related caches, ensuring that the data retained by the client corresponds to the coverage area of the current view frustum along the kilometer marker direction.
[0095] For the target segment, the scale level to be loaded is further determined based on the distance between the virtual camera and the target segment. The distance can be the shortest distance from the virtual camera to the area enclosed by the target segment; in the same scene scheduling process, all target segments use the same distance definition and the same unit of length. Alternatively, the distance from the virtual camera to the center position of the segment or the corresponding position on the center line can be used, but the distance definition used should be consistent when determining A1 and A2.
[0096] A first distance threshold A1 and a second distance threshold A2 can be preset, where A1 is less than A2. When the distance from the virtual camera to the target segment is greater than A2, the basic terrain layer and background image layer are loaded; when the distance is between A1 and A2, the oblique photogrammetry model layer is loaded within the actual coverage area of the oblique photogrammetry model; when the distance is less than A1, the facility unit model layer is loaded within the actual coverage area of the facility unit model. Loading the oblique photogrammetry model layer or the facility unit model layer does not mean that the basic terrain layer and background image layer outside their coverage area must be unloaded.
[0097] In an example of the G30 Xiaowu section, A1 is set to 100 meters and A2 to 500 meters. When the distance is greater than 500 meters, only LOD0 and LOD1 are loaded; when the distance is between 100 and 500 meters, LOD2 is loaded; and when the distance is less than 100 meters, LOD3 is loaded. Depending on the need for continuous scene display, adjacent scale levels can also be loaded together for a period of time when switching positions.
[0098] The basic terrain layer and background image layer together form the basic scene for long-distance observation; the oblique photogrammetry model layer is used to present the three-dimensional details of the ground surface of key road sections at medium distances; the facility unit model layer is used for close-up observation of bridges, tunnels, toll stations, and other facilities. If a certain scale level does not exist for a target section, the existing level that is closest to the current distance for that section is loaded.
[0099] When a high-precision layer within the same target segment only covers a local road section, the base terrain layer and background image layer are used to supplement the areas not covered by the high-precision layer. In areas where high-precision and low-precision layers overlap, high-precision data can be displayed according to the layer priority relationship, while the corresponding low-precision surfaces can be hidden or masked. Thus, scale switching is used to change the level of detail in a local area without causing the surrounding terrain of the target segment to be missing due to the limited coverage of the high-precision model.
[0100] The target scene data is generated by extracting the unloaded scale levels of all target segments from the fused multi-scale pyramid model. This target scene data may include terrain meshes, background images, oblique photogrammetric tiles, individual facility models, and corresponding material information. After receiving the target scene data, the client-side 3D rendering engine loads the data into a unified 3D scene according to the segment station positions.
[0101] When the virtual camera moves or rotates, its position, orientation, field of view, or distance to the far plane changes. The client recalculates the coverage area of the view frustum and the coverage area of the mile markers, re-determines the target and non-target segments, and updates the scale level corresponding to each target segment. This process can be executed continuously as the scene is browsed.
[0102] The view frustum and mileage markers work together in the scheduling process. The view frustum defines the currently visible space, the mileage marker coverage area converts the visible space into a data range consistent with the linear index of the highway, and the viewpoint distance is used to select the model's level of detail within this data range. This order avoids loading data outside the highway strip when searching only regular square regions.
[0103] After obtaining the target scene data, the client first determines the data's position along the highway centerline based on the starting and ending station numbers of each target segment, and then loads the corresponding terrain mesh, background imagery, and 3D model. Adjacent target segments are connected in station order to form a continuous 3D scene extending along the highway route.
[0104] For areas that have undergone buffering, the client loads the fused elevation and texture data, ensuring a gradual transition between the BIM 3D model boundaries and the GIS base terrain data. For ordinary road sections without a BIM 3D model, the client can directly load the base terrain layer and background image layer. For critical road sections with oblique photogrammetry models or individual facility models, the appropriate layers are loaded based on the current viewpoint distance.
[0105] The 3D rendering engine generates the current view based on the target scene data and outputs a 3D scene of the highway strip through a display device. The output scene can be used for roadside browsing, facility viewing, and presentation of business information. As the virtual camera parameters change, the target scene data is updated synchronously to match the scene content with the current observation range and distance.
[0106] In some embodiments, the client reuses data that has already been loaded and still belongs to the target interval segment, loading only data newly entering the coverage area of the mileage marker and unloading data leaving the coverage area. This approach does not change the logic for determining the target interval segment and scale level, and is used to reduce the repeated reading of the same data during adjacent view updates.
[0107] By combining linear spatial indexing, buffer gradient processing, and scale-level scheduling, the resulting highway strip-shaped 3D scene can simultaneously preserve the continuous coverage of large-scale GIS terrain and the geometric details of local BIM models. Gradient processing solves the data transition in boundary areas, while scale scheduling solves the selection of data with different levels of detail in the current view. Both factors respectively affect the fusion quality and loading range of the scene data.
[0108] Example 2
[0109] This embodiment uses a tunnel entrance / exit on the G30 Xiaowu section as an example to illustrate geometric gradient processing. The section where this tunnel entrance / exit is located is denoted as Seg. j Seg j The multi-scale pyramid model includes the basic terrain layer LOD0, the background image layer LOD1, the oblique photogrammetry model layer LOD2, and the tunnel portal facility individual model layer LOD3.
[0110] When the client observes the tunnel entrance at close range, the tunnel portal model in LOD3 is loaded. Since the boundary elevation of the tunnel portal model may not be completely consistent with the terrain elevation in LOD0 or LOD1, local elevation differences may appear near the boundary when directly superimposed; at the same time, there may also be differences in brightness and color details between the model texture and the background image.
[0111] Therefore, based on the outer contour boundary of the tunnel portal model, a 20-meter outward extension is formed along the route direction and the lateral directions on both sides of the road, creating a circular buffer zone. The shortest distance from each terrain vertex within the buffer zone to the boundary of the tunnel portal model is determined, and the BIM data weight and GIS data weight are calculated based on the relative position of this distance within the 20-meter width.
[0112] Near the boundary of the tunnel portal model, a larger BIM data weight is used to make the final elevation close to the boundary elevation of the tunnel portal model; as the fusion vertex moves away from the boundary of the tunnel portal model, the BIM data weight is gradually reduced and the GIS data weight is increased; at the outer boundary of the buffer zone, the final elevation is connected with the original GIS basic terrain elevation.
[0113] If a fusion vertex cannot find a directly corresponding elevation on the surface of the tunnel portal model, the elevation of the point on the boundary of the tunnel portal model closest to that fusion vertex is read. During texture processing, the corresponding color values are obtained from the tunnel portal texture and the background image, and then the final color is calculated using the same two weights as in the elevation processing.
[0114] After processing, the transition mesh and transition texture generated in the buffer are written to Seg. j The corresponding fusion multi-scale pyramid model. The client reloads Seg. j At that time, the elevation and color between the tunnel portal model and the base terrain gradually change along the buffer zone, without the need to remodel the main body of the tunnel portal model or other locations in the section.
[0115] This embodiment uses tunnel entrances and exits to illustrate buffer zone processing. Buffer zones can also be set up in the same way at bridge connection locations, around toll booth canopies, or at the edges of oblique photogrammetry models. The buffer zone boundaries are generated based on the corresponding BIM 3D model boundaries, and distance determination, weight determination, elevation weighting, and texture weighting are performed on each fused vertex within the buffer zone.
[0116] Example 3
[0117] This embodiment illustrates the dual scheduling of view frustum and kilometer markers in a highway strip scene. The user runs a Cesium-based 3D visualization program through the Chrome browser to browse the G30 Xiaowu section of the highway strip 3D scene. The client continuously acquires the virtual camera's position, orientation, field of view (FOV), and distance to the far plane.
[0118] When the virtual camera faces the road ahead, the client establishes a local road reference plane for the current candidate interval segment, calculates the intercept area of the view frustum on each local road reference plane, and projects the intercept area along the road centerline to form a coverage line segment. The client maps the endpoints or boundary sampling points of the coverage line segment to the road centerline; assuming that the minimum station number K is obtained after aggregation. curr_start and the maximum station number K curr_end If the range of station numbers between the two is used as the coverage area of the current mileage station, then the range of station numbers between the two will be used as the coverage area of the current mileage station.
[0119] The client reads the interval index records one by one. For the station number interval and [K] curr_start K curr_endFor intervals that do not intersect, stop loading or unload all model data for them; for intervals that intersect, identify them as target intervals and calculate the distance from the virtual camera to that interval.
[0120] For example, the target interval Seg m If the distance to the virtual camera is 620 meters, then load Seg. m LOD0 and LOD1; target interval Seg n If the distance to the virtual camera is 260 meters, then load Seg. n LOD2; Target interval Seg p If the distance to the virtual camera is 60 meters, then load Seg. p The LOD3 is composed of data from the corresponding levels of each target interval, forming the current target scene data.
[0121] As the user moves the virtual camera along the road, the coverage area of the kilometer markers moves forward accordingly. Segments that were previously located behind the coverage area and no longer intersect are unloaded, and newly entered segments are designated as target segments and loaded with the corresponding scale based on the viewpoint distance. For segments still within the coverage area, the scale scale is updated based on the changed distance.
[0122] When a user rotates the virtual camera to move a section of the highway away from the view cone, even if that section is spatially close to the virtual camera, it can be unloaded because its station range no longer intersects with the mileage marker coverage area. Therefore, section selection is based not only on distance but also on the actual coverage of the view cone in the highway mileage direction.
[0123] The client only submits the scheduled target scene data to the 3D rendering engine. This process reduces the amount of high-precision data outside the field of view and that does not match the current viewing distance from entering the graphics processing flow, which helps control the amount of data carried by the client's memory and graphics processor, and maintains continuous scene updates throughout the entire highway browsing process.
[0124] Example 4
[0125] like Figure 5 As shown, this embodiment illustrates the presentation of dynamic business data based on spatial linkage. A facility unit model is pre-established at each variable message sign on the G30 Xiaowu section, and this model is set in the facility unit model layer of the corresponding section. The LED screen surface of the variable message sign model is marked as a dynamic material slot, and the asset code recorded in the model is consistent with the equipment asset code in the business system.
[0126] When establishing the facility unit model layer, asset codes can be written into model metadata or range index records, along with target model identifiers and dynamic material slot identifiers. After receiving dynamic business data, the client first queries the target model identifier based on the asset code, and then determines the material area that needs to be updated based on the dynamic material slot identifier, thus forming an executable mapping relationship between asset codes, target models, and specified material areas.
[0127] The traffic monitoring platform sends the currently displayed information from variable message signs to the client. Dynamic business data can be structured to include an asset code and the displayed content; for example, the asset code might be "XJ_G30_001" and the displayed content might be "Accident ahead, drive carefully." After receiving the dynamic business data, the client searches for the corresponding variable message sign model in the loaded scenarios based on the asset code.
[0128] After locating the target model, the client determines the dynamic material slot corresponding to its LED screen and calls a graphics processor interface, such as CanvasTexture or a dynamic texture generation interface with similar functionality. The client then renders the string "Accident Ahead, Drive Carefully" as a dynamic texture according to preset font, text arrangement, color, and background style.
[0129] After generating the dynamic texture, it is assigned to the dynamic material slot of the variable message sign model, overwriting the original default texture of the slot. Since only the specified material area of the target model is updated, there is no need to regenerate the geometry of the variable message sign model, and the surface of the variable message sign in the scene can display the published content currently sent by the business system.
[0130] For camera equipment models, the video stream provided by the business system can be converted into continuously updated textures and assigned to the preset display area of the camera equipment model, so that the video content is displayed on the model surface. For tunnel ventilation fan models, textures representing the on and off states can be generated separately, and the corresponding texture can be selected and assigned to the specified material area according to the equipment's operating status.
[0131] When dynamic business data is updated, the client locates the same target model again based on the asset code and replaces the texture in the dynamic material slot. The asset code is used to establish the spatial connection between business data and the 3D model, and the dynamic material slot is used to limit the texture update location, thereby keeping the information board content, video stream, or device status associated with the corresponding facility model.
[0132] Example 5
[0133] This embodiment illustrates one method of server-client collaborative operation. The server stores the highway centerline, mileage marker information, indexes of each section, and a multi-scale pyramid model; the client stores the virtual camera state and runs the 3D rendering engine. After determining the mileage marker coverage area based on the virtual camera parameters, the client sends that area and the current viewpoint position to the server.
[0134] The server retrieves the target segments that intersect with the coverage area of the mileage markers, and determines the scale level corresponding to each target segment based on the viewpoint position provided by the client. The server sends the target segment identifier, scale level identifier, and corresponding scene data to the client; after receiving the data, the client generates the target scene data and outputs a 3D scene of the highway strip.
[0135] When the virtual camera status changes, the client sends the updated mileage marker coverage area and viewpoint position. The server returns the newly entered coverage area data and the scale level that needs to be replaced, and the client unloads data that no longer belongs to the target segment. This collaborative method uses the same segment filtering and scale level selection logic as the client-side local scheduling method.
[0136] The business system can run independently of the 3D scene server. After the business system sends dynamic business data, the server can forward the data to the client currently loading the corresponding target model based on the asset code; the client calls the graphics processor interface to generate dynamic textures and assigns the dynamic textures to the specified material area.
[0137] In some embodiments, the server can be a standalone physical server or a server cluster consisting of multiple servers; scene data can be stored on local disk, network storage, or a database. The above deployment differences do not change the processing relationships of the mileage marker linear index, multi-scale pyramid model, buffer gradient processing, and dual scheduling.
[0138] In this invention, A1 and A2 are parameters used to divide the observation distance range, where A1 is less than A2. A1 being 100 meters and A2 being 500 meters are values given in the example scenario to illustrate a calling relationship between the basic terrain layer, background image layer, oblique photogrammetry model layer, and facility unit model layer. For highway projects with different model sizes, terminal performance, or scene observation requirements, corresponding values can be set while maintaining the hierarchical order.
[0139] The DEM, DOM, satellite imagery, oblique photogrammetry model, and facility unit model in this invention can be stored using existing data formats. 3D Tiles are used to describe an organizational format for oblique photogrammetry models; other three-dimensional data formats that can be loaded in blocks according to spatial extent and level of detail can also serve as data carriers for oblique photogrammetry model layers.
[0140] The graphics processor interface in this invention is used to generate textures from text, video frames, or device status graphics, and assign the textures to model materials. CanvasTexture is one example interface. Other texture interfaces provided by the 3D rendering engine can also be used when dynamic texture generation and material assignment are feasible.
[0141] In this invention, "loading" refers to making data of the corresponding scale level available in the current 3D scene, which may include at least one of the following operations: reading from a storage device, receiving from a server, creating graphics resources, and submitting for rendering; "unloading" refers to making the corresponding data unavailable in the current 3D scene, which may include releasing meshes, textures, or cached resources.
[0142] In some embodiments, the basic terrain layer, background image layer, oblique photogrammetry model layer, and facility unit model layer may coexist in the same section, or only some of these layers may be set according to the actual data of the section. For ordinary sections without critical facilities, only the basic terrain layer and background image layer may be set; for sections containing bridges, tunnels, or toll stations, an oblique photogrammetry model layer and a facility unit model layer may be further set.
[0143] In different embodiments, the segment division, buffer gradient processing, determination of mileage marker coverage areas, scale level loading, and dynamic texture rendering can be executed separately or continuously according to the needs of highway 3D scene construction and browsing. When executed continuously, the data generated in the previous stage is used as the input for the next stage, thereby maintaining the correspondence between segments, fusion models, target scene data, and the final 3D scene.
[0144] In the description of this specification, the terms "one embodiment," "some embodiments," "example," or "specific example" indicate that a feature described in connection with that embodiment or example may be included in at least one embodiment of the invention. Different expressions of these terms do not necessarily refer to the same embodiment, and specific features in different embodiments may be combined with each other without causing technical conflict.
[0145] The invention has been described above in the context of a highway strip scenario. Those skilled in the art can adapt the settings for interval length, buffer width, distance threshold, and data storage method according to the data coverage, model refinement, and client operating environment of the actual highway project; the above settings do not change the technical approach of organizing multi-scale data with mileage markers, performing gradual transitions at model boundaries, and scheduling scale levels based on the coverage interval of mileage markers and viewpoint distance.
Claims
1. A method for multi-scale terrain fusion of highway strip BIM_GIS, characterized by: The method includes: Acquire information on the highway centerline, mileage markers, GIS basic topographic data, BIM 3D model, and mileage marker coverage area; Based on the mileage marker information, the highway is divided into continuous intervals, and a multi-scale pyramid model is established for each interval. A buffer zone is generated based on the boundary of the BIM 3D model. According to the distance from each vertex in the buffer zone to the boundary, the BIM 3D model and the GIS basic terrain data are subjected to gradient processing to obtain a fused multi-scale pyramid model. Each interval that intersects with the mileage marker coverage area is determined as a target interval. The scale level of each target interval is loaded from the fused multi-scale pyramid model to obtain target scene data. The scale level includes a basic terrain layer and a background image layer. Output a three-dimensional scene of a highway strip based on the target scene data.
2. The highway strip BIM_GIS multi-scale terrain fusion method according to claim 1, characterized in that, The step of performing gradient processing on the BIM 3D model and the GIS basic terrain data based on the distance from each vertex in the buffer to the boundary includes: A ring-shaped buffer zone extends outward from the boundary along the highway route and in the lateral direction; Determine the shortest distance from each vertex within the annular buffer to the boundary, and determine the BIM data weight and GIS data weight based on the relative position of the shortest distance within the buffer width; The elevation and texture color of each vertex are weighted according to the BIM data weight and the GIS data weight.
3. The highway strip BIM_GIS multi-scale terrain fusion method according to claim 2, characterized in that, The acquisition of the coverage area of the mileage markers includes: The position, orientation, field of view, and distance to the far plane of the virtual camera are obtained, and the intersection of the virtual camera's view frustum and the plane containing the road centerline is determined. Calculate the mileage markers corresponding to each point on the intersection line, and determine the coverage area of the mileage markers using the minimum and maximum mileage markers among them; Based on the distance between each target interval and the virtual camera, the scale level to be loaded is determined from the fused multi-scale pyramid model.
4. The highway strip BIM_GIS multi-scale terrain fusion method according to claim 3, characterized in that, The scale hierarchy also includes an oblique photography model layer and a facility unit model layer; When the distance from the virtual camera to the target section is greater than A2 meters, the basic terrain layer and the background image layer are loaded. When the distance is A1 meters to A2 meters, the oblique photography model layer is loaded; When the distance is less than A1 meters, load the facility unit model layer.
5. The highway strip BIM_GIS multi-scale terrain fusion method according to claim 4, characterized in that, The process of dividing the highway into continuous intervals based on the mileage marker information includes: Highways are divided according to a preset mileage, or the boundary of the interval is determined by the terrain change location of the tunnel entrance or bridge. Each scale level of the multi-scale pyramid model is associated with the starting and ending station numbers of the corresponding interval.
6. The highway strip BIM_GIS multi-scale terrain fusion method according to claim 1, characterized in that, After outputting the highway strip 3D scene, the method further includes: Receive dynamic business data sent by the business system, the dynamic business data including asset codes and content to be presented or device operating status; Based on the asset code, the corresponding target model is located in the highway strip 3D scene, and the specified material area of the target model is determined.
7. The highway strip BIM_GIS multi-scale terrain fusion method according to claim 6, characterized in that, The method further includes: Call the graphics processor interface to render the content to be presented or the device operating status as a dynamic texture according to a preset display style; The dynamic texture is assigned to a specified material area of the target model to cover the original texture of the specified material area.
8. The highway strip BIM_GIS multi-scale terrain fusion method according to claim 7, characterized in that, The target model includes a variable message sign model, a camera equipment model, or a tunnel ventilation fan model; The dynamic business data includes the content published on the information board, video streams, or the on / off status of devices. The specified material area is a dynamic material slot pre-set on the surface of the target model.
9. The highway strip BIM_GIS multi-scale terrain fusion method according to any one of claims 1 to 5, characterized in that, After determining the target intervals, the method further includes: The interval segments that do not intersect with the coverage area of the mileage markers are identified as non-target interval segments, and the model data corresponding to the non-target interval segments are unloaded.
10. The highway strip BIM_GIS multi-scale terrain fusion method according to claim 9, characterized in that, The position, orientation, field of view, and distance to the far plane of the virtual camera are acquired in real time. Based on the changed virtual camera parameters, the coverage area of the mileage markers, each target segment, and the corresponding scale level are redefined. The client's 3D rendering engine then schedules the data of the corresponding scale level within each target segment that has been redefined.