Method and device for supporting multi-terminal BIM and GIS fusion

The integration of BIM and GIS is achieved through modular compilation and interface encapsulation, addressing display and compatibility issues, resulting in flexible, scalable, and high-performance Web applications.

CN119106476AActive Publication Date: 2024-12-10BEIJING URBAN CONSTRUCTION DESIGN & DEVELOPMENT GROUP CO LIMITED
View PDF 6 Cites 0 Cited by

Patent Information

Application Number
CN202411108265.3
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-08-13
Publication Date
2024-12-10
Estimated Expiration
2044-08-13

AI Technical Summary

Technical Problem

Existing methods for integrating Building Information Modeling (BIM) and Geographic Information System (GIS) on the Web side result in poor display effects and lack cross-platform compatibility, leading to high development complexity and inflexibility.

Method used

A method and device that utilize modular compilation, interface encapsulation, and multi-terminal fusion technology to integrate BIM and GIS by selecting the C++ library of the GIS map engine, dividing it into functional modules, compiling these modules into browser executable format libraries, and providing a unified interface layer for seamless integration across platforms.

Benefits of technology

The solution enhances system flexibility and scalability, reduces development complexity, and improves performance by enabling cross-platform, high-performance Web applications with efficient data processing and display of BIM and GIS data.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119106476A_ABST
    Figure CN119106476A_ABST
Patent Text Reader

Abstract

The invention discloses a method and device for supporting multi-terminal BIM and GIS fusion, and the method comprises the steps: selecting a C + + library of a GIS map engine as a fusion source library, and dividing the C + + library into a plurality of GIS map engine C + + function libraries; respectively compiling the plurality of GIS map engine C + + function libraries through an open source compiling tool chain to obtain a plurality of browser executable format libraries; performing interface packaging processing on the plurality of browser executable format libraries through a readable programming language to obtain a plurality of browser end libraries with uniform interface layers; the rendering engine uses a rendering engine code language to call a browser executable format library; after calling, the rendering engine is compiled into a WebGL platform or a PC platform through a configured strategy, and fusion display of data of the BIM rendering engine and the GIS map engine is achieved. Through modular compiling, interface packaging and multi-terminal fusion technologies, the problem of fusion of a rendering engine and a GIS engine at a Web terminal and a PC terminal is solved, and multi-terminal fusion of BIM and GIS is realized.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to the technical field of building information fusion, and in particular to a method and device supporting multi-terminal BIM and GIS fusion. Background Art

[0002] BIM (Building Information Modeling) and GIS (Geographic Information System) are important information technologies in modern engineering construction and urban planning. BIM is mainly used for the design and management of buildings, while GIS is used for the storage, analysis and visualization of geographic spatial data. With the development of technology, the combination of BIM and GIS, through the display and interaction of the Web terminal, can greatly improve the efficiency and effectiveness of building information management and urban planning.

[0003] At present, the existing technology realizes the integration of BIM and GIS on the Web side, adopts the open source WebGL graphics engine and the open source GIS global map Web class library to realize the integration of BIM and GIS on the Web side. Under this technical solution, the graphics engine and the GIS engine are integrated by superimposing on the web page. The existing technology usually uses the WebGL graphics engine (such as three.js) on the Web side to realize the rendering of BIM objects. The display effect of the WebGL graphics engine on the Web side is relatively general, which is quite different from the actual model of the physical world. The rendering engine is used on the PC side to render BIM objects, but because the map engine cannot be cross-platform, the integration of BIM and GIS cannot be realized on the Web side. The existing rendering engine supports cross-platform operation, and the GIS global map engine supports cross-platform operation, but the GIS map engine only provides a technical solution for the non-Web side of the rendering engine, so it can only realize the integration of BIM and GIS on the non-Web side. If the existing technical solution is adopted, the overlay display is still performed on the Web page, and the development is carried out using the Web-side JavaScript library of the rendering engine and the JavaScript library of the GIS engine. The development complexity under this technical solution is relatively large, and the development project cannot be flexible and portable and reusable, and cannot achieve deep integration of BIM and GIS.

[0004] Therefore, how to invent a method for integrating BIM and GIS to solve the problem that the existing BIM and GIS integration on the Web side has poor display effect and that the BIM and GIS integration on the PC side cannot be applied across platforms has become an urgent problem to be solved. Summary of the invention

