FRAMES | NO FRAMES |
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. |
Variable of type TaskResultOutput
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.
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; |