Touchstone Re 2023 API Reference
SubmitRingExposureConcentrationAnalysis Method
Example 


Air.Services.Proxy Assembly > (Global) Namespace > ExposureConcentrationAnalysisServiceClient Class : SubmitRingExposureConcentrationAnalysis Method
Contains a SubmitRingExposureConcentrationAnalysisRequest that identifies the Business Unit SID, SQL Instance SID, and Options associated with the Ring Geospatial Analysis job to run.

To initiate a Geospatial grid ring analysis job, you must:

The Options property contains a RingAnalysisOptions object that enables you to specify:

Submits a new Touchstone® Ring Geospatial Analysis job.

The Geospatial Analysis API enables you to perform a deterministic risk analysis on your Exposure View data to determine where your risk from one or more perils is concentrated.

A Ring Geospatial Analysis accumulates exposure data in geodesic rings that you define. You define the rings by specifying their placement, radius, and damage ratio.

A Geospatial grid ring analysis is a type of Ring Geospatial Analysis that enables you to determine exposure concentrations for locations within a user-defined ring radius. Unlike Dynamic ring analysis, Geospatial grid ring analysis offers a minimum overlapping of rings and ensures to capture risks for locations surrounded by highly-clustered rings.

Some resources in Geospatial module requires you to obtain AIR's contractual permission.

Syntax
Public Function SubmitRingExposureConcentrationAnalysis( _
   ByVal request As SubmitRingExposureConcentrationAnalysisRequest _
) As SubmitRingExposureConcentrationAnalysisResponse
Dim instance As ExposureConcentrationAnalysisServiceClient
Dim request As SubmitRingExposureConcentrationAnalysisRequest
Dim value As SubmitRingExposureConcentrationAnalysisResponse
 
value = instance.SubmitRingExposureConcentrationAnalysis(request)
public SubmitRingExposureConcentrationAnalysisResponse SubmitRingExposureConcentrationAnalysis( 
   SubmitRingExposureConcentrationAnalysisRequest request
)

Parameters

request
Contains a SubmitRingExposureConcentrationAnalysisRequest that identifies the Business Unit SID, SQL Instance SID, and Options associated with the Ring Geospatial Analysis job to run.

To initiate a Geospatial grid ring analysis job, you must:

  • Specify a single value for the Grid Spacing parameter. The API call rejects the request job if you provide mulitple Grid Space values.
  • Specify a single Radius value from the grid to the nearest ring and inherit the radius value for all neighboring rings. Radius of the rings must be equal to or greater than half of the Grid Space size.
  • Specify a single Placement Type parameter. If you specify the Grid Space and Radius parameters, the API request call submits the Geospatial grid ring analysis request job and ignores any other Placement Type options in the request.
  • Obtain a valid contractual license to access the Geospatial module in Touchstone.

The Options property contains a RingAnalysisOptions object that enables you to specify:

  • The Ring Placement, which determines the geocode match level for the rings and whether Touchstone generates the geodesic rings:
    • Around the risks with the highest total replacement value
    • Around types of landmarks in the AIR Landmark database (for example, airports, power plants, and prominent buildings)
    • Around user-specified latitude and longitude pairs, or
    • To maximize accumulation using a dynamic ring placement.
  • A Peril Set Damage Function object, which determines the size of the rings, damage ratio, and perils to use.
  • Whether to remove any duplicate rings from the analysis results
  • Whether to override the recommended ring radius for Dynamic Ring Geospatial analyses
  • General analysis settings, such as whether to apply disaggregation, the currency exchange rate set to use, and the types of results to save

Return Value

A SubmitRingExposureConcentrationAnalysisResponse containing the Activity SID that uniquely identifies the asynchronous web service call that you made to submit the specified Ring Geospatial Analysis job.
Remarks
To find the Business Unit SID to pass into this method, call the GetBusinessUnits() method.

To find the SQL Instance SID to pass into this method, call the GetSqlInstances() method.

For information about retrieving the results of a Touchstone Ring Geospatial Analysis, see the GetRingExposureConcentrationAnalysisResults() method.

Example
The following example shows how to submit a Touchstone Ring Geospatial Analysis job using the SubmitRingExposureConcentrationAnalysis() method:The following example shows how to submit a Touchstone Gridded Ring Geospatial Analysis job using the SubmitRingExposureConcentrationAnalysis() method:
using System;
using System.Collections.Generic;
using AIR.Services.Common.Data;
using AIR.Services.ExposureConcentrationAnalysis.Api;
using AIR.Services.ExposureConcentrationAnalysis.Data;
using AIR.Services.LossAnalysis.Data;
using AIR.Services.AnalysisCommon.Data;
            
