Full text: The 3rd ISPRS Workshop on Dynamic and Multi-Dimensional GIS & the 10th Annual Conference of CPGIS on Geoinformatics

1SPRS, Vol-34, Part 2W2, “Dynamic and Multi-Dimensional GIS”, Bangkok, May 23-25, 2001 
321 
these components has at least two types of functions. One is for 
input and another for output. The number of these functions 
varies from format to format according to its geometric model. 
For example, the VCT format defines only three types of 
geometric objects. The ActiveX Control GeoVCT provides only 
three functions for input point, line and polygon respectively and 
three functions for output the same three types of geometric type. 
In order to translate non-geometric information of geometric 
objects, we designed another component called 
GeoExchangeCenter to incorporate the exchange of non 
geometric information in the process. This component manages 
a dictionary which contains all the information needed for original 
object being transformed to new object. For example, if both the 
DXF layers Provincial Road and National Road are required to 
transform to a new feature class High Road in VCT format, this 
component will have an instance contains two dictionary items. 
One is Provincial Road to High Road and another is National 
Road to High Road. For another example, if there are two 
dictionary items: Feature Point to Label Point and Feature Point 
to Feature Point, the DXF layer Feature Point will be transformed 
into two feature classes, namely Label Point and Feature Point. 
Fig.1 shows the logical relationship among all these components. 
Fig. 1 Relationship among data exchange components 
4. IMPLEMENTATION 
Microsoft VC++ 5.0 or later version provides multiple choices for 
users to develop ActiveX Control. The most convenient choice is 
utilizing MFC and following the guidance of the MFC ActiveX 
Control Wizard tool. The MFC ActiveX Control Wizard tool can 
automatically generate codes of the framework of an ActiveX 
Control. 
The remained and core work is to reform this framework into 
designed component by adding methods and attributes and 
message processing functions. Attributes are public data of 
component and container referring the component. Attributes are 
used to describe features of it and pass these data to container. 
Container recognizes the state of referred component by reading 
these attributes. If permitted by the component, the container 
can also change the value of these attributes in order to 
customize the behavior of the component. Take GeoDXF as an 
example, most of the attributes are designed to reflect the 
fundamental parameters of DXF file format. When exporting data 
from DXF format, they are important information for correctly 
interpret other information in the data file. When importing data 
to DXF format, they are important information for correctly write 
geometric information into the file. 
Methods of the component are the interface functions provided 
to the container to command the component. This part is the 
core of the GIS data exchange components. External 
applications are designed as a container to call these functions 
to fulfill data reading and writing task. 
As a component, it has also message processing functions to 
response external events such as mouse-down and mouse-up. 
In order to reach the maximum flexibility, these data exchange 
components are designed without visual interface. The 
application program that refers to these components should 
provide the end-user’s interface on request. 
5. EXAMPLES 
In VC++6.0, we have developed a series of ActiveX Controls 
including GeoDXF, GeoDwg, GeoVCT, GeoFile, GeiMif, 
GeoShape. GeoFile is for reading data from and writing data to 
GeoStar File format. Other ActiveX Controls are for reading and 
writing of data format of what their names imply. 
Fig.2 A Dwg data view of sample data set 
Making use of these ActiveX Controls, we implemented several 
application systems for data transformation in VB6.0. Fig.2 and 
Fig.3 show an example of sample data of DWG format 
transformed to GeoStar file format. Usually we develop this kind 
of application system on end-user’s demands directly based on 
ActiveX Controls needed. Or we release these ActiveX Controls 
and the end-user develops his own system by using these 
ActiveX Controls needed. 
Fig.3 The GeoStar data view of sample data set 
transformed from Dwg 
6. CONCLUSIONS 
Data preparation is a hard task in making a GIS working 
effectively. Especially during the start phase of constructing a 
GIS, most of the work is to collect data and input them in the 
database. A flexible data transformation program is of significant 
importance. COM and its ActiveX technique provide an
	        
Waiting...

Note to user

Dear user,

In response to current developments in the web technology used by the Goobi viewer, the software no longer supports your browser.

Please use one of the following browsers to display this page correctly.

Thank you.