All layers opened in the Editor's 2D map viewer can be easily presented in three spatial dimensions (3D) by means of the 3D view functionality. Upon switching to the 3D mode the 3D map viewer contains spatial data clipped by the actually visible extent in 2D mode. Switching to 3D does not change actual layer properties. Selections done in 2D are also reflected in the 3D mode. By default, all layers containing Z or M coordinate are presented as 3-dimensional objects. Layers not containing Z and M coordinates are presented as raster overlaying 3D surface. Planar coordinates (X and Y) are presented in 3D view as they are in 2D (even if projected). Vertical coordinates (Z and M) are assumed to be in meters. The Editor provides a special control panel for easy 3D navigation and visual settings. Additional features are available under the Editor's „View” menu item. The Editor 3D functionality can be customized by the means of the Editor's scripting environment. The Editor comes with a set of sample scripts presenting the basics of 3D functionality customization.
The Editor 3D view functionality utilizes the Microsoft © DirectX 9.0 technology.
All grid or raster files containing DEM data are presented in 3D as a continuous surface representing elevation model of an earth segment. All layer visual settings done through the layer properties dialog box (such as Wizard-generated coloring) are reflected in the 3D mode.
Pixel layers e.g., aerial and satellite imagery, are presented flat with the absence of a DEM layer. If a pixel layer is open along with a DEM layer it is spread over the DEM layer. All layer visual settings done through the layer properties dialog box (such as Inversion, Grayscale, and Histogram) are reflected in the 3D mode.
Any vector layer containing polygon, arc, point or multipoint shape type can be presented in the Editor 3D map viewer. Vector objects will be presented with current visual settings like color, transparency, line width, labeling etc. At any time these settings can be modified by double-clicking on a desired layer in the legend panel.
The layer properties dialog box contains a tab named 3D (further referred to as 3D tab) which integrates the layer-level 3D visual properties. If a vector layer has no Z and M coordinate it is treated as 2D layer and presented in raster (image) form. It is very useful for tasks like a visualization of parcels boundaries overlaying a digital elevation model (DEM). If one wants to force vector presentation of a 2D layer, it can be achieved by setting Treat layer as 3D Objects in the 3D tab. The Z and M coordinates are then assumed as equal to zero until the FalseZ or FalseM values are changed. The FalseZ setting increases (or decreases) the Z coordinate. The FalseM setting modifies the M coordinate in the same way. For example, setting FalseM to a value greater than zero will convert a flat 2D object into a regular 3D object i.e., 2D line becomes a wall, 2D square becomes a cube. With a little practice it gives a considerable amount of possibilities. Similarly, the ScaleZ and ScaleM settings multiply the corresponding coordinate by a given value. The AdjustZ is a very important setting. It tells how to treat the Z coordinate of a vertex (3D point) in relation to a DEM. If AdjustZ is set to Relative to 0 then each vertex of an object is placed at a height equal to its Z coordinate value regardless of a DEM local height. If Relative to DEM is set, then each vertex of an object is placed at a height equal to its Z coordinate value increased by a DEM local height. If Equal DEM is set, then each vertex of an object is placed at a local DEM height, vertex Z coordinate is neglected. The Adjust basement setting is applicable when AdjustZ is set to Relative to DEM or Equal DEM. Adjust basement set to Off causes object to follow the slope of a DEM i.e., building are declined as the slope of a DEM. Adjust basement set to Lowest ensures that no object is deformed due to the slope of a DEM. Moreover, the Z coordinate of all vertices of an object are set to the lowest Z coordinate value. The Treat layer as Elevation Model (DEM) option should be used only with a TIN (Triangulated Irregular Network) polygonal layer i.e., a set of triangles representing a surface.
By default polygons and arcs are simplified for performance reasons (see vector simplification for more information).
A polygon in 3D view consists of side walls (outline in 2D) and a roof (area in 2D). The Z coordinate of a vertex (in outline) determines the height of the bottom of a wall. The height of a sidewall is controlled by the M coordinate of a vertex. For example, if a vertex has coordinates (x, y, 100, 50) it means that the wall is placed at 100 units and is 50 units high. The visual properties of polygons are determined by the settings on the Area tab of the layer properties dialog box. However, not all properties are applicable in the 3D mode (such as Area/Outline/Width setting). A roof is always placed at a height equal to the sum of the Z and M coordinates of the outline vertices. Referring to previous example the roof would be placed at 150 units.
The visual properties of arcs are controlled by the settings on the Line tab of the layer properties dialog box. The Line/Line/Width setting is a very important parameter for arc visualization in the 3D mode. The arcs with the Z vertical coordinate only (no M coordinate) are presented in the 3D mode as thin lines regardless of the scale/zoom level until the Width setting on the Line/Line tab is less than 1.2pt. Such arc does not require triangulation. If the Width is greater or equal to 1.2pt then the arcs are presented as flat horizontal bands with the width depending on the Width setting. In such case, triangulation must be performed to visualize the arcs (performance drop is possible). The arcs with the M coordinate are presented as flat vertical bands until the Width setting on the Line/Line tab is less than 1.2pt. Otherwise, the arcs become vertical walls with thickness depending on the Width setting. The arcs with M and Width greater or equal to 1.2pt are treated as polygons with two parallel walls and a roof. Analogously, the color of the roofs is determined by the Line/Line/Color setting, the color of the walls is determined by the Line/Outline/Color setting etc. All settings applicable to polygons work in the same way in the case of polygon-treated arcs as well as the meaning of the Z and M coordinates.
Note: Unlike the polygons, the arcs are clipped by the visible extent. Even the arcs which are not entirely contained within the visible extent are partially displayed.
The 3D visualization of the point and multipoint layers is affected by the settings on the Marker tab of the layer properties dialog box. In 3D mode the points are treated as style-shaped polygons (Style setting on the Marker/Marker tab) and visualized as scale/zoom-independent flat markers or columns. All Marker settings corresponding to those described for the polygon case work in the same way. The points with the Z vertical coordinate only (no M coordinate) are presented in the 3D mode as flat markers located at the height equal to the value of Z. The points with the M coordinate are presented as columns with the height equal to the value of M and diameter determined by the Marker/Marker/Size setting.
The 3D visualization requires any object treated as polygon to be triangulated. Individual arc or polygon can be very large i.e., tenths of thousands of vertices. In some cases the number of vertices even exceeds the memory limit for a single 3D object. The process of triangulation is very computationally intensive and it may have a significant impact on the performance of the 3D presentation. For this reason, a vector simplification algorithm is applied by default to large shapes. Thanks to simplification even very large vector objects can be rendered quickly enough to maintain smooth work in the 3D mode.
The process of vector simplification consists of two steps. In the first step, an object size is verified. If its display size does not exceed 2 pixels the object is neglected and not displayed. In the second step, the number of vertices is reduced using the Douglas-Peucker algorithm. After the simplification, the object is triangulated and drawn in the 3D window.
Simplification can be disabled using the 3D_AdvanceSetting script included in the Editor installation. However, it should be used with caution as it may result in unwanted effects due to previously described limitations. These include significant performance drop (triangulation) and missing objects (size limit, 4500 vertices).