Describing and Working With a Synthetic Layer

Create a new map service using the <mapservice> element tag. For example:

<mapservice id="mapservice1syn" servertype="WEBFOCUS"  label="Synthetic Map" visible="true" alpha="1"
icon="com/esri/solutions/flexviewer/assets/images/icons/i_shuttle.png">

Creating a synthetic map layer to create a layer definition. For example:

<layer allowselect="true" coordinate_system="" defaultvisibility="true" disabled="false" factor="1.0" layerid="syntheticlayer0"
 maximumscale="1.7976931348623157E308" minimumscale="0" name="CAD Events" polyendpointsymbolid="" polypointsymbolid="" polystartpointsymbolid="" sampledata="false" shape="point" symbolid="symbol0" synthetic="true"
transformation="" transformation_direction="" xoffset="0.0" yoffset="0.0">

Add a block of XML to describe the WebFOCUS procedure that is used to draw the points on the layer. The values provided for the x and y attributes are the names of the fields that contain the latitude and longitude coordinates. For example:

<drawfex colname="REF_ID" x="X_COORD" y="Y_COORD">
<fexinfo>
<appinfo IBIAPP_app="baseapp" IBIF_ex="cad_synth_draw"/>
</fexinfo>
</drawfex>

Add a block of XML to describe the WebFOCUS procedure that is used to draw the points selected from the synthetic layer when a user runs a report. The values provided for the x and y attributes are the names of the fields that contain the latitude and longitude coordinates. For example:

<selectfex antialiasing="true" colname="REF_ID" x="X_COORD" y="Y_COORD">
<fexinfo>
<appinfo IBIAPP_app="baseapp" IBIF_ex="cad_synth_select"/>
</fexinfo>
</selectfex>

The <selectfex> element tag must include a WebFOCUS replaceable parameter on a line by itself. The adapter creates &ESRISPWHERE to facilitate the selection of synthetic features based on the coordinates of the rectangle the user created.

Using a synthetic layer to filter a report is the same as using any other point layer. Add an inbound layer to the WebFOCUS report procedure definition. Since there is no metadata for the map layer, you will need to adjust the attribute name to refer to the field to be passed as a parameter value. Use the mapservice attribute on the layer tag to refer to the synthetic layer. For example:

<layer mapservice="mapservice1syn" attributename="COMPLAINT_NO" bufferunits="" distance="" filename="EVTLIST0"
focuswhereformat="ampstring" layerid="syntheticlayer0"
selectiontype="respectnone" symbolid=""/>

WebFOCUS