Flood Service – REST

REST Operations

The Flood Service is now available in two versions:

  • Version 2 – This version uses the 2015 data and supports the following return periods only: OneIn20Years, OneIn50Years, OneIn100Years, OneIn200Years, OneIn500Years, OneIn1500Years, SurfaceWaterOneIn20Years, SurfaceWaterOneIn50Years, SurfaceWaterOneIn100Years, SurfaceWaterOneIn200Years, SurfaceWaterOneIn500Years, SurfaceWaterOneIn1500Years

 

  • Version 3 – This version uses the 2016 data and supports the following return periods only: OneIn20Years, OneIn50Years, OneIn75Years, OneIn100Years, OneIn200Years, OneIn500Years, OneIn1500Years, SurfaceWaterOneIn20Years, SurfaceWaterOneIn50Years, SurfaceWaterOneIn75Years, SurfaceWaterOneIn100Years, SurfaceWaterOneIn200Years, SurfaceWaterOneIn500Years, SurfaceWaterOneIn1500Years, StormSurgeOneIn20Years, StormSurgeOneIn50Years, StormSurgeOneIn75Years, StormSurgeOneIn100Years, StormSurgeOneIn200Years, StormSurgeOneIn500Years, StormSurgeOneIn1500Years

The following Flood Service operation requests are available through the REST interface:

 

GetFloodIndication

Accepts a single coordinate location and returns OneIn1500Years if the submitted coordinate is within the 1 in 1,500 year River Flood Return Period, and/or SurfaceWaterOneIn1500Years if the submitted coordinate is within the 1 in 1,500 year Surface Water Return Period, and/or StormSurgeOneIn1500Years (Version 3 only) if the submitted coordinate is within the 1 in 1,500 year Storm Surge Return Period. Returns an empty IndicationPeriods array set to null if the coordinate is not within either of the 1 in 1,500 year Return Periods (River Flood, Surface Water or Storm Surge (Version 3 only)). The Defended Areas layer is not part of this function.

Request Parameters:

  • latitude (double): The WGS84 latitude of the location specified
  • longitude (double): The WGS84 longitude of the location specified
  • transactionId (optional string): an optional transaction identifier for the request

Response Items:

  • IndicationPeriods (array of FloodPeriods object): The FloodPeriods object is an integer array containing the following possible values:
    • 5 = OneIn1500Years
    • 11 = SurfaceWaterOneIn1500Years
  • transactionId (optional string): optional transaction identifier from the request

Example:

// REST Requests
 
https://lhflood.dmtispatial.com/services/floodserviceV2/floodserviceRest.svc/GetFloodIndication?latitude=53.532303&longitude=-113.491386&transactionId=1
https://lhflood.dmtispatial.com/services/floodserviceV2/floodserviceRest.svc/GetFloodIndication?latitude=51.126903&longitude=-113.954847&transactionId=2
https://lhflood.dmtispatial.com/services/floodserviceV2/floodserviceRest.svc/GetFloodIndication?latitude=0&longitude=0
 
 
// REST Responses in JSON
 
{
   "IndicationPeriods": [{"FloodPeriods": [5]}],
   "TransactionId": "1"
}
 
{
   "IndicationPeriods": [{"FloodPeriods":    [
      5,
      11
   ]}],
   "TransactionId": "2"
}
 
{
   "IndicationPeriods": null,
   "TransactionId": null
}

GetFloodEvaluation

Accepts a single coordinate location and a Return Period as input and returns the depth information for the submitted Return Period at that coordinate. A code of 127 (No Data Found) is returned if the coordinate is not within the submitted Return Period. If a user wishes to check multiple return periods that are available, they must submit multiple calls as the service interface supports one period at a time. The Defended Areas layer is not included within this function.

Request Parameters:

  • floodReturnPeriod (string): Valid Return Period strings are :
    • OneIn20Years
    • OneIn50Years
    • OneIn100Years
    • OneIn200Years
    • OneIn500Years
    • OneIn1500Years
    • SurfaceWaterOneIn20Years
    • SurfaceWaterOneIn50Years
    • SurfaceWaterOneIn100Years
    • SurfaceWaterOneIn200Years
    • SurfaceWaterOneIn500Years
    • SurfaceWaterOneIn1500Years
  • latitude (double): The WGS84 latitude of the location specified
  • longitude (double): The WGS84 longitude of the location specified
  • transactionId (optional string): an optional transaction identifier for the request