[0005] To this end, the present invention provides a method and device that support the integration of multi-terminal BIM and GIS. The method solves the problem of integrating the rendering engine on the Web side, PC side and GIS engine through modular compilation, interface encapsulation and multi-terminal fusion technology, and realizes the multi-terminal integration of BIM and GIS.

[0006] In order to achieve the above object, the present invention provides the following technical solution: a method for supporting multi-terminal BIM and GIS integration, comprising:

[0007] The C++ library of the GIS map engine is selected as the fusion source library; according to the set functions of the C++ library of the GIS map engine, the C++ library of the GIS map engine is divided into several GIS map engine C++ function libraries;

[0008] Compile several GIS map engine C++ function libraries respectively through an open source compilation tool chain to obtain several browser executable format libraries that meet the requirements of running in the browser;

[0009] Performing interface encapsulation processing on a plurality of the browser executable format libraries by using a readable programming language to obtain a plurality of browser-side libraries; the browser-side libraries are provided with a unified interface layer;

[0010] Using a rendering engine code language through a rendering engine and utilizing the interface layer of the browser-side library to call the browser executable format library of the GIS map engine, the reading and processing of the geographic spatial data in the GIS map engine is realized;

[0011] After the rendering engine completes the call to the browser executable format library of the GIS map engine, the rendering engine is compiled into a WebGL platform or a PC platform through the configured strategy to achieve the integrated display of the BIM rendering engine and the GIS map engine data.

[0012] As a preferred solution for a method supporting the integration of multi-terminal BIM and GIS, the C++ code of the GIS map engine C++ function library is relatively independent and has preset input and output interfaces.

[0013] As a preferred solution for supporting the integration of multi-terminal BIM and GIS, the steps of compiling several GIS map engine C++ function libraries separately through the open source compilation tool chain are as follows:

[0014] Select the GIS map engine C++ function library that needs to be compiled;

[0015] Install the toolchain for compiling files in a format that can be run in the browser;

[0016] Download and decompress the source code package of the GIS map engine, enter the source code directory, and ensure that the source code can be compiled in the local C++ compilation environment;

[0017] Write the compilation file of the GIS map engine C++ function library;

[0018] The C++ function library of the GIS map engine is configured and compiled through the compilation tool chain, and the C++ function library of the GIS map engine is converted into the browser executable format library.

[0019] As a preferred solution for a method supporting the integration of multi-terminal BIM and GIS, in the process of separately compiling several GIS map engine C++ function libraries through the open source compilation tool chain, the code and resources corresponding to the functions of each GIS map engine C++ function library are compiled to reduce the size of the browser executable format library.

[0020] As a preferred solution for a method supporting the integration of multi-terminal BIM and GIS, the browser executable format library is loaded and accessed through the interface layer of the browser-side library, and an easy-to-call API is provided to enable the rendering engine to call the browser executable format library.

[0021] The present invention also provides a device supporting the integration of multi-terminal BIM and GIS, based on the above method for supporting the integration of multi-terminal BIM and GIS, comprising:

[0022] The GIS map engine C++ function library division module is used to select the GIS map engine C++ library as the fusion source library; according to the set function of the GIS map engine C++ library, the GIS map engine C++ library is divided into several GIS map engine C++ function libraries;

[0023] A browser executable format library acquisition module is used to compile several GIS map engine C++ function libraries respectively through an open source compilation tool chain to obtain several browser executable format libraries that meet the requirements for running in the browser;

[0024] A browser-side library acquisition module is used to perform interface encapsulation processing on a plurality of the browser executable format libraries by using a readable programming language to obtain a plurality of browser-side libraries; the browser-side libraries are provided with a unified interface layer;

[0025] A rendering engine calling module, used to use the rendering engine code language through the rendering engine and utilize the interface layer of the browser-side library to call the browser executable format library of the GIS map engine to realize the reading and processing of the geographic spatial data in the GIS map engine;

[0026] The platform compilation module is used to compile the rendering engine into a WebGL platform or a PC platform through the configured strategy after the rendering engine completes the call to the browser executable format library of the GIS map engine, so as to realize the integrated display of the BIM rendering engine and the GIS map engine data.

[0027] As a preferred solution for a device supporting the integration of multi-terminal BIM and GIS, in the GIS map engine C++ function library division module, the C++ code of the GIS map engine C++ function library is relatively independent and has preset input and output interfaces.

[0028] As a preferred solution for a device supporting the integration of multi-terminal BIM and GIS, the browser executable format library acquisition module includes the following submodules:

