Batch generation method and system for semantic three-dimensional room model

By extracting key data from the original building information and preprocessing it, an enhanced building information table is generated and integrated with the building outline data to create a unit-level vector layer. This solves the problem of low efficiency in 3D unit modeling and achieves efficient semantic 3D unit model generation, supporting city-level batch processing and automated modeling of complex unit types.

CN121639937BActive Publication Date: 2026-05-08BEIJING INSTITUTE OF SURVEYING AND MAPPING
View PDF 2 Cites 0 Cited by

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
BEIJING INSTITUTE OF SURVEYING AND MAPPING
Filing Date
2025-12-10
Publication Date
2026-05-08

AI Technical Summary

Technical Problem

Existing technologies for 3D apartment modeling are inefficient, rely on traditional manual modeling, and suffer from fragmented data, resulting in semantic loss in the models. They cannot meet the needs of large-scale modeling at the city level, especially for non-standard apartment types, where the automated processing capabilities are insufficient.

Method used

By extracting the original building information, preprocessing it to generate an enhanced building information table, and merging it with the vector surface data of the building outline, a unit-level vector layer is created. The corresponding model generation rules are executed to generate semantic 3D unit models, supporting batch processing of complex unit types such as duplexes.

Benefits of technology

The modeling time has been reduced from days/weeks to minutes/seconds, and city-level batch processing has been supported, improving the modeling efficiency of 3D apartment models. Each apartment model now carries attribute fields, supporting apartment-level queries and analysis, and adapting to the diverse needs of actual buildings.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN121639937B_ABST
    Figure CN121639937B_ABST
Patent Text Reader

Abstract

The application provides a semantic three-dimensional room model batch generation method and system, relates to the technical field of surveying and mapping and three-dimensional modeling, and the method comprises the following steps: extracting original real estate information, and preprocessing the original real estate information; loading shp vector surface data of a single building contour and enhanced real estate information table for fusion, and outputting a room-level vector layer; performing roof model preprocessing, judging whether the room-level vector layer is a roof, if yes, executing a roof generation rule to generate a semantic three-dimensional room model; and if not a roof, reading the room-level vector layer, executing a room model generation rule chain for batch subject generation, and obtaining the semantic three-dimensional room model. The application solves the technical problem of low three-dimensional room model modeling efficiency in the prior art due to the dependence on traditional manual modeling, data fragmentation and the lack of model semantics, and improves the modeling efficiency by deeply fusing house vectors and real estate information to batch generate three-dimensional room models.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the fields of surveying and 3D modeling technology, specifically to a method and system for batch generation of semantic 3D room models. Background Technology

[0002] With the rapid development of smart cities, digital twins, real estate management, urban planning, and emergency response, higher demands are being placed on the refinement and automation of 3D modeling of urban buildings. This is especially true for residential buildings, which require not only the construction of external 3D building forms but also the generation of internal unit models corresponding to the building information, to support unit-level space querying, analysis, and visualization applications.

[0003] Currently, the generation of 3D building and apartment models mainly relies on traditional manual modeling methods. Walls, doors, windows, and apartment layouts are manually drawn based on 2D drawings or on-site measurement data, and attribute information is manually entered. However, manual modeling is time-consuming and labor-intensive, failing to meet the efficiency requirements of large-scale city-level modeling. Not only is it extremely inefficient, making it difficult to handle large-scale city-level modeling needs, but because the building's geometric vector data and property attribute information are usually stored in the system, manual correlation easily introduces errors, resulting in models that do not match objective reality, severely restricting the accuracy and reliability of the models. Furthermore, existing technologies have severely insufficient automated processing capabilities for non-standard apartment types such as duplexes and split-level units, lacking effective identification and modeling mechanisms, still requiring significant manual intervention for post-modeling repairs, further impacting the modeling efficiency of 3D apartment models.

[0004] In summary, existing technologies suffer from low efficiency in 3D room modeling due to reliance on traditional manual modeling, data fragmentation, and missing model semantics. Summary of the Invention

[0005] The purpose of this application is to provide a method and system for batch generation of semantic 3D room models, in order to solve the technical problem of low efficiency in 3D room modeling due to reliance on traditional manual modeling, data fragmentation and lack of model semantics in the existing technology.

[0006] To achieve the above objectives, this application provides a method and system for batch generation of semantic 3D room models.

[0007] Firstly, this application provides a method for batch generation of semantic 3D apartment models. This method is implemented through a semantic 3D apartment model batch generation system. The method includes: extracting original building information, including property unit number, building number, apartment location, starting floor, and ending floor; preprocessing the original building information to output an enhanced building information table; loading and fusing the shapefile (SHP) vector surface data of a single building outline with the enhanced building information table to output an apartment-level vector layer; performing rooftop model preprocessing to determine if the apartment-level vector layer is a roof; if so, executing rooftop generation rules to generate a semantic 3D apartment model; if not, reading the apartment-level vector layer and executing the apartment model generation rule chain to batch generate the main body, thus obtaining the semantic 3D apartment model.