class SnippetSubmitRingExposureConcentrationAnalysisRequest
{
    private static void SubmitRingExposureConcentrationAnalysis(int businessUnitSid, int sqlInstanceSid, int projectSid, int exposureViewSid,
                                                                int resultDSSid, string currency, int currencyExchangeRateSid, 
                                                                string analysisName, string analysisDesc)
    {
        ExposureConcentrationAnalysisServiceClient ecaClient = new ExposureConcentrationAnalysisServiceClient();
        SubmitRingExposureConcentrationAnalysisRequest ecaRingRequest = new SubmitRingExposureConcentrationAnalysisRequest();
        ecaRingRequest.BusinessUnitSid = businessUnitSid;
        ecaRingRequest.SqlInstanceSid = sqlInstanceSid;
            
        RingAnalysisOptions ringOptions = new RingAnalysisOptions();
        ringOptions.ProjectSid = projectSid;
        ringOptions.ExposureTarget = new AIR.Services.AnalysisCommon.Data.ExposureTarget
        {
            Sid = exposureViewSid,
            Type = ExposureTargetType.ExposureView
        };
            
        ringOptions.ExposedLimits = ExposedLimits.None;
            
        List<AIRLandmarkType> landmarkLists = new List<AIRLandmarkType>();
        List<CustomLocation> customLocations = new List<CustomLocation>();
            
        RingPlacement ringPlacement = new AIR.Services.ExposureConcentrationAnalysis.Data.RingPlacement
        {
            TopNumber = 1000,
            AIRLandmarkTypes = landmarkLists,
            CustomLocations = customLocations,
            Type = DamagePlacementType.TopRisksByNumber,
            GeocodeMatchLevel = new List<GeocodeMatchLevel>()
                                {   
                                    GeocodeMatchLevel.ExactAddress, 
                                    GeocodeMatchLevel.RelaxedAddress,
                                    GeocodeMatchLevel.ZIP9Centroid,
                                    GeocodeMatchLevel.PostalCodeCentroid,
                                    GeocodeMatchLevel.CityCentroid,
                                    GeocodeMatchLevel.CountyCentroid,
                                    GeocodeMatchLevel.UserSupplied
                                }
        };
            
        ringOptions.Placement = ringPlacement;
            
        ringOptions.RemoveDuplicates = false;
            
        PerilSetDamageFunction damageFunction = new PerilSetDamageFunction();
        damageFunction.PerilSet = PerilSetCode.TropicalCyclone;
        damageFunction.DamageBands = new List<DamageBand>() { 
                    new DamageBand() { DamageRatio = 100, Radius = 500, Unit = DamageBandUnit.Meters } };
            
        ringOptions.DamageFunction = damageFunction;
            
        ringOptions.ApplyDisaggregation = false;
        ringOptions.ResultsSaveBy = ResultsSaveBy.SaveReplacementValues | ResultsSaveBy.SaveNumberofLocations | ResultsSaveBy.SaveNumberofRisks
                                    | ResultsSaveBy.SaveContract | ResultsSaveBy.SaveLayer | ResultsSaveBy.SaveLocation;
        ringOptions.ReinsuranceProgramSid = 0;
        ringOptions.FacultativeReinsuranceOptions = FacultativeReinsuranceOptions.DoNotApply;
        ringOptions.Name = analysisName;
        ringOptions.Description = analysisDesc;
        ringOptions.ResultDataSourceSid = resultDSSid;
        ringOptions.Currency = currency;
        ringOptions.CurrencyExchangeRateSid = currencyExchangeRateSid;
            
        ecaRingRequest.Options = ringOptions;
            
        SubmitRingExposureConcentrationAnalysisResponse ecaRingResponse = ecaClient.SubmitRingExposureConcentrationAnalysis(ecaRingRequest);
            
        if (ecaRingResponse.Status.Code == StatusCode.Success)
        {
            Console.WriteLine("Ring Geospatial Analysis submitted with Activity SID: " + ecaRingResponse.ActivitySid);
        }
    }
}
SubmitRingExposureConcentrationAnalysisRequest request = new SubmitRingExposureConcentrationAnalysisRequest();
request.BusinessUnitSid = 1;
request.SqlInstanceSid = 1;
            
request.Options = new RingAnalysisOptions();
            
request.Options.Name = "Test Grid Ring Analysis";
request.Options.Placement = new RingPlacement
       {
Type = DamagePlacementType.GridRing,
GeocodeMatchLevel = new List<GeocodeMatchLevel>()
};
            
request.Options.Placement.GeocodeMatchLevel.Add(GeocodeMatchLevel.PostalCodeCentroid);
            
request.Options.ApplyDeductibleBeforeLimit = false;
request.Options.Currency = "USD";
request.Options.CurrencyExchangeRateSid = 3;
request.Options.ProjectSid = 2;
request.Options.ExposureTarget = new ExposureTarget()
{
DataSourceSid = 2,
Name = "mlbsmall",
Sid = 2,
};
            
request.Options.ResultDataSourceSid = 1;
            
request.Options.DamageFunction = new PerilSetDamageFunction()
{
DamageBands = new List<DamageBand>>
};
             
request.Options.DamageFunction.PerilSet = AIR.Services.Common.Data.PerilSetCode.Terrorism;
            
request.Options.DamageFunction.DamageBands.Add(new DamageBand()
{
DamageRatio = 100,
Radius = 5,
Unit = DamageBandUnit.Meters,
GridSpacing = 1
});
            
            
ExposureConcentrationAnalysisServiceClient ecClient = new ExposureConcentrationAnalysisServiceClient();
            
var response = ecClient.SubmitRingExposureConcentrationAnalysis(request);
Requirements

Target Platforms: Windows 7, Windows Vista SP1 or later, Windows XP SP3, Windows Server 2008 (Server Core not supported), Windows Server 2008 R2 (Server Core supported with SP1 or later), Windows Server 2003 SP2

See Also

Reference

ExposureConcentrationAnalysisServiceClient Class
ExposureConcentrationAnalysisServiceClient Members