Great amount of companies with a large-scale infrastructure face the challenge of creating unified data storage of all the organization’s objects with geo referencing.
Such storage allows building analytical spatial systems and maintaining all the data on object handling up-to-date. However, the most popular methods used to devise these systems – aerial mapping and laser scanning with further processing – cost a bundle. 
As a result, analytical infrastructure systems are either not built at all or built by parts without providing a complex solution to the problem.
At the same time, organizations almost don’t use the project design documentation they have. Nevertheless, such documentation comprises the detailed description of infrastructure objects and may become a valuable source of data for various analytical geosystems.
After analyzing the initial project design documentation, company’s requirement and goals, we looked through the existing technological solutions, but none of them was a suitable one, because of losing the integrity of the objects. That is why we decided to develop our own program module – CADObject, that will automatically recognize the objects and their attributes in CAD (computer-aided design) drawings and will transfer them into a geoinformation database (GDB).
CADObject is a program module developed by ExonIT. This module allows building various applications and services responsible for the interaction between CAD and GIS (geographic information systems). Such an approach lets us create geosystems based on CAD’s initial data and perform the GIS’s comprehensive analytical and mathematical spatial analysis. 
CADObject significantly differs from standard methods of data exchange between CAD and GIS. The major difference is CADObject’s ability to create an object data model during the conversion process, i.e. objects and their attributes are recognized in drawings and transferred to a spatial database.
Thus, with CADObject we managed to address the following challenges.
1. The recognition of objects and their attributes in CAD drawings.
Many graphic primitives in the CAD drawing are not connected with each other. Due to that when converting and saving them in the database by means of standard methods we get many disconnected objects. Those graphic objects can’t be used to create analytical solutions because their properties don’t indicate the part of which object they are.
When working with CADObject, graphic primitives are automatically recognized and united into separate objects according to a certain classifier. Each object has a specific entry in the database.
Image: Input data
2. Object verification. 
Graphic imaging and attributive information rules are defined for each object’s type. For instance, if the object comprises several lines and CADObject defines that the angle between them in the drawing exceeds the limit, CADObject won’t allow you to load the objet to the system and will offer correcting it in the drawing.
3. The creation of an object data model.
CADObject transfers objects into the GDB. Such an approach allows building analytical systems of any complexity and using the full analytical and mathematical apparatus of the GIS and DBMS (data base management system) to present and analyze data including that received during the CAD development.
Here is an example of converting data from CAD to GIS with creating an object data model and building an analytical system based on that model. (Project: The certification of the railway infrastructure’s objects)

                         a.                                                                            b.                                                                                        c.

a. CAD data. Each object consists of a great number of primitives with the corresponding number of database entries.
b. The conversion of data to a GIS format with the creation of an object data model. Each object has a single entry in the table and single graphic imaging.
c. The creation of analytical systems based on an object data model.
When building an object model during the conversion process, all the graphic primitives are recognized and united into separate objects according to a certain classifier. Each object has a specific entry in the database, which allows developing analytical spatial solutions.
4. Transferring objects to a spatial DB while maintaining the complete identity of CAD objects’ graphical representation.
5. Storage of the object changes’ history. As the system stores all the changes and user data, you can easily track the object changes’ history and define who and when made the changes.
6. Transferring initial drawings into file storage. After the recognition, the initial drawings are transferred to the file storage, which grants an opportunity to easily find the needed drawing. 
7. The ability to unload objects in CAD format from the DB. When an object or a group of objects need changes, they can be unloaded in CAD format, edited, and uploaded back. That allows engineers to easily access the object’s latest version. Such an opportunity gives advantage to large organizations that have an array of teams working in different locations.
Image: CADObject’s application
Application structure
Image: Application structure
As a result, we developed a spatial attributive model of the whole company’s infrastructure that uses an API to communicate with other systems within the organization (e.g. accounting software) and third-party systems (e.g. the National Cadastral Agency). This synergy also allows addressing new challenges.