[0008] Optionally, construct the formula for the household / room numbering algorithm: For duplex and multi-level apartment layouts, a formula for correcting the apartment number is constructed: ;in, This represents the room number of the i-th room, excluding the case of a split-level apartment. This represents the room number of the i-th room after correction for the duplex situation, n represents the total number of rooms, and m represents the total number of grouping conditions. , Let I represent the values ​​of the j-th room and the i-th room under the k-th grouping condition, I represent the indicator function (I=1 if the condition is true, I=0 if the condition is false), E represent the room number column, G represent the starting floor number column, and L represent the ending floor number column.

[0009] Formula for calculating the number of households per floor: ,in, Let I represent the number of households on the floor containing the i-th room, I represent the indicator function, G represent the starting floor number sequence, and L represent the ending floor number sequence. The original building information is processed using the household / room number algorithm formula and the household / room number correction formula to calculate the household / room number information set. The original building information is then processed using the number of households per floor algorithm formula to calculate the number of households per floor. Finally, the enhanced building information table is output based on the household / room number information set and the number of households per floor information set.

[0010] Optionally, the shapefile vector surface data of a single building outline is loaded and a one-to-many attribute table association operation is performed with the enhanced building information table to obtain building information associated house vector data; the original building outline surface is automatically copied to generate multiple geometrically overlapping surface features, wherein each surface feature is associated with a unit record in the enhanced building information table; information fusion is performed based on the building information associated house vector data and the surface features to output the unit-level vector layer.

[0011] Optionally, the room model generation rule chain includes attribute reading, 3D stretching and pre-segmentation, room model generation, and multi-level room processing; based on the room model generation rule chain, the room-level vector layer is batch generated to obtain the semantic 3D room model.

[0012] Optionally, based on the unit-level vector layer, the X-side length and Z-side length of the building outline are calculated; the side length comparison results of the X-side length and Z-side length are obtained, and the unit is segmented according to the longest side based on the side length comparison results to obtain the unit number and the number of units per floor; the room location is determined based on the unit number and the number of units per floor to obtain the room location information; the segmentation rules are determined based on the room location information, and layer and unit division lines are added based on the segmentation rules to obtain the semantic 3D unit model.

[0013] Optionally, if the household room number is 1, the room location information is the first room; if the household room number is ≥1 and the household room number is less than the number of households per floor, the room location information is the middle room; if the household room number equals the number of households per floor, the room location information is the last room.

[0014] Optionally, if the room location information is the first room, the segmentation rule is to divide it into several parts per floor according to the longest side, generate a room from the first part, and leave the remaining parts of each floor (number of households - 1) empty; if the room location information is the middle room, the segmentation rule is to divide it into several parts per floor according to the longest side, leave the first part of the room number - 1 empty, generate a room from the first part of the room number, and leave the remaining parts of each floor (number of households - room number) empty; if the room location information is the last room, the segmentation rule is to divide it into several parts per floor according to the longest side, leave the first part of each floor (number of households - 1) empty, and generate a room from the last part.

[0015] Secondly, this application also provides a semantic 3D apartment model batch generation system for executing the semantic 3D apartment model batch generation method as described in the first aspect. The semantic 3D apartment model batch generation system includes: a data preparation module for extracting original building information, including property unit number, building number, apartment location, starting floor, and ending floor; preprocessing the original building information; and outputting an enhanced building information table. A geometric model generation module is used to load the shapefile (SHP) vector surface data of a single building outline and fuse it with the enhanced building information table to output an apartment-level vector layer. A apartment-level vector layer determination module is used to perform rooftop model preprocessing, determining whether the apartment-level vector layer is a roof; if so, executing rooftop generation rules to generate a semantic 3D apartment model. A batch processing module is used to, if not a roof, read the apartment-level vector layer and execute the apartment model generation rule chain to generate a batch of main bodies, obtaining a semantic 3D apartment model.

[0016] One or more technical solutions provided in this application have at least the following technical effects or advantages:

[0017] By extracting the original building information, including the property unit number, building number, room number, starting floor, and ending floor, the original building information is preprocessed to output an enhanced building information table. The shapefile vector surface data of a single building outline is loaded and fused with the enhanced building information table to output a unit-level vector layer. Rooftop model preprocessing is performed to determine if the unit-level vector layer represents a roof. If it does, roof generation rules are executed to generate a semantic 3D unit model. If it is not a roof, the unit-level vector layer is read, and a unit model generation rule chain is executed to generate a batch of main elements, obtaining a semantic 3D unit model. In other words, by extracting key data from the original building information and preprocessing it, an enhanced building information table is generated. The vector surface data of the building outline is then integrated with the enhanced building information table to ensure consistency in geometric and attribute information. A unit-level vector layer is created, and based on the characteristics of the unit-level vector layer, corresponding model generation rules are executed. Finally, 3D unit models with semantic information are generated in batches, reducing modeling time from days / weeks to minutes / seconds. It supports city-level batch processing and improves the modeling efficiency of 3D unit models. Each unit model carries attribute fields, supporting unit-level querying and analysis. It supports complex unit types such as duplexes, adapting to the diverse needs of actual buildings. It has strong integrability and supports various smart city applications.

[0018] The above description is merely an overview of the technical solution of this application. To better understand the technical means of this application and to facilitate its implementation according to the description, and to make the above and other objects, features, and advantages of this application more apparent, specific embodiments of this application are described below. It should be understood that the content described in this section is not intended to identify key or important features of the embodiments of this application, nor is it intended to limit the scope of this application. Other features of this application will become readily apparent through the following description. Attached Figure Description

