xml-composite-surface
The xml-composite-surface geometry builder builds composite surface geometries. This builder does not require any data parameters, and will construct the composite surface geometry from existing surface geometries. Thus, before the xml-composite-surface geometry builder is deactivated, other geometry builders should have been activated, passing their constructed surfaces to the xml-composite-surface geometry builder.
Each of the surfaces passed to the xml-composite-surface geometry builder should be topologically connected along their boundaries.
builder type: composite - accepts surface geometries
geometry constructed: composite surface
data parameters:
The following demote-incomplete-geometry and allow-empty-composite data parameters change how the geometry is handled in error conditions. If both of the data parameters are set to false, whenever the geometry builder receives no simple surfaces to create a composite surface from, it will raise an error and terminate the translation.
Data Name |
Value |
Required/Optional |
---|---|---|
demote-incomplete-geometry |
This Boolean parameter determines if an incomplete geometry should be demoted instead of producing an error. If set to true, whenever the geometry builder receives no simple surfaces to create a composite surface from, the composite surface will be downgraded to a null geometry. Range: true|false Default: false |
Optional |
allow-empty-composite |
This data parameter determines if incomplete geometry should be left incomplete instead of producing an error. If set to true, whenever the geometry builder receives no simple surfaces to create a composite surface from, the composite surface will be left empty and returned. Range: true|false Default: false |
Optional |
coordinate-system |
Specifies the coordinate system name. If the expression sequence for the coordinate-system evaluates to the empty string, then the coordinate system for the feature being built will not be set. Range: String |
Optional |
name |
Specifies the geometry’s name. Range: String |
Optional |
Example: Building a composite surface
compositesurface.xml
<?xml version="1.0"?> <compositesurface> <simplesurface> <area> 0.0,0.0,0.0 5.0,0.0,5.0 5.0,5.0,10.0 0.0,5.0,5.0 0.0,0.0,0.0 </area> <area> 2.0,2.0,4.0 3.0,2.0,5.0 3.0,3.0,6.0 2.0,3.0,5.0 2.0,2.0,4.0 </area> </simplesurface> <simplesurface> <area> 0.0,0.0,0.0 5.0,0.0,0.0 5.0,0.0,5.0 0.0,0.0,0.0 </area> </simplesurface> </compositesurface>
compositesurface.xmp
<?xml version="1.0"?> <xfMap> <feature-map> <mapping match="compositesurface"> <feature-type> <literal expr="compositesurface" /> </feature-type> <geometry activate="xml-composite-surface" /> </mapping> </feature-map> <feature-content-map> <mapping match="simplesurface"> <geometry activate="xml-face" /> </mapping> <mapping match="area"> <geometry activate="xml-area"> <data name="data-string"> <extract expr="." /> </data> </geometry> </mapping> </feature-content-map> </xfMap>