Geoscience Reference
In-Depth Information
The rendering process thus involves a number of structuring and transformation
processes. It can be expected that a more complex, detailed, datasets will slow down
performance.
4.3 The Implemented Rendering Process
The Android device selected for testing is a Samsung Galaxy S 10.1-inch tablet
having a screen size of 2,560 by 1,600 pixels and 2 GB of RAM, running Android
Version 4.3. As described above, for the first part of the rendering process, PHP
code, combined with SQL queries, is used to generate the triangulated data, which
is served to the Java Android App as tagged XML.
1. An ordered list of Nodes, containing the X, Y and Z coordinates for each Node
2. A short list detailing the geometrical extents of the dataset—i.e. the minimum
bounding volume. This is used to ensure that the resulting data is centred on the
device's screen when rendered.
Traditionally, the XML may be generated by iterating through each row of the
dataset, generating the required tagged data using string concatenation commands.
However, Oracle offers both “XMLAGG”—which aggregates all rows of a query
into one document—and the “XMLEMENT”—which wraps individual data items
in XML tags—query statements to automatically generate a full XML document
from a dataset without the need for iteration Oracle ( 2013 ).
Once the XML data is parsed on the client device, it then passes through the
OpenGL rendering pipeline described above. To transform the real-world coordi-
nates (which are in British National Grid) into values appropriate for display, the
initial screen coordinate system was set up with its origin (0,0,0) in the centre of
the viewport. The real world coordinate values of the imported buildings are then
transformed into screen coordinates by finding the centre point of each axis for the
dataset (e.g. (xmax + xmin)/2) and then translating the dataset by the respective
distance along the negative x and y. The z-axis is shifted upwards. For the second
and third steps of the rendering process, OpenGL ES uses the bounding coordi-
nates of the dataset to project the 3D triangles into 2D space and to set clipping
boundaries, which in the case of this project are set to the extents of the dataset.
The near and far clipping planes were set to 1,000 and 1,000 in order to avoid
clipping when the user pans the objects in the z-direction. Projection is set to be
orthographic.
For the Dynamic Dataset (see Sect. 4.4 ), a reverse process is applied to deter-
mine the real world (British National Grid) coordinates of the user's selected view
extent on a zoom or pan operation. Pinch-zooming (in or out) and panning (by
dragging a point on screen to another location) both result in a request for addi-
tional map data.
Search WWH ::




Custom Search