[0029] A C++ function library selection submodule, used to select the GIS map engine C++ function library that needs to be compiled;

[0030] Compilation tool chain installation submodule, used to install the compilation tool chain of executable format files in the browser;

[0031] The source code package acquisition submodule is used to download and decompress the source code package of the GIS map engine, enter the source code directory, and ensure that the source code can be compiled in the local C++ compilation environment;

[0032] A compilation submodule, used for compiling the compilation file of the GIS map engine C++ function library;

[0033] The format conversion submodule is used to configure and compile the C++ function library of the GIS map engine through the compilation tool chain, and convert the C++ function library of the GIS map engine into the browser executable format library.

[0034] As a preferred solution for a device supporting the integration of multi-terminal BIM and GIS, in the browser executable format library acquisition module, in the process of separately compiling several GIS map engine C++ function libraries through the open source compilation tool chain, the code and resources corresponding to the functions of each GIS map engine C++ function library are compiled to reduce the size of the browser executable format library.

[0035] As a preferred solution for a device supporting the integration of multi-terminal BIM and GIS, in the browser-side library acquisition module, the browser executable format library is loaded and accessed through the interface layer of the browser-side library, and an easy-to-call API is provided to enable the rendering engine to call the browser executable format library.

[0036] The present invention has the following advantages: selecting the C++ library of the GIS map engine as the fusion source library; dividing the C++ library of the GIS map engine into a plurality of GIS map engine C++ function libraries according to the set function of the C++ library of the GIS map engine; respectively compiling the plurality of GIS map engine C++ function libraries through an open source compilation tool chain to obtain a plurality of browser executable format libraries that meet the requirements for running in a browser; performing interface encapsulation processing on the plurality of browser executable format libraries through a readable programming language to obtain a plurality of browser-side libraries; the browser-side library is provided with a unified interface layer; using the rendering engine code language through a rendering engine, and utilizing the interface layer of the browser-side library to call the browser executable format library of the GIS map engine, the reading and processing of the geographic spatial data in the GIS map engine is realized; after the rendering engine completes the calling of the browser executable format library of the GIS map engine, the rendering engine is compiled into a WebGL platform or a PC platform through a configured strategy to realize the fusion display of the BIM rendering engine and the GIS map engine data. The present invention splits the C++ library of the GIS engine according to functional modules, and compiles it into an independent browser executable format library using a compilation tool chain. The browser executable format library generated in this way is small in size and high in performance, and is easy to load and run on the Web side. At the same time, it solves the problem that the rendering engine cannot integrate the GIS engine on the Web side. The modular browser executable format library can be flexibly selected and loaded according to actual needs, which improves the flexibility and scalability of the system; reduces unnecessary code loading and improves operation efficiency. The generated browser executable format library provides a unified interface layer for easy calling by the rendering engine. The encapsulated browser executable format library provides an easy-to-call API through the unified interface layer, so that the rendering engine can easily access the functions of the GIS engine. The readability and ease of use of the browser executable format library are improved, and the learning cost and development time of developers are reduced; the encapsulated interface layer simplifies the loading and management of the browser executable format library. The rendering engine uses its own code language to call the encapsulated browser executable format library to realize the integration and display of BIM and GIS data. The rendering engine can efficiently call the browser executable format library to realize the processing and display of GIS data, and integrate with BIM data to display on the Web side. The seamless integration of the rendering engine and the browser executable format library improves the system performance and user experience; through the WebGL platform display, cross-platform, high-performance Web applications are realized. The present invention not only improves the performance and flexibility of the system, but also simplifies the development process and reduces the development cost, and has high practical value and innovation. BRIEF DESCRIPTION OF THE DRAWINGS

[0037] In order to more clearly illustrate the implementation methods of the present invention or the technical solutions in the prior art, the following briefly introduces the drawings required for the implementation methods or the description of the prior art. Obviously, the drawings in the following description are only exemplary, and for ordinary technicians in this field, other implementation drawings can be derived from the provided drawings without creative work.

[0038] The structures, proportions, sizes, etc. illustrated in this specification are only used to match the contents disclosed in the specification so as to facilitate understanding and reading by persons familiar with the technology. They are not used to limit the conditions under which the present invention can be implemented, and therefore have no substantial technical significance. Any structural modification, change in proportion or adjustment of size shall still fall within the scope of the technical contents disclosed in the present invention without affecting the effects and purposes that can be achieved by the present invention.

