Configuring a Map Data Layer

For each data layer that you place on your map component, you create an external WebFOCUS request that generates location or point values and any other values you want to use on your layer. The request must provide these values to the browser in XML format. You add this request to the map component in the Requests & Data Sources panel.

In the top section of the ESRI Object Settings panel, you configure the geographic role, the external request to be used for the geographic values of interest, and attributes for the layer.

Descriptions of the layer settings in the ESRI Object Settings panel follow.

Layers

Description. Is a unique name for the layer.

Type of field. Textfield VARCHAR2(20).

Required? Yes.

Populated by. User.

Limits. Maximum length = 20 characters. Special characters (' " \ / * + ? ^ $ [ ] ( ) { } < > | & ,) are not allowed.

Example. Customer

Request

Description. Name of the request that provides locations or points.

Type of Field. Drop-down list.

Required? Yes.

Populated by. System defined.

Limits. Defined earlier in the Requests & Data Sources panel to an external WebFOCUS Procedure that outputs the values to the browser in XML format.

Example. customer_locations

Geographic Role

Description. Geography lookup column. By default, a unified list of geographic roles is available for 58 World Administrative boundaries down to the postal code level.

Type of Field. Drop-down list.

Required? Yes.

Populated by. System Defined.

Limits. Choices are:

  • Point of Interest (Latitude/Longitude)

    Note: Latitude and Longitude fields must be assigned a numeric data type.

  • City
  • Continent
  • Country
  • County
  • Geometry Line
  • Postal Code
  • State
  • You can also add customized geographic roles, basemaps, and context layers. Geographic roles can be defined for existing Esri maps or for shapefiles that you upload to the Reporting Server. For information, see Configuring Geographic Information. Private custom geographies will only be available after authenticating against ArcGIS Online or Esri on Premise credentials.

Example. Latitude/Longitude

Column(s) that match the role

Description. Column or columns in the request that will provide values for the geographic role.

Type of Field. Drop-down list box.

Required? Yes.

Populated by. System Defined.

Limits. Must be fields that are available in the request.

Example. LATITUDE/LONGITUDE

Unique ID

Description. This is the field that will be used as a parameter for other requests.

Type of Field. List box.

Required? Yes, for Point of Interest layers, no otherwise.

Populated by. System defined.

Limits. Must be a field available in the request.

Example. ID_CUSTOMER

Layer Attributes

Description. These are fields in the request that will appear in popups when a point or location is clicked and the Enable Popups visualization is turned on. You can multi-select fields using the Shift key and Ctrl key. Click the green button at the bottom to apply your selections, or the red button to cancel your selections. The selection dialogue box is shown in the following image.

Note: In order to display customized names rather than field names in the popup, the custom names must be defined with the TITLE attribute in the Master File. The TITLE attribute cannot contain any commas. Using an AS name in the request to create a custom name is not supported in the infoWindow.

Type of Field. List box.

Required? No.

Populated by. System defined.

Limits. Must be fields available in the request.

Example. COGS_US

Example: Configuring a Point of Interest Map Layer

This example configures a map layer using longitude and latitude point values that come from an external WebFOCUS request named customer_locations.fex.

You can create a request using the Report Canvas or by entering request syntax in the Text Editor. For information about creating a WebFOCUS report request using the Report Canvas, see Creating Reports in WebFOCUS App Studio.

Following is the syntax for the customer_locations procedure. Note that the fields that return the longitude and latitude values must be named LONGITUDE and LATITUDE, and that a request that returns these values for the geographic points must also have a unique ID field, in this case ID_CUSTOMER. The values must be returned to the browser in XML format. Paste this procedure into the Text Editor and save it as customer_locations.fex:

TABLE FILE WF_RETAIL_LITE
PRINT ID_CUSTOMER     
     COGS_US
     QUANTITY_SOLD
     COMPUTE LONGITUDE/D12.2 =CUSTOMER_LONGITUDE;
     COMPUTE LATITUDE/D12.2 = CUSTOMER_LATITUDE;
BY   STATE_PROV_NAME 
BY   ID_CUSTOMER NOPRINT
WHERE COUNTRY_NAME EQ 'United States';
ON TABLE PCHOLD FORMAT XML 
END

First, add the external WebFOCUS procedure customer_locations.fex to the HTML page using the Requests & Data Sources panel, as shown in the following image:



Next, use the Settings panel to configure the map layer. The layer uses the default visualizations and symbology, so only the top portion of the ESRI Object Settings panel needs to be configured.

Each layer has a default name. To change the layer name, select and type over the default name. The geographic role to use when you provide latitude and longitude values in your request is called Point of Interest. The following image shows the configured Customers layer with the layer name changed and the geographic role configured:



Note: For any Spatial Coordinate System under Layer Settings other than 4326 for a point of interest layer, please use an internally hosted Geometry Service. This will require projection on the fly. For more details about Geometry Service please see http://server.arcgis.com/en/server/latest/publish-services/linux/about-the-geometry-service.htm.

Run the HTML page. The output is shown in the following image:

Example: Configuring a US State Map Layer

This example configures a map layer using U.S. state names.

You can create a request using the Report Canvas or by entering request syntax in the Text Editor. For information about creating a WebFOCUS report request using the Report Canvas, see Creating Reports in WebFOCUS App Studio.

Following is the syntax for a WebFOCUS procedure that returns the state name for U.S. states. Paste this procedure into the text editor and save it as customer_states.fex.

TABLE FILE WF_RETAIL_LITE
SUM QUANTITY_SOLD
BY STATE_PROV_NAME  
WHERE COUNTRY_NAME EQ 'United States'
ON TABLE PCHOLD FORMAT XML
END

First, add the external WebFOCUS procedure customer_states.fex to the HTML page using the Requests & Data Sources panel.

Next, use the Settings panel to configure the map layer. The layer uses the default visualizations and symbology, so only the top portion of the ESRI Object Settings panel needs to be configured.

Each layer has a default name. To change the layer name, select and type over the default name. The geographic role to use when you provide state names in your request is called State. The field in the request that matches the geographic role is STATE_PROV_NAME. Since the request screens only states where COUNTRY_NAME is 'United States', you can select that as the user-defined value for Country in the Settings panel. The following image shows the configured CustState layer:

Run the HTML page. The output is shown in the following image:

Example: Configuring a Geometry Line Layer

In addition to drawing polygons and points on an Esri map, you can draw geography lines. Lines are used to represent the shape and location of geographic objects such as transmission lines, streets, pipelines, and routes. A line is built by joining two or more points. The geographic role used for lines is called Geometry line in the Esri map Settings panel.

The request used to create the geometry lines uses a .csv file named 201709_citibike_tripdata that contains information about bike trips between bike stations. The following image shows partial data from this file.

The Master File contains the following DEFINEs that generate the geometry points and geometry lines using the GIS_POINT and GIS_LINE functions.

DEFINE WKID/A10='4326';
           TITLE='WKID', $
DEFINE START_STATION_POINT/A200=GIS_POINT(WKID, START_STATION_LONGITUDE, START_STATION_LATITUDE); GEOGRAPHIC_ROLE=GEOMETRY_POINT,  $
DEFINE END_STATION_POINT/A200=GIS_POINT(WKID, END_STATION_LONGITUDE, END_STATION_LATITUDE); GEOGRAPHIC_ROLE=GEOMETRY_POINT,  $
DEFINE CONNECTION_LINE_A/A200=GIS_LINE(START_STATION_POINT, END_STATION_POINT); GEOGRAPHIC_ROLE=GEOMETRY_LINE,  $

The following request is used with the map.

TABLE FILE 201709_citibike_tripdata
SUM TRIPDURATION
FST.GENDER
FST.BIKE_PATH_ID AS 'BIKE_PATH_ID'
FST.START_STATION_NAME AS 'start station name'
FST.END_STATION_NAME AS 'end station name'
BY CONNECTION_LINE_A
WHERE END_STATION_LATITUDE NE 0;
WHERE END_STATION_LONGITUDE NE 0;
WHERE START_STATION_NAME EQ 'Newport Pkwy'
ON TABLE PCHOLD FORMAT XML
END

The following image shows the Esri Settings panel that uses this request with the Geometry line georole, using the default layer visualizations and symbol settings.

The output is shown in the following image.

WebFOCUS

Feedback