[0019] To more clearly illustrate the technical solutions in this application or the prior art, the drawings used in the description of the embodiments or the prior art will be briefly introduced below. Obviously, the drawings described below are merely exemplary. For those skilled in the art, other drawings can be obtained based on the provided drawings without creative effort.

[0020] Figure 1 This is a flowchart illustrating the method for batch generation of semantic 3D room models in this application.

[0021] Figure 2 This is a flowchart illustrating the process of generating the 3D room model for this application.

[0022] Figure 3 This is a schematic diagram of the semantic 3D room model batch generation system of this application.

[0023] Figure labeling: Data preparation module 11, geometric model generation module 12, room-level vector layer determination module 13, batch processing module 14. Detailed Implementation

[0024] This application provides a method and system for batch generation of semantic 3D apartment models, solving the technical problem of low efficiency in 3D apartment modeling caused by reliance on traditional manual modeling, data fragmentation, and lack of semantic meaning in existing technologies. By extracting key data from the original building information and preprocessing it to generate an enhanced building information table, the vector surface data of the building outline is integrated with the enhanced building information table to ensure consistency of geometric and attribute information. An apartment-level vector layer is created, and based on the characteristics of the apartment-level vector layer, corresponding model generation rules are executed to finally batch generate 3D apartment models with semantic information. This reduces modeling time from days / weeks to minutes / seconds, supports city-level batch processing, and improves the modeling efficiency of 3D apartment models. Each apartment model carries attribute fields, supporting apartment-level querying and analysis; it supports complex apartment types such as duplexes, adapting to the diverse needs of actual buildings; and it has strong integrability, supporting various smart city applications.

[0025] The technical solutions of this application will now be clearly and completely described with reference to the accompanying drawings. Obviously, the described embodiments are only a part of the embodiments of this application, and not all of them. It should be understood that this application is not limited to the exemplary embodiments described herein. All other embodiments obtained by those skilled in the art based on the embodiments of this application without creative effort are within the scope of protection of this application. It should also be noted that, for ease of description, only the parts related to this application are shown in the accompanying drawings, not all of them.

[0026] Example 1, please refer to the appendix. Figure 1 This application provides a method for batch generation of semantic 3D room models, wherein the method is applied to a semantic 3D room model batch generation system, and the method specifically includes the following steps:

[0027] S100: Extract the original property information, which includes the property unit number, building number, room number, starting floor, and ending floor. Preprocess the original property information and output an enhanced property information table.

[0028] Furthermore, S100 of this application includes: constructing a formula for the household / room numbering algorithm: For duplex and multi-level apartment layouts, a formula for correcting the apartment number is constructed: ;in, This represents the room number of the i-th room, excluding the case of a split-level apartment. This represents the room number of the i-th room after correction for the duplex situation, n represents the total number of rooms, and m represents the total number of grouping conditions. , Let represent the values ​​of the j-th room and the i-th room under the k-th grouping condition; I represent the indicator function, I=1 if the condition is true, I=0 if the condition is false; E represents the room number column; G represents the starting floor number column; L represents the ending floor number column; construct the formula for the algorithm of the number of households per floor: ,in, Let I represent the number of households on the floor containing the i-th room, I represent the indicator function, G represent the starting floor number sequence, and L represent the ending floor number sequence. The original building information is processed using the household / room number algorithm formula and the household / room number correction formula to calculate the household / room number information set. The original building information is then processed using the number of households per floor algorithm formula to calculate the number of households per floor. Finally, the enhanced building information table is output based on the household / room number information set and the number of households per floor information set.

[0029] Specifically, the original missed information is extracted from the real estate registration database or standard building list, including key attributes such as real estate unit number, building number, room number, location, starting floor, and ending floor. The real estate registration database typically records the legal ownership information of the property; the standard building list is often created by the developer or property management company and describes the physical structure of the building. Both contain the core data needed to construct the unit model. The original building information is a structured table, with each row representing an independent unit space.

[0030] The property unit number is a unique and standardized identification code for each unit nationwide, equivalent to the unit's ID card number; the building number is the number assigned to each independent building within a real estate project; the room number is the specific address of each unit within the building; the starting floor and ending floor are key fields describing the vertical space range of the unit. For ordinary single-level units, both are the same, while for irregularly shaped units such as duplexes, split-level apartments, or multi-level shops, they are different. For example, if the starting floor is 5 and the ending floor is 6, it means that the unit occupies the height of the 5th and 6th floors.

[0031] The original property information is digitized and preprocessed. Digitization is the conversion of paper documents into electronic format, and preprocessing includes data cleaning (removing errors and redundant information), formatting (unifying data formats, such as date and number formats), and enhancement (such as adding information such as unit type and area).

[0032] For duplex and multi-level apartment layouts, a formula for correcting the apartment number is constructed as follows: ;in, This represents the room number of the i-th room, excluding the case of a split-level apartment. The variable k ranges from 1 to m, representing m grouping conditions. The product result is 1 only when the values ​​of household j and household i are completely consistent across all m grouping conditions, indicating that they are in the same group; otherwise, it is 0, indicating that they are not in the same group. This represents the room number of the i-th room after correction for the duplex situation, n represents the total number of rooms, and m represents the total number of grouping conditions. , Let I represent the values ​​of the j-th room and the i-th room under the k-th grouping condition, I represent the indicator function (I=1 if the condition is true, I=0 if the condition is false), E represent the room number column, G represent the starting floor number column, and L represent the ending floor number column.

