# Patent

## Title
Method and system for a building database manipulator

## Abstract

A Building Database Manipulator to build databases for a variety of physical environments including definitions of buildings, terrain and other site parameters, by scanning in or rapidly editing data. Raster scans may be entered or object files in various formats may be used as input. Detailed information is stored in the drawing database about the object's location, radio frequency attenuation, color, and other physical information such as electrical characteristics and intersections of the object with the ground, floors, ceilings, and other objects when objects are formatted in a drawing. The formatting process is strictly two-dimensional in nature, but the resulting drawing is a true three-dimensional environment. The user sees the three-dimensional building structure by altering the views. The resulting database may be used in a variety of modeling applications, but is especially useful for engineering, planning and management tools for in-building or microcell wireless systems.

## Background
CROSS-REFERENCE TO RELATED APPLICATIONS
This application is related to concurrently filed applications Ser. No. 09/318,842, entitled “Method and System for Managing a Real Time Bill of Materials,” U.S. Pat. No. 6,493,679 filed by T. S. Rappaport and R. R. Skidmore and Ser. No. 09/318,840, entitled “Method and System for Automated Optimization of Antenna Positioning in 3-D,” U.S. Pat. No. 6,317,599 filed by T. S. Rappaport and R. R. Skidmore and copending application Ser. No. 09/221,985, entitled “System for Creating a Computer Model and Measurement Database of a Wireless Communication Network,” U.S. Pat. No. 6,442,507 filed by T. S. Rappaport and R. R. Skidmore and assigned to a common assignee, the subject matter of which is incorporated herein by reference.


