Blog

API Review and Use Cases

One of the original goals of No Flood Florida was to utilize our engineering and water resources knowledge to condense, interpret and present floodplain information to the general public. Could we develop a system that simply requires the street address for a property and returns anything and everything one would need to know regarding flood risk?

We recognized this question depends on the underlying source for flood risk modeling (along with a large educational component to bridge the engineering/general public gap). We started with investigating the regulatory standard, as defined by the National Flood Insurance Program (NFIP) and the Federal Emergency Management Agency (FEMA). FEMA has defined flood risk coverage for the entire United States, an immense task that is somewhat contingent on the local government participation. A community or local government may invest their own time and resources into developing more accurate flood risk models. Overtime, these newer models typically become integrated into the FEMA regulatory product. The timeliness of this integration is often several years behind the effective date for the watershed modeling - it is always hard to keep up with development/landuse changes.

Additionally, underfunded or inactive communities may be "stuck" with a regulatory product that inaccurately identifies flood risk. Historical products based on older elevation data can define homes as being in the high-risk floodplain when their underlying elevation would say otherwise (building is much higher than the defined Base Flood Elevation, BFE). Through our use of newer, high resolution terrain models we are able to identify these properties and recommend the Letter of Map Amendment (LOMA) process to correct the in-accurate flood zone designation.

We work heavily with GIS type programs, where we can introduce various spatial datasets and use geoprocessing techniques to develop a connected relationship between features. These features may include floodplains, parcel boundaries, building footprints, Digital Elevation Models (DEMs), and other supporting information (streets, water bodies, etc). In general, we can extract the important information from these various datasets through a programmatic processing routine. Our final dataset is expressed at the building structure level and includes the necessary FEMA regulatory information to:

  • determine flood zone designation
  • rate flood insurance polices through the NFIP program
  • identify properties that are incorrectly mapped

Although we would prefer to present the final information in a geospatial format (interactive web map), we recognized the issues of hosting large spatial datasets and other additional development considerations. The current solution consists of a lightweight, text based, relational database. Through a simple URL query, a user can access our data. The query is supported through an Application Program Interface or API with a get function. See full documentation at https://www.nofloodflorida.com/api-doc.

Components of the Query

Each query to the database must be created using the following structure.

Base URL + GetPropertyFunction + State + County + ZipCode + StreetAddress + Unique API Key

The user must provide the correct State, County, ZipCode and StreetAddress, while No Flood Florida provides each client a unique API Key. The API key allows for authentication of our users. An example property is explored below.

Property of Interest - 5755 Fieldspring Ave, New Port Richey, FL 34655

Full API URL - "https://us-central-flood-score.cloudfunctions.net/getProperty?state=Florida&county=Pasco&zip=34655&streetAddress=5755 FIELDSPRING AVE&apiKey=XMvZofZyINaIix5AqvQWx3cj8FVQYvZD"

*Note: Notice how the street address format is submitted with all capitals, this is the convention adopted by No Flood Florida

Over the years, I have gained a limited (although increasing) programming experience beginning with Visual Basic (Excel) and transitioning to Python in recent years (the GIS based programs we use are built upon Python libraries). Here is an example for how the API request could be structured using the Python language:

import requests

url = "https://us-central1-flood-score.cloudfunctions.net/getProperty?state=Florida&county=Pasco&zip=34655&streetAddress=5755 FIELDSPRING AVE&apiKey=XMvZofZyINaIix5AqvQWx3cj8FVQYvZD"

payload = {}
headers= {}

response = requests.request("GET", url, headers=headers, data = payload)

print(response.text.encode('utf8'))

The executed API request returns JSON type datasets that consist of key:value pairs, where the Keys represent the different pieces of data we are defining through our overall GIS processing and the values are the specific information for the property of interest. The code above also returns the original request details for diagnosing potential issues with the request (most often this is related to the formatting of the streetAddress field):

