Note: Please indicate the author and source for reprinting. Thank you ~
I. Development Environment
1. DirectX 9.0c
2. ArcGIS Engine 9.0
3. Visual Studio 2005 (C #. net2.0)
Ii. Basic Introduction
The basic geographic information data is stored in Geodatabase (*. mdb). There are two layers: road center line and building.
Read each record in the road center layer, generate the corresponding road surface based on the current road width, read each record of the building layer, and generate the corresponding 3D Building Model Based on the specified height; then, the 3D scene is rendered.
Iii. Implementation Process
Road:
1. A collection of road center points read from GIS data.
2. calculate each point in the center line Set Based on the road width to obtain the corresponding point on the road edge line.
3. Generate vertex buffering and index buffering based on the set of online points on both sides of the road calculated in step 2.
Construction:
1. Read from GIS data to the point set that forms the building surface.
2. According to the closed point obtained in the first step, perform the Adaboost triangle division to obtain the triangle set above the 3D model of the building.
3. Based on the closed point obtained in step 1, combined with the building height, a set of triangles on each side of the building 3D model is obtained through calculation.
4. Generate vertex buffering and index buffering Based on the triangle set generated in step 2 and step 3.
Iv. Actual results
View Road and building layers (for example) In ArcMap)
3D scenarios generated by reading GIS data (for example)
2D and 3D comparison (for example)
[End]