Mapping Object Attributes via Layer Attribute

Layer Attributes

Every layer (Except the Scene Light and the Panorama settings) can have an arbitary set of layer attributes defined. Whereas map layers normally use their image data as source for layer attributes, vector data layers can query their vector objects to layer attributes.

Object Attribute Mapping

Layer attributes can be used to map object attributes of its scene objects to attributes with different names, or to objects on other layers.

For simple cases, attribute mapping can be done conveniently using the Connection Editor

Object attributes of nodes, segments and shapes can be mapped via layer attributes using the command

getObjectAttr(Object_Attribute, Should_Sample)

This command searches matching object attributes within the layer that the object attribute is created for.

If the Should_Sample argument is false, only the shape's object attributes will be examined. If Should_Sample is true (the default value), and the shape has no such object attribute, overlapping shapes in the attribute layer will be sampled for the specified Object_Attribute.

If you use the object attribute width on street segments to control the width of created street shapes (the street parameter streetWidth), getObjectAttr allows the attribute layer to obtain the value from other objects.

 attr streetWidth = getObjectAttr("width")

To use this layer attribute set the source of the streetWidth parameter in the Street Parameters pane to its own layer.

A more complex example is shown below:

streetWidth attribute mapped from object attribute width

The layer attribute streetWidth can now be used to control the street width of street shapes.

When importing osm, shape or gdb data, a predefined set of layer attributes is automatically created on the imported layers. Select the new layers and show or modify the created layer attributes in the inspector.


See also


Copyright ©2008-2016 Esri R&D Center Zurich. All rights reserved.