Developing a three-dimensional (3D) data model for Geographic Information Systems (GIS) is an essential and complex issue. 3D modelling in GIS is becoming ever more important for the development of cyber cities and digital earth, which have recently become feasible. A competent 3D model forms an efficient foundation for 3D visualization, query and spatial analysis. As a development of the existing 3D models, this study proposes particular improvements in handling complex 3D objects. We present an object-oriented data model for handling complex 3D objects in GIS. First, the conceptual data model is developed based on the principle of object-oriented (OO) data modelling. This model is designed based on the following three basic geometric elements: node, segment and triangle. Accordingly, the abstract geometric objects are defined: including points, lines, surfaces and volumes. Second, the corresponding 3D logical model is designed based on the defined abstract objects and the relationships between them. Third, a formal representation of the 3D spatial objects is described in detail. Fourth, a prototype 3D GIS is developed based on the proposed 3D data model. Finally, we describe the results of an experimental study to reconstruct 3D objects using this 3D GIS and a comparison with the performance of other 3D data models. The proposed model is able to handle complex objects, such as complex buildings and TV towers, which is an essential functionality for building large-scale cyber cities, such as for Hong Kong. The proposed data model proves to be very efficient, particularly in visualization and rendering. The experimental results show which the data volume of the proposed model is compacted and the visualization speed for 3D objects is improved, compared with the existing models.