DESCRIPTION
BACKGROUND OF THE INVENTION
1. Field of the Invention
The present invention generally relates to database development using computer aided design and, more particularly, to manipulating data from any environment in the world (e.g. cities, buildings, campuses, floors within a building, objects in an outdoor setting, etc.) to construct an electronic building database that can be used to generate definitions of the user's building and site parameters and used with wireless communication system modeling and engineering planning products.
2. Background Description
As wireless communications use increases, radio frequency (RF) coverage within buildings and signal penetration into buildings from outside transmitting sources has quickly become an important design issue for wireless engineers who must design and deploy cellular telephone systems, paging systems, or new wireless systems and technologies such as personal communication networks or wireless local area networks. Designers are frequently requested to determine if a radio transceiver location, or base station cell site can provide reliable service throughout an entire city, an office, building, arena or campus. A common problem for wireless systems is inadequate coverage, or a “dead zone,” in a specific location, such as a conference room. It is now understood that an indoor wireless PBX (private branch exchange) system or wireless local area network (WLAN) can be rendered useless by interference from nearby, similar systems. The costs of in-building and microcell devices which provide wireless coverage within a 2 kilometer radius are diminishing, and the workload for RF engineers and technicians to install these on-premises systems is increasing sharply. Rapid engineering design and deployment methods for microcell and in-building wireless systems are vital for cost-efficient build-out.
Analyzing radio signal coverage penetration and interference is of critical importance for a number of reasons. A design engineer must determine if an existing outdoor large scale wireless system, or macrocell, will provide sufficient coverage throughout a building, or group of buildings (i.e., a campus). Alternatively, wireless engineers must determine whether local area coverage will be adequately supplemented by other existing macrocells, or whether indoor wireless transceivers, or picocells, must be added. The placement of these cells is critical from both a cost and performance standpoint. If an indoor wireless system is being planned that interferes with signals from an outdoor macrocell, the design engineer must predict how much interference can be expected and where it will manifest itself within the building, or group of buildings. Also, providing a wireless system that minimizes equipment infrastructure cost as well as installation cost is of significant economic importance. As in-building and microcell wireless systems proliferate, these issues must be resolved quickly, easily, and inexpensively, in a systematic and repeatable manner.
There are many computer aided design (CAD) products on the market that can be used to design the environment used in one's place of business or campus. WiSE from Lucent Technology, Inc., SignalPro from EDX, PLAnet by Mobile Systems International, Inc., and TEMS and TEMS Light from Ericsson are examples of wireless CAD products. In practice, however, a pre-existing building or campus is designed only on paper and a database of parameters defining the environment does not readily exist. It has been difficult, if not generally impossible, to gather this disparate information and manipulate the data for the purposes of planning and implementation of indoor and outdoor RF wireless communication systems, and each new environment requires tedious manual data formatting in order to run with computer generated wireless prediction models. Recent research efforts by AT&T Laboratories, Brooklyn Polytechnic, and Virginia Tech, are described in papers and technical reports entitled “Radio Propagation Measurements and Prediction Using Three-dimensional Ray Tracing in Urban Environments at 908 MHZ and 1.9 GHz,” (IEEE Transactions on Vehicular Technology, VOL. 48, No. 3, May 1999), by S. Kim, B. J. Guarino, Jr., T. M. Willis III, V. Erceg, S. J. Fortune, R. A. Valenzuela, L. W. Thomas, J. Ling, and J. D. Moore, (hereinafter “Radio Propagation”); “Achievable Accuracy of Site-Specific Path-Loss Predictions in Residential Environments,” (IEEE Transactions on Vehicular Technology, VOL. 48, No. 3, May 1999), by L. Piazzi and H. L. Bertoni; “Measurements and Models for Radio Path Loss and Penetration Loss In and Around Homes and Trees at 5.85 Ghz,” (IEEE Transactions on Communications, Vol. 46, No. 11, November 1998), by G. Durgin, T. S. Rappaport, and H. Xu; “Radio Propagation Prediction Techniques and Computer-Aided Channel Modeling for Embedded Wireless Microsystems,” ARPA Annual Report, MPRG Technical Report MPRG-TR-94-12, July 1994, 14 pp., Virginia Tech, Blacksburg, by T. S. Rappaport, M. P. Koushik, J. C. Liberti, C. Pendyala, and T. P. Subramanian; “Radio Propagation Prediction Techniques and Computer-Aided Channel Modeling for Embedded Wireless Microsystems,” MPRG Technical Report MPRG-TR-95-08, July 1995, 13 pp., Virginia Tech, Blacksburg, by T. S. Rappaport, M. P. Koushik, C. Carter, and M. Ahmed; “Use of Topographic Maps with Building Information to Determine Antenna Placements and GPS Satellite Coverage for Radio Detection & Tracking in Urban Environments,” MPRG Technical Report MPRG-TR-95-14, Sep. 15, 1995, 27 pp., Virginia Tech, Blacksburg, by T. S. Rappaport, M. P. Koushik, M. Ahmed, C. Carter, B. Newhall, and N. Zhang; “Use of Topographic Maps with Building Information to Determine Antenna Placement for Radio Detection and Tracking in Urban Environments,” MPRG Technical Report MPRG-TR-95-19, November 1995, 184 pp., Virginia Tech, Blacksburg, by M. Ahmed, K. Blankenship, C. Carter, P. Koushik, W. Newhall, R. Skidmore, N. Zhang and T. S. Rappaport; “A Comprehensive In-Building and Microcellular Wireless Communications System Design Tool,” MPRG-TR-97-13, June 1997, 122 pp., Virginia Tech, Blacksburg, by R. R. Skidmore and T. S. Rappaport; “Predicted Path Loss for Rosslyn, Va.,” MPRG-TR-94-20, Dec. 9, 1994, 19 pp., Virginia Tech, Blacksburg, by S. Sandhu, P. Koushik, and T. S. Rappaport; “Predicted Path Loss for Rosslyn, Va., Second set of predictions for ORD Project on Site Specific Propagation Prediction” MPRG-TR-95-03, Mar. 5, 1995, 51 pp., Virginia Tech, Blacksburg, by S. Sandhu, P. Koushik, and T. S.
Rappaport. These papers and technical reports are illustrative of the state of the art in site-specific propagation modeling and show the difficulty in obtaining databases for city environments, such as Rosslyn, Virginia. While the above papers describe a research comparison of measured vs. predicted signal coverage, the works do not demonstrate a systematic, repeatable and fast methodology for creating an environmental database, nor do they report a method for visualizing and placing various environmental objects that are required to model the propagation of RF signals in the deployment of a wireless system in that environment.
SUMMARY OF THE INVENTION
It is therefore an object of the invention to provide a method for manipulating drawings and electronic files to build databases for use in planning the positioning of components and for designing, installing and optimizing a wireless communication system. In the method, raster scanned images of an environment may be entered or object files in various formats may be used as input to define an environment in which a wireless system is to be implemented. Detailed information about the location, radio frequency attenuation, color, and other physical information of an object, such as intersections of the object with the ground, floors, ceilings, and other objects in the environment is stored in a drawing database.
It is another object of the invention to provide a computerized drawing in a true three-dimensional environment based on input data which is strictly two-dimensional in nature. The user sees the three-dimensional drawing structure on a computer display by altering the views.
It is another object of the invention to provide the resulting database of the inventive method in a form easily used in a variety of modeling applications, especially forms useful for engineering, planning and management tools for wireless systems.
It is another object of the invention to support a universal method for creating and editing and transporting environmental databases for wireless communication system design, prediction, measurement and optimization. A systematic and automated method for producing a 3-D environmental database that is reproduceable and transportable between many different wireless system prediction models, measurement devices, and optimization methods has value and is a marked improvement over present day systems.
According to the invention, pre-existing data for a desired environment may be scanned in, traced or translated from another electronic format as a short-cut to provide a partial definition for the environment. The partial or empty environment is then refined using a specialized drawing program to enter entities and objects that fully define the environment in terms of floors, partitions, obstructions, and other data required for engineering planning of a wireless communications network in the environment. The input data are generally two dimensional (2D) representations of the environment. When ceiling height, elevation above sea level, or partition height data is entered, the drawing may then automatically be viewed in three-dimensions (3D). This 3D representation enables the design engineer to visually verify any parameters incorrectly entered. The definition of the environment, or drawings, maps or other data are verified and the design engineer is automatically prompted to enter missing or inconsistent information. Once the drawing(s) have been verified, the data defining the environment may be used by a variety of tools, models, wireless propagation prediction methods, measurement products or optimization procedures that require information about an environment's terrain levels, physical make up, and specific location of floors, walls, foliage or other obstruction and partition structures. Anything that impedes or otherwise affects the propagation of radio wave energy must be considered when predicting the performance of a wireless communication system in the environment, and the present methodology provides a simplified mechanism for collecting and editing this information in a readily usable form. The method for constructing and manipulating an indoor or outdoor environment is useful not only for wireless communication designers, but may also be useful for other applications, as well.



BRIEF DESCRIPTION OF THE DRAWINGS
The foregoing and other objects, aspects and advantages will be better understood from the following detailed description of a preferred embodiment of the invention with reference to the drawings, in which:
FIG. 1 is a flow diagram of the general method of the invention;
FIG. 2 is a representation of a typical building floor plan;
FIG. 3 is a representation of a raster image of a house;
FIG. 4 is flow diagram of a method for generating drawings from pre-existing computer aided design (CAD) drawings;
FIG. 5 is a flow diagram of a method for creating a drawing without pre-existing information;
FIG. 6A is a flow diagram of a method for generating drawings from pre-existing raster images to be used only with distant dependent wireless system performance prediction models;
FIG. 6B is a flow diagram of a method for generating drawings from pre-existing raster images to be used with any number of wireless system performance prediction models; and
FIGS. 7A through 7F show examples of methods for snapping an object to a grid, or other desired location on a drawing.