[0033] The room numbering algorithm is used to calculate the room number of each unit within its floor. For example, unit 301 is unit 1, and unit 302 is unit 2. This calculation is based on grouping (e.g., by building location and building number) and sorting within the group (e.g., by unit number). For complex unit types such as duplexes and multi-level units, the room numbering correction formula needs to be applied to correct the room numbers. This is done by dynamically adjusting the number of units by checking if the floor range ([starting floor, ending floor]) of other units covers the current unit's floor, ensuring that the number accurately reflects the spatial adjacency. In other words, the room numbering algorithm is called, and each unit record in the original building information table is traversed. For the current unit i, within its building and floor group, the number of units with room numbers less than or equal to i is counted. This number is the basic room number for that unit, forming the initial number set. The room numbering correction formula is then called, and each unit record is traversed again. The system intelligently identifies all duplex units and analyzes the spatial compression effect of each duplex unit j on the units i that follow it on the floors it spans (i.e., units with higher base unit numbers). For each such duplex unit discovered, a correction value (+1) is added to the base number of unit i, ensuring that even with duplex units, the unit numbers on each floor still form a continuous, conflict-free sequence starting from 1, accurately corresponding to the horizontal division positions during 3D modeling.

[0034] Formula for calculating the number of households per floor: ; Calculate the total number of households on any floor, considering both households entirely on the same floor and duplex units spanning multiple floors. Sum these numbers to obtain the actual total number of households on that floor. This parameter is crucial for subsequent unit-by-unit operations in the 3D model. This indicates the total number of units on the floor containing the i-th room, where I represents the indicator function, G represents the starting floor number sequence, and L represents the ending floor number sequence. Finally, an enhanced building information table is output, containing newly added fields such as unit number and number of units per floor. The algorithm formula for counting units per floor is called in parallel to dynamically calculate the total number of units for each floor, including units entirely on that floor and duplex units spanning multiple floors, thus obtaining the true capacity of each floor. The unit count information set for each floor is the collection of the total number of units corresponding to each floor, indicating how many unit spaces are available on each floor.

[0035] The set of unit / room serial numbers and the set of unit counts per floor are treated as two new data columns and merged with the original building information table to output the final enhanced building information table. In other words, the original building information table is traversed, and the unit / room serial number algorithm formula, the unit / room serial number correction formula, and the unit count per floor algorithm formula are applied sequentially to calculate the unit / room serial number, the corrected unit / room serial number, and the number of units per floor for each unit, forming the unit / room serial number information set and the unit count per floor information set. These are then merged with the original information table to output the final enhanced building information table. Automated data cleaning ensures the quality of the input data; by calculating the unit / room serial number and the number of units per floor, the spatial location and neighborhood relationships of each unit in the horizontal and vertical directions are accurately depicted.

[0036] S200: Load the shapefile vector surface data of a single building outline and fuse it with the enhanced building information table to output a unit-level vector layer.

[0037] Furthermore, S200 of this application includes: loading the shapefile vector surface data of a single building outline and performing a one-to-many attribute table association operation with the enhanced building information table to obtain building information associated house vector data; automatically copying the original building outline surface to generate multiple geometrically overlapping surface features, wherein each surface feature is associated with a unit record in the enhanced building information table; performing information fusion based on the building information associated house vector data and the surface features to output the unit-level vector layer.

[0038] Specifically, the process loads a single building outline polygon representing the entire building area and a detailed enhanced building information table. The shapefile vector polygon data of a single building outline is a single polygon feature in a GIS data file, defining the projected extent of a building on the ground. It is a purely geometric shape and typically does not contain detailed information about the internal units. Using a shared property unit number representing the building's identity as the join key, a one-to-many attribute table association operation is performed between the single building outline vector polygon data and the enhanced building information table, resulting in building information-linked housing vector data. The single building outline polygon temporarily carries the attribute information of all its internal units.

[0039] Based on the number of associated unit records, the original building outline is automatically copied at the data level to generate a corresponding number of geometrically identical surface features. Each surface feature is precisely associated with a unit record in the building information table, achieving a one-to-one correspondence between geometric entities and attribute information. This is not a graphical copy; the goal is to create an independent geometric carrier for each unit.

[0040] This method integrates building information with vector data and polygon features. Specifically, all attributes of the first unit record in the building information table are assigned to the first copied polygon feature; the attributes of the second record are assigned to the second polygon feature, and so on. This achieves a precise one-to-one correspondence between geometric entities and attribute information, resulting in a unit-level vector layer. Each feature carries all the attribute information necessary to generate its corresponding 3D model. The unit-level vector layer contains multiple polygon features, each representing an independent unit space and carrying all the attributes required to generate its 3D model. This achieves a granular geometric data transformation from macro-architecture to micro-unit, and completes lossless binding of attribute information.

[0041] S300: Perform rooftop model preprocessing, determine whether the room-level vector layer is a roof, and if so, execute the roof generation rules to generate a semantic 3D room model.

