Full text: Proceedings, XXth congress (Part 8)

International Archives of the Photogrammetry, Remote Sensing and Spatial Information Sciences, Vol XXXV, Part B-YF. Istanbul 2004 
  
  
The concept of the test is fairly simple but there are some more 
difficult points in programming, which will not be discussed in 
this paper. To test if the representative is inside of the polygonal 
outline, it has to be connected with a very far point by a line. 
Now the intersection points of this line with the outline are 
counted. Even number of intersections means the point is 
outside, an odd number of points means point is inside. This 
test works also if the geometry has got void areas inside (Finley, 
1998). 
2.5 Select a building 
To select a building the pick()-method of the Cortona Viewer is 
used. This pick() method works with the "ray" concept. When 
the user clicks into the scene the coordinates of the pointer are 
taken and a ray is sent through this position. The first object hit 
by the ray is the result of the pick() method. A pointer to this 
object is returned and you have access to the object and its 
fields. Now it is possible to read the DEF-Name of the returned 
object and find the corresponding land registry dataset in the 
connection table. With the dbf index the attribute information 
can be read from the dbf dataset and be displayed in a dialog 
(see Fig.2), the scene itself or used in any other way, for 
example, written to a file. 
This method enables the user to use the 3D scene as an interface 
to the attribute data. So you can navigate through the scene and 
get information about any object, which has connection 
information. Though the connection is realized on a system 
working with files, it is possible to get geometry and attribute 
information from a database to do the connection. In this case a 
connection table is not necessary, because the DEF-Name of the 
3D object can be add as a column to the database table. So it is 
possible to find object attributes by a SQL query. The 
connection to the database could be realized by ODBC in case 
of Visual C++, for example. 
  
Figure 2. Selection and attribute display of the building 
(© Stadtmessungsamt Stuttgart) 
2.6 Surface Visualization 
The surface information is given as a TIN in DXF format. This 
format contains much information, which is not needed for 
visualization, like layer numbers, line colors, etc. Therefore it 
was parsed into a text file, which contains only the triangle 
information. 
24 
To visualize the surface a rectangle is calculated around the area 
with buildings. Then all triangles of the TIN, which are inside 
of this rectangle are selected and converted into an IFS- Node. 
We are working on a concept to create IFS-Nodes for each 
parcel. At the moment, the surface is only one object so the 
connection to parcel attributes is not possible. To get one object 
for one parcel, which would be selectable, it is necessary to 
intersect the 2D parcel outline with the TIN to get the parts of 
the parcel for each triangle, as shown in figure 3. 
  
Figure 3. Clipping of TIN based on parcel polygon 
These "result" parts (polygons) can be transferred into an IFS- 
Node. To visualize the surface for the buildings in scene, all 
parcel objects for the “building”-rectangle have to be created 
and visualized in the scene. In this way you can get a surface 
consisting of selectable parcel objects. The outline of the parcel 
is taken from the land registry dataset and it is connected to 
attribute data, so the index of the attribute data record can be 
used as DEF-Name for the created IFS-Node. In that way you 
have a connection between 3D object and attributes of the land 
registry. 
To select a parcel object the pick() method is used again, and it 
will return the result object, and with the dbf index stored in the 
DEF-Name field the attributes can be read and displayed. 
2.7 Query example 
To show a kind of query or thematic map a small query example 
was realized. The query functionality can be extended with 
useful functions, but this test.software only wants to show what 
is possible. 
In this query example the user can color the building walls 
according to the use of the building, so when the user navigates 
through the scene, he can differentiate buildings with their 
colors for example university buildings in blue, offices in green 
etc, (see Fig.4). 
To color the buildings a text file was created containing a table, 
which connects a use with a RGB triple (use-color table). 
To color all buildings in the scene the connection table is used 
to find the corresponding data records to the buildings, the use 
of the object is read from the data record, the corresponding 
color is read from the use-color table and a VRML Viewer 
interface function is used to color the building with this color.
	        
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.