DETAILED DESCRIPTION OF A PREFERRED EMBODIMENT OF THE INVENTION
The present invention is used to build databases for use with modeling and engineering planning and automated design products. The current embodiment permits repeatable, reproduceable computer representation that may be transported or exported into many standard file formats and is designed specifically for use with the SitePlanner suite of products available from Wireless Valley Communications, Inc. of Blacksburg, Va. However, it will be apparent to one skilled in the art that the method could be practiced with other products either now known or to be developed in the future. (SitePlanner is a trademark of Wireless Valley Communications, Inc.).
Referring now to the drawings, and more particularly to FIG. 1, there is shown a flow diagram for the method of the present invention. In order to build a specially formatted database that contains data necessary and sufficient for input into an engineering model, a definition of the desired environment must first be built. First, existing data is entered into the system database in function block 101. This data may be in a variety of formats, as described in detail later. Because this existing data may be in a format which embodies unnecessary additional data, legends, map layers or text, unneeded objects are removed from the database in function block 102. The existing objects are then formatted and embellished with additional information in function block 103. Objects may include simple lines, representing walls or the sides of buildings or they may be polygons or polylines which represent trees, foliage, buildings, or other obstructions. An arbitrary number of objects may be drawn, traced, or moved using CAD commands which have a specific representation. In the preferred embodiment, each object or the group of objects saved in a file format known as “.DWG” which is developed by AutoDesk, Inc. However, it would be apparent to one skilled in the art how to practice this invention with other applications and tools using other formats. If additional objects are needed to describe the environment, they are also added to the database here. In the event that there is no pre-existing data, and the database must be built from scratch, the process may begin at this point, skipping steps 101 and 102.
Once the data has been entered, the user may optionally display the 2D data as a 3D representation in function block 105. The 3D view can be displayed at any time after entering height data, at the user's discretion.
Once the user has entered all of the data, a verification of the drawing may be performed in function block 104. At this point the process does a step-by-step analysis of the environment defined in the database to determine whether any data is missing. The invention provides an interactive feedback to the engineer and prompts the user as to where scaling and alignment are required, etc. While the preferred embodiment is described in detail, it should be evident to one skilled in the art that alternative methods such as totally automated verification may be possible. Because any engineering planning tool requires a specific set of information to operate optimally and efficiently, verification is important. The user is prompted to affirmatively declare that each piece of desired data has been entered and verified for proper format. If there are missing data, the user may then return to step 103 to enter additional necessary objects before running the verification procedure in function block 104, again. This step provides automatic verification guidance and prompts the user with feedback.
Once the drawing has been verified, the data is stored in the database in function block 106 or can be exported for use in an application that does not read directly from the database. This specially formatted data includes all information necessary to describe the building, site or campus environment.
While the above description generally describes the method of the invention, a more detailed description follows. The current embodiment, Building Database Manipulator (BDM), has been designed to operate integrally with the SitePlanner suite of products. Therefore, a detailed example of how each step is performed will use this embodiment as a foundation for discussion. However, it should be understood that the BDM could be used with other wireless communications propagation models (e.g. ray-tracing models or statistical models), other wireless prediction tools (e.g., Lucent Technologies WiSE, EDX SignalProTM, Ericsson TEMS, MSI PLAnet), or measurement tools now available (e.g., a wireless LAN transceiver, a spectrum analyzer, or any wireless measurement device such as a ZK Celltest 836 or a Berkeley Varitronics Champ receiver), or developed in the future. (BDM is a trademark of Wireless Valley Communications, Inc. SignalPro is a Trademark of EDX. PLAnet is a trademark of Mobile Systems International.)
Wireless prediction modeling software will typically utilize a site-specific database format, meaning that the database is specific to the area/environment it represents. This database can be thought of as being a collection of buildings and terrain, properly scaled and positioned in three-dimensional (3D) space relative to one another. In turn, each building is a collection of the floors that it houses (e.g., a nine story building has nine floors). FIG. 2 shows a typical building floor plan as it may be entered into the database. Each floor is a collection of obstructions/partitions. An obstruction/partition is anything that impedes or otherwise affects the propagation of radio wave energy, and thus must be considered when predicting the performance of a wireless communication system in the environment. For example, concrete walls, brick walls, sheetrock walls, doors, windows, large filing cabinets, and many others are all obstructions/partitions. At the same time, a large crowd of people, varying terrain, or foliage could also be considered obstruction/partitions.
The SitePlanner products, specifically, utilize a specially formatted vector database format, meaning that it consists of lines and polygons rather than individual pixels (as in a raster format). The arrangement of lines and polygons in the database corresponds to obstructions/partitions in the environment. For example, a line in the database could represent a wall, a door, or some other obstruction/partition in the modeled environment.
Obstructions/partitions are classified into categories. The user may define different categories of obstructions/partitions. A category is defined by a textual description (e.g., “External Brick Walls”), a vertical height (i.e., how tall is the wall), a color (to quickly distinguish it from entities belonging to other categories while viewing the drawing), and electromagnetic properties (discussed in further detail later). The category to which a given drawing entity (where an entity is either a line or polygon) has been assigned defines the type of obstruction/partition it represents. For example, if a given line has been assigned to the user-defined category of “Sheetrock Walls,” then it shares the characteristics given by the user to all other entities within that category throughout the entire database drawing. The process of either creating new entities or changing the category to which the entity belongs is a simple point-and-click process using a mouse or other positioning device, by linking entities to a particular user defined category of partitions. The preferred embodiment allows the physical, electrical, and aesthetic characteristics of entities of the same category to be individually or collectively edited. Category designation is carried out by assigning a particular numerical value to the field of each entity, wherein the field is specified as part of the drawing database.
From the standpoint of radio wave propagation, each obstruction/partition in an environment (i.e., each entity in the drawing, or the equivalent thereof), has several electromagnetic properties that directly affect it. When a radio wave signal intersects a physical surface, several things occur. A certain percentage of the radio wave reflects off of the surface and continues along an altered trajectory. A certain percentage of the radio wave penetrates through the surface and continues along its course. A certain percentage of the radio wave is scattered once it strikes the surface. The electromagnetic properties given to the obstruction/partition categories, when used in conjunction with known electromagnetic theory, define this interaction within the environment. Each category has parameters that include an attenuation factor, surface roughness, and reflectivity. The attenuation factor determines the amount of power a radio signal loses when it penetrates through an entity of the given type. The reflectivity determines the amount of the radio signal that is reflected from the entity (as opposed to penetrating through it). The surface roughness provides information used to determine how much of the radio signal is scattered upon striking an entity of the given type.
As mentioned above, the parameters given to each category fully define the entities contained within it. Altering the parameters of a category directly affects all entities assigned to it. This greatly simplifies the tedium of database creation for site-specific modeling.
The method used to predict and optimize antenna positioning in a desired environment uses a number of models, such as those described in the papers: “Interactive Coverage Region and System Design Simulation for Wireless Communication Systems in Multi-floored Indoor Environments, SMT Plus,” IEEE ICUPC '96 Proceedings, by R. R. Skidmore, T. S. Rappaport, and L. Abbott; “Achievable Accuracy of Site-Specific Path-Loss Predictions in Residential Environments,” (IEEE Transactions on Vehicular Technology, VOL. 48, No. 3, May 1999), by L. Piazzi and H. L. Bertoni (hereinafter “Achievable Accuracy”); “Wireless Propagation in Buildings: A Statistical Scattering Approach,” (IEEE Transactions on Vehicular Technology, VOL. 48, No. 3, May 1999), by D. Ullmo and H. U. Baranger; “Site-Specific Propagation Prediction for Wireless In-Building Personal Communication System Design,” (IEEE Transactions on Vehicular Technology, VOL. 43, No. 4, November 1994), by S. Y. Seidel and T. S. Rappaport; “Antenna Effects on Indoor Obstructed Wireless Channels and a Deterministic Image-Based Wide-Band Propagation Model for In-Building Personal Communication Systems,” (International Journal of Wireless Information Networks, Vol. 1, No. 1, 1994), by C. M. P. Ho, T. S. Rappaport and M. P. Koushik; and “Interactive Computation of Coverage Regions for Wireless Communication in Multifloored Indoor Environments,” (IEEE Journal on Selected Areas in Communication, Vol 14, No. 3, April 1996), by M. A. Panjwani, A. L. Abbott and T. S. Rappaport, “Measurements and Models for Radio Path Loss and Penetration Loss In and Around Homes and Trees at 5.85 Ghz,” (IEEE Transactions on Communications, Vol. 46, No. 11, November 1998), by G. Durgin, T. S. Rappaport, and H. Xu, and previously cited references, all of which are hereby incorporated by reference. Some simple models are also briefly described in “SitePlanner 3.16 for Windows 95/98/NT User's Manual” (Wireless Valley Communications, Inc. 1999), hereby incorporated by reference. It would be apparent to one skilled in the art how to apply other models to this method.
In order to build a database that can be used in site-specific modeling, as done, for instance, in SitePlanner, or in equivalent programs now known or later developed, or similarly in other applications, one can either build each entity from scratch or start with a full or partial definition of the environment in some format. The present invention offers many solutions to ease the incorporation of previously drawn or scanned images of building floor plans to accomplish step 101 of the method, as shown in FIG. 1. A wide variety of pre-existing formats such as a paper map, an electronic map, a blueprint, and existing CAD drawing, a bitmap image, or some other representation, are used to obtain environmental information. Most commonly, this information is available in some form of electronic building blueprint or map information and in the case of buildings, is often supplied one floor at a time. That is, a building blueprint usually involves a separate blueprint or other piece of information for each building floor. Two possible formats for this information are raster and vector. The present invention extracts environmental data from both formats. One skilled in the art would see how both raster and vector data (e.g., USGS raster terrain data with vector building overlays) could be combined using the present invention.
Raster drawings or maps are collections of individually colored points (or “pixels”) that, when viewed as a whole, form a picture representation of the environment. FIG. 3 shows a photograph of a house 10 made up of a series of colored pixels to represent the appearance of a house (appearing here in black and white). A raster image or map references the pixels in a specific grid rather than vectors. Therefore, raster images do not contain detailed information about objects.
The present invention allows raster images to be copied, moved, or clipped. Using the present invention, one can modify an image with grip modes, adjust an image for contrast, clip the image with a rectangle or polygon, or use an image as a cutting edge for a trim. Examples of raster formats processed by the preferred embodiment of the present invention include, but are not limited to, Windows Bitmaps (BMP), Joint Photographic Experts Group format (JPEG), Graphical Interchange Format (GIF), Tagged-Image File Format (TIFF), Targa format (TGA), PICT, and Postscript. Raster drawings of any type may be converted into vector drawings, or other vector data based representations. The process involves using the imported raster drawing (which is really just an image) as a backdrop, and then tracing over it with a mouse or other positioning device, and adding new entities (lines and polygons), to generate a formatted database/drawing.
Vector drawings are collections of individual lines and polygons. Examples of vector formats include AutoCAD drawing files (DWG), Autodesk Drawing Exchange files (DXF), and Windows Metafiles (WMF). Because vector drawings already consist of lines and polygons, converting them into a format used by the present invention is straightforward. In the preferred embodiment, vector drawings are converted into BDM format drawings by simply loading them, selecting lines and/or polygons within the drawing, and then assigning the selected entities to a given category.
When using pre-existing data formats, it is probable that the map or drawing will contain information that is unneeded for the modeling and prediction steps. Therefore, one should remove unneeded objects from the drawing, as shown in step 102 of FIG. 1.
In addition to importing images and drawings, a collection of commands that permit users to draw new floor plans to accomplish step 103 of the method is provided. Multiple floor plans may be combined into three-dimensional, multi-floored drawing databases for use in the method, also in step 103.
During the process of creating and formatting building databases, one may view the current drawing in 3D, as shown in step 105 of FIG. 1. Each obstruction/partition category has an associated height parameter that defines the vertical dimension of each entity in the given category. By creating a new entity of a given category or converting an entity from or between categories, the vertical dimension of the new entity is automatically adjusted to match that specified for the category. Thus, if the invention processes a 2D vector drawing (i.e., a drawing with individually selectable lines and polygons), selecting an entity and assigning it to a given category carries out the conversion between 2D and 3D automatically. If the invention processes a raster drawing (i.e., a bitmap or similar format drawing that consists of individual colored pixels), the drawing can be imported and “traced over”, where with the creation of each new entity, the category again defines the vertical dimension given to the entity.
Each building floor can itself be thought of as a category that encapsulates the obstruction/partition categories defined by the user. Each floor of a building has an associated ceiling height. Alternatively, entire buildings may be represented with a building height. For the case of a multifloor building, the ceiling heights given to each floor in a building defines the vertical separation between them. Thus, the ceiling height parameter of a given floor is used to correctly position, vertically in space, each entity located on the floor relative to the entities located on other floors of the building.
Once the height of a given obstruction/partition category and/or the ceiling height of a given floor is adjusted, the 3D structure or the drawing database is altered automatically, as appropriate. This is a major improvement over other 3D techniques simply from a speed and ease of use point of view. It is much easier to construct a building in 2D using lines and polygons whose vertical dimension is handled automatically, as in the present invention, than to model the same building in 3D using slanted or vertical planes, as is done in other systems, such as suggested in the “Radio Propagation” and “Achievable Accuracy” papers, cited above. The 3D view enables the user to verify the building structure (i.e., that the vertical dimension of an obstruction/partition category has not been inadvertently specified incorrectly) and provides a unique perspective that is ultimately useful when viewing wireless prediction or measurement data for evaluation of the performance of the communication system being modeled.
Once an environment has been specified and defined as objects, and a visual verification of the 3D drawing is complete, a full verification of this definition is performed in step 104, as shown in FIG. 1. The engineer or designer selects the Final Drawing Check procedure to ensure that all of the steps necessary to create a fully functional model of the desired building environment have been correctly performed. These steps include ensuring that the modeled environment is properly scaled and that the separate floors of the building are visually aligned in 3D space. Certain drawing structures and information can also be automatically detected. For example, the number of floors in a given building, the number and types of obstruction/partition categories and the entities assigned to each type, whether or not the user has already verified the drawing previously, and what (if any) activity has been done to the drawing database by the other SitePlanner-tool suite members can be automatically detected and reported to the user.
To obtain wireless system performance predictions using data generated with the present invention, as disclosed in the concurrently filed, copending applications Ser. Nos. 09/667,690 and 09/668,145, one preferably uses the present method for the preparation of building databases. Depending on the chosen wireless system propagation or performance prediction model, important information is needed such as physical distances, partition locations, floor locations, and the numbers of floors and partitions. Standard architectural drawings, like scanned images, do not contain the necessary database information. Therefore, building a verified database for use in the selected wireless system propagation or performance prediction model is essential to ensure the best results.
Computer Aided Design (CAD) programs create vector graphics, made of lines and curves defined by mathematical objects called vectors. Vectors describe graphics according to their geometric characteristics. For example, a wheel in a vector graphic is made up of a mathematical definition of a circle drawn with a certain radius, thickness, color, and specific location. A user can move, resize, or change the color of the wheel without losing the quality of the graphic.
The present invention utilizes the vector information of imported maps, drawings or electronic images and file formats, as well as information input by users, to build complex 3-D representations and vector based databases. The preferred embodiment utilizes the drawing commands from AutoCAD, a product of AutoDesk, Inc. of San Rafael, Calif. It would be apparent to one skilled in the art that any other vectorized drawing tool, either now known or to be invented could be used as an alternative in the practice of the present invention. The process of inputting and converting the environmental information into a database is referred to as formatting. The present invention facilitates the formatting of objects in a drawing, and also stores detailed information in the drawing database about the object's location, attenuation factor, color, and other physical and electrical information such as reflectivity, or intersections of the object with floors, ceilings, and other objects.
The present invention may scan and format environmental information if a vector drawing of the environment does not exist. If formatted vector drawings do exist, the method of the invention provides many ways for these drawings to be formatted into a useful format. Generally, two “starting points” exist when working with vector drawings. These starting points are briefly discussed in the following bulleted list.

    
    
        Starting with a previously drawn (CAD) floor plan, and
        Starting from scratch.
    
    


