[Serialization] One of 3D GIS development: Data Acquisition

Source: Internet
Author: User

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]

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.