Response Items:

  • FloodReturnPeriod (integer): Return period provided in the request
    • 0 = OneIn20Years
    • 1 = OneIn50Years
    • 2 = OneIn100Years
    • 3 = OneIn200Years
    • 4 = OneIn500Years
    • 5 = OneIn1500Years
    • 6 = SurfaceWaterOneIn20Years
    • 7 = SurfaceWaterOneIn50Years
    • 8 = SurfaceWaterOneIn100Years
    • 9 = SurfaceWaterOneIn200Years
    • 10 = SurfaceWaterOneIn500Years
    • 11 = SurfaceWaterOneIn1500Years
  • transactionId (optional string): optional transaction identifier from the request
  • FloodDepth (array): Array of DepthData containing the Depth and DepthDescription information

Example:

// REST Requests
 
https://lhflood.dmtispatial.com/services/floodserviceV2/floodserviceRest.svc/GetFloodEvaluation?floodReturnPeriod=OneIn500Years&latitude=53.532303&longitude=-113.491386&transactionId=4
https://lhflood.dmtispatial.com/services/floodserviceV2/floodserviceRest.svc/GetFloodEvaluation?floodReturnPeriod=SurfaceWaterOneIn1500Years&latitude=51.126903&longitude=-113.954847&transactionId=5
https://lhflood.dmtispatial.com/services/floodserviceV2/floodserviceRest.svc/GetFloodEvaluation?floodReturnPeriod=OneIn500Years&latitude=0&longitude=0
 
 
//Sample REST Responses
{
   "FloodReturnPeriod": 4,
   "TransactionId": "4",
   "FloodDepth": [   {
      "Depth": 6,
      "DepthDescription": "x > 9"
   }]
}
 
{
   "FloodReturnPeriod": 11,
   "TransactionId": "5",
   "FloodDepth": [   {
      "Depth": 4,
      "DepthDescription": "3 < x <= 6"
   }]
}
 
{
   "FloodReturnPeriod": 4,
   "TransactionId": null,
   "FloodDepth": [   {
      "Depth": 127,
      "DepthDescription": "No data found"
   }]
}

 

GetFloodEvaluationAllPeriods

Accepts a single coordinate location and returns the depth information for all return periods. A code of 127 (No Data Found) is returned if the coordinate is not within a Return Period. The Defended Area information is also returned for the given coordinate.

Request Parameters:

  • latitude (double): The WGS84 latitude of the location specified
  • longitude (double): The WGS84 longitude of the location specified
  • transactionId (optional string): an optional transaction identifier for the request

Response Items:

  • FloodRisks (array): Array of FloodRiskData objects (12 elements, one for each return period) containing the following properties:
    • FloodDepth – DepthData containing the Depth and DepthDescription information
    • FloodPeriod (integer): Flood Return period
      • 0 = OneIn20Years
      • 1 = OneIn50Years
      • 2 = OneIn100Years
      • 3 = OneIn200Years
      • 4 = OneIn500Years
      • 5 = OneIn1500Years
      • 6 = SurfaceWaterOneIn20Years
      • 7 = SurfaceWaterOneIn50Years
      • 8 = SurfaceWaterOneIn100Years
      • 9 = SurfaceWaterOneIn200Years
      • 10 = SurfaceWaterOneIn500Years
      • 11 = SurfaceWaterOneIn1500Years
    • ProtectedArea (DefendedArea object): Defended Area object containing Level and SoP
  • transactionId (optional string): optional transaction identifier from the request

Example:

// REST Requests
 
https://lhflood.dmtispatial.com/services/floodserviceV2/floodserviceRest.svc/GetFloodEvaluationAllPeriods?latitude=53.532303&longitude=-113.491386&transactionId=4
https://lhflood.dmtispatial.com/services/floodserviceV2/floodserviceRest.svc/GetFloodEvaluationAllPeriods?latitude=51.126903&longitude=-113.954847&transactionId=5
 
 
//Sample REST Responses
{
    "FloodResultData": [{
        "FloodRisks": [
            { "FloodDepth": { "Depth": 3, "DepthDescription": "1 < x <= 3" }, "FloodPeriod": 0 },
            { "FloodDepth": { "Depth": 4, "DepthDescription": "3 < x <= 6" }, "FloodPeriod": 1 },
            { "FloodDepth": { "Depth": 5, "DepthDescription": "6 < x <= 9" }, "FloodPeriod": 2 },
            { "FloodDepth": { "Depth": 5, "DepthDescription": "6 < x <= 9" }, "FloodPeriod": 3 },
            { "FloodDepth": { "Depth": 6, "DepthDescription": "x > 9" },  "FloodPeriod": 4 },
            { "FloodDepth": { "Depth": 6, "DepthDescription": "x > 9" },  "FloodPeriod": 5 },
            { "FloodDepth": { "Depth": 127, "DepthDescription": "No data found" }, "FloodPeriod": 6 },
            { "FloodDepth": { "Depth": 127, "DepthDescription": "No data found" }, "FloodPeriod": 7 },
            { "FloodDepth": { "Depth": 127, "DepthDescription": "No data found" }, "FloodPeriod": 8 },
            { "FloodDepth": { "Depth": 127, "DepthDescription": "No data found" }, "FloodPeriod": 9 },
            { "FloodDepth": { "Depth": 127, "DepthDescription": "No data found" }, "FloodPeriod": 10 },
            { "FloodDepth": { "Depth": 127, "DepthDescription": "No data found" }, "FloodPeriod": 11 }
        ],
        "ProtectedArea": { "Level": 0, "SoP": "No Data" }
    }],
    "TransactionId": "4"
}
 