[0042] Specifically, before generating all room models in batches, rooftop model preprocessing is performed, identifying and preparing the rooftop as a special component. A dedicated Python preprocessing script is launched to identify and filter rooftop features. Using the `ce.getObjectsFrom` function, based on preset conditions (such as filtering features whose room number field value is "roof"), the target geometry (building outline) is obtained from the current scene. A new shape is copied using the `ce.copy` function, and its room number attribute value is set to 0 using the `ce.setAttribute` function, serving as the identifier for the rooftop model. The CE series functions refer to its Python application programming interface, allowing users to manipulate geometry and attributes in the scene via scripts. `ce.getObjectsFrom`, `ce.copy`, and `ce.setAttribute` are specific commands within this interface. Setting the room number attribute value to 0 is a crucial identifier; different generation logic is executed based on the value of this attribute. Setting this attribute of the rooftop to a value that cannot be used for ordinary rooms, such as 0, is a standard signal to the rule chain: "This is a rooftop; please process it with different rules."

[0043] As attached Figure 2As shown, the system determines whether a room-level vector layer is a roof by checking if the room number attribute value is 0. If it is 0, the roof identity is identified, and roof generation rules are triggered, such as generating a pitched roof, parapet wall, or other roof structure, rather than a regular residential room block. This ultimately generates a semantically meaningful 3D roof model. A lightweight preprocessing script intelligently identifies special components in the building, namely the roof, and sets attribute identifiers. Depending on the input data, it adaptively generates drastically different but highly complex geometric results, greatly enhancing the flexibility and completeness of the entire technical solution. This ensures that the final generated 3D building model not only includes the internal room space but also a structurally correct and semantically clear roof, significantly improving the model's visual realism and structural integrity.

[0044] S400: If it is not the roof, read the room-level vector layer, execute the room model generation rule chain to generate a batch of subjects, and obtain a semantic 3D room model.

[0045] Furthermore, S400 of this application includes: the room model generation rule chain includes attribute reading, three-dimensional stretching and pre-segmentation, room model generation, and multi-level room processing; based on the room model generation rule chain, the room-level vector layer is batch generated to obtain the semantic three-dimensional room model.

[0046] Furthermore, this application also includes the following steps: obtaining the X-side length and Z-side length of the building outline based on the unit-level vector layer; obtaining the side length comparison result of the X-side length and Z-side length, dividing according to the longest side based on the side length comparison result, and obtaining the unit number and the number of units per floor; determining the room location based on the unit number and the number of units per floor, and obtaining the room location information; determining the segmentation rules based on the room location information, adding layer and unit dividing lines based on the segmentation rules, and obtaining the semantic three-dimensional unit model.

[0047] Furthermore, this application also includes the following steps: if the household room number = 1, the room location information is the first room; if the household room number ≥ 1 and the household room number is less than the number of households per floor, the room location information is the middle room; if the household room number = the number of households per floor, the room location information is the last room.

[0048] Furthermore, this application also includes the following steps: if the room location information is the first room, the segmentation rule is to divide it into the number of households per floor according to the longest side, generate a room from the first segment, and leave the remaining number of households - 1 empty; if the room location information is the middle room, the segmentation rule is to divide it into the number of households per floor according to the longest side, leave the first household number - 1 empty, generate a room from the number of households numbered, and leave the remaining number of households - household number empty; if the room location information is the last room, the segmentation rule is to divide it into the number of households per floor according to the longest side, leave the first household number - 1 empty, and generate a room from the last segment.

[0049] Specifically, if it is not the roof, the unit-level vector layer is read, and the unit model generation rule chain is executed to generate the main body in batches, including attribute reading, 3D stretching and pre-segmentation, unit model generation and duplex unit processing.

[0050] Attribute reading refers to extracting attribute values ​​from the unit-level vector layer, i.e., all necessary modeling parameters, including positioning and geometric information. 3D extrusion and pre-segmentation are the core steps in the unit model generation rule chain. 3D extrusion stretches a 2D plane vertically to a specified height to form a 3D block; pre-segmentation involves dividing the stretched 3D block horizontally into several equal intervals according to the number of units per floor, assigning a dedicated generation space to each unit. Unit model generation involves selecting the corresponding interval based on the unit number within the pre-segmented intervals and executing detailed modeling instructions within that interval to generate a complete unit model. Multi-level unit processing is a special branch in the unit model generation rule chain, identifying units with different starting and ending floors, and directly extruding across multiple floors to generate a continuous vertical space.

[0051] Retrieve all necessary modeling parameters from the feature's attribute table, including location and geometric information. Calculate the total height of the unit based on the starting and ending floors. Use the extrude function to stretch the 2D surface into a base block of the corresponding height. The split function divides the horizontal space into equal intervals for each unit on each floor, effectively defining a space in 3D space for each possible unit location on the current floor.

[0052] The room model generation rule chain uses conditional statements to match the current room's index with the pre-segmented intervals. Only within the specific interval corresponding to the index will the rule chain execute detailed modeling instructions, such as generating walls, dividing rooms, and adding doors and windows. In all other intervals, the rules return NIL (null value), ensuring that no geometry is generated. This ensures accurate positioning of the room model and avoids model overlap.

[0053] For duplex apartments, the apartment model generation rule chain recognizes the special case where the starting and ending floors differ. For apartments with different starting and ending floors, the rule chain uses the extrude function in the vertical direction to stretch multiple floor heights based on the number of floors spanned, automatically generating a continuous, multi-level duplex apartment model. In other words, for these apartments, the stretch height is calculated by directly multiplying the total number of floors spanned by the floor height, thus generating a continuous 3D space from the ground floor of the starting floor to the top floor of the ending floor in one go, rather than a simple stacking of multiple single-level models.