[0039] Figure 1 A schematic flow chart of a method for supporting multi-terminal BIM and GIS integration provided in Embodiment 1 of the present invention;

[0040] Figure 2 A schematic diagram of obtaining a browser executable format library in a method for supporting multi-terminal BIM and GIS integration provided in Example 1 of the present invention;

[0041] Figure 3 A schematic diagram of a compilation process in a method for supporting multi-terminal BIM and GIS integration provided in Example 1 of the present invention;

[0042] Figure 4 A schematic diagram of obtaining a browser-side library in a method for supporting multi-terminal BIM and GIS integration provided in Example 1 of the present invention;

[0043] Figure 5 A schematic diagram of calling a rendering engine in a method for supporting multi-terminal BIM and GIS integration provided in Embodiment 1 of the present invention;

[0044] Figure 6 This is a schematic diagram of a device architecture supporting multi-terminal BIM and GIS integration provided in Example 2 of the present invention. DETAILED DESCRIPTION

[0045] The following is a description of the implementation of the present invention by specific embodiments. People familiar with the art can easily understand other advantages and effects of the present invention from the contents disclosed in this specification. Obviously, the described embodiments are part of the embodiments of the present invention, not all of the embodiments. Based on the embodiments of the present invention, all other embodiments obtained by ordinary technicians in this field without creative work are within the scope of protection of the present invention.

[0046] Example 1

[0047] See also Figure 1 Embodiment 1 of the present invention provides a method for supporting multi-terminal BIM and GIS integration, comprising the following steps:

[0048] S1. Select the C++ library of the GIS map engine as the fusion source library; divide the C++ library of the GIS map engine into several GIS map engine C++ function libraries according to the set functions of the C++ library of the GIS map engine;

[0049] S2. Compile several GIS map engine C++ function libraries respectively through an open source compilation tool chain to obtain several browser executable format libraries that meet the requirements for running in the browser;

[0050] S3, performing interface encapsulation processing on a plurality of the browser executable format libraries by using a readable programming language to obtain a plurality of browser-side libraries; the browser-side libraries are provided with a unified interface layer;

[0051] S4, using a rendering engine code language through a rendering engine, and using the interface layer of the browser-side library to call the browser executable format library of the GIS map engine, so as to realize reading and processing of geographic spatial data in the GIS map engine;

[0052] S5. After the rendering engine completes the call to the browser executable format library of the GIS map engine, the rendering engine is compiled into a WebGL platform or a PC platform through the configured strategy to realize the integrated display of the BIM rendering engine and the GIS map engine data.

[0053] In this embodiment, in step S1, the C++ library of the GIS map engine is selected as the fusion source library; according to the set function of the C++ library of the GIS map engine, the C++ library of the GIS map engine is divided into a plurality of GIS map engine C++ function libraries;

[0054] Specifically, the existing code base of GIS map engine is generally divided into C++ library, game engine library and Web library for external use. In order to realize the deep application of the underlying interface of GIS map engine and perform deep integration from the bottom layer, C++ library is selected as the source library for integration.

[0055] In practical applications, a complete GIS map engine C++ library is often multifunctional and bulky. In some specific BIM and GIS fusion scenarios, only part of the GIS engine's functions may need to be used. In order to improve the flexibility and lightweight of the system, the present invention proposes a method for split compilation for the GIS map engine, which splits and compiles the C++ library of the GIS map to form multiple browser executable format libraries for use by the rendering engine. The rendering engine can call the browser executable format library of the GIS engine as needed to achieve flexibility and lightweight. Analyze the GIS map engine to determine its various functional modules and interfaces. For example, the GDAL library of the GIS map engine is split according to functional modules such as data reading, data processing, and map rendering. The C++ code of each module should be relatively independent and have preset input and output interfaces.

[0056] In this embodiment, in step S2, several GIS map engine C++ function libraries are compiled respectively through an open source compilation tool chain to obtain several browser executable format libraries that meet the requirements of running in the browser;

[0057] For details, see Figure 2 The browser executable format compilation tool chain is used to compile the C++ code of each functional module separately to generate an independent browser executable format library. During the compilation process, the code and resources corresponding to the functions of each GIS map engine C++ function library are compiled to reduce the size of the browser executable format library to reduce the size of the browser executable format library.

[0058] like Figure 3 As shown, the specific compilation steps are:

[0059] S21, selecting the GIS map engine C++ function library that needs to be compiled;

[0060] S22. Install a tool chain for compiling files in a format that can be run in the browser;

