When importing data through the API, a XML descriptor file is used in conjunction with the file you want to import to define the fields in the data. This document will start by walking you through the types of data that can be imported along with the structure of the XML descriptor file.
| For a shortcut, download our sample datasets with accompanying XML descriptor files Sample XML Files |
TIP! Download XML descriptors from your own data
You can download an XML descriptor for any existing shapefile or location dataset in SpatialKey to use as a template for importing new data. Note: This method doesn’t currently work for insurance-specific files like policy or reinsurance. Follow the directions below to learn how to link those files and define columns.
1. Navigate to any dataset’s settings page
2. Click “Data Import API”
3. Click “Generate API Config”
4. Save the XML file with the extension “.xml” to the same location as your CSV file by clicking “File > Save Page As” in your browser — do not copy and paste the XML into another file.
1. Navigate to any dataset’s settings page ![]() |
2. Click “Data Import API” ![]() |
3. Click “Generate API Config” ![]() |
4. Save the XML with the extension “.xml” to the same location as your CSV. ![]() |
Breaking down the elements of the XML descriptor file
- Dataset information (information about the dataset)
- Dataset permissions (who is able to view the data once imported)
- Notification options (option to notify the authenticated user when this import is complete)
- Column data types (is each column a text, number, …)
- Column data formats (some data types require additional information like date format, currency format, …)
- Thematic mapping options (define which thematic layers should be enabled for this dataset)
- Geocoding options (define how to geocode this dataset)
- Specific insurance dataset information (additional field identification and details about how the location, policy & facultative files relate)
Depending on which type of file you are importing, not all of the above elements are required.
| CSV Datasets | Shapefiles | Insurance Datasets | |
|---|---|---|---|
| Dataset information | * | * | * |
| Dataset permissions | * | * | * |
| Notification options | * | * | * |
| Column data types | * | * | |
| Column data formats | * | * | |
| Thematic mapping options | * | * | |
| Geocoding options | * | * | |
| Specific insurance dataset information | * |
You can expand this US and global example to step through XML that links you to the sections within this document to explain each component in more detail.
US Dataset Example
<?xml version="2.0" encoding="UTF-8"?>
<datasetImport>
<!---See Dataset Permissions for details and options--->
<permissions>
<addAllUsers>false</addAllUsers>
<denyExporting>true</denyExporting>
</permissions>
<!---See Notification Options for details and options--->
<notifications>
<sendEmail>true</sendEmail>
<clientNotification>true</clientNotification>
</notifications>
<dataset>
<!---See Geocoding Options for details and options,
if this were an example using latitude/longitude coordinates,
you would need to add the <latlon /> section here instead--->
<geocode>
<geocoder>Bing</geocoder>
<defaultState />
<defaultCity />
<defaultCounty />
<defaultCountry />
<defaultPostalCode />
<defaultStreet />
</geocode>
<!---See Thematic Mapping Options for details and options--->
<pointThematicLayer>
<thematicDataset>US_Postal</thematicDataset>
</pointThematicLayer>
<pointThematicLayer>
<thematicDataset>US_Counties</thematicDataset>
</pointThematicLayer>
<pointThematicLayer>
<thematicDataset>US_States</thematicDataset>
</pointThematicLayer>
<!---See Dataset Information for details and options--->
<type>CSV</type>
<name>API_test_4000</name>
<preparedWith>Spatialkey API</preparedWith>
<preparedDate>2013-12-04T13:34:25.583-05:00</preparedDate>
<expirationDate>2013-12-14T13:34:25.579-05:00</expirationDate>
<!---See Column Data Types and Formats for details and options--->
<datasetColumn>
<name>city</name>
<label>city</label>
<!---This type is identified because of the selected geocode method,
see Geocoding Options for details and options--->
<type>City</type>
</datasetColumn>
<datasetColumn>
<name>street</name>
<label>Street</label>
<!---This type is identified because of the selected geocode method,
see Geocoding Options for details and options--->
<type>Street</type>
</datasetColumn>
<datasetColumn>
<name>st_zip</name>
<label>st zip</label>
<!---This type is identified because of the selected geocode method,
see Geocoding Options for details and options--->
<type>PostalCode</type>
</datasetColumn>
<datasetColumn>
<name>county</name>
<label>county</label>
<!---This type is identified because of the selected geocode method,
see Geocoding Options for details and options--->
<type>County</type>
</datasetColumn>
<datasetColumn>
<name>TIV</name>
<label>TIV</label>
<type>Currency</type>
<format>USD</format>
</datasetColumn>
<datasetColumn>
<name>country</name>
<label>Country</label>
<!---This type is identified because of the selected geocode method,
see Geocoding Options for details and options--->
<type>CountryName</type>
</datasetColumn>
</dataset>
</datasetImport>
Global Dataset Example
<?xml version="2.0" encoding="UTF-8"?>
<datasetImport>
<!---See Dataset Permissions for details and options--->
<permissions>
<addAllUsers>false</addAllUsers>
<denyExporting>true</denyExporting>
</permissions>
<!---See Notification Options for details and options--->
<notifications>
<sendEmail>true</sendEmail>
<clientNotification>true</clientNotification>
</notifications>
<dataset>
<!---See Geocoding Optionsfor details and options,
if this were an example using actual geocoding,
you would need to add the <geocode /> section here instead--->
<latlon />
<!---See Thematic Mapping Options for details and options--->
<thematicLayer>
<thematicDataset>Cresta_2007</thematicDataset>
</thematicLayer>
<thematicLayer>
<thematicDataset>Countries</thematicDataset>
</thematicLayer>
<!---See Dataset Information for details and options--->
<type>CSV</type>
<name>API_test_4000</name>
<preparedWith>Spatialkey API</preparedWith>
<preparedDate>2013-12-04T13:34:25.583-05:00</preparedDate>
<expirationDate>2013-12-14T13:34:25.579-05:00</expirationDate>
<!---See Column Data Types and Formats for details and options--->
<datasetColumn>
<name>city</name>
<label>city</label>
<type>String</type>
</datasetColumn>
<datasetColumn>
<name>st_zip</name>
<label>st zip</label>
<type>String</type>
</datasetColumn>
<datasetColumn>
<name>county</name>
<label>county</label>
<type>String</type>
</datasetColumn>
<datasetColumn>
<name>TIV</name>
<label>TIV</label>
<type>Currency</type>
<format>USD</format>
</datasetColumn>
<datasetColumn>
<name>lat</name>
<label>lat</label>
<!---This type is required because of the selected geocode method,
see Geocoding Options for details and options--->
<type>Latitude</type>
</datasetColumn>
<datasetColumn>
<name>lon</name>
<label>lon</label>
<!---This type is required because of the selected geocode method,
see Geocoding Options for details and options--->
<type>Longitude</type>
</datasetColumn>
<datasetColumn>
<name>st_geo_match</name>
<label>st geo match</label>
<type>String</type>
</datasetColumn>
<datasetColumn>
<name>country</name>
<!---A Country Type is required when enabling global thematic layers,
if enabling US only thematic layers, country type isn't required,
see Thematic Mapping Options for details and options--->
<type>CountryIso</type>
<!---See Thematic Mapping Options for details and options--->
<thematicLayer>
<thematicDataset>Countries</thematicDataset>
</thematicLayer>
</datasetColumn>
<datasetColumn>
<name>cresta</name>
<type>String</type>
<!---See Thematic Mapping Options for details and options--->
<thematicLayer>
<thematicDataset>Cresta_2007</thematicDataset>
</thematicLayer>
</datasetColumn>
</dataset>
</datasetImport>
Dataset Information
There is some basic information that must be included in each XML descriptor file:
| Metadata | Required | Default | Effect |
|---|---|---|---|
| type | Yes | none | Select either CSV or Shapefile. This will determine the type of import that is processed. |
| name | Yes | none | This name will appear in SpatialKey for the imported dataset. |
| description | No | none | This is only metadata, optional. |
| preparedWith | No | none | Enter something like “SpatialKey API” here. This is only metadata, optional. |
| preparedDate | No | none | This is metadata only, optional. Expected format is UTC. |
| expirationDate | No | none | This sets an expiration date for when the dataset gets deleted. If the dataset is used in a saved dashboard, it will not be deleted on the expiration date. Expected format is UTC. |
| expireIn | No | none | This sets an expiration date in minutes from the time data is uploaded. For example if it is set to 60 the dataset will expire one hour from the time the data is uploaded. If both expireIn and expirationDate are specified in the XML expireIn will override the expirationDate |
If expirationDate or expireIn are less than five days than the current time then the dataset will not count against the quota. This is typically used for temporary datasets (Underwriting accounts or schedules)
Example XML for Dataset Information
<dataset>
<type>Shapefile</type>
<name>110th Congressional District</name>
<preparedWith>SpatialKey API</preparedWith>
<preparedDate>2013-11-08T16:42:11.379-05:00</preparedDate>
<expirationDate>2014-11-08T16:42:11.379-05:00</expirationDate>
</dataset>
Dataset permissions
The following permissions can be set:
| Option | Default | Effect |
|---|---|---|
| addAllUsers | false | Allows all users in your organization to be able to view the uploaded dataset. |
| denyExporting | false | Prevents the created dataset from being exported back out of SpatialKey. |
| hideFromUI | false | Hides the dataset from the “Manage Data” page in the SpatialKey client. The dataset is still accessible if directly linked and using its ID. The dataset will still count towards your dataset quota. |
| viewers | none | Allows you to add specific users in your organization as viewers for this dataset. |
| managers | none | Allows you to add specific users in your organization as managers (collaborators) for this dataset. |
| owners | none (creator is implicit) | Allows you to add specific users in your organization as owners (editors) for this dataset. |
The permissions option to specify Viewers, Managers (collaborators), and Owners (editors) can accept any number of users identified either by their email (they must already have an account) or their user ID (viewable from the ‘People’ page in SpatialKey). They can also accept any number of groups, identified by the group ID or group Name (viewable from ‘People’ page in SpatialKey).
Example XML for Dataset Permissions
<permissions>
<addAllUsers>false</addAllUsers>
<denyExporting>true</denyExporting>
<hideFromUI>true</hideFromUI>
<viewers>
<email>go@uld.com</email>
<email>kilroy@here.co.uk</email>
</viewers>
<managers>
<id>8a808bb2409c712501409c7a6a330009</id>
<group>8a808bb2409c712501409c7a6a367843</group>
<groupName>The Beatles</groupName>
</managers>
<owners>
<id>8a808bb23c9f212501409c7a6a912482</id>
<email>john.smith@who.com</email>
</owners>
</permissions>
Notification options
The following notifications are available:
| Option | Default | Effect |
|---|---|---|
| sendEmail | false | Notify the authenticated user through email. |
| clientNotification | false | Notify the authenticated user through the SpatialKey client. |
Example XML for Notification Options
<notifications>
<sendEmail>true</sendEmail>
<clientNotification>true</clientNotification>
</notifications>
Column data types and formats
Within the API, column data types and formats are defined for CSV datasets:
| Option | Default | Effect |
|---|---|---|
| name | none | Column name that will appear in SpatialKey. |
| label | none | Label that will appear in SpatialKey. |
| type | none | Defines the data type for the column. |
| format | none | Defines the format for the column. |
Data types and formats used in XML
Note that data formats only specify how the data will display in SpatialKey and are completely optional. Some examples are provided below this table. Note that data types and formats are case sensitive.
| Data Types | Data Formats | Use |
|---|---|---|
| String | -none- | Any |
| Decimal | -none- (displays as a decimal) Hours Minutes Seconds Milliseconds | Any |
| Boolean | -none- | Any |
| Integer | -none- ID | Any |
| Currency | -none- (default is USD) USD JPY CNY GBP EUR AUD CAD CHF | Any |
| Date | -none- (default is Year) Second Minute Hour Day Month Year | Any |
| Percentage | -none- | Any |
| CountryIso | N/A | Thematic |
| CountryFips | N/A | Thematic |
| Street | N/A | Geocoding |
| City | N/A | Geocoding |
| State | N/A | Geocoding |
| PostalCode | N/A | Geocoding |
| County | N/A | Geocoding |
| CountryName | N/A | Geocoding |
| Latitude | N/A | Geocoding |
| Longitude | N/A | Geocoding |
| Accuracy | N/A | Geocoding |
Data Formatting Examples
In this case the numeric data will be formatted as a string. It also prevents this column from being shown in areas where aggregate functions are exposed and treats it as a string column in the user interface. Note that 20000 would be displayed as 20000 in the example below (without a type of ID it would be shown as 20k).
<type>Integer</type>
<format>ID</format>
This example assumes that the numeric data is in hours and it will display the total time in days and hours as shown below. Note that 50000 would be displayed as 2,083d 8h in the hours example below and would be displayed as 13h 53m 20s in the seconds example below.
<type>Integer</type>
<format>Hours</format>
<type>Integer</type>
<format>Seconds</format>
This example assumes that the numeric data is in hours and it will display the total time in days and hours as shown below. Note that 50000 would be displayed as 2,083d 8h in the hours example below and would be displayed as 13h 53m 20s in the seconds example below.
<type>Date</type>
<format>Day</format>
<type>Date</type>
<format>Year</format>
Example XML for Data types and formats
<datasetColumn>
<name>tiv</name>
<label>TIV</label>
<type>Currency</type>
<format>USD</format>
</datasetColumn>
<datasetColumn>
<name>a_number</name>
<label>Example label</label>
<type>Double</type>
</datasetColumn>
<datasetColumn>
<name>pct_lt100</name>
<label>pct lt100</label>
<type>Percentage</type>
</datasetColumn>
<datasetColumn>
<name>expiration_date</name>
<label>Expiration Date</label>
<type>Date</type>
<format>Day</format>
</datasetColumn>
Thematic mapping options
Thematic maps show a color-coded distribution of a metric for a given unit of geography, like states/provinces, postal codes, or custom business territories. They quickly help visualize key geographic contributors and highlight outliers and trends for datasets. Thematic mapping is just one way of visualizing your data on a map. For more details, click here. SpatialKey supports two different types of thematic maps, point in poly and column match:
- Point in poly uses the location (lat/lon or derived from gecode) and intersects it with the boundary data to determine which shape it will be represented by.
- A column match matches your data with data from the boundary file. For example if you are using a column match and are mapping postal codes and you have 12345 as a postal code value in your data that will match to the postal code 12345 in the boundary data. SpatialKey will display a match % if there are values in your data that do not align with the boundary data.
| Thematic Layers | Point in Poly | Column Match | Notes |
|---|---|---|---|
| US_States | * | ||
| US_Counties | * | ||
| US_Postal | * | ||
| Countries | * | Can use either ISO or FIPS Country Codes. | |
| Cresta_2007 | * | This layer must be licensed by your organization to use. | |
| Cresta_2010 | * | This layer must be licensed by your organization to use. | |
| Cresta_LowResolution_2013 | * | This layer must be licensed by your organization to use. | |
| PostalCode_HighResolution | * | This layer must be licensed by your organization to use. | |
| PostalCode_LowResolution | * | This layer must be licensed by your organization to use. |
Country Defintion
Some of the thematic layers above require country to be defined in the XML in order for them to be enabled. Only the US thematic layers don’t require a country to be defined because when a county isn’t defined, it’s assumed that the country for the data is US.
Example XML for Country Definition
Example defining a specific county code for the entire dataset:
<dataset>
...
<isoCountry>GB</isoCountry>
...
</dataset>
Examples defining the country column:
<datasetColumn>
<name>country</name>
<type>CountryIso</type>
</datasetColumn>
<datasetColumn>
<name>country</name>
<type>CountryFips</type>
</datasetColumn>
US Only Thematic Layers
If your data is only in the US we support three levels of US thematic. You can choose to enable all layers or only the layers you need to display for your data. The US thematic layers use the point location of your data and perform a point in poly join.
Example XML for US Thematic Options
A typical US Thematic layer linkage would look like the following:
<pointThematicLayer>
<thematicDataset>US_Postal</thematicDataset>
</pointThematicLayer>
<pointThematicLayer>
<thematicDataset>US_Counties</thematicDataset>
</pointThematicLayer>
<pointThematicLayer>
<thematicDataset>US_States</thematicDataset>
</pointThematicLayer>
Global Thematic Layers
Before global thematic layers can be enabled, a country code or column in the dataset must be identified. Country columns are identified by either “CountryIso” or “CountryFips”. If a country code is defined rather than a column, it is expected to be in ISO format.
Note that if a Country isn’t specified, US is assumed.
Example XML for Global Thematic Options
To enable a global thematic layer, specify a thematicLayer in the column to indicate how you want to link it as well as adding it to your thematic layers for your dataset.
Note: definition of the thematic layer in the header of the dataset section in the XML file is optional, it’s only required that the thematic layer be defined for the specific dataset column.
<thematicLayer>
<thematicDataset>Cresta_2007</thematicDataset>
</thematicLayer>
...
<datasetColumn>
<name>cresta</name>
<type>String</type>
<thematicLayer>
<thematicDataset>Cresta_2007</thematicDataset>
</thematicLayer>
</datasetColumn>
Geocoding options
This section of the API is all about telling SpatialKey where to place your points on the map. There are a couple of options for providing this information:
- Dataset contains latitude and longitude coordinates
- Dataset contains address information that needs to be geocoded (SpatialKey supports the use of a variety of geocoders, some which require additional licensing. For more details, click here.)
- Previously geocoded locations can be skipped and SpatialKey will only attempt to geocode those with null or 0,0 lat/longs – referred to as hybrid geocoding in the Data Import API
Note: it’s possible that your dataset doesn’t contain information to place points on the map – providing this information is completely optional.
Latitude and Longitude Coordinates
| Column Type | Required? |
|---|---|
| Latitude | y |
| Longitude | y |
| Accuracy | n |
Note that the Accuracy column defines the accuracy level of the latitude and longitude coordinate for the record in the dataset. For details on valid accuracy levels, check out this article.
Street Addresses to be Geocoded
| Column Type | Required? |
|---|---|
| Street | n |
| City | n |
| PostalCode | n |
| County | n |
| State | n |
| CountryName | n |
Note that only one of these columns are required to trigger geocoding, but the more that are identified will result in better geocoding results.
Note that if you don’t have a column in your data representing State, but all records in the dataset are in the same state, you can enter the State code in the XML as the default state. This applies to other address fields like City, Country, etc. as well.
Example of setting default state
E.g. Geocode with Address Information – State column doesn’t exist but all records are in NY.
<geocode>
<geocoder>Bing</geocoder>
<defaultState>NY</defaultState>
<defaultCity />
<defaultCounty />
<defaultCountry />
<defaultPostalCode />
<defaultStreet />
</geocode>
Geocoders: If using ‘Street Addresses to be Geocoded’, a geocoder must be specified.
- Bing
- Mapquest_Premium
Note: If you license an additional geocoder, please contact us for the appropriate geocoder name to use with the API.
Hybrid geocoding (Skip Previously Geocoded Locations)
| Column Type | Required? |
|---|---|
| Latitude | y |
| Longitude | y |
| Street | n |
| City | n |
| PostalCode | n |
| County | n |
| State | n |
| CountryName | n |
Specifying latitude and longitude columns along with any combination of the other address fields is required for hybrid geocoding. A geocoder must be specified for hybrid geocoding.
Note that geocoding accuracy cannot be specified for latitude/longitude coordinates in hybrid geocoding mode.
Example XML for Geocoding Options
Geocode with Address Information. Assume you have columns for City and Street in your data, hardcode default State = NY.
<geocode>
<geocoder>Bing</geocoder>
<!---Assumes all records are in NY.--->
<defaultState>NY</defaultState>
<defaultCity />
<defaultCounty />
<defaultCountry />
<defaultPostalCode />
<defaultStreet />
</geocode>
<datasetColumn>
<name>street</name>
<label>Street</label>
<type>Street</type>
</datasetColumn>
<datasetColumn>
<name>city</name>
<label>City</label>
<type>City</type>
</datasetColumn>
...
Use Latitude and Longitude Coordinates
<dataset>
<latlon />
....
<datasetColumn>
<name>lat</name>
<label>lat</label>
<type>Latitude</type>
</datasetColumn>
<datasetColumn>
<name>lon</name>
<label>lon</label>
<type>Longitude</type>
</datasetColumn>
...
</dataset>
Hybrid geocoding. Specify geocoding details in the <hybrid> section and ensure you have identified latitude and longitude column types in your data.
<hybrid>
<geocoder>Bing</geocoder>
<defaultState />
<defaultCity />
<defaultCounty />
<defaultCountry />
<defaultPostalCode />
<defaultStreet />
</hybrid>
<datasetColumn>
<name>street</name>
<label>Street</label>
<type>Street</type>
</datasetColumn>
<datasetColumn>
<name>city</name>
<label>City</label>
<type>City</type>
</datasetColumn>
<datasetColumn>
<name>lat</name>
<label>lat</label>
<type>Latitude</type>
</datasetColumn>
<datasetColumn>
<name>lon</name>
<label>lon</label>
<type>Longitude</type>
</datasetColumn>
...
XML File Generation for Insurance Datasets
In addition to basic datasets we also support Insurance datasets which combine a location and policy dataset together (and optionally reinsurance). Insurance datasets are able to be used in the Policy Exposed Limit feature in SpatialKey.
There are a few additional pieces of information that are required when generating a XML file for an insurance dataset.
- Identify how to link location and policy files together
- Define feature to enable
- Define perils covered by policies in policy file
- Specify any peril specific metrics
- Identify specific columns in your location and policy datasets that refer to specific insurance properties
- The section directly below covers Location, Policy and special conditions. If you are interested in Reinsurance you can find it here.
If you’d rather step through an XML file than read through this entire document, here are a couple of examples to get you started:
Example XML for dataset with single peril
<?xml version="1.0" encoding="UTF-8"?>
<insuranceImport>
<!---See Link Datasets for details and options--->
<linkColumn>
<policyColumn>account id</policyColumn>
<locationColumn>account id</locationColumn>
</linkColumn>
<!---See Features for details and options--->
<feature>PolicyExposedLimit</feature>
<!---See Dataset Permissions for details and options--->
<permissions>
<addAllUsers>true</addAllUsers>
<denyExporting>true</denyExporting>
<hideFromUI>false</hideFromUI>
</permissions>
<!---See Notification Options for details and options--->
<notifications>
<sendEmail>true</sendEmail>
<clientNotification>true</clientNotification>
</notifications>
<locationDataset>
<!---See Geocoding Optionsfor details and options,
<latlon />
if this were an example using actual geocoding,
you would need to add the <geocode /> section here instead--->
<!---See Dataset Information for details and options--->
<type>CSV</type>
<filename>Sample Locations.csv</filename>
<name>Sample Insurance Locations and Policies</name>
<preparedWith>SpatialKey API</preparedWith>
<preparedDate>2013-12-05T16:03:21.476-05:00</preparedDate>
<expirationDate>2013-12-15T16:09:08.113-05:00</expirationDate>
<!---See Thematic Mapping Options for details and options--->
<pointThematicLayer>
<thematicDataset>US_Postal</thematicDataset>
</pointThematicLayer>
<pointThematicLayer>
<thematicDataset>US_Counties</thematicDataset>
</pointThematicLayer>
<pointThematicLayer>
<thematicDataset>US_States</thematicDataset>
</pointThematicLayer>
<!---See Column Data Types and Formats for details and options--->
<locationColumn>
<name>hurricane site limit</name>
<label>hurricane site limit</label>
<!---See Peril Specific Metrics for details and options--->
<perilMapping peril="hurricane">limit</perilMapping>
<type>Currency</type>
<format>USD</format>
</locationColumn>
<locationColumn>
<name>year built</name>
<label>year built</label>
<type>Date</type>
<format>Year</format>
</locationColumn>
<locationColumn>
<name>account id</name>
<label>account id</label>
<type>Integer</type>
<format>ID</format>
</locationColumn>
<locationColumn>
<name>total insured value</name>
<label>total insured value</label>
<!---See Insurance Properties for details and options--->
<insuranceMapping>tiv</insuranceMapping>
<type>Currency</type>
<format>USD</format>
</locationColumn>
<locationColumn>
<name>state</name>
<label>state</label>
<type>String</type>
</locationColumn>
<locationColumn>
<name>site id</name>
<label>site id</label>
<insuranceMapping>site_id</insuranceMapping>
<type>Integer</type>
<format>ID</format>
</locationColumn>
<locationColumn>
<name>hurricane site deductible</name>
<label>hurricane site deductible</label>
<perilMapping peril="hurricane">deductible</perilMapping>
<type>Currency</type>
<format>USD</format>
</locationColumn>
<locationColumn>
<name>location id</name>
<label>location id</label>
<insuranceMapping>location_id</insuranceMapping>
<type>Integer</type>
<format>ID</format>
</locationColumn>
<locationColumn>
<name>city</name>
<label>city</label>
<type>String</type>
</locationColumn>
<locationColumn>
<name>square footage</name>
<label>square footage</label>
<type>Integer</type>
</locationColumn>
<locationColumn>
<name>hurricane gross aal</name>
<label>hurricane gross aal</label>
<type>Currency</type>
<format>USD</format>
</locationColumn>
<locationColumn>
<name>postal code</name>
<label>postal code</label>
<type>String</type>
</locationColumn>
<locationColumn>
<name>hurricane ground up aal</name>
<label>hurricane ground up aal</label>
<type>Currency</type>
<format>USD</format>
</locationColumn>
<locationColumn>
<name>longitude</name>
<label>longitude</label>
<!---This type is required because of the selected geocode method,
See Geocoding Options for details and options--->
<type>Longitude</type>
</locationColumn>
<locationColumn>
<name>latitude</name>
<label>latitude</label>
<!---This type is required because of the selected geocode method,
See Geocoding Options for details and options--->
<type>Latitude</type>
</locationColumn>
<locationColumn>
<name>occupancy</name>
<label>occupancy</label>
<type>String</type>
</locationColumn>
<locationColumn>
<name>construction</name>
<label>construction</label>
<type>String</type>
</locationColumn>
<locationColumn>
<name>number of stories</name>
<label>number of stories</label>
<type>Integer</type>
</locationColumn>
</locationDataset>
<!---This is a single peril example,
See Define Perils for details and options--->
<peril>hurricane</peril>
<policyDataset>
<type>CSV</type>
<name>Policies</name>
<filename>Sample Policies.csv</filename>
<preparedWith>SpatialKey API</preparedWith>
<preparedDate>2013-11-19T16:24:31.203-05:00</preparedDate>
<!---See Column Data Types and Formats for details and options--->
<policyColumn>
<name>limit</name>
<label>limit</label>
<!---See Insurance Properties for details and options--->
<insuranceMapping>limit</insuranceMapping>
<type>Currency</type>
<format>USD</format>
</policyColumn>
<policyColumn>
<name>Line of Business</name>
<label>line of business</label>
<type>String</type>
</policyColumn>
<policyColumn>
<name>account id</name>
<label>account id</label>
<type>Integer</type>
<format>ID</format>
</policyColumn>
<policyColumn>
<name>blanket/minimum deductible</name>
<label>blanketminimum deductible</label>
<type>Currency</type>
<format>USD</format>
</policyColumn>
<policyColumn>
<name>premium</name>
<label>premium</label>
<type>Currency</type>
<format>USD</format>
</policyColumn>
<policyColumn>
<name>underwriter</name>
<label>underwriter</label>
<type>String</type>
</policyColumn>
<policyColumn>
<name>attachment point</name>
<label>attachment point</label>
<insuranceMapping>attach_point</insuranceMapping>
<type>Currency</type>
<format>USD</format>
</policyColumn>
<policyColumn>
<name>policy id</name>
<label>policy id</label>
<type>Integer</type>
<insuranceMapping>policy_id</insuranceMapping>
<format>ID</format>
</policyColumn>
<policyColumn>
<name>product line</name>
<label>product line</label>
<type>String</type>
</policyColumn>
<policyColumn>
<name>expiration date</name>
<label>expiration date</label>
<type>Date</type>
<format>Day</format>
</policyColumn>
<policyColumn>
<name>branch</name>
<label>branch</label>
<type>String</type>
</policyColumn>
<policyColumn>
<name>maximum deductible</name>
<label>maximum deductible</label>
<insuranceMapping>max_deductible</insuranceMapping>
<type>Currency</type>
<format>USD</format>
</policyColumn>
<policyColumn>
<name>layer amount</name>
<label>layer amount</label>
<insuranceMapping>layer</insuranceMapping>
<type>Currency</type>
<format>USD</format>
</policyColumn>
</policyDataset>
</insuranceImport>
Example XML for dataset with multiple perils
<?xml version="1.0" encoding="UTF-8"?>
<insuranceImport>
<!---See Link Datasets for details and options--->
<linkColumn>
<policyColumn>account id</policyColumn>
<locationColumn>account id</locationColumn>
</linkColumn>
<!---See Features for details and options--->
<feature>PolicyExposedLimit</feature>
<!---See Dataset Permissions for details and options--->
<permissions>
<addAllUsers>true</addAllUsers>
<denyExporting>true</denyExporting>
<hideFromUI>false</hideFromUI>
</permissions>
<!---See Notification Options for details and options--->
<notifications>
<sendEmail>true</sendEmail>
<clientNotification>true</clientNotification>
</notifications>
<locationDataset>
<!---See Geocoding Optionsfor details and options,
if this were an example using actual geocoding,
you would need to add the <geocode /> section here instead--->
<latlon />
<!---See Dataset Information for details and options--->
<type>CSV</type>
<filename>Sample Locations.csv</filename>
<name>Sample Insurance Locations and Policies</name>
<preparedWith>SpatialKey API</preparedWith>
<preparedDate>2013-12-05T16:03:21.476-05:00</preparedDate>
<expirationDate>2013-12-15T16:09:08.113-05:00</expirationDate>
<!---See Thematic Mapping Options for details and options--->
<pointThematicLayer>
<thematicDataset>US_Postal</thematicDataset>
</pointThematicLayer>
<pointThematicLayer>
<thematicDataset>US_Counties</thematicDataset>
</pointThematicLayer>
<pointThematicLayer>
<thematicDataset>US_States</thematicDataset>
</pointThematicLayer>
<!---See Column Data Types and Formats for details and options--->
<locationColumn>
<!---See Peril Specific Metrics for details and options--->
<name>hurricane site limit</name>
<label>hurricane site limit</label>
<perilMapping peril="Hurricane">limit</perilMapping>
<type>Currency</type>
<format>USD</format>
</locationColumn>
<locationColumn>
<name>year built</name>
<label>year built</label>
<type>Date</type>
<format>Year</format>
</locationColumn>
<locationColumn>
<name>earthquake gross aal</name>
<label>earthquake gross aal</label>
<type>Currency</type>
<format>USD</format>
</locationColumn>
<locationColumn>
<name>account id</name>
<label>account id</label>
<type>Integer</type>
<format>ID</format>
</locationColumn>
<!---See Insurance Properties for details and options--->
<locationColumn>
<name>total insured value</name>
<label>total insured value</label>
<insuranceMapping>tiv</insuranceMapping>
<type>Currency</type>
<format>USD</format>
</locationColumn>
<locationColumn>
<name>earthquake site deductible</name>
<label>earthquake site deductible</label>
<perilMapping peril="Earthquake">deductible</perilMapping>
<type>Currency</type>
<format>USD</format>
</locationColumn>
<locationColumn>
<name>state</name>
<label>state</label>
<type>String</type>
</locationColumn>
<locationColumn>
<name>site id</name>
<label>site id</label>
<insuranceMapping>site_id</insuranceMapping>
<type>Integer</type>
<format>ID</format>
</locationColumn>
<locationColumn>
<name>earthquake risk</name>
<label>earthquake risk</label>
<type>String</type>
</locationColumn>
<locationColumn>
<name>hurricane site deductible</name>
<label>hurricane site deductible</label>
<perilMapping peril="Hurricane">deductible</perilMapping>
<type>Currency</type>
<format>USD</format>
</locationColumn>
<locationColumn>
<name>location id</name>
<label>location id</label>
<insuranceMapping>location_id</insuranceMapping>
<type>Integer</type>
<format>ID</format>
</locationColumn>
<locationColumn>
<name>city</name>
<label>city</label>
<type>String</type>
</locationColumn>
<locationColumn>
<name>hurricane risk</name>
<label>hurricane risk</label>
<type>String</type>
</locationColumn>
<locationColumn>
<name>square footage</name>
<label>square footage</label>
<type>Integer</type>
</locationColumn>
<locationColumn>
<name>hurricane gross aal</name>
<label>hurricane gross aal</label>
<type>Currency</type>
<format>USD</format>
</locationColumn>
<locationColumn>
<name>earthquake ground up aal</name>
<label>earthquake ground up aal</label>
<type>Currency</type>
<format>USD</format>
</locationColumn>
<locationColumn>
<name>postal code</name>
<label>postal code</label>
<type>String</type>
</locationColumn>
<locationColumn>
<name>hurricane ground up aal</name>
<label>hurricane ground up aal</label>
<type>Currency</type>
<format>USD</format>
</locationColumn>
<locationColumn>
<name>longitude</name>
<label>longitude</label>
<!---This type is required because of the selected geocode method,
See Geocoding Options for details and options--->
<type>Longitude</type>
</locationColumn>
<locationColumn>
<name>latitude</name>
<label>latitude</label>
<!---This type is required because of the selected geocode method,
See Geocoding Options for details and options--->
<type>Latitude</type>
</locationColumn>
<locationColumn>
<name>occupancy</name>
<label>occupancy</label>
<type>String</type>
</locationColumn>
<locationColumn>
<name>earthquake site limit</name>
<label>earthquake site limit</label>
<perilMapping peril="Earthquake">limit</perilMapping>
<type>Currency</type>
<format>USD</format>
</locationColumn>
<locationColumn>
<name>construction</name>
<label>construction</label>
<type>String</type>
</locationColumn>
<locationColumn>
<name>number of stories</name>
<label>number of stories</label>
<type>Integer</type>
</locationColumn>
</locationDataset>
<policyDataset>
<type>CSV</type>
<name>Policies</name>
<filename>Sample Policies.csv</filename>
<preparedWith>SpatialKey API</preparedWith>
<preparedDate>2013-11-19T16:24:31.203-05:00</preparedDate>
<!---See Column Data Types and Formats for details and options--->
<policyColumn>
<name>limit</name>
<label>limit</label>
<!---See Insurance Properties for details and options--->
<insuranceMapping>limit</insuranceMapping>
<type>Currency</type>
<format>USD</format>
</policyColumn>
<policyColumn>
<name>Line of Business</name>
<label>line of business</label>
<type>String</type>
</policyColumn>
<policyColumn>
<name>account id</name>
<label>account id</label>
<type>Integer</type>
<format>ID</format>
</policyColumn>
<policyColumn>
<name>blanket/minimum deductible</name>
<label>blanketminimum deductible</label>
<type>Currency</type>
<format>USD</format>
</policyColumn>
<policyColumn>
<name>premium</name>
<label>premium</label>
<type>Currency</type>
<format>USD</format>
</policyColumn>
<policyColumn>
<name>underwriter</name>
<label>underwriter</label>
<type>String</type>
</policyColumn>
<policyColumn>
<name>peril</name>
<label>peril</label>
<type>String</type>
<insuranceMapping>peril</insuranceMapping>
<!---This is a multi peril example,
See Define Perils for details and options--->
</policyColumn>
<policyColumn>
<name>attachment point</name>
<label>attachment point</label>
<insuranceMapping>attach_point</insuranceMapping>
<type>Currency</type>
<format>USD</format>
</policyColumn>
<policyColumn>
<name>policy id</name>
<label>policy id</label>
<type>Integer</type>
<insuranceMapping>policy_id</insuranceMapping>
<format>ID</format>
</policyColumn>
<policyColumn>
<name>product line</name>
<label>product line</label>
<type>String</type>
</policyColumn>
<policyColumn>
<name>expiration date</name>
<label>expiration date</label>
<type>Date</type>
<format>Day</format>
</policyColumn>
<policyColumn>
<name>branch</name>
<label>branch</label>
<type>String</type>
</policyColumn>
<policyColumn>
<name>maximum deductible</name>
<label>maximum deductible</label>
<insuranceMapping>max_deductible</insuranceMapping>
<type>Currency</type>
<format>USD</format>
</policyColumn>
<policyColumn>
<name>layer amount</name>
<label>layer amount</label>
<insuranceMapping>layer</insuranceMapping>
<type>Currency</type>
<format>USD</format>
</policyColumn>
</policyDataset>
</insuranceImport>
Link policy and location files together
Identify a column in the location that links with a column in the policy file.
Example XML linking policy and location files
<linkColumn>
<policyColumn>account id</policyColumn>
<locationColumn>account id</locationColumn>
</linkColumn>
Define feature
Example XML defining feature
<feature>PolicyExposedLimit</feature>
Define perils
Defining a peril or perils is a necessary step for insurance datasets. If your policy file covers a single peril, you can define the specific peril name in the XML file. If your policy files covers multiple perils, you must specify a column in the policy dataset that defines the peril for each policy in the file.
Single peril XML example
<peril>hurricane</peril>
Multi peril XML example
<policyColumn>
<name>peril</name>
<label>peril</label>
<type>String</type>
<insuranceMapping>peril</insuranceMapping>
</policyColumn>
Peril specific metrics
Define peril specific metrics like limits, deductibles and AALs in the XML file. To do this, you need to know your specified peril name (single peril) or the peril names in the peril column (multiple perils). For each peril specific metric, define which peril is represents.
Example XML peril specific metrics
<locationColumn>
<name>earthquake site deductible</name>
<label>earthquake site deductible</label>
<perilMapping peril="Earthquake">deductible</perilMapping>
<type>Currency</type>
<format>USD</format>
</locationColumn>
<locationColumn>
<name>hurricane site deductible</name>
<label>hurricane site deductible</label>
<perilMapping peril="Hurricane">deductible</perilMapping>
<type>Currency</type>
<format>USD</format>
</locationColumn>
Insurance properties
The table below describes a various insurance properties that can be defined in a dataset, which file they are expected in, and whether the property is required or optional for the Policy Exposed Limit feature.
| File | Insurance Property | Policy Exposed Limit (Learn about this feature) |
|---|---|---|
| location | location_id | required |
| tiv | required | |
| site_id | optional | |
| limit | optional ** | |
| deductible | optional ** | |
| cond[1-99]name | optional*** | |
| cond[1-99]policynum | optional*** | |
| policy | policy_id | required |
| limit | required | |
| layer | required | |
| attach_point | required | |
| blanket_min_deductible | optional | |
| peril | optional * | |
| max_deductible | optional | |
| cond[1-99]type | optional*** | |
| cond[1-99]name | optional*** | |
| parentcond[1-99]name | optional*** | |
| cond[1-99]limit | optional*** | |
| cond[1-99]deductible | optional*** |
* If a peril column is not specified, then a peril value needs to be specified in the XML configuration for a single peril. If multiple perils are in the policy data then this column is required. See peril definition section for more details.
** Site limits and site deductibles are specified per peril. If multiple perils are in the policy file, site limits and site deductibles can be specified for each peril. See peril specific metrics section for more details.
*** We support 1-99 sets of special condition columns.
When defining the column names and labels, increment the number for each set. For instance COND1NAME, COND2NAME, COND3NAME.
These fields do not require an insurancemapping designation, rather the column name must be specified with the exact name to be detected and considered.
*** Condition types, condition names and parent condition names must be type = string. Condition limits and condition deductibles must be type = number, and format = decimal if you have percentage values in your data.
Example Special Condition fields in XML
<locationColumn>
<name>COND1NAME</name>
<label>COND1NAME</label>
<type>String</type>
</locationColumn>
<locationColumn>
<name>COND1POLICYNUM</name>
<label>COND1POLICYNUM</label>
<type>String</type>
</locationColumn>
<policyColumn>
<name>COND1TYPE</name>
<label>COND1TYPE</label>
<type>String</type>
</policyColumn>
<policyColumn>
<name>COND1NAME</name>
<label>COND1NAME</label>
<type>String</type>
</policyColumn>
<policyColumn>
<name>COND1LIMIT</name>
<label>COND1LIMIT</label>
<type>Integer</type>
<format>Decimal</format>
</policyColumn>
<policyColumn>
<name>COND1DEDUCTIBLE</name>
<label>COND1DEDUCTIBLE</label>
<type>Integer</type>
<format>Decimal</format>
</policyColumn>
<policyColumn>
<name>PARENTCOND1NAME</name>
<label>PARENTCOND1NAME</label>
<type>String</type>
</policyColumn>
Sample XML
We have walked through each additional piece of the XML file when importing an insurance dataset, but how do all of these pieces come together in the final XML Descriptor File?
Example XML for dataset with single peril
<?xml version="1.0" encoding="UTF-8"?>
<insuranceImport>
<!---See Link Datasets for details and options--->
<linkColumn>
<policyColumn>account id</policyColumn>
<locationColumn>account id</locationColumn>
</linkColumn>
<!---See Features for details and options--->
<feature>PolicyExposedLimit</feature>
<!---See Dataset Permissions for details and options--->
<permissions>
<addAllUsers>true</addAllUsers>
<denyExporting>true</denyExporting>
<hideFromUI>false</hideFromUI>
</permissions>
<!---See Notification Options for details and options--->
<notifications>
<sendEmail>true</sendEmail>
<clientNotification>true</clientNotification>
</notifications>
<locationDataset>
<!---See Geocoding Optionsfor details and options,
if this were an example using actual geocoding,
you would need to add the <geocode /> section here instead--->
<latlon />
<!---See Dataset Information for details and options--->
<type>CSV</type>
<filename>Sample Locations.csv</filename>
<name>Sample Insurance Locations and Policies</name>
<preparedWith>SpatialKey API</preparedWith>
<preparedDate>2013-12-05T16:03:21.476-05:00</preparedDate>
<expirationDate>2013-12-15T16:09:08.113-05:00</expirationDate>
<!---See Thematic Mapping Options for details and options--->
<pointThematicLayer>
<thematicDataset>US_Postal</thematicDataset>
</pointThematicLayer>
<pointThematicLayer>
<thematicDataset>US_Counties</thematicDataset>
</pointThematicLayer>
<pointThematicLayer>
<thematicDataset>US_States</thematicDataset>
</pointThematicLayer>
<!---See Column Data Types and Formats for details and options--->
<!---See Peril Specific Metrics for details and options--->
<locationColumn>
<name>hurricane site limit</name>
<label>hurricane site limit</label>
<perilMapping peril="hurricane">limit</perilMapping>
<type>Currency</type>
<format>USD</format>
</locationColumn>
<locationColumn>
<name>year built</name>
<label>year built</label>
<type>Date</type>
<format>Year</format>
</locationColumn>
<locationColumn>
<name>account id</name>
<label>account id</label>
<type>Integer</type>
<format>ID</format>
</locationColumn>
<!---See Insurance Properties for details and options--->
<locationColumn>
<name>total insured value</name>
<label>total insured value</label>
<insuranceMapping>tiv</insuranceMapping>
<type>Currency</type>
<format>USD</format>
</locationColumn>
<locationColumn>
<name>state</name>
<label>state</label>
<type>String</type>
</locationColumn>
<locationColumn>
<name>site id</name>
<label>site id</label>
<insuranceMapping>site_id</insuranceMapping>
<type>Integer</type>
<format>ID</format>
</locationColumn>
<locationColumn>
<name>hurricane site deductible</name>
<label>hurricane site deductible</label>
<perilMapping peril="hurricane">deductible</perilMapping>
<type>Currency</type>
<format>USD</format>
</locationColumn>
<locationColumn>
<name>location id</name>
<label>location id</label>
<insuranceMapping>location_id</insuranceMapping>
<type>Integer</type>
<format>ID</format>
</locationColumn>
<locationColumn>
<name>city</name>
<label>city</label>
<type>String</type>
</locationColumn>
<locationColumn>
<name>square footage</name>
<label>square footage</label>
<type>Integer</type>
</locationColumn>
<locationColumn>
<name>hurricane gross aal</name>
<label>hurricane gross aal</label>
<type>Currency</type>
<format>USD</format>
</locationColumn>
<locationColumn>
<name>postal code</name>
<label>postal code</label>
<type>String</type>
</locationColumn>
<locationColumn>
<name>hurricane ground up aal</name>
<label>hurricane ground up aal</label>
<type>Currency</type>
<format>USD</format>
</locationColumn>
<locationColumn>
<name>longitude</name>
<label>longitude</label>
<!---This type is required because of the selected geocode method,
See Geocoding Options for details and options--->
<type>Longitude</type>
</locationColumn>
<locationColumn>
<name>latitude</name>
<label>latitude</label>
<!---This type is required because of the selected geocode method,
See Geocoding Options for details and options--->
<type>Latitude</type>
</locationColumn>
<locationColumn>
<name>occupancy</name>
<label>occupancy</label>
<type>String</type>
</locationColumn>
<locationColumn>
<name>construction</name>
<label>construction</label>
<type>String</type>
</locationColumn>
<locationColumn>
<name>number of stories</name>
<label>number of stories</label>
<type>Integer</type>
</locationColumn>
</locationDataset>
<!---This is a single peril example,
See Define Perils for details and options--->
<peril>hurricane</peril>
<policyDataset>
<type>CSV</type>
<name>Policies</name>
<filename>Sample Policies.csv</filename>
<preparedWith>SpatialKey API</preparedWith>
<preparedDate>2013-11-19T16:24:31.203-05:00</preparedDate>
<!---See Column Data Types and Formats for details and options--->
<!---See Insurance Propertiesfor details and options--->
<policyColumn>
<name>limit</name>
<label>limit</label>
<insuranceMapping>limit</insuranceMapping>
<type>Currency</type>
<format>USD</format>
</policyColumn>
<policyColumn>
<name>Line of Business</name>
<label>line of business</label>
<type>String</type>
</policyColumn>
<policyColumn>
<name>account id</name>
<label>account id</label>
<type>Integer</type>
<format>ID</format>
</policyColumn>
<policyColumn>
<name>blanket/minimum deductible</name>
<label>blanketminimum deductible</label>
<type>Currency</type>
<format>USD</format>
</policyColumn>
<policyColumn>
<name>premium</name>
<label>premium</label>
<type>Currency</type>
<format>USD</format>
</policyColumn>
<policyColumn>
<name>underwriter</name>
<label>underwriter</label>
<type>String</type>
</policyColumn>
<policyColumn>
<name>attachment point</name>
<label>attachment point</label>
<insuranceMapping>attach_point</insuranceMapping>
<type>Currency</type>
<format>USD</format>
</policyColumn>
<policyColumn>
<name>policy id</name>
<label>policy id</label>
<type>Integer</type>
<insuranceMapping>policy_id</insuranceMapping>
<format>ID</format>
</policyColumn>
<policyColumn>
<name>product line</name>
<label>product line</label>
<type>String</type>
</policyColumn>
<policyColumn>
<name>expiration date</name>
<label>expiration date</label>
<type>Date</type>
<format>Day</format>
</policyColumn>
<policyColumn>
<name>branch</name>
<label>branch</label>
<type>String</type>
</policyColumn>
<policyColumn>
<name>maximum deductible</name>
<label>maximum deductible</label>
<insuranceMapping>max_deductible</insuranceMapping>
<type>Currency</type>
<format>USD</format>
</policyColumn>
<policyColumn>
<name>layer amount</name>
<label>layer amount</label>
<insuranceMapping>layer</insuranceMapping>
<type>Currency</type>
<format>USD</format>
</policyColumn>
</policyDataset>
</insuranceImport>
Example XML for dataset with multiple perils
<?xml version="1.0" encoding="UTF-8"?>
<insuranceImport>
<!---See Link Datasets for details and options--->
<linkColumn>
<policyColumn>account id</policyColumn>
<locationColumn>account id</locationColumn>
</linkColumn>
<!---See Features for details and options--->
<feature>PolicyExposedLimit</feature>
<!---See Dataset Permissions for details and options--->
<permissions>
<addAllUsers>true</addAllUsers>
<denyExporting>true</denyExporting>
<hideFromUI>false</hideFromUI>
</permissions>
<!---See Notification Options for details and options--->
<notifications>
<sendEmail>true</sendEmail>
<clientNotification>true</clientNotification>
</notifications>
<!---See Geocoding Optionsfor details and options,
if this were an example using actual geocoding,
you would need to add the <geocode /> section here instead--->
<locationDataset>
<latlon />
<!---See Dataset Information for details and options--->
<type>CSV</type>
<filename>Sample Locations.csv</filename>
<name>Sample Insurance Locations and Policies</name>
<preparedWith>SpatialKey API</preparedWith>
<preparedDate>2013-12-05T16:03:21.476-05:00</preparedDate>
<expirationDate>2013-12-15T16:09:08.113-05:00</expirationDate>
<!---See Thematic Mapping Options for details and options--->
<pointThematicLayer>
<thematicDataset>US_Postal</thematicDataset>
</pointThematicLayer>
<pointThematicLayer>
<thematicDataset>US_Counties</thematicDataset>
</pointThematicLayer>
<pointThematicLayer>
<thematicDataset>US_States</thematicDataset>
</pointThematicLayer>
<!---See Column Data Types and Formats for details and options--->
<!---See Peril Specific Metrics for details and options--->
<locationColumn>
<name>hurricane site limit</name>
<label>hurricane site limit</label>
<perilMapping peril="Hurricane">limit</perilMapping>
<type>Currency</type>
<format>USD</format>
</locationColumn>
<locationColumn>
<name>year built</name>
<label>year built</label>
<type>Date</type>
<format>Year</format>
</locationColumn>
<locationColumn>
<name>earthquake gross aal</name>
<label>earthquake gross aal</label>
<type>Currency</type>
<format>USD</format>
</locationColumn>
<locationColumn>
<name>account id</name>
<label>account id</label>
<type>Integer</type>
<format>ID</format>
</locationColumn>
<!---See Insurance Properties for details and options--->
<locationColumn>
<name>total insured value</name>
<label>total insured value</label>
<insuranceMapping>tiv</insuranceMapping>
<type>Currency</type>
<format>USD</format>
</locationColumn>
<locationColumn>
<name>earthquake site deductible</name>
<label>earthquake site deductible</label>
<perilMapping peril="Earthquake">deductible</perilMapping>
<type>Currency</type>
<format>USD</format>
</locationColumn>
<locationColumn>
<name>state</name>
<label>state</label>
<type>String</type>
</locationColumn>
<locationColumn>
<name>site id</name>
<label>site id</label>
<insuranceMapping>site_id</insuranceMapping>
<type>Integer</type>
<format>ID</format>
</locationColumn>
<locationColumn>
<name>earthquake risk</name>
<label>earthquake risk</label>
<type>String</type>
</locationColumn>
<locationColumn>
<name>hurricane site deductible</name>
<label>hurricane site deductible</label>
<perilMapping peril="Hurricane">deductible</perilMapping>
<type>Currency</type>
<format>USD</format>
</locationColumn>
<locationColumn>
<name>location id</name>
<label>location id</label>
<insuranceMapping>location_id</insuranceMapping>
<type>Integer</type>
<format>ID</format>
</locationColumn>
<locationColumn>
<name>city</name>
<label>city</label>
<type>String</type>
</locationColumn>
<locationColumn>
<name>hurricane risk</name>
<label>hurricane risk</label>
<type>String</type>
</locationColumn>
<locationColumn>
<name>square footage</name>
<label>square footage</label>
<type>Integer</type>
</locationColumn>
<locationColumn>
<name>hurricane gross aal</name>
<label>hurricane gross aal</label>
<type>Currency</type>
<format>USD</format>
</locationColumn>
<locationColumn>
<name>earthquake ground up aal</name>
<label>earthquake ground up aal</label>
<type>Currency</type>
<format>USD</format>
</locationColumn>
<locationColumn>
<name>postal code</name>
<label>postal code</label>
<type>String</type>
</locationColumn>
<locationColumn>
<name>hurricane ground up aal</name>
<label>hurricane ground up aal</label>
<type>Currency</type>
<format>USD</format>
</locationColumn>
<locationColumn>
<name>longitude</name>
<label>longitude</label>
<!---This type is required because of the selected geocode method,
See Geocoding Options for details and options--->
<type>Longitude</type>
</locationColumn>
<locationColumn>
<name>latitude</name>
<label>latitude</label>
<!---This type is required because of the selected geocode method,
See Geocoding Options for details and options--->
<type>Latitude</type>
</locationColumn>
<locationColumn>
<name>occupancy</name>
<label>occupancy</label>
<type>String</type>
</locationColumn>
<locationColumn>
<name>earthquake site limit</name>
<label>earthquake site limit</label>
<perilMapping peril="Earthquake">limit</perilMapping>
<type>Currency</type>
<format>USD</format>
</locationColumn>
<locationColumn>
<name>construction</name>
<label>construction</label>
<type>String</type>
</locationColumn>
<locationColumn>
<name>number of stories</name>
<label>number of stories</label>
<type>Integer</type>
</locationColumn>
</locationDataset>
<policyDataset>
<type>CSV</type>
<name>Policies</name>
<filename>Sample Policies.csv</filename>
<preparedWith>SpatialKey API</preparedWith>
<preparedDate>2013-11-19T16:24:31.203-05:00</preparedDate>
<!---See Column Data Types and Formats for details and options--->
<policyColumn>
<name>limit</name>
<label>limit</label>
<!---See Insurance Properties for details and options--->
<insuranceMapping>limit</insuranceMapping>
<type>Currency</type>
<format>USD</format>
</policyColumn>
<policyColumn>
<name>Line of Business</name>
<label>line of business</label>
<type>String</type>
</policyColumn>
<policyColumn>
<name>account id</name>
<label>account id</label>
<type>Integer</type>
<format>ID</format>
</policyColumn>
<policyColumn>
<name>blanket/minimum deductible</name>
<label>blanketminimum deductible</label>
<type>Currency</type>
<format>USD</format>
</policyColumn>
<policyColumn>
<name>premium</name>
<label>premium</label>
<type>Currency</type>
<format>USD</format>
</policyColumn>
<policyColumn>
<name>underwriter</name>
<label>underwriter</label>
<type>String</type>
</policyColumn>
<!---This is a multi peril example,
See Define Perils for details and options--->
<policyColumn>
<name>peril</name>
<label>peril</label>
<type>String</type>
<insuranceMapping>peril</insuranceMapping>
</policyColumn>
<policyColumn>
<name>attachment point</name>
<label>attachment point</label>
<insuranceMapping>attach_point</insuranceMapping>
<type>Currency</type>
<format>USD</format>
</policyColumn>
<policyColumn>
<name>policy id</name>
<label>policy id</label>
<type>Integer</type>
<insuranceMapping>policy_id</insuranceMapping>
<format>ID</format>
</policyColumn>
<policyColumn>
<name>product line</name>
<label>product line</label>
<type>String</type>
</policyColumn>
<policyColumn>
<name>expiration date</name>
<label>expiration date</label>
<type>Date</type>
<format>Day</format>
</policyColumn>
<policyColumn>
<name>branch</name>
<label>branch</label>
<type>String</type>
</policyColumn>
<policyColumn>
<name>maximum deductible</name>
<label>maximum deductible</label>
<insuranceMapping>max_deductible</insuranceMapping>
<type>Currency</type>
<format>USD</format>
</policyColumn>
<policyColumn>
<name>layer amount</name>
<label>layer amount</label>
<insuranceMapping>layer</insuranceMapping>
<type>Currency</type>
<format>USD</format>
</policyColumn>
</policyDataset>
</insuranceImport>
XML File Generation for Insurance Datasets with Reinsurance
Facultative Reinsurance is supported through the addition of a third file that can contain both policy and location based reinsurance. The addition of reinsurance allows you to see both net and gross exposure where financial modeling is supported withing SpatialKey. See the SpatialKey Financial Modeling Guide for more details.
Link reinsurance file together with location and policy files
The exposure_id column is an ID that links back to the location or policy files. This column works in conjuction with the exposure_type column. If the exposure_type=”LOC” then the exposure_id will link to the location file (locationId). If the exposure_type=”POL” then the exposure_id links to the policy file (policyNum).
Example XML linking reinsurance file with location and policy file
<linkColumn>
<policyColumn>accgrpid</policyColumn>
<locationColumn>accgrpid</locationColumn>
<reinsuranceColumn>exposure_id</reinsuranceColumn>
</linkColumn>
Reinsurance properties
The table below describes a various reinsurance specific properties that can be defined in a dataset. Reinsurance is an optional file and the following table documents the required columns/properties. The column names in your file do not have to match the table below but the <insuranceMapping> for each column needs to match the table below.
| File | Insurance Property and mapping | Description |
|---|---|---|
| reinsurance | reinsurance_id | Unique identifier for each row |
| exposure_id | ID that links back to the location or policy files. This column works in conjuction with the exposure_type column to determine if it links to a location or policy | |
| exposure_type | LOC or POL – depending on whether it’s a location or policy based | |
| priority | If there are multiple reinsurance layers this determines the order of application | |
| percent_reinsurance | Whole number (1-100) representing the percentage participation for the layer | |
| layer_amount | ||
| excess_amount | ||
| reinsurance_type | F – facultative T – treaty (we currently only support facultative) |
Example Reinsurance XML
The below XML provides an example of the reinsurance specific sections of the import configuration.
<?xml version="1.0" encoding="UTF-8"?>
<insuranceImport>
<linkColumn>
<policyColumn>accgrpid</policyColumn>
<locationColumn>accgrpid</locationColumn>
<reinsuranceColumn>exposure_id</reinsuranceColumn>
</linkColumn>
<!-- / see above for permission and notifcation settings / -->
<feature>PolicyExposedLimit</feature>
<!-- / see above for location example / -->
<locationDataset>
</locationColumn>
</locationDataset>
<!-- / see above for policy example / -->
<policyDataset>
</policyDataset>
<reinsuranceDataset>
<name>Reinsurance</name>
<filename>Multi-Line Portfolio Reinsurance Small.csv</filename>
<preparedWith>SpatialKey API</preparedWith>
<preparedDate>2019-02-18T16:24:31.203-05:00</preparedDate>
<reinsuranceColumn>
<name>reinsurance_id</name>
<label>Reinsurance ID</label>
<insuranceMapping>reinsurance_id</insuranceMapping>
<type>Integer</type>
<format>ID</format>
</reinsuranceColumn>
<!-- Linkage is determined by the EXPOSRTYPE field. If EXPOSRTYPE = LOC, then EXPOSUREID = PROPERTY.LOCNUM. If EXPOSRTYPE = POL, then EXPOSUREID = POLICY.POLICYNUM. -->
<reinsuranceColumn>
<name>exposure_id</name>
<label>Exposure ID</label>
<insuranceMapping>exposure_id</insuranceMapping>
<type>Integer</type>
<format>ID</format>
</reinsuranceColumn>
<reinsuranceColumn>
<name>exposure_type</name>
<label>exposure type</label>
<insuranceMapping>exposure_type</insuranceMapping>
<type>String</type>
</reinsuranceColumn>
<!-- 1 through X order of applying -->
<reinsuranceColumn>
<name>priority</name>
<label>priority</label>
<insuranceMapping>priority</insuranceMapping>
<type>Integer</type>
<format>ID</format>
</reinsuranceColumn>
<reinsuranceColumn>
<name>percent_reinsurance</name>
<label>percent reinsurance</label>
<insuranceMapping>percent_reinsurance</insuranceMapping>
<type>Integer</type>
<format>ID</format>
</reinsuranceColumn>
<reinsuranceColumn>
<name>layer_amount</name>
<label>layer amount</label>
<insuranceMapping>layer_amount</insuranceMapping>
<type>Currency</type>
<format>USD</format>
</reinsuranceColumn>
<reinsuranceColumn>
<name>excess_amount</name>
<label>excess amount</label>
<insuranceMapping>excess_amount</insuranceMapping>
<type>Currency</type>
<format>USD</format>
</reinsuranceColumn>
<!-- F - facultative T - treaty (we currently only support facultative)-->
<reinsuranceColumn>
<name>reinsurance_type</name>
<label>reinsurance type</label>
<insuranceMapping>reinsurance_type</insuranceMapping>
<type>String</type>
</reinsuranceColumn>
<type>CSV</type>
</reinsuranceDataset>
</insuranceImport>
Was this helpful?