[0054] This CGA rule is applied in batches to all room vector surfaces in the scene. Through batch generation, the entire rule chain is applied to all non-roof room elements, producing a complete semantic 3D room model with all original attributes.

[0055] Specifically, based on the room-level vector layer, the X-side and Z-side lengths of the building outline are calculated. The X-axis represents the east-west direction, and the Z-axis represents the north-south direction. The X-side and Z-side lengths refer to the approximate span or projected length of the building outline polygon along the X and Z axes, respectively, and are used to determine the building's orientation and main extension direction. The X-side and Z-side lengths are compared to identify the longer side, which is then determined as the dominant direction for horizontal segmentation. For example, if the X-side length is greater than the Z-side length, the rule will segment the building block along the X-axis.

[0056] After determining the segmentation direction, the household's serial number and the number of households per floor are obtained for each unit, which together determine the unit's address in the segmentation sequence. The room's location is determined based on the household serial number and the number of households per floor. If the household serial number is 1, the unit is considered the first room at the beginning of the segmentation sequence; if the household serial number is 1 or more and less than the number of households per floor, the unit is considered the middle room in the segmentation sequence; if the household serial number equals the number of households per floor, the unit is considered the last room at the end of the segmentation sequence.

[0057] Based on the room location information, the corresponding segmentation rules are determined. When the room location information indicates it is the first room, the current floor's volume is divided into several equal parts along its longest side, corresponding to the number of units per floor. Detailed room generation rules are only executed within the first segmented area to create a complete 3D room model. For the remaining rooms (number of units - 1) per floor, the rules uniformly return NIL (null value) to ensure that no geometric content is generated at these locations, guaranteeing that only the room with sequence number 1 can be created in the leftmost position.

[0058] When the room location information is determined to be a middle room, the current floor's block is also divided into equal parts along its longest side, corresponding to the number of units per floor. Rooms with the current unit number minus 1 are all empty. In the next unit numbered room, the command to generate a room is executed. For the remaining units (number of units per floor minus room number), all are also set to empty, ensuring that each middle unit can accurately find its position in the sequence.

[0059] When the room location information indicates it is the last room, the segmentation rule is symmetrical to that of the first room, dividing the current floor's block along its longest side into equal parts corresponding to the number of units per floor. First, set all the preceding rooms (number of units - 1) to empty, then generate the room model only for the last room.

[0060] Based on the segmentation rules, the CGA modeling engine dynamically adds hierarchical and unit-level dividing lines during the generation process. These dividing lines are not pre-existing but are automatically generated geometric boundaries when the rules are executed in a split operation, clearly defining the spatial extent of each unit. By batch-processing this process on the entire unit-level vector layer, a semantic 3D unit model is obtained. The semantic 3D unit model is the final output, not only a 3D geometry but also a model carrying all original attributes and spatial relationship information.

[0061] By automatically identifying the longest side of the building outline, the optimal orientation of the apartment layout is ensured, conforming to building design codes. Apartment attributes are transformed into spatial location information, giving the apartment model generation rule chain context-aware capabilities. The location-based segmentation rules act like a smart switch, precisely controlling the generation range of each apartment model, fundamentally eliminating the persistent problem of model overlap in automated modeling. The entire process requires no manual intervention, can process massive amounts of data in parallel, and improves modeling efficiency by several orders of magnitude. By sequentially reading attribute parameters such as floor number, floor height, apartment number, and number of apartments per floor from the apartment vector data, geometric generation rules are driven to batch generate 3D apartment models carrying semantic information. This process also supports automated processing of multi-level apartments, capable of generating complete apartment models across floors based on the attributes of the starting and ending floors, and finally integrating all apartment models to form a complete 3D building model.

[0062] In summary, the semantic 3D room model batch generation method provided in this application has the following technical effects:

[0063] By extracting the original building information, including the property unit number, building number, room number, starting floor, and ending floor, the original building information is preprocessed to output an enhanced building information table. The shapefile vector surface data of a single building outline is loaded and fused with the enhanced building information table to output a unit-level vector layer. Rooftop model preprocessing is performed to determine if the unit-level vector layer represents a roof. If it does, roof generation rules are executed to generate a semantic 3D unit model. If it is not a roof, the unit-level vector layer is read, and a unit model generation rule chain is executed to generate a batch of main elements, obtaining a semantic 3D unit model. In other words, by extracting key data from the original building information and preprocessing it, an enhanced building information table is generated. The vector surface data of the building outline is then integrated with the enhanced building information table to ensure consistency in geometric and attribute information. A unit-level vector layer is created, and based on the characteristics of the unit-level vector layer, corresponding model generation rules are executed. Finally, 3D unit models with semantic information are generated in batches, reducing modeling time from days / weeks to minutes / seconds. It supports city-level batch processing and improves the modeling efficiency of 3D unit models. Each unit model carries attribute fields, supporting unit-level querying and analysis. It supports complex unit types such as duplexes, adapting to the diverse needs of actual buildings. It has strong integrability and supports various smart city applications.