"properties":[{"FULLADD":"5755 FIELDSPRING AVE, NEW PORT RICHEY, FL 34655","PROPSTATE":"FL","Community":"PASCO COUNTY","FEMABFE":"13.78","PROPCITY":"NEW PORT RICHEY","FEMAEFFDT":"9/26/2014","PROPADD":"5755 FIELDSPRING AVE","PREPOST1":"1","SQFT":"3632","BLDDATE":"1989","NFFID":"Pasco1433860","LOMA":"3","CRS":"6","FEMAZONE":"AE, FLOODWAY","InitFIRM":"1981","PROPZIP":"34655","STRUCPCT":"100","SGE":"16.74"}]

"request":{"state":"Florida","county":"Pasco","zip":"34655","streetAddress":"5755 FIELDSPRING AVE"}}'

Here is a visualization of this property, noting the high recommendation to look into the Letter of Map Amendment (LOMA) process due issues with floodplain delineation and the underlying terrain - the building structure is actually much higher than the effective Base Flood Elevation (BFE):

This image and limited property information can also be found through searching on our free screening tool that is available on our homepage.

Available Data

The following data fields are available for all properties within the database:

NFF_ID - internal ID, unique for each property

PROP_ADD - address of property

PROP_CITY - city of property

PROP_STATE - property state

PROP_ZIP - property zip code

FULL_ADD - concatenated full address for the property

SQ_FT - building square footage (in square feet)

BLD_DATE - build year of property

SGE - Structure Ground Elevation (NAVD88-ft), No Flood Florida estimation for the Lowest Adjacent Grade (LAG) of the structure

STRUCT_PCT - percent of structure impacted by the high-risk FEMA floodplain (percent area)

FEMA_ZONE - FEMA effective flood zone designation based on intersection with building structure

FEMA_BFE - FEMA effective Base Flood Elevation (BFE), 100-Yr floodplain elevation, NAVD88-ft

FEMAEFFDT - effective date of the underlying FIRM panel

Community - NFIP community name the property is located in

Init_FIRM - inital FIRM date for the community

PREPOST1 - designation of Pre/Post FIRM property based on the comparison between the BLDDATE and InitFIRM date

CRS - Community Rating System score, 1-10, 1 being the best, highest discount on NFIP flood insurance

LOMA - likelihood for the property to be eligible for a Letter of Map Amendment (LOMA); 0, 1, 2, 3 (N/A, Low, Medium, High Likelihood)

Unique Insight

With over 3.5 million properties currently available through this API connection, we have identified a few unique insights that are unavailable through other platforms. Our GIS processing routines allow us to define Base Flood Elevations (BFE) values for locations governed by sloped water surfaces and unnumbered A Zone floodplain designations. These data are often not directly available through other floodplain information resources. Additional unique features include our approach to estimating the Lowest Adjacent Grade (LAG) for each building structure. We differentiate our estimate by calling it the Structure Ground Elevation (SGE) since the LAG is a very specific definition defined by a Professional Surveyor. Through our experience our SGE has matched quite well with reported LAG values from Elevation Certificates.

We hope to improve our datasets by integrating additional watershed modeling data in the future. One of the challenges involves the evaluation of a flood risk model to determine what the best available information should be. The FEMA regulatory products has provided us a nice starting point to explore how this system could work. As we continue to capture counties across Florida, we are also thinking of expanding our coverage to other states, depending on the availability of core datasets (terrain, building structure footprints, etc.).

Taylor Lankford, No Flood Florida, CTO

ABOUT US

A technology startup from the Tampa Bay area founded by two water resource engineers.

OUR MISSION

To give the people of Florida the power to make informed decisions by organizing Florida’s latest flood data and making it readily available to all its home buyers.

100% RISK FREE

Our Money Back Guarantee ensures you get the results you expect, Risk Free!

CONTACT US

info@nofloodflorida.com
(813) 213-0641
Submit Comment
© 2022 All rights reserved