{
    "FloodResultData": [{
        "FloodRisks": [
            { "FloodDepth": { "Depth": 127, "DepthDescription": "No data found" }, "FloodPeriod": 0 },
            { "FloodDepth": { "Depth": 127, "DepthDescription": "No data found" }, "FloodPeriod": 1 },
            { "FloodDepth": { "Depth": 4, "DepthDescription": "3 < x <= 6" }, "FloodPeriod": 2 },
            { "FloodDepth": { "Depth": 4, "DepthDescription": "3 < x <= 6" }, "FloodPeriod": 3 },
            { "FloodDepth": { "Depth": 4, "DepthDescription": "3 < x <= 6" }, "FloodPeriod": 4 },
            { "FloodDepth": { "Depth": 4, "DepthDescription": "3 < x <= 6" }, "FloodPeriod": 5 },
            { "FloodDepth": { "Depth": 4, "DepthDescription": "3 < x <= 6" }, "FloodPeriod": 6 },
            { "FloodDepth": { "Depth": 4, "DepthDescription": "3 < x <= 6" }, "FloodPeriod": 7 },
            { "FloodDepth": { "Depth": 4, "DepthDescription": "3 < x <= 6" }, "FloodPeriod": 8 },
            { "FloodDepth": { "Depth": 4, "DepthDescription": "3 < x <= 6" }, "FloodPeriod": 9 },
            { "FloodDepth": { "Depth": 4, "DepthDescription": "3 < x <= 6" }, "FloodPeriod": 10 },
            { "FloodDepth": { "Depth": 4, "DepthDescription": "3 < x <= 6" }, "FloodPeriod": 11 }
        ],
        "ProtectedArea": { "Level": 0, "SoP": "No Data" }
    }],
    "TransactionId": "5"
}

 

GetDefendedAreaInfo

Accepts a single coordinate location and returns the Standard of Protection (SoP) and the accuracy Level of the defended area polygon. For cases where the coordinate is outside of the defended area polygon, the associated Level will be equal to 0 and the SoP will be “No Data”. The Standard of Protection (SoP) is expressed as a return period of 1 in 20 years or more. The value for Level is provided to help understand how the defended area polygon was created. JBA’s Level system indicates whether the SoP and polygon areas are based on sourced data or are based on assumptions due to limited information.

Request Parameters:

  • latitude (double): The WGS84 latitude of the location specified
  • longitude (double): The WGS84 longitude of the location specified
  • transactionId (optional string): an optional transaction identifier for the request

Response Items:

  • DefendedAreas (array): Array of Defended Area objects containing Level and SoP
  • transactionId (optional string): optional transaction identifier from the request

Example:

// REST Requests
 
https://lhflood.dmtispatial.com/services/floodserviceV2/floodserviceRest.svc/GetDefendedAreaInfo?latitude=50.571156&longitude=-113.853312&transactionId=1
https://lhflood.dmtispatial.com/services/floodserviceV2/floodserviceRest.svc/GetDefendedAreaInfo?latitude=50.955472&longitude=-114.055327&transactionId=2
https://lhflood.dmtispatial.com/services/floodserviceV2/floodserviceRest.svc/GetDefendedAreaInfo?latitude=0&longitude=0
 
 
//Sample REST Responses
{
   "DefendedAreas": [   {
      "Level": 2,
      "SoP": "500"
   }],
   "TransactionId": "1"
}
 
{
   "DefendedAreas": [   {
      "Level": 1,
      "SoP": "50"
   }],
   "TransactionId": "2"
}
 
{
   "DefendedAreas": [   {
      "Level": 0,
      "SoP": "No Data"
   }],
   "TransactionId": null
}