In order to create a vectorized drawing of a desired environment, it is desired to utilize a number of drawing tools. The present method provides the user with a wide range of commands which have been crafted for rapid database creation and manipulation, as described below. Many of these commands rely on specific combinations of AutoCAD drawing commands which are sequentially executed without the user having to know the specific CAD commands. It should be apparent to one skilled in art that the method for creating drawings, as described below, could be practiced with other products either now known or to be developed in the future.

    
    
        View Formatted Information command—This command invokes a list box that contains a list of formatted floors in a drawing.
        Hide Formatted Information command—This command allows a user to hide partitions that have been previously formatted.
        View Unformatted Information command—This command works in a similar manner as the View Formatted Information command. A list box of available layers in the drawing that are not formatted layers is displayed.
        Toggle Orthogonal Draw On/Off command—With the default cursor snap setup, ORTHO mode (ON) constrains cursor movement to horizontal and vertical directions (90 degrees).
        Display Grid command—This command allows the user to specify grid spacing, or to turn on/off snap and aspect options. It also allows the user to specify the spacing value between grid lines. The user may turn the grid on or off.
        Snap—Sets the grid spacing to the current snap interval.
        Aspect—Sets the grid to a different spacing in X and Y directions.
        Cursor Snap command—This command prompts the user with “Snap spacing or ON/OFF/Aspect/Rotate/Style <0.5000>:”
        Spacing—Activates Snap mode with the specified value.
        ON—Activates Snap mode using the current snap grid resolution, rotation, and style.
        OFF—Turns off Snap mode but retains the values and modes.
        Aspect—Specifies differing X and Y spacing for the snap grid. This option is not available if the current snap style is Isometric.
        Rotate—Sets the rotation of the snap grid with respect to the drawing and the display screen. The user specifies a rotation angle between −90 and 90 degrees. A positive angle rotates the grid counterclockwise about its base point. A negative angle rotates the grid clockwise.
        
            Base point <current>: The user specifies a point
            Rotation angle  ̃current>: The user specifies an angle
        
        
        Style—The user specifies the format of the Snap grid, which is standard or isometric.
        
            Standard—Displays a rectangular grid that is parallel to the XY plane of the current Universal Coordinate System of the drawing database. X and Y spacing may differ.
            Isometric—Displays an isometric grid, in which the grid points are initially at 30- and 150-degree angles. Isometric snap can be rotated but cannot have different Aspect values.
        
        
        Object Selection Snap command—This command allows the user to select points in the drawing. One should note that when more than one check box option is selected, the invention applies the selected snap modes to return a point closest to the center of the aperture box.
    
    


