FRAMES | NO FRAMES
TargetPenetrationMap Method

Thematically shades the percent penetration of selected segments. This map helps you determine the concentration of your target segments at a given level of geography.

Availability: Business Analyst Server.

TaskResultOutput TargetPenetrationMap ( 
    TargetPenetrationMapParameters  Parameters, 
    esriReportFormat                ReportFormat, 
    RenderingParameters             RenderingParameters, 
    TaskOutputType[]                OutputTypes, 
    esriFolderItem                  OutputAnalysisItem, 
    esriFolderItem                  OutputReportItem 
);

Parameter Description
Parameters Configuration options analysis. Type TargetPenetrationMapParameters.
ReportFormat This parameter should be null. This parameter is deprecated.
RenderingParameters Configuration options for rendering output when GetMapImage option is specified in the OutputTypes parameter. Type RenderingParameters.
OutputTypes Array of task output options. Options for this method include rendering output image (GetMapImage), creating a feature layer for subsequent analysis (GetFeatureClass), and creating a report (GetReport). Type TaskOutputType[].
OutputAnalysisItem (Optional parameter — can be null).
Configuration options for storing the output feature layer in the repository. This will enable viewing and working with the output result in subsequent tasks. Type esriFolderItem.
OutputReportItem (Optional parameter — can be null).
Configuration options for storing the output report in the repository. This will enable viewing and working with the output result in subsequent tasks. Type esriFolderItem.

Returns

Variable of type TaskResultOutput

Remarks

You can create a Target Penetration Map based on a selection of target segments. The Target Penetration Map illustrates geography locations that have high percent penetration of selected segments. This map helps you find areas of your target segments. You can use this map to direct your marketing efforts or locate a new site selection in areas where there are high concentrations of your target segments. The image below illustrates how this map may look.

Usage Tips

Examples

The example below generates a Target Penetration Map output layer describing areas of interest within an analysis extent. The areas are filtered by a dominant market tapestry segment code equal to a specified value. Target penetration map output analysis layer and report are saved to the repository.

NOTE: See GetSegments lookup operation to query available Tapestry segments.

C#
// Instantiate the BAServerHelper class to access analysis methods
BAServerHelper baServerHelper = new BAServerHelper();
baServerHelper.ActiveDatasetID = "USA_ESRI"; // Optional parameter
baServerHelper.IsFullErrorMessage = true;    // Default is false
 
// You can specify below a domain of your local Business Analyst Server.
//baServerHelper.BAServerDomain = "esri.com";
 
// If a domain name is specified, a local server name in output URLs is replaced with the
// fully-addressable server name so people and machines outside the domain of your local
// Business Analyst Server instance can access these URLs.
 
RenderingParameters imageOptions;
TaskOutputType[] outputOptions;
esriFolderItem outputLayer;
esriFolderItem outputReport;
 
// ========= STEP 1: Create an analysis extent for New Jersey State
StandardLevelsOfGeographyParameters geographyParameters = new StandardLevelsOfGeographyParameters();
 
// Set specific analysis parameters
geographyParameters.GeographyFeaturesBehavior = esriStdGeographyType.esriStdGeographyTypeFirst;
geographyParameters.GeographyIDs = new string[] { "34" }; // FIPS ID code for New Jersey
geographyParameters.GeographyLevelID = "US.States";
 
// Set other parameters
imageOptions = null;
outputOptions = new TaskOutputType[] { TaskOutputType.GetFeatureClass };
outputLayer = null;
outputReport = null;
 
TaskResultOutput geographyResult =
    baServerHelper.StandardLevelsOfGeography(geographyParameters, imageOptions, outputOptions, outputLayer, outputReport);
 
PolygonN polygon = (PolygonN)geographyResult.RecordSet.Records[0].Values[1];
ExtentData extentData = new ExtentData();
extentData.Extent = polygon.Extent;
 
// ========= STEP 2: Execute the analysis
 
TargetPenetrationMapParameters parameters = new TargetPenetrationMapParameters();
 
// Set specific analysis parameters
parameters.AnalysisExtent = extentData;
parameters.SegmentationBase = "Total Households";
parameters.SegmentationLevel = "US.ZIP5";
 
// The following tapestry segments are selected: 40 ("MILITARY PROXIMITY")
parameters.SelectedSegments = new string[] { "40" };
 
// Set report options
ReportOptions reportOptions = new ReportOptions();
reportOptions.ReportFormat = "PDF";
reportOptions.ReportHeader = new KeyValue[1];
reportOptions.ReportHeader[0] = new KeyValue();
reportOptions.ReportHeader[0].Key = "subtitle";
reportOptions.ReportHeader[0].Value = "Target Penetration Map Report for New Jersey State";
parameters.StandardReportOptions = reportOptions;
 
// Set other parameters
outputOptions = new TaskOutputType[] { TaskOutputType.GetFeatureClass, TaskOutputType.GetReport };
 
// In general, a non-null esriFolderItem is specified to save a newly-created
// item to the server-side repository or to reference an existing item in it.
outputLayer = new esriFolderItem();
outputLayer.folderType = esriFolderType.esriFolderAnalyses;
outputLayer.itemName = "analysisLayer_TargetPenetrationMap";
outputLayer.projectName = "Default Project";
outputLayer.workspaceName = "Default Workspace";
 
// In general, a non-null esriFolderItem is specified to save a newly-created
// item to the server-side repository or to reference an existing item in it.
outputReport = new esriFolderItem();
outputReport.folderType = esriFolderType.esriFolderReports;
outputReport.itemName = "report_TargetPenetrationMap";
outputReport.projectName = "Default Project";
outputReport.workspaceName = "Default Workspace";
 
// Execute the task.
// USER NOTE: This example takes some time.
// You may have to adjust the response timeout on the client.
// In .NET, this can be set with the WebClientProtocol.Timeout property.
baServerHelper.Client.Timeout = 300000; // 300,000 milliseconds (5 minutes)
 
TaskResultOutput result =
    baServerHelper.TargetPenetrationMap(parameters, imageOptions, outputOptions, outputLayer, outputReport);
 
string reportURL = result.Reports[0].ReportURL;

See Also