Overview
In this section we are going to discuss the steps for ingesting building data into a format that MAEviz can understand and use in the building analyses. Before we launch the software, we will go over the MAEviz building data format so that if any changes need to be made, we can make those now.
Data Format
We will need two datasets for running a building damage analysis, a building dataset ingested into MAEviz and a Fragility Mapping dataset ingested into MAEviz. The building dataset will contain columns such as structure type, year built, etc and the fragility mapping dataset tells MAEviz which fragility curves should be used for which buildings.
Building Data
Let's start out by looking at the building data requirements. The building data for MAEviz needs to be in ESRI's Shapefile format. Below you will find the column names, a short description and the column types that MAEviz requires. Only the column types (e.g. integer, double, string, etc) must explicitly match what is listed in the table. We do not need to worry about column names matching because when we ingest the dataset, MAEviz will ask you to map your columns to the columns that MAEviz needs. For example, your structure type information might be in a column called s_type and MAEviz expects it to be called str_type so you can tell MAEviz that s_type maps to str_type and thus no changes need to be made to your dataset. The columns are categorized into three categories: Very Important, Less Important and Least Important.
Building Columns:
Very Important
Field Name |
Field Description |
Field Type |
---|---|---|
STRUCT_TYP |
General structure type of the building |
string |
Less Important
Field Name |
Field Description |
Field Type |
---|---|---|
OCC_TYPE |
Broad HAZUS Occupancy Category (e.g. RES3 - multi-family residential) |
string |
APPR_BLDG |
Appraised value for the building |
double |
SQ_FOOT |
total building area in square feet |
integer |
DWELL_UNIT |
total number of dwelling units in the building |
integer |
NO_STORIES |
total number of stories for the building |
integer |
CONT_VAL |
value of building contents |
double |
STR_TYP2 |
detailed structure type as per HAZUS MR-3 specifications |
string |
EFACILITY |
essential facility designation |
string |
Least Important
Field Name |
Field Description |
Field Type |
---|---|---|
PAR_ID |
parcel identifier |
string |
PARID_CARD |
improvement identifier |
string |
BLDG_ID |
building identifier (unique) |
string |
STR_PROB |
probability that the structure type specified is correct |
double |
YEAR_BUILT |
the year the structure was built |
integer |
A_STORIES |
the number of above ground stories |
integer |
B_STORIES |
the number of below ground stories |
integer |
BSMT_TYPE |
the basement type |
string |
GSQ_FOOT |
total ground floor area of the building in square feet |
integer |
OCC_DETAIL |
specific occupancy category, describing the detailed use of the building |
string |
MAJOR_OCC |
major occupancy category for the parcel in which the building is sited |
string |
BROAD_OCC |
general occupancy categories |
string |
REPL_CST |
replacement cost for the building from R.S. means square foot cost |
double |
STR_CST |
structural component of the replacement cost |
double |
NSTRA_CST |
acceleration sensitive component of replacement cost |
double |
NSTRD_CST |
drift sensitive component of replacement cost |
double |
DGN_LVL |
design level for the building as per HAZUS MR-3 specifications |
string |
OCC_TYP2 |
detailed HAZUS occupancy category for the building |
string |
TRACT_ID |
census tract identifier |
string |
Now, it's ok if you don't have all of the above information for your buildings; however, the more detail you have about your building means you can be more explicit in mapping your fragilities to your buildings for the damage analysis. Only in the more advanced analyses will MAEviz start requiring some of those other attributes (e.g. estimating structural damage cost requires the APPR_BLDG column since the cost of the structure needs to be known). One stipulation, all of these columns do need to be present in the dataset, even if they contain no data because MAEviz will expect all of the columns to be there upon ingestiong. In the next version of MAEviz, this restriction of all columns being present, even with no data, should be eliminated.
Fragility Mapping
This section will require a very basic understanding of XML and is something that we can help the user with putting together if you contact us by email. The basic concept behind the fragility mapping is to tell MAEviz which fragilities should be used with which "objects". In the case of a building dataset, which fragilities should be mapped to which buildings. The mapping file allows you to use a specific set of rules to map fragilities to buildings (e.g. if a building has a structure type S1 and has 6 stories, use fragility curve with ID SF_S1_1).
Using the example below, we'll go through the various parts of the fragility mapping.
<match-filter-map> <property-match> <success-value> <map> <entry key="Non-Retrofit Fragility ID Code" value="SF_S1_1"/> </map> </success-value> <filter> <statement> <rule>int no_stories GE 4</rule> <rule>int no_stories LE 7</rule> <rule>String struct_typ EQUALS S1</rule> </statement> </filter> </property-match> </match-filter-map>
In the section that says <map> </map> is where the fragility identifier is specified. Where it says key is for MAEviz internal use and that must match exactly because the "Non-Retrofit Fragility ID Code" tells MAEviz this is the as-built fragility. The second part where it says value is a fragility ID in your fragility dataset (e.g. SF_S1_1), this must match match a fragility in your fragility dataset.
In the next section of the example above you will see some <rule> </rule> tags between <statement> </statement> tags. These are the rules to determine if SF_S1_1 fragility should be used for a particular building. If you look at the first rule where it says:
<rule>int no_stories GE 4</rule>
The first part that says int tells MAEviz what type of data to look for. The second part where it says no_stories tells MAEviz which column to look at, so in this case, there should be a column in the building dataset called no_stories. For reference, if you look in the previous section it was specified that the column no_stories should be of type integer. Now, the third part tells MAEviz what type of comparison to perform. In this case, we are looking for something that is greater than or equal to (GE) 4. For our building to pass this first rule, it must have a no_stories column with a value greater than or equal to 4. If it matches, MAEviz will check the next rule, in this case, the next rule states that there must be a column called no_stories that is of type integer, with a value less than or Equal to 7 (LE). In order to use this set of fragilities a building must match all of the rules between <map> </map>. If any fail, MAEviz will move onto the next <property-match> </property-match> tags that contain the next fragility curve and its rules.
You can make the rules as complex or as simple as you want. You could simply have a rule:
<rule>String STRUCT_TYP EQUALS S1</rule>
In this case, we are looking at a column called STRUCT_TYP (structure type) with a structure type equal to S1. If it matches, then use the fragility we specify.
If you need to create a fragility mapping file that maps your fragilities to your building dataset, you just need to come up with a list of rules that maps a fragilities to buildings and save them to an XML file. After creating the file, you need to ingest it into MAEviz. Ingesting data into MAEviz will be detailed in the next sections.
Launch MAEviz
The default installation directory for MAEviz is a folder with the same name, "MAEviz" so you should be able to launch the software by going to Start -> Programs -> MAEviz.