The Snap procedure is especially useful in drawing the floors of the environment when tracing raster images and drawing from scratch. FIGS. 7A through 7F illustrate the various snapping procedures which are used by AutoCAD and known to those skilled in the art. For instance, the Endpoint option snaps to the closest endpoint of an entity as shown in FIG. 7A. The Midpoint option snaps to the midpoint of an entity as shown in FIG. 7B. The Perpendicular Node Nearest Intersection option snaps to a point perpendicular to an entity as shown in FIG. 7C. The node option snaps to a point object as shown in FIG. 7D. The Nearest option snaps to the nearest point on an entity. The Intersection option snaps the intersection of two or more entities as shown in FIG. 7E. The Apparent Intersection option includes two separate snap modes: Apparent Intersection and Extended Apparent Intersection. The user can locate Intersection and Extended Intersection snap points while running Apparent Intersection object snap mode.
Apparent Intersection snaps to the apparent intersection of two entities that do not intersect in 3D space, but might appear to intersect onscreen. Extended Apparent Intersection snaps to the imaginary intersection of two objects that would appear to intersect if the objects were extended along their natural paths, as shown in FIG. 7F.
The Quick option snaps to the first snap point on the first object found. Quick must be used in conjunction with other object snap modes.
Other useful commands are described below:

    
    
        Show Distance Between Points command—This command prompts the user to select two points in a drawing, after which the distance the points are display.
        Break/Ungroup Entities command—This command allows the user to ungroup and break apart objects.
        Purge command—In addition to the graphic objects used by the present method, there are several types of non-graphical objects that are stored in drawing files. These objects have descriptive designations associated with them; for example blocks, layers, groups, and dimension styles. In most cases the user names objects as they are created, and they can later be renamed. Names are stored in symbol tables. When a named object is specified on the command line or selected from a dialog box, the name and associated data of the object is referenced in the symbol table.
    
    