[0064] Example 2: Based on the same inventive concept as the semantic 3D room model batch generation method in Example 1, this application also provides a semantic 3D room model batch generation system. Please refer to the appendix. Figure 3 The semantic 3D room model batch generation system includes:

[0065] The data preparation module 11 is used to extract the original building information, which includes the real estate unit number, building number, room number, starting floor, and ending floor. It preprocesses the original building information and outputs an enhanced building information table. The geometric model generation module 12 is used to load the shapefile vector surface data of a single building outline and fuse it with the enhanced building information table to output a unit-level vector layer. The unit-level vector layer determination module 13 is used to perform rooftop model preprocessing, determining whether the unit-level vector layer is a roof. If so, it executes rooftop generation rules to generate a semantic 3D unit model. The batch processing module 14 is used to, if not a roof, read the unit-level vector layer and execute the unit model generation rule chain to generate a batch of main elements, obtaining a semantic 3D unit model.

[0066] Furthermore, the data preparation module 11 in the semantic 3D room model batch generation system is also used to: construct the room serial number algorithm formula: For duplex and multi-level apartment layouts, a formula for correcting the apartment number is constructed: ;in, This represents the room number of the i-th room, excluding the case of a split-level apartment. This represents the room number of the i-th room after correction for the duplex situation, n represents the total number of rooms, and m represents the total number of grouping conditions. , Let I represent the values ​​of the j-th room and the i-th room under the k-th grouping condition, I represent the indicator function (I=1 if the condition is true, I=0 if the condition is false), E represent the room number column, G represent the starting floor number column, and L represent the ending floor number column.

[0067] Formula for calculating the number of households per floor: ,in, Let I represent the number of households on the floor containing the i-th room, I represent the indicator function, G represent the starting floor number sequence, and L represent the ending floor number sequence. The original building information is processed using the household / room number algorithm formula and the household / room number correction formula to calculate the household / room number information set. The original building information is then processed using the number of households per floor algorithm formula to calculate the number of households per floor. Finally, the enhanced building information table is output based on the household / room number information set and the number of households per floor information set.

[0068] Furthermore, the geometric model generation module 12 in the semantic 3D room model batch generation system is also used to: load the shapefile vector surface data of a single building outline and perform a one-to-many attribute table association operation with the enhanced building information table to obtain building information associated house vector data; automatically copy the original building outline surface to generate multiple geometrically overlapping surface features, wherein each surface feature is associated with a room record in the enhanced building information table; perform information fusion based on the building information associated house vector data and the surface features, and output the room-level vector layer.

[0069] Furthermore, the batch processing module 14 in the semantic 3D room model batch generation system is also used for: the room model generation rule chain includes attribute reading, 3D stretching and pre-segmentation, room model generation and multi-level room processing; and batch generating the room-level vector layer based on the room model generation rule chain to obtain the semantic 3D room model.

[0070] Furthermore, the batch processing module 14 in the semantic 3D room model batch generation system is also used for: obtaining the X-side length and Z-side length of the building outline based on the room-level vector layer; obtaining the side length comparison result of the X-side length and Z-side length; dividing according to the longest side based on the side length comparison result to obtain the room number and the number of rooms per floor; judging the room position based on the room number and the number of rooms per floor to obtain the room position information; determining the segmentation rule based on the room position information; adding layer and room division lines based on the segmentation rule to obtain the semantic 3D room model.

[0071] Furthermore, the batch processing module 14 in the semantic 3D room model batch generation system is also used to: if the room number = 1, the room location information is the first room; if the room number ≥ 1 and the room number is less than the number of rooms per floor, the room location information is the middle room; if the room number = the number of rooms per floor, the room location information is the last room.

[0072] Furthermore, the batch processing module 14 in the semantic 3D room model batch generation system is also used for: if the room location information is the first room, the segmentation rule is to divide it into the number of households per floor according to the longest side, generate a room from the first part, and leave the remaining number of households per floor - 1 empty; if the room location information is the middle room, the segmentation rule is to divide it into the number of households per floor according to the longest side, leave the first household number - 1 empty, generate a room from the number of households per floor, and leave the remaining number of households per floor - household number empty; if the room location information is the last room, the segmentation rule is to divide it into the number of households per floor according to the longest side, leave the first household number - 1 empty, and generate a room from the last part.

[0073] The various embodiments in this specification are described in a progressive manner, with each embodiment focusing on the differences from other embodiments. The semantic 3D room model batch generation method and specific examples in the aforementioned embodiment one are also applicable to the semantic 3D room model batch generation system of this embodiment. Through the foregoing detailed description of the semantic 3D room model batch generation method, those skilled in the art can clearly understand the semantic 3D room model batch generation system of this embodiment. Therefore, for the sake of brevity, it will not be described in detail here.

[0074] The above description of the disclosed embodiments enables those skilled in the art to make or use this application. Various modifications to these embodiments will be readily apparent to those skilled in the art, and the general principles defined herein may be implemented in other embodiments without departing from the spirit or scope of this application. Therefore, this application is not to be limited to the embodiments shown herein, but is to be accorded the widest scope consistent with the principles and novel features disclosed herein.

[0075] Obviously, those skilled in the art can make various modifications and variations to this application without departing from the spirit and scope of this application. Therefore, if such modifications and variations fall within the scope of this application and its equivalents, this application also intends to include such modifications and variations.

Claims

