A method and device for supporting multi-end BIM and GIS fusion
By modularly compiling and encapsulating the GIS map engine C++ library into a browser-executable format library, the problems of poor integration of BIM and GIS on the Web and cross-platform application on the PC are solved, realizing high-performance cross-platform BIM and GIS integration display.
Patent Information
- Application Number
- CN202411108265.3
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2024-08-13
- Publication Date
- 2025-11-21
- Estimated Expiration
- 2044-08-13
AI Technical Summary
Existing technologies cannot achieve deep integration of BIM and GIS on the Web, and the integration of BIM and GIS on PC cannot be applied across platforms, resulting in high development complexity and a lack of flexibility and reusability.
By selecting the C++ library of the GIS map engine as the fusion source, modularly compiling it into a browser executable format library, and encapsulating the interface through an easy-to-read programming language, the rendering engine calls these libraries to achieve cross-platform fusion display of BIM and GIS.
It achieves high-performance cross-platform integration of BIM and GIS, improving system flexibility and scalability, reducing development costs, and enhancing user experience and system performance.
Smart Images

Figure CN119106476B_ABST
Abstract
Description
TECHNICAL FIELD
[0001] The present application relates to the technical field of building information fusion, and particularly relates to a method and device for supporting multi-terminal BIM and GIS fusion. BACKGROUND
[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, combining BIM and GIS and displaying and interacting through the Web can greatly improve the efficiency and effectiveness of building information management and urban planning.
[0003] At present, the existing technology realizes the fusion of Web-end BIM and GIS by using an open-source WebGL graphics engine and an open-source GIS global map Web library to realize the fusion of BIM and GIS on the Web. Under this technical scheme, the graphics engine and the GIS engine are realized by superimposing on the web page. The existing technology usually uses a WebGL graphics engine (such as three.js) on the Web to realize the rendering of BIM objects, and the display effect of the WebGL graphics engine on the Web is general, and there is a large difference from the actual model of the physical world. On the PC, a rendering engine is used to render BIM objects, but since the map engine cannot cross platforms, it cannot realize the fusion of BIM and GIS on the Web. 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 non-Web technical solution of the rendering engine, so it can only realize the fusion of BIM and GIS on the non-Web. If the existing technical solution is used, the superimposed display is still performed on the Web page, and the Web JavaScript library of the rendering engine and the JavaScript library of the GIS engine are used for development. Under this technical solution, the development complexity is large, the development project cannot have flexibility and reusability, and deep fusion of BIM and GIS cannot be realized.
[0004] Therefore, how to invent a BIM and GIS fusion method to solve the problems of poor display effect of existing Web-end BIM and GIS fusion and the problem that PC-end BIM and GIS fusion cannot be applied across platforms has become an urgent problem to be solved. SUMMARY
[0005] To this end, the application provides a method and device for supporting multi-terminal BIM and GIS fusion, which solves the fusion problem of rendering engines in the Web terminal, PC terminal and GIS engine through modular compilation, interface packaging and multi-terminal fusion technology, and realizes multi-terminal fusion of BIM and GIS.
[0006] In order to achieve the above-mentioned purpose, the application provides the following technical scheme: a method for supporting multi-terminal BIM and GIS fusion, comprising:
[0007] The C++ library of the GIS map engine is selected 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 a plurality of GIS map engine C++ function libraries;
[0008] A plurality of GIS map engine C++ function libraries are compiled by using an open source compilation tool chain, and a plurality of browser executable format libraries meeting the requirements of running in a browser are obtained;
[0009] A plurality of browser executable format libraries are interface packaged by using a readable programming language, and a plurality of browser terminal libraries are obtained; the browser terminal library is provided with a unified interface layer;
[0010] The browser executable format library of the GIS map engine is called by using the interface layer of the browser terminal library through the rendering engine code language of the rendering engine, and the reading and processing of geographic spatial data in the GIS map engine are realized;
[0011] 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, and the fusion display of BIM rendering engine and GIS map engine data is realized.
[0012] As a preferred scheme of the method for supporting multi-terminal BIM and GIS fusion, the C++ code of the GIS map engine C++ function library is relatively independent and has a preset input and output interface.
[0013] As a preferred scheme of the method for supporting multi-terminal BIM and GIS fusion, the step of compiling a plurality of GIS map engine C++ function libraries through the open source compilation tool chain is:
[0014] The GIS map engine C++ function library to be compiled is selected;
[0015] The browser executable format file compilation tool chain is installed;
[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 by 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 scheme of a method for supporting multi-terminal BIM and GIS integration, in the process of compiling a plurality of GIS map engine C++ function libraries by the open source compilation tool chain, the code and resources corresponding to the function of each GIS map engine C++ function library are compiled, and the size of the browser executable format library is reduced.
[0020] As a preferred scheme of a method for supporting multi-terminal BIM and GIS integration, the browser executable format library is loaded and accessed through the interface layer of the browser-side library, and provides an API that is easy to call, so that the rendering engine can call the browser executable format library.
[0021] The application also provides an apparatus for supporting multi-terminal BIM and GIS integration, based on the above-mentioned method for supporting multi-terminal BIM and GIS integration, comprising:
[0022] The GIS map engine C++ function library division module is used to select the C++ library of the GIS map engine as the source library for integration; and 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;
[0023] The browser executable format library acquisition module is used to compile a plurality of GIS map engine C++ function libraries through an open source compilation tool chain, and obtain a plurality of browser executable format libraries that meet the requirements of running in a browser;
[0024] The browser-side library acquisition module is used to perform interface encapsulation processing on a plurality of browser executable format libraries through a readable programming language, and obtain a plurality of browser-side libraries; the browser-side library is provided with a unified interface layer;
[0025] The rendering engine calling module is used to use a rendering engine code language through a rendering engine, and call the browser executable format library of the GIS map engine by using the interface layer of the browser-side library, so as to realize reading and processing of geospatial data in the GIS map engine;
[0026] A platform compiling module is configured to compile the rendering engine into a WebGL platform or a PC platform through a configured strategy after the rendering engine completes the calling of the browser executable format library of the GIS map engine, so as to realize the fusion display of BIM rendering engine and GIS map engine data.
[0027] As a preferred scheme of the device supporting multi-terminal BIM and GIS fusion, the C++ code of the GIS map engine C++ function library is relatively independent in the GIS map engine C++ function library division module, and has a preset input and output interface.
[0028] As a preferred scheme of the device supporting multi-terminal BIM and GIS fusion, the browser executable format library acquisition module includes the following sub-modules:
[0029] A C++ function library selection sub-module is configured to select the GIS map engine C++ function library to be compiled;
[0030] A compiling tool chain installation sub-module is configured to install a browser executable format file compiling tool chain;
[0031] A source code package acquisition sub-module is configured to download and decompress a source code package of the GIS map engine, enter a source code directory, and ensure that the source code can be compiled in a local C++ compiling environment;
[0032] A compiling sub-module is configured to compile a compiling file of the GIS map engine C++ function library;
[0033] A format conversion sub-module is configured to configure and compile the C++ function library of the GIS map engine through the compiling tool chain, and convert the C++ function library of the GIS map engine into the browser executable format library.
[0034] As a preferred scheme of the device supporting multi-terminal BIM and GIS fusion, in the browser executable format library acquisition module, the code and resources corresponding to the function of each GIS map engine C++ function library are compiled in the process of compiling the GIS map engine C++ function libraries through the open source compiling tool chain, so as to reduce the size of the browser executable format library.
[0035] As a preferred scheme of the device supporting multi-terminal BIM and GIS fusion, 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 provides an API easy to call, so as to realize the calling of the browser executable format library by the rendering engine.
[0036] The application has the following advantages: the C++ library of the GIS map engine is selected as the source library for fusion; the C++ library of the GIS map engine is divided into a plurality of GIS map engine C++ function libraries according to the set functions of the C++ library of the GIS map engine; the plurality of GIS map engine C++ function libraries are compiled respectively by using an open source compilation tool chain to obtain a plurality of browser executable format libraries meeting the requirements of running in a browser; the plurality of browser executable format libraries are subjected to interface encapsulation processing 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; the browser executable format libraries of the GIS map engine are called by using the interface layer of the browser-side libraries through a rendering engine using a rendering engine code language, so that reading and processing of geospatial data in the GIS map engine are realized; after the rendering engine completes the calling of the browser executable format libraries of the GIS map engine, the rendering engine is compiled into a WebGL platform or a PC platform through a configured strategy, so that fusion display of BIM rendering engine and GIS map engine data is realized. The C++ library of the GIS engine is split according to function modules, and the compilation tool chain is used to compile the C++ library into independent browser executable format libraries. The browser executable format libraries generated in this way are small in size, high in performance, easy to load and run on the Web, and solve the problem that the rendering engine cannot fuse the GIS engine on the Web. The modularized browser executable format libraries can be flexibly selected and loaded according to actual requirements, improving the flexibility and expansibility of the system; unnecessary code loading is reduced, and the running efficiency is improved. The generated browser executable format libraries are provided with a unified interface layer, which facilitates the calling of the rendering engine. The encapsulated browser executable format libraries provide easy-to-call APIs through the unified interface layer, so that the rendering engine can conveniently access the functions of the GIS engine. The readability and ease of use of the browser executable format libraries are improved, and the learning cost and development time of the developers are reduced; the encapsulated interface layer simplifies the loading and management of the browser executable format libraries. The rendering engine uses its own code language to call the encapsulated browser executable format libraries, realizes the fusion and display of BIM and GIS data, and efficiently calls the browser executable format libraries to realize the processing and display of GIS data and the fusion and display of BIM data on the Web. Seamless integration of the rendering engine and the browser executable format libraries improves the performance and user experience of the system; through WebGL platform display, cross-platform and high-performance Web applications are realized. The application not only improves the performance and flexibility of the system, but also simplifies the development process, reduces the development cost, has high practical value and innovation. BRIEF DESCRIPTION OF DRAWINGS
[0037] In order to more clearly illustrate the embodiments of the present application or the technical solutions in the prior art, the following will briefly introduce the drawings required by the embodiments or the prior art description. Obviously, the drawings in the following description are only exemplary, and for those skilled in the art, other drawings can be obtained from the provided drawings without creative labor.
[0038] The structures, proportions, sizes, etc. shown in the specification are only used to cooperate with the content disclosed in the specification, so that those skilled in the art can understand and read, and are not used to limit the conditions that the present application can be implemented, so they do not have technical significance. Any modification of structure, change of proportion relationship or adjustment of size, without affecting the effect and purpose that the present application can produce, should still fall within the scope of the technical content disclosed by the present application.
[0039] Figure 1 A method flow diagram for supporting multi-terminal BIM and GIS fusion provided in embodiment 1 of the present application;
[0040] Figure 2 A browser executable format library acquisition diagram in a method for supporting multi-terminal BIM and GIS fusion provided in embodiment 1 of the present application;
[0041] Figure 3 A compilation flow diagram in a method for supporting multi-terminal BIM and GIS fusion provided in embodiment 1 of the present application;
[0042] Figure 4 A browser library acquisition diagram in a method for supporting multi-terminal BIM and GIS fusion provided in embodiment 1 of the present application;
[0043] Figure 5 A rendering engine calling diagram in a method for supporting multi-terminal BIM and GIS fusion provided in embodiment 1 of the present application;
[0044] Figure 6 A device architecture diagram for supporting multi-terminal BIM and GIS fusion provided in embodiment 2 of the present application. DETAILED DESCRIPTION
[0045] The embodiments of the present application will be described by specific specific embodiments, and those skilled in the art can easily understand other advantages and effects of the present application from the content disclosed in the specification. Obviously, the described embodiments are part of the embodiments of the present application, not all. Based on the embodiments in the present application, all other embodiments obtained by those skilled in the art without creative labor fall within the scope of the present application.
[0046] Embodiment 1
[0047] With reference to Figure 1 Embodiment 1 of the present application provides a method for supporting multi-end BIM and GIS fusion, comprising the following steps:
[0048] S1, selecting a C++ library of a GIS map engine as a 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 a plurality of GIS map engine C++ function libraries;
[0049] S2, compiling the plurality of GIS map engine C++ function libraries respectively by using an open source compilation tool chain, to obtain a plurality of browser executable format libraries meeting the requirements of running in a browser;
[0050] S3, performing interface encapsulation processing on the plurality of 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 by a rendering engine, and calling the browser executable format libraries of the GIS map engine by using the interface layer of the browser-side libraries, to realize reading and processing of geographic spatial data in the GIS map engine;
[0052] S5, after the rendering engine completes the calling of the browser executable format libraries of the GIS map engine, compiling the rendering engine into a WebGL platform or a PC platform by using a configured strategy, to realize fusion display of BIM rendering engine and GIS map engine data.
[0053] In this embodiment, in step S1, a C++ library of a GIS map engine is selected as a 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 a plurality of GIS map engine C++ function libraries;
[0054] Specifically, the existing code library of the GIS map engine is generally divided into a C++ library, a game engine library and a Web library for external use. In order to realize deep application of the bottom interface of the GIS map engine and deep fusion from the bottom, the C++ library is selected as the source library for fusion.
[0055] In practical applications, the complete GIS map engine C++ library often has many functions and is large in size. In some specific BIM and GIS integration scenarios, only part of the functions of the GIS engine may be needed. In order to improve the flexibility and lightness of the system, the present application proposes a method for split compilation of a GIS map engine, which splits the C++ library of the GIS map to form multiple browser executable format libraries for the rendering engine. The rendering engine can call the browser executable format library of the GIS engine as needed to achieve flexibility and lightness. The GIS map engine is analyzed 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, a number of GIS map engine C++ function libraries are respectively compiled by an open source compilation tool chain to obtain a number of browser executable format libraries that meet the requirements for running in a browser;
[0057] Specifically, referring to Figure 2 The C++ code of each functional module is individually compiled using a browser executable format compilation tool chain to generate independent browser executable format libraries. 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 libraries, thereby reducing the size of the browser executable format libraries.
[0058] As shown in Figure 3 the specific compilation steps are as follows:
[0059] S21, select the GIS map engine C++ function library that needs to be compiled;
[0060] S22, install the browser executable format file compilation tool chain;
[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, write 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 by using the compilation tool chain to convert the C++ function library of the GIS map engine into the browser executable format library.
[0064] The application realizes flexibility and light weight of the GIS map engine. The rendering engine can load and call the browser executable format library of each function module on demand, thereby reducing system resource occupation and improving operation efficiency.
[0065] In the embodiment, in step S3, the browser executable format libraries are interface-encapsulated by a readable programming language to obtain a plurality of 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, the readability is poor. In order to improve the readability of the browser executable format library and facilitate development and application, the application provides 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] As shown in Figure 4 The generated browser executable format library is encapsulated by a readable programming language to provide an interface with strong readability and high usability of the browser executable format library. The interface realizes loading and calling of the browser executable format library and provides an easy-to-use access interface, so that the rendering engine can use its own programming language to schedule and call.
[0068] In step S4, the rendering engine uses the rendering engine code language and calls the browser executable format library of the GIS map engine through the interface layer of the browser-side library, so as to realize reading and processing of geospatial data in the GIS map engine.
[0069] Specifically, as shown in Figure 5 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 reading and processing of geospatial data. The rendering engine code language is used for calling to ensure seamless integration with the rendering engine.
[0070] In step S5, after the rendering engine completes 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 fusion display of BIM rendering engine and GIS map engine data.
[0071] Specifically, the rendering engine uses its own code language to call the encapsulated browser executable format library to realize the fusion 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 the fusion and display of BIM data on the Web. The seamless integration of the rendering engine and the browser executable format library improves the performance and user experience of the system; through the WebGL platform display, cross-platform and high-performance Web applications are realized.
[0072] The rendering engine in the application includes but is not limited to Unity or Unreal Engine, and the own code language includes but is not limited to using the rendering engine programming language, C# or C++ code to call the encapsulated browser executable format library. The rendering engine project integrated with the browser executable format library calling is compiled into the WebGL platform or the PC platform to realize the fusion and display of BIM and GIS data.
[0073] In summary, the application selects the C++ library of the 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 a plurality of GIS map engine C++ function libraries; the plurality of GIS map engine C++ function libraries are compiled respectively by using an open source compilation tool chain, and a plurality of browser executable format libraries meeting the requirements of running in a browser are obtained; the plurality of browser executable format libraries are subjected to interface encapsulation processing by using a readable programming language, and a plurality of browser-side libraries are obtained; the browser-side libraries are provided with a uniform interface layer; the browser executable format libraries of the GIS map engine are called by using the interface layer of the browser-side libraries through a rendering engine using a rendering engine code language, so that reading and processing of geospatial data in the GIS map engine are realized; after the rendering engine completes the calling of the browser executable format libraries of the GIS map engine, the rendering engine is compiled into a WebGL platform or a PC platform through a configured strategy, so that the fusion display of BIM rendering engine and GIS map engine data is realized. The C++ library of the GIS engine is split according to function modules, and is compiled into independent browser executable format libraries by using a compilation tool chain. The browser executable format libraries generated in this way are small in size, high in performance, easy to load and run on the Web, and solve the problem that the rendering engine cannot fuse the GIS engine on the Web. The modularized browser executable format libraries can be flexibly selected and loaded according to actual needs, improving the flexibility and expansibility of the system; unnecessary code loading is reduced, and the running efficiency is improved. The generated browser executable format libraries are provided with a uniform interface layer, which facilitates the calling of the rendering engine. The encapsulated browser executable format libraries provide easy-to-call APIs through the uniform interface layer, so that the rendering engine can conveniently access the functions of the GIS engine. The readability and ease of use of the browser executable format libraries are improved, the learning cost and development time of the developers are reduced; the encapsulated interface layer simplifies the loading and management of the browser executable format libraries. The rendering engine uses its own code language to call the encapsulated browser executable format libraries, realizes the fusion and display of BIM and GIS data, and the rendering engine can efficiently call the browser executable format libraries, realize the processing and display of GIS data, and fuse and display the BIM data on the Web. The seamless integration of the rendering engine and the browser executable format libraries improves the performance and user experience of the system; through the WebGL platform display, cross-platform and high-performance Web applications are realized. The application not only improves the performance and flexibility of the system, but also simplifies the development process, reduces the development cost, has high practical value and innovation.
[0074] It should be noted that the method of the embodiments of the present disclosure can be executed by a single device, such as a computer or a server, etc. The method of the embodiments can also be applied to a distributed scenario, and be completed by multiple devices cooperating with each other. In the case of such a distributed scenario, one of the multiple devices can only execute one or more steps in the method of the embodiments of the present disclosure, and the multiple devices can interact with each other to complete the method.
[0075] It should be noted that some embodiments of the present disclosure have been described above. Other embodiments are within the scope of the appended claims. In some cases, the actions or steps recited in the claims can be performed in a different order and still achieve desirable results. Additionally, the processes depicted in the figures do not necessarily require the particular order shown, or sequential order, to achieve the desired results. In certain implementations, multitasking and parallel processing can be advantageous.
[0076] Embodiment 2
[0077] Referring to Figure 6 Embodiment 2 of the present disclosure also provides a device for supporting multi-end BIM and GIS fusion, comprising:
[0078] A GIS map engine C++ function library division module 001 is configured to select a C++ library of a GIS map engine as a source library for fusion, and divide the C++ library of the GIS map engine into a plurality of GIS map engine C++ function libraries according to the set functions of the C++ library of the GIS map engine.
[0079] A browser executable format library acquisition module 002 is configured to compile the plurality of GIS map engine C++ function libraries respectively by using an open source compilation tool chain, and obtain a plurality of browser executable format libraries meeting the requirements for running in a browser.
[0080] A browser-side library acquisition module 003 is configured to perform interface encapsulation processing on the plurality of browser executable format libraries by using a readable programming language, and obtain a plurality of browser-side libraries. The browser-side libraries are provided with a unified interface layer.
[0081] A rendering engine calling module 004 is configured to use a rendering engine code language by a rendering engine, and call the browser executable format libraries of the GIS map engine by using the interface layer of the browser-side libraries, so as to realize reading and processing of geospatial data in the GIS map engine.
[0082] A platform compiling module 005 is configured to compile the rendering engine into a WebGL platform or a PC platform through a configured strategy after the rendering engine completes the calling of the browser executable format library of the GIS map engine, so as to realize the fusion display of the BIM rendering engine and the GIS map engine data.
[0083] In this embodiment, the C++ code of the GIS map engine C++ function library in the GIS map engine C++ function library division module 001 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 sub-modules:
[0085] A C++ function library selection sub-module 021 is configured to select the GIS map engine C++ function library to be compiled.
[0086] A compiling tool chain installation sub-module 022 is configured to install a browser executable format file compiling tool chain.
[0087] A source code package acquisition sub-module 023 is configured 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++ compiling environment.
[0088] A compiling sub-module 024 is configured to compile the GIS map engine C++ function library.
[0089] A format conversion sub-module 025 is configured to configure and compile the C++ function library of the GIS map engine through the compiling 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 process of compiling each GIS map engine C++ function library through the open source compiling tool chain in the browser executable format library acquisition module 002, the code and resources corresponding to the function of each GIS map engine C++ function library are compiled, so as 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 API easy to call is provided, so as to realize the calling of the rendering engine to the browser executable format library.
[0092] It is to be noted that the information interaction and execution process between the modules of the system described above are based on the same concept as the method embodiment in Embodiment 1 of the present application, and the technical effects brought by the method embodiment are the same as those of the method embodiment of the present application. For specific content, refer to the description in the method embodiment described above, which will not be repeated here.
[0093] Embodiment 3
[0094] Embodiment 3 of the present application provides a non-transitory computer readable storage medium, which stores a program code of a method for supporting multi-end BIM and GIS fusion, the program code comprising instructions for executing the method for supporting multi-end BIM and GIS fusion of Embodiment 1 or any possible implementation manner thereof.
[0095] The computer readable storage medium can be any available medium accessible by a computer or a data storage device such as a server, data center, etc. integrated with one or more available medium sets. The available medium can be a magnetic medium (e.g., floppy disk, hard disk, magnetic tape), an optical medium (e.g., DVD), or a semiconductor medium (e.g., solid state disk (SSD)), etc.
[0096] Embodiment 4
[0097] Embodiment 4 of the present application provides an electronic device, comprising a memory and a processor.
[0098] The processor and the memory complete mutual communication through a bus; the memory stores program instructions executable by the processor, and the processor calling the program instructions can execute the method for supporting multi-end BIM and GIS fusion of Embodiment 1 or any possible implementation manner thereof.
[0099] Specifically, the processor can be implemented by hardware or 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, which realizes by reading software codes stored in a memory. The memory can be integrated in the processor or exist independently outside the processor.
[0100] In the embodiments described above, all or some of the modules / units can be implemented by software, hardware, firmware or any combination thereof. When implemented by software, all or some of the modules / units can be implemented 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 into and executed by a computer, all or some of the procedures or functions as described in the embodiments of the present application are generated. The computer can be a general purpose computer, a special purpose computer, a computer network, or other programmable system. The computer instructions can be stored in a computer readable storage medium or transmitted from one computer readable storage medium to another computer readable storage medium, for example, the computer instructions can be transmitted from one website, computer, server or data center to another website, computer, server or data center through wired (for example, coaxial cable, optical fiber, digital subscriber line (DSL)) or wireless (for example, infrared, wireless, microwave, etc.) manner.
[0101] It is obvious that those skilled in the art should understand that the modules or steps of the present application described above can be implemented by a general computing system, which 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 program codes executable by a computing system, so that they can be stored in a storage system and executed by a computing system, and in some cases, the steps shown or described can be executed in different order, or they can be made into individual integrated circuit modules, or multiple modules or steps can be made into a single integrated circuit module. Thus, the present application is not limited to any particular combination of hardware and software.
[0102] Although the present application has been described in detail by the above general description and specific embodiments, some modifications or improvements can be made on the basis of the present application, which is obvious to those skilled in the art. Therefore, these modifications or improvements made on the basis of not deviating from the spirit of the present application are within the scope of the present application.
Claims
1. A method for supporting the integration of multi-terminal BIM and GIS, characterized in that, include: The C++ library of the GIS map engine was selected as the source library for fusion; Based on the functional settings of the GIS map engine's C++ library, the GIS map engine's C++ library is divided into several GIS map engine C++ function libraries; By using an open-source compilation toolchain, several GIS map engine C++ function libraries are compiled to obtain several browser executable format libraries that meet the requirements for running in a browser. Several browser executable format libraries are encapsulated using a readable programming language to obtain several browser-side libraries; each browser-side library has a unified interface layer. By using the rendering engine's code language and leveraging 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 geospatial data in the GIS map engine can be achieved. After the rendering engine completes the call to the browser executable format library of the GIS map engine, the rendering engine is compiled into the WebGL platform or PC platform through the configured strategy to realize the fusion display of BIM rendering engine and GIS map engine data. The steps for compiling the various GIS map engine C++ function libraries using the aforementioned open-source compilation toolchain are as follows: Select the GIS map engine C++ function library that needs to be compiled; Install a browser-compatible file compilation toolchain; Download and extract the GIS map engine source code package, enter the source code directory, and ensure that the source code can be compiled successfully in the local C++ compilation environment; Write the compilation files for the C++ function library of the GIS map engine; The C++ function library of the GIS map engine is configured and compiled using the compilation toolchain, and the C++ function library of the GIS map engine is converted into the browser executable format library. 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.
2. The 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. The method for supporting multi-terminal BIM and GIS integration according to claim 1, characterized in that, During the compilation of several GIS map engine C++ function libraries using the open-source compilation toolchain, the code and resources corresponding to the functions of each GIS map engine C++ function library are compiled, thereby reducing the size of the browser executable format library.
4. An apparatus for supporting the integration of multi-terminal BIM and GIS, employing the method for supporting the integration of multi-terminal BIM and GIS as described in any one of claims 1-3, characterized in that, include: The GIS map engine C++ function library partitioning module is used to select the GIS map engine's C++ library as the source library for fusion; Based on the functional settings of the GIS map engine's C++ library, the GIS map engine's C++ library is divided into several GIS map engine C++ function libraries; The browser executable format library acquisition module is used to compile several of the GIS map engine C++ function libraries respectively through an open source compilation toolchain to obtain several browser executable format libraries that meet the requirements for running in a browser. The browser-side library acquisition module is used to encapsulate the interfaces of several browser executable format libraries using a readable programming language to obtain several browser-side libraries; the browser-side libraries have a unified interface layer. The rendering engine calling module is used to use the rendering engine code language through the rendering engine and to call the browser executable format library of the GIS map engine through the interface layer of the browser-side library, so as to realize the reading and processing of geospatial 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 according to 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 fusion display of BIM rendering engine and GIS map engine data. The browser executable format library acquisition module includes the following sub-modules: The C++ function library selection submodule is used to select the GIS map engine C++ function library that needs to be compiled. The compiler toolchain installation submodule is used to install compiler toolchains for files that can be run 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 successfully in the local C++ compilation environment; The compilation submodule is used to write the compilation files for the C++ function library of the GIS map engine; The format conversion submodule is used to configure and compile the C++ function library of the GIS map engine through the compilation toolchain, and convert the C++ function library of the GIS map engine into the browser executable format library; 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.
5. The device for supporting multi-terminal BIM and GIS integration according to claim 4, characterized in that, In the GIS map engine C++ function library partitioning module, the C++ code of the GIS map engine C++ function library is relatively independent and has preset input and output interfaces.
6. The device for supporting multi-terminal BIM and GIS integration according to claim 4, characterized in that, In the browser executable format library acquisition module, during the process of compiling several GIS map engine C++ function libraries using the open-source compilation toolchain, 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.
Citation Information
Patent Citations
WEB side three-dimensional simulation-based substation project progress information visualization system
CN108038915A
Three-dimensional GIS (Geographic Information System) visualization engine packaging method and system
CN117435175A