Unused, unreferenced named objects can be purged from a drawing at any time during an editing session. Purging reduces drawing size, and therefore, the memory requirements for working with the drawing. Objects that are referenced by other objects cannot be purged. All objects may be purged at once, or the user can select a category of object to purge such as: Linetypes, Text Styles, Dimension Styles, Multiline Styles, Blocks, and Shapes.

    
    
        Drawing Utilities command—This command allows the user to audit the drawing or recover from a corrupted drawing.
    
    


Referring now to FIG. 4, if the user starts with a previously drawn CAD drawing, the following steps outline typical procedures for formatting drawings. Methods for implementing this outline are discussed below.
First, the CAD drawing is input in function block 201. The user then decides what extraneous drawing objects to remove (e.g., doors, labels, borders, drawing scales, stairs, etc.) in function block 202. Remaining objects are formatted using drawing commands, as described above, in function block 203. Partition colors and descriptions are adjusted, as desired in function block 204. After formatting all objects, the drawing is verified in function block 206.
In the preferred embodiment, verification is an automated sequential process that takes the user through a series of procedures, as listed below, to determine that all necessary data has been entered consistently. In alternative embodiments, the order of the procedures and functions of each procedure can be altered, merged, expanded, modified, or even omitted depending on the judgment of one skilled in the art. The verification process can also be fully automated, without requiring user interaction. The preferred embodiment currently provides for the following steps:

    
    
        Scale Drawing is used to scale a drawing to the proper size based on the known size of a particular object in the drawing.
        Align Building Floors assists in aligning floors in a drawing after the different floors have been assembled in the drawing.
        Ceiling Height allows the user to adjust the heights of ceilings in either meters or feet.
        Set Partition Labels and Colors permits the user to set and modify the partition labels and the colors of the partitions. The height may also be modified. If the partitions already exist in a drawing, the user can use this command to globally change the color of partitions or the partition's name.
        Set Origin of Building Coordinate System allows the user to specify a reference point which to be stored in the drawing database. This point is important for assembling drawings so that the point can automatically align the drawings.
        Set Environmental/Path Loss Parameters allows modification of partition labels, path loss parameters, and electrical characteristics such as attenuation parameters.
        Create Boundary creates an invisible boundary around a drawing to guide the predictive models so that the predictions/calculations are reasonably bounded in the space within the database.
        Create Legend allows the user to enter pertinent information about a drawing, and gives the user options to size the legend relative to the current window and options to add additional information to the legend such as a partition color legend, a contour color legend, and a measurement data color legend.