[0061] S23. Download and decompress the source code package of the GIS map engine, enter the source code directory, and ensure that the source code can be compiled in the local C++ compilation environment;

[0062] S24, compile the compilation file of the GIS map engine C++ function library;

[0063] S25. Configure and compile the C++ function library of the GIS map engine through the compilation tool chain, and convert the C++ function library of the GIS map engine into the browser executable format library.

[0064] The present invention realizes the flexibility and lightness of the GIS map engine. The rendering engine can load and call the browser executable format library of each functional module as needed, thereby reducing system resource occupation and improving operation efficiency.

[0065] In this embodiment, in step S3, several browser executable format libraries are subjected to interface encapsulation processing by a readable programming language to obtain several browser-side libraries; the browser-side libraries are provided with a unified interface layer;

[0066] Specifically, since the browser executable format is a compilation target, its readability is poor. Considering improving the readability of the browser executable format library and facilitating development and application, the present invention proposes a method for encapsulating the browser executable format library formed by the C++ library of the GIS engine, so that the subsequent rendering engine can better access the underlying interface of the GIS engine.

[0067] like Figure 4 As shown, the generated browser executable format library is encapsulated in a readable programming language, providing a browser executable format library with a highly readable and easy-to-use interface. This interface enables the loading and calling of the browser executable format library, and provides an easy-to-use access interface to the outside world, so that the rendering engine can use its own programming language to schedule and call.

[0068] In this embodiment, in step S4, the rendering engine uses the rendering engine code language and uses the interface layer of the browser-side library to call the browser executable format library of the GIS map engine to realize the reading and processing of the geographic spatial data in the GIS map engine;

[0069] Specifically, Figure 5 As shown, in the rendering engine, the browser executable format library of the GIS map engine can be called through the interface layer of the browser-side library to realize the reading and processing of geographic spatial data. The rendering engine code language is used for calling to ensure seamless integration with the rendering engine.

[0070] In this embodiment, in step S5, after the rendering engine completes the call to the browser executable format library of the GIS map engine, the rendering engine is compiled into a WebGL platform or a PC platform through the configured strategy to achieve the integrated display of the BIM rendering engine and the GIS map engine data.

[0071] Specifically, the rendering engine uses its own code language to call the encapsulated browser executable format library to achieve the integration and display of BIM and GIS data. The rendering engine can efficiently call the browser executable format library to achieve the processing and display of GIS data, and integrate it with BIM data and display it on the Web side. The seamless integration of the rendering engine and the browser executable format library improves the system performance and user experience; through the WebGL platform display, a cross-platform, high-performance Web application is realized.

[0072] The rendering engine in the present invention includes but is not limited to Unity or Unreal Engine, and its own code language includes but is not limited to using the rendering engine programming language, C# or C++ code calls the packaged browser executable format library. The rendering engine project integrated with the browser executable format library call is compiled into a WebGL platform or a PC platform to realize the integrated display of BIM and GIS data.

[0073] In summary, the present invention selects the C++ library of the GIS map engine as the fusion source library; divides the C++ library of the GIS map engine into several GIS map engine C++ function libraries according to the set function of the C++ library of the GIS map engine; compiles several of the GIS map engine C++ function libraries respectively through the open source compilation tool chain to obtain several browser executable format libraries that meet the requirements of running in the browser; performs interface encapsulation processing on several of the browser executable format libraries through a readable programming language to obtain several browser-side libraries; the browser-side library is provided with a unified interface layer; uses the rendering engine code language through the rendering engine, and uses the interface layer of the browser-side library to call the browser executable format library of the GIS map engine to realize the reading and processing of geographic spatial data in the GIS map engine; after the rendering engine completes the call to the browser executable format library of the GIS map engine, the rendering engine is compiled into a WebGL platform or a PC platform through the configured strategy to realize the fusion display of the BIM rendering engine and the GIS map engine data. The present invention splits the C++ library of the GIS engine according to functional modules, and compiles it into an independent browser executable format library using a compilation tool chain. The browser executable format library generated in this way is small in size and high in performance, and is easy to load and run on the Web side. At the same time, it solves the problem that the rendering engine cannot integrate the GIS engine on the Web side. The modular browser executable format library can be flexibly selected and loaded according to actual needs, which improves the flexibility and scalability of the system; reduces unnecessary code loading and improves operation efficiency. The generated browser executable format library provides a unified interface layer for easy calling by the rendering engine. The encapsulated browser executable format library provides an easy-to-call API through the unified interface layer, so that the rendering engine can easily access the functions of the GIS engine. The readability and ease of use of the browser executable format library are improved, and the learning cost and development time of developers are reduced; the encapsulated interface layer simplifies the loading and management of the browser executable format library. The rendering engine uses its own code language to call the encapsulated browser executable format library to realize the integration and display of BIM and GIS data. The rendering engine can efficiently call the browser executable format library to realize the processing and display of GIS data, and integrate with BIM data to display on the Web side. The seamless integration of the rendering engine and the browser executable format library improves the system performance and user experience; through the WebGL platform display, cross-platform, high-performance Web applications are realized. The present invention not only improves the performance and flexibility of the system, but also simplifies the development process and reduces the development cost, and has high practical value and innovation.