1. A method for batch generation of semantic 3D room models, characterized in that, include: Extract the original property information, which includes the property unit number, building number, room number, starting floor, and ending floor. Preprocess the original property information and output an enhanced property information table. The shapefile vector surface data of a single building outline is loaded and fused with the enhanced building information table to output a unit-level vector layer; Perform rooftop model preprocessing to determine whether the room-level vector layer is a roof. If so, execute the roof generation rules to generate a semantic 3D room model. If it is not the roof, read the room-level vector layer and execute the room model generation rule chain to generate a batch of main subjects to obtain a semantic 3D room model; Output an enhanced property information table, including: Formula for constructing the household / room numbering algorithm: ; For duplex and multi-level apartment layouts, a formula for correcting the apartment number is constructed as follows: ; in, This represents the room number of the i-th room, excluding the case of a split-level apartment. This represents the room number of the i-th room after correction for the duplex situation, n represents the total number of rooms, and m represents the total number of grouping conditions. , This represents the values ​​of the j-th room and the i-th room under the k-th grouping condition. I represents the indicator function, where I=1 if the condition is true and I=0 if the condition is false. E represents the room number column, G represents the starting floor number column, and L represents the ending floor number column. Formula for calculating the number of households per floor: ,in, Let I represent the total number of households on the floor containing the i-th room, let G represent the sequence of starting floor numbers, and let L represent the sequence of ending floor numbers. The household serial number algorithm formula and the household serial number correction formula are used to calculate the household serial number of the original building information to obtain a set of household serial number information. Based on the algorithm formula for the number of households per floor, the number of households in the original building information is calculated to obtain a set of household information for each floor. Based on the set of household room serial numbers and the set of household numbers on each floor, the enhanced building information table is output.

2. The method for batch generation of semantic 3D room models as described in claim 1, characterized in that, Output room-level vector layers, including: Load the shapefile vector surface data of a single building outline and perform a one-to-many attribute table association operation with the enhanced building information table to obtain building information associated house vector data; The original building outline is automatically copied to generate multiple geometrically overlapping surface features, each of which is associated with a unit record in the enhanced building information table. Based on the building information, the associated house vector data and the surface features are fused to output the unit-level vector layer.

3. The method for batch generation of semantic 3D room models as described in claim 1, characterized in that, Read the room-level vector layer, execute the room model generation rule chain to generate a batch of subjects, and obtain a semantic 3D room model, including: The rule chain for generating the apartment model includes attribute reading, 3D stretching and pre-segmentation, apartment model generation, and processing of duplex apartments. Based on the rule chain for generating the household room model, the household room-level vector layer is generated in batches to obtain the semantic 3D household room model.

4. The method for batch generation of semantic 3D room models as described in claim 3, characterized in that, Obtaining the semantic 3D room model includes: Based on the room-level vector map layer, obtain the building outline and calculate the X-side length and Z-side length; Obtain the side length comparison results of the X side length and Z side length, and divide according to the longest side based on the side length comparison results to obtain the household serial number and the number of households per floor; Based on the household room number and the number of households on each floor, the room location is determined to obtain the room location information; Based on the room location information, a segmentation rule is determined, and layered and subdivided dividing lines are added based on the segmentation rule to obtain the semantic three-dimensional room model.

5. The method for batch generation of semantic 3D room models as described in claim 4, characterized in that, Obtain room location information, including: If the room number is 1, the room location information is the first room; If the room number is greater than or equal to 1 and the room number is less than the number of rooms per floor, the room location information is the middle room; If the room number equals the number of households per floor, then the room location information is the last room.

6. The method for batch generation of semantic 3D room models as described in claim 4, characterized in that, Determine the segmentation rules, including: If the room location information is the first room, the segmentation rule is to divide it into the number of households per floor according to the longest side, generate a room from the first part, and leave the remaining number of households per floor - 1 parts empty; If the room location information is a middle room, the segmentation rule is to divide it into the number of households per floor according to the longest side, the first household room number - 1 part is empty, the number of the first household room number part is generated as a room, and the remaining number of households per floor - the number of household room number is empty; If the room location information is the last room, the segmentation rule is to divide it into the number of households per floor according to the longest side, with the number of households per floor minus 1 being empty, and the last part being used to generate a room.

7. A semantic 3D room model batch generation system, characterized in that, The step of implementing the semantic 3D room model batch generation method according to any one of claims 1 to 6, wherein the semantic 3D room model batch generation system comprises: The data preparation module is used to extract the original building information, which includes the real estate unit number, building number, room number, starting floor, and ending floor. The module preprocesses the original building information and outputs an enhanced building information table. The geometric model generation module is used to load the shapefile vector surface data of a single building outline and fuse it with the enhanced building information table to output a unit-level vector layer; The room-level vector layer determination module is used to perform roof model preprocessing, determine whether the room-level vector layer is a roof, and if so, execute the roof generation rules to generate a semantic 3D room model. The batch processing module is used to read the room-level vector layer and execute the room model generation rule chain to generate a batch of main subjects, if it is not the roof, to obtain a semantic 3D room model.

Citation Information

Patent Citations

  • Three-dimensional building model construction method applied to three-dimensional real estate information management

    CN109840338A

  • Building layering and household-splitting three-dimensional model construction method based on house property layering and household-splitting graph

    CN120182486A