The Remove-Purge Unnecessary Drawing Information command must be selected manually to ensure appropriate purging of unused drawing objects.

    
    


If the format definition of the database is modified, it would be apparent to one skilled in the art how to change the method of verification to accommodate these modifications. It would also be apparent to one skilled in the art how to modify and extend existing drawing or CAD packages to perform the method of the invention.
Referring to FIG. 5, if the user starts from scratch and intends to implement a complete vector database, formatting a drawing will consist, only of drawing entities in function block 203, and assigning partition information to the drawing in function block 204.
In the preferred embodiment, partitions are drawn and existing partitions can be modified. Any entity or drawing object can be converted into a formatted partition on a particular floor. The type of partition of a previously formatted entity can be modified. The floor on which a particular formatted object resides can also be changed. Objects will still remain visible in the drawing after converting them to partitions on other floors. These objects may be hidden at the user's discretion. A user can display partition information by selecting objects in the drawing requesting partition information in the command menu. A text window containing the returned information regarding the object's type, location, length, and electrical attributes such as attenuation factor is displayed.
If more than one drawing is used to define the environment, they must be assembled before final verification. An automated procedure combining several separate single floor drawings into one multi-floored drawing may be executed.
Finally, the drawing is verified in function block 206, as described above. This verification will automatically make corrections to the legend that may have been corrupted after assembling several drawings into one file. Methods for formatting a drawing from scratch are discussed below.
Referring now to FIG. 6, a method is shown to format a raster image into a drawing that can be used for modeling. Because computer monitors represent images by displaying them on a grid, both vector and raster images are displayed on screen as small squares or dots known as pixels. Raster images only consist of a rectangular grid of pixels.
The image file formats supported by the present invention include the most common formats used in major technical imaging application areas: computer graphics, document management, and mapping and geographic information systems (GIS). The present invention determines the file format from the file contents, not from the file extension. Thus, additional formats could be added easily by including their translation parameters in the method.
Often times only a scanned image of a floor plan is available, as shown in FIG. 2. A user can insert a raster or bitmapped black and white, 8-bit gray, 8-bit color, or 24-bit color image file into the drawing. Users can insert images in a variety of formats, currently including BMP, TIF, RLE, JPG, GIF, and TGA. More than one image can be displayed in any viewport, and the number and size of images is not limited. Once the raster image is no longer needed, the user can detach the image from the drawing.
There are two preferred ways that a scanned image can be formatted. The first approach for formatting a raster image is shown in FIG. 6A. First the current floor is set in function block 401. In a new drawing, this creates the necessary floor layers based upon the user's selection. Therefore, any newly drawn partitions will reside on the current floor as chosen by the user. Then the image is imported in function block 402 and scaled in function block 403. Finally the drawing is verified in function block 404. Since this drawing originally did not contain any vector objects, the drawing database consists only of an image of the given environment that has been scaled to the proper dimensions. It does not contain information with regard to physical objects within the environment. Depending on the application, this may be sufficient for engineering use, for instance, when a wireless propagation prediction model only uses distance and does not rely on knowledge of the physical environment.
The second approach for formatting a raster image is shown in FIG. 6B. This method is similar to the method shown in FIG. 6A with the addition of function block 405. The scanned image is “traced” by the user to draw partitions and other obstructions prior to verification in function block 404. This method is similar to drawing a vector based drawing from scratch, except that the scanned image provides a trace guide. The end result is a drawing that can be used by all wireless system prediction models, including those which rely on knowledge of the physical environment.
A distinct advantage of the present invention is that a true three-dimensional environment is rendered from the drawings and stored in the database. The ceiling heights(or building heights) that are specified are used to determine the vertical height of any partitions found on a given floor. A height is defined for a category of partitions and this defines the object's height for each entity in that category. This is done automatically during the formatting process. Thus, even though the formatting process was strictly two-dimensional in nature, when the formatting of a drawing is completed, the resulting drawing is a true three-dimensional environment. The user can see the three-dimensional building structure by altering the viewpoint.
The present invention can be used to create single floor drawings that can later be assembled into one multi-floored drawing or it can be used to create one or several multi-floored drawings all at once. After creating a single floor, all entities that are not partitions should be removed from the drawing. Thus, if a raster image was used as a reference for tracing partitions, it should be erased once the tracing is complete. The method provides assistance to the user to distinguish between partition and non-partition objects. Typically, objects referred to as formatted objects are partition objects and objects referred to as unformatted objects are non-partition objects.
The final stage of formatting a drawing involves several verification steps. These steps are automatically sequenced, as described above. Before each step is performed, the user is asked whether that step has yet been performed. If the user answers “Yes”, then that step is skipped and the user is asked about the next step. Otherwise, the current step is performed and the user is prompted for any necessary information. When all steps have been completed, the drawing is saved. Unnecessary drawing information should then be purged. The formatted drawing should then be saved again.
This formatted drawing can now be used in any number of applications. Specifically, it may be used in wireless communication system engineering, planning and management tools for in-building or microcell wireless systems, for instance as described in the concurrently filed and copending applications: Ser. No. 09/318,842, entitled “Method and System for Managing a Real Time Bill of Materials,” filed by T. S. Rappaport and R. R. Skidmore, pending Ser. No. 09/318,841, entitled “Method and System for Automated Optimization of Antenna Positioning in 3-D,” filed by T. S. Rappaport and R. R. Skidmore, U.S. Pat. No. 6,317,599 and copending application Ser. No. 09/221,985, pending entitled “System for Creating a Computer Model and Measurement Database of a Wireless Communication Network” filed by T. S. Rappaport and R. R. Skidmore. It may also be useful in any other number of applications that require a 3-D model of a building, campus or urban environment.
While the invention has been described in terms of a single preferred embodiment, those skilled in the art will recognize that the invention can be practiced with modification within the spirit and scope of the appended claims.