[0074] It should be noted that the method of the embodiment of the present disclosure can be performed by a single device, such as a computer or a server. The method of the present embodiment can also be applied in a distributed scenario and completed by multiple devices cooperating with each other. In the case of such a distributed scenario, one of the multiple devices can only perform one or more steps in the method of the embodiment of the present disclosure, and the multiple devices will interact with each other to complete the described method.

[0075] It should be noted that the above describes some embodiments of the present disclosure. Other embodiments are within the scope of the appended claims. In some cases, the actions or steps recorded in the claims can be performed in an order different from that in the above embodiments and still achieve the desired results. In addition, the processes depicted in the accompanying drawings do not necessarily require the specific order or continuous order shown to achieve the desired results. In some embodiments, multitasking and parallel processing are also possible or may be advantageous.

[0076] Example 2

[0077] See also Figure 6 Embodiment 2 of the present invention further provides a device supporting multi-terminal BIM and GIS integration, including:

[0078] The GIS map engine C++ function library division module 001 is used to select the C++ library of the GIS map engine as the source library for fusion; according to the set function of the C++ library of the GIS map engine, the C++ library of the GIS map engine is divided into several GIS map engine C++ function libraries;

[0079] The browser executable format library acquisition module 002 is used to compile several GIS map engine C++ function libraries respectively through an open source compilation tool chain to obtain several browser executable format libraries that meet the requirements of running in the browser;

[0080] The browser-side library acquisition module 003 is used to perform interface encapsulation processing on a plurality of the browser executable format libraries by using a readable programming language to obtain a plurality of browser-side libraries; the browser-side libraries are provided with a unified interface layer;

[0081] The rendering engine calling module 004 is used to use the rendering engine code language through the rendering engine and utilize the interface layer of the browser-side library to call the browser executable format library of the GIS map engine to realize the reading and processing of the geographic spatial data in the GIS map engine;

[0082] The platform compilation module 005 is used to compile the rendering engine into a WebGL platform or a PC platform through the configured strategy after the rendering engine completes the call to the browser executable format library of the GIS map engine, so as to realize the integrated display of the BIM rendering engine and the GIS map engine data.

[0083] In this embodiment, in the GIS map engine C++ function library division module 001, the C++ code of the GIS map engine C++ function library is relatively independent and has preset input and output interfaces.

[0084] In this embodiment, the browser executable format library acquisition module 002 includes the following submodules:

[0085] C++ function library selection submodule 021, used for selecting the GIS map engine C++ function library that needs to be compiled;

[0086] Compilation tool chain installation submodule 022 is used to install a compilation tool chain for executable format files in the browser;

[0087] The source code package acquisition submodule 023 is used to download and decompress the source code package of the GIS map engine, enter the source code directory, and ensure that the source code can be compiled in the local C++ compilation environment;

[0088] Compilation submodule 024, used for compiling the compilation file of the GIS map engine C++ function library;

[0089] The format conversion submodule 025 is used to configure and compile the C++ function library of the GIS map engine through the compilation tool chain, and convert the C++ function library of the GIS map engine into the browser executable format library.

[0090] In this embodiment, in the browser executable format library acquisition module 002, in the process of compiling several GIS map engine C++ function libraries separately through the open source compilation tool chain, the code and resources corresponding to the function of each GIS map engine C++ function library are compiled to reduce the size of the browser executable format library.

[0091] In this embodiment, in the browser-side library acquisition module 003, the browser executable format library is loaded and accessed through the interface layer of the browser-side library, and an easy-to-call API is provided to enable the rendering engine to call the browser executable format library.