## Claims

1. A computer implemented method for manipulating data from an environment in which a communication network is or will be deployed to construct a database that can be used to generate definitions of the user's physical environment, including buildings, terrain and other site parameters, comprising the steps of:
(a) using a computer for creating and formatting a plurality of objects defining an environment of floors, walls, partitions, buildings, building complexes or compounds, terrain or other sites or obstructions; 
(b) verifying, using a computer, the sufficiency of said plurality of objects to ensure a useful definition of said environment and notifying a user of results of said verification of sufficiency; and 
(c) generating a set of formatted data in a form transportable to and usable by a computer based engineering planning model or other applications; and 
(d) rendering a three-dimensional view of said environment.

2. A method as recited in claim 1, said method further comprising at least one of the steps:
(e) inputting existing data, vectors or drawing objects, said existing data, vectors or drawing objects either partially or fully describing said environment; and 
(f) removing extraneous drawing objects to simplify said definition of said environment; 
wherein steps (e) and (f) may be performed before or after step (a), if data exists that fully or partially defines said environment.

3. A method as recited in claim 2, wherein said existing data is in the form of raster files, or in the form of vector files, wherein said raster files are selected from the group consisting of Windows Bitmaps (BMP), Joint Photographic Experts Group format (JPEG), Graphical Interchange Format (GIF), Tagged-Image File Format (TIFF), Targa format (TGA), PICT, and Postscript, and wherein said vector files are selected from the group consisting of AutoCad (DWG), AutoDesk (DXF), and Windows MetaFile (WMF).

4. A method as recited in claim 1, wherein said step of rendering a three-dimensional view may be performed at any time after at least one of said plurality of objects has been created.

5. A method as recited in claim 4, wherein said rendering step includes the step of selecting a three-dimensional view of a selected perspective of said environment.

6. A method as recited in claim 1, wherein step (a) further comprises the step of adjusting partition colors, and physical and electrical descriptions of said partitions.

7. A method as recited in claim 1, wherein said formatted data defines said environment and each said object is associated with at least one of the group consisting of a specific location in said environment, an attenuation factor, a color, a height, a surface roughness value and a reflectivity value.

8. A method as recited in claim 1, wherein step (b) automatically prompts a user to verify that each piece of necessary information to define said environment has been added to said definition of said environment before executing the verification of said each piece of necessary information, and if said user answers in the negative, prompts said user to enter missing information before proceeding.

9. A method as recited in claim 1, wherein said formatted data comprises at least one vectorized drawing of said environment.

10. A computerized system for manipulating data from an environment in which a communication network is or will be deployed to construct a database that can be used to generate definitions of the user's physical environment, including buildings, terrain and other site parameters, comprising:
(a) computer implemented means for creating and formatting a plurality of objects defining an environment of floors, walls, partitions, buildings, building complexes or compounds, terrain or other sites or obstructions; 
(b) means for verifying, by a computer, the sufficiency of said plurality of objects to ensure a useful definition of said environment and notifying a user of results of said verification of sufficiency; and 
(c) means for generating a set of formatted data in a form transportable to and usable by a computer based engineering planning model or other application; and 
(d) means for rendering a three-dimensional view of said environment.

11. The computerized system of claim 10, further comprising at least one of:
(e) means for inputting existing data, vectors or drawing objects, said existing data, vectors or other drawing objects either partially or fully describing said environment; and 
(f) means for removing extraneous drawing objects to simplify said definition of said environment.

12. The computerized system of claim 11 wherein said means for inputting existing data accepts existing data in the form of raster files, or in the form of vector files, wherein said raster files are selected from the group consisting of Windows Bitmaps (BMP), Joint Photographic Experts Group format (JPEG), Graphical Interchange Format (GIF), Tagged-Image File Format (TIFF), Targa format (TGA), PICT, and Postscript, and wherein said vector files are selected from the group consisting of AutoCad (DWG), AutoDesk (DXF), and Windows MetaFile (WMF).

13. The computerized system of claim 10 wherein said means for rendering a three-dimensional view includes a means for selecting a three-dimensional view of a selected perspective of said environment.

14. The computerized system of claim 10 further comprising a means for adjusting partition colors and physical and electrical descriptions of said partitions.

15. The computerized system of claim 10 wherein said formatted data generated by said means for generating defines said environment and each said object is associated with at least one of the group consisting of a specific location in said environment, an attenuation factor, a color, a height, a surface roughness value, and a reflectivity value.

16. The computerized system of claim 10 wherein said means for verifying automatically prompts a user to verify tat each piece of necessary information to define said environment has been added to said definition of said environment before executing the verification of said each piece of necessary information, and if said user answers in the negative, prompts said user to enter missing information before proceeding.

17. The computerized system of claim 10 wherein said formatted data generated by said means for generating comprises at least one vectorized drawing of said environment.