[0092] It should be noted that the information interaction, execution process and other contents between the modules of the above-mentioned system are based on the same concept as the method embodiment in Example 1 of the present application, and the technical effects they bring are the same as those of the method embodiment of the present application. For specific contents, please refer to the description in the method embodiment shown above in the present application, and will not be repeated here.

[0093] Example 3

[0094] Embodiment 3 of the present invention provides a non-transitory computer-readable storage medium, in which a program code for a method supporting the integration of multi-terminal BIM and GIS is stored. The program code includes instructions for executing embodiment 1 or any possible implementation thereof, a method supporting the integration of multi-terminal BIM and GIS.

[0095] The computer-readable storage medium may be any available medium that can be accessed by a computer or a data storage device such as a server or a data center that includes one or more available media. The available medium may be a magnetic medium (e.g., a floppy disk, a hard disk, a tape), an optical medium (e.g., a DVD), or a semiconductor medium (e.g., a solid-state drive (SSD)).

[0096] Example 4

[0097] Embodiment 4 of the present invention provides an electronic device, including: a memory and a processor;

[0098] The processor and the memory communicate with each other via a bus; the memory stores program instructions that can be executed by the processor, and the processor calls the program instructions to execute a method supporting multi-terminal BIM and GIS integration in Example 1 or any possible implementation thereof.

[0099] Specifically, the processor can be implemented by hardware or by software. When implemented by hardware, the processor can be a logic circuit, an integrated circuit, etc.; when implemented by software, the processor can be a general-purpose processor implemented by reading software codes stored in a memory. The memory can be integrated in the processor or can be located outside the processor and exist independently.

[0100] In the above embodiments, it can be implemented in whole or in part by software, hardware, firmware or any combination thereof. When implemented using software, it can be implemented in whole or in part in the form of a computer program product. The computer program product includes one or more computer instructions. When the computer program instructions are loaded and executed on a computer, the process or function described in the embodiment of the present invention is generated in whole or in part. The computer can be a general-purpose computer, a special-purpose computer, a computer network, or other programmable systems. The computer instructions can be stored in a computer-readable storage medium, or transmitted from a computer-readable storage medium to another computer-readable storage medium, for example, the computer instructions can be transmitted from a website site, computer, server or data center by wired (e.g., coaxial cable, optical fiber, digital subscriber line (DSL)) or wireless (e.g., infrared, wireless, microwave, etc.) mode to another website site, computer, server or data center.

[0101] Obviously, those skilled in the art should understand that the above modules or steps of the present invention can be implemented by a general computing system, they can be concentrated on a single computing system, or distributed on a network composed of multiple computing systems, and optionally, they can be implemented by a program code executable by a computing system, so that they can be stored in a storage system and executed by the computing system, and in some cases, the steps shown or described can be executed in a different order than here, or they can be made into individual integrated circuit modules, or multiple modules or steps therein can be made into a single integrated circuit module for implementation. Thus, the present invention is not limited to any specific combination of hardware and software.

[0102] Although the present invention has been described in detail above by general description and specific embodiments, it is obvious to those skilled in the art that some modifications or improvements can be made to the present invention. Therefore, these modifications or improvements made without departing from the spirit of the present invention all belong to the scope of protection claimed by the present invention.

Claims

1. A method for supporting multi-terminal BIM and GIS integration, characterized in that: include: Select the C++ library of GIS map engine as the source library for fusion; According to the set functions of the C++ library of the GIS map engine, the C++ library of the GIS map engine is divided into several GIS map engine C++ function libraries; Compile several GIS map engine C++ function libraries respectively through an open source compilation tool chain to obtain several browser executable format libraries that meet the requirements of running in the browser; Performing interface encapsulation processing on a plurality of the browser executable format libraries by using a readable programming language to obtain a plurality of browser-side libraries; the browser-side libraries are provided with a unified interface layer; Using a rendering engine code language through a rendering engine and utilizing the interface layer of the browser-side library to call the browser executable format library of the GIS map engine, the reading and processing of the geographic spatial data in the GIS map engine is realized; After the rendering engine completes the call to the browser executable format library of the GIS map engine, the rendering engine is compiled into a WebGL platform or a PC platform through the configured strategy to achieve the integrated display of the BIM rendering engine and the GIS map engine data.

2. A method for supporting multi-terminal BIM and GIS integration according to claim 1, characterized in that: The C++ code of the GIS map engine C++ function library is relatively independent and has preset input and output interfaces.

3. A method for supporting multi-terminal BIM and GIS integration according to claim 2, characterized in that: The steps of compiling several GIS map engine C++ function libraries respectively through the open source compilation tool chain are as follows: Select the GIS map engine C++ function library that needs to be compiled; Install the toolchain for compiling files in a format that can be run in the browser; Download and decompress the source code package of the GIS map engine, enter the source code directory, and ensure that the source code can be compiled in the local C++ compilation environment; Write the compilation file of the GIS map engine C++ function library; The C++ function library of the GIS map engine is configured and compiled through the compilation tool chain, and the C++ function library of the GIS map engine is converted into the browser executable format library.

4. The method for supporting multi-terminal BIM and GIS integration according to claim 3 is characterized in that: In the process of compiling several GIS map engine C++ function libraries separately through the open source compilation tool chain, the code and resources corresponding to the functions of each GIS map engine C++ function library are compiled to reduce the size of the browser executable format library.

5. A method for supporting multi-terminal BIM and GIS integration according to claim 4, characterized in that: The browser executable format library is loaded and accessed through the interface layer of the browser-side library, and provides an easy-to-call API to enable the rendering engine to call the browser executable format library.

6. A device supporting multi-terminal BIM and GIS integration, using a method supporting multi-terminal BIM and GIS integration as described in any one of claims 1 to 5, characterized in that: include: GIS map engine C++ function library division module, used to select the C++ library of GIS map engine as the source library for fusion; According to the set functions of the C++ library of the GIS map engine, the C++ library of the GIS map engine is divided into several GIS map engine C++ function libraries; A browser executable format library acquisition module is used to compile several GIS map engine C++ function libraries respectively through an open source compilation tool chain to obtain several browser executable format libraries that meet the requirements for running in the browser; A browser-side library acquisition module is used to perform interface encapsulation processing on a plurality of the browser executable format libraries by using a readable programming language to obtain a plurality of browser-side libraries; the browser-side libraries are provided with a unified interface layer; A rendering engine calling module, used to use the rendering engine code language through the rendering engine and utilize the interface layer of the browser-side library to call the browser executable format library of the GIS map engine to realize the reading and processing of the geographic spatial data in the GIS map engine; The platform compilation module is used to compile the rendering engine into a WebGL platform or a PC platform through the configured strategy after the rendering engine completes the call to the browser executable format library of the GIS map engine, so as to realize the integrated display of the BIM rendering engine and the GIS map engine data.

7. The device for supporting multi-terminal BIM and GIS integration according to claim 6, characterized in that: In the GIS map engine C++ function library division module, the C++ code of the GIS map engine C++ function library is relatively independent and has preset input and output interfaces.

8. The device for supporting multi-terminal BIM and GIS integration according to claim 7, characterized in that: The browser executable format library acquisition module includes the following submodules: A C++ function library selection submodule, used to select the GIS map engine C++ function library that needs to be compiled; Compilation tool chain installation submodule, used to install the compilation tool chain of executable format files in the browser; The source code package acquisition submodule is used to download and decompress the source code package of the GIS map engine, enter the source code directory, and ensure that the source code can be compiled in the local C++ compilation environment; A compilation submodule, used for compiling the compilation file of the GIS map engine C++ function library; The format conversion submodule is used to configure and compile the C++ function library of the GIS map engine through the compilation tool chain, and convert the C++ function library of the GIS map engine into the browser executable format library.

9. The device for supporting multi-terminal BIM and GIS integration according to claim 8, characterized in that: In the browser executable format library acquisition module, in the process of compiling several GIS map engine C++ function libraries separately through the open source compilation tool chain, the code and resources corresponding to the function of each GIS map engine C++ function library are compiled to reduce the size of the browser executable format library.

10. The device supporting multi-terminal BIM and GIS integration according to claim 9, characterized in that: In the browser-side library acquisition module, the browser executable format library is loaded and accessed through the interface layer of the browser-side library, and an easy-to-call API is provided to enable the rendering engine to call the browser executable format library.

Citation Information

Patent Citations

  • Generating method and device of UI control across mobile terminal

    CN103677839A

  • WEB side three-dimensional simulation-based substation project progress information visualization system

    CN108038915A

  • BIM and 3D GIS fusion method for planning management

    CN109918526A

  • Algorithm module generation method and linear symbol drawing method

    CN111459463A

  • Three-dimensional GIS (Geographic Information System) visualization engine packaging method and system

    CN117435175A