• Aucun résultat trouvé

Fire Statistics Online Tool Technical Document

N/A
N/A
Protected

Academic year: 2021

Partager "Fire Statistics Online Tool Technical Document"

Copied!
28
0
0

Texte intégral

(1)

Publisher’s version / Version de l'éditeur:

Vous avez des questions? Nous pouvons vous aider. Pour communiquer directement avec un auteur, consultez la première page de la revue dans laquelle son article a été publié afin de trouver ses coordonnées. Si vous n’arrivez Questions? Contact the NRC Publications Archive team at

PublicationsArchive-ArchivesPublications@nrc-cnrc.gc.ca. If you wish to email the authors directly, please see the first page of the publication for their contact information.

https://publications-cnrc.canada.ca/fra/droits

L’accès à ce site Web et l’utilisation de son contenu sont assujettis aux conditions présentées dans le site LISEZ CES CONDITIONS ATTENTIVEMENT AVANT D’UTILISER CE SITE WEB.

Research Report (National Research Council of Canada. Institute for Research in

Construction), 2008-12-01

READ THESE TERMS AND CONDITIONS CAREFULLY BEFORE USING THIS WEBSITE.

https://nrc-publications.canada.ca/eng/copyright

NRC Publications Archive Record / Notice des Archives des publications du CNRC :

https://nrc-publications.canada.ca/eng/view/object/?id=b31b724e-0b0c-464c-9183-734ad4e95945 https://publications-cnrc.canada.ca/fra/voir/objet/?id=b31b724e-0b0c-464c-9183-734ad4e95945

NRC Publications Archive

Archives des publications du CNRC

For the publisher’s version, please access the DOI link below./ Pour consulter la version de l’éditeur, utilisez le lien DOI ci-dessous.

https://doi.org/10.4224/20374204

Access and use of this website and the material on it are subject to the Terms and Conditions set forth at

Fire Statistics Online Tool Technical Document

(2)

http://irc.nrc-cnrc.gc.ca

Fire St a t ist ic s Online Tool Te c hnic a l

Doc um e nt

I R C - R R - 2 8 1

J a b a s h v i l i , D .

D e c e m b e r 2 0 0 8

The material in this document is covered by the provisions of the Copyright Act, by Canadian laws, policies, regulations and international agreements. Such provisions serve to identify the information source and, in specific instances, to prohibit reproduction of materials without written permission. For more information visit http://laws.justice.gc.ca/en/showtdm/cs/C-42

Les renseignements dans ce document sont protégés par la Loi sur le droit d'auteur, par les lois, les politiques et les règlements du Canada et des accords internationaux. Ces dispositions permettent d'identifier la source de l'information et, dans certains cas, d'interdire la copie de documents sans permission écrite. Pour obtenir de plus amples renseignements : http://lois.justice.gc.ca/fr/showtdm/cs/C-42

(3)

Fire Statistics Online Tool

Technical Document

Prepared by:

Avtandil D. Jabashvili, Dec 2008

Fire Research Program

Institute for Research in Construction National Research Council Canada

(4)

Table of Contents

1 Introduction 3

2 Development environment 3

3 General Structure 3

3.1 General Client-Server Architecture 3

3.2 Server side Operations 4

3.3 Client Side Operations 4

3.4 Optimal performance 5 4 Flashchart 6 5 File Structure 7 6 Script 8 6.1 General Considerations 9 6.2 Simple.php 9 6.3 Simple.js 13 7 Databases 19

7.1 General Fire Statistics Tables 19

7.1.1 Act or Omission 19 7.2 Assembly Occupancy 20 7.2.1 Institutional Occupancy 20 7.2.2 Jurisdiction 20 7.2.3 Property Classification 22 7.2.4 Residential Occupancy 22 7.2.5 Source of Ignition 22

7.2.6 Special Properties Occupancy 23

7.3 Residential Fire Statistics Tables 24

7.3.1 Area of Origin 24

7.3.2 Condition of Casualty 24

7.3.3 Igniting Object 24

7.3.4 Level of Origin 25

7.3.5 Material First Ignited 25

(5)

Fire Statistics Online Tool – Technical Document

by

A. D. Jabashvili

1 Introduction

The Fire Statistics Online Tool is an html-based system, which allows viewing the Fire Statistics database contents in different visual modes. This report outlines the technical specifications of the source code used to develop the tool.

2 Development environment

Server Side

Operating system: Linux Server API: Apache 2.0

Script language: PHP Version 5.1.6 Client Side

Operating system: Windows XP Pro 2002 Script language: JavaScript

Tools, Custom controls, and References: FlashChart Pro

3 General Structure

3.1 General Client-Server Architecture

The tool is created in accordance with the standard client-server software architecture. It is a distributed system comprised of both client and server scripts. Server-side scripting is a web server technology in which a user's request is fulfilled by running a script directly on the web server to generate dynamic html pages. Client-side scripts are executed at client-side, by the user's web browser. For this tool, the client-side scripts are written in JavaScript, while server-side scripts - in php. Fig. 1. depicts the general architecture.

(6)

Fig. 1. General client-server configuration

Fulfilling the client’s request, the server-side php script uses the MySQL functions to interface the MySQL database in order to find and retrieve the records satisfying the criteria specified in the request by the user. The php script creates an html page in accordance with the template coded in the script and incorporates into the form the records either as a table or a chart. The resulting page is sent back to the user’s computer through the html protocol.

3.2 Server side Operations

Server side operations are concerned with sending the web page data from the server to the web page visitor’s browser. The Simple.php file contains main server-side script. The file resides on the server machine and is performed by the server operating system.

The Simple.php script instructs the server:

a. To retrieve the requested data from the database and process it.

b. To provide the user with means to interact with the web page. These include creation and initialization of list boxes, check boxes, etc. For example certain list boxes are not only created but also are populated with names of database tables or fields.

c. To form and populate the templates, which are intended to display the requested data to the user in both, table format or graphic view, with resulting values.

d. To ensure persistency of values of internal variables between different page switches and server submissions, most of which are hidden inputs. For example, a value of the check box indicating whether or not the Residential Fire Statistics database is current, needs to be maintained unchanged between form submissions from client to server and echoing the pages back to the client from the server.

e. To translate labels and records pertaining to the database structure and contents respectively, from English, since these originally are labeled or entered into the database in English, into French if the user chooses to view the pages in French.

3.3 Client Side Operations

Client side operations are performed on the visitor’s computer by the user’s Internet browser to display the web page as the data is received from the server. html is interpreted as it is

(7)

page has loaded html cannot be reprocessed without refreshing the page. The visitor’s experience on the web page can however be enhanced by means of a client side scripting language; in our case it is JavaScript.

The JavaScript files instruct the browser:

a. To dynamically switch between different parts of the received data to be displayed as well as between graphical and table modes of viewing the data.

b. To ensure connection between nodes of the page. For example, when a user switches from one table to another, the field structure of the new table is already available at the client side and a JavaScript function responding to the change event is called. The function empties the contents of the list box with the names of the table fields and repopulates it with the new values.

c. To dynamically rearrange the displayed values at the user's request.

d. To ensure the quick switch between the two languages - English and French.

3.4 Optimal performance

The FireStat tool is designed with the following optimization considerations in mind. a. To minimize the server - side load by getting the visitor’s browser to perform all the

operations that do not require information from the server.

b. For the high responsiveness and robustness of the system at the front end, before sending a page to the visitor’s browser certain required preprocessing of the data, which was retrieved from the database, is done at the back end. For the same purpose, additional information, which is not requested explicitly by the user, is still retrieved and sent with the html page to the client's browser in anticipation of a need for it.

c. There is one-to-one correspondence between user queries and xml files. If a user has requested data in accordance with a certain query and the respective xml file already exists, which means that another user has already requested the same data before, then the file is not replaced by a new file with similar contents or contents of the file is not overwritten with the similar contents, it’s just used. But how does the system know that the file contains the same query as the incoming one? This is achieved by

encoding the name of the xml file in correspondence with the query the file contains. For example a file named Line00010033e.xml contains the following query:

Chart Type – Line

Database – General Fire Statistics (0)

Table – Act or Omission (0)

Variables – Fires (0) and Losses (1) Report Style – Complete (0)

Start Year – 1971 (0) End Year – 2004 (33)

Language – English (e)

In the server-side php script the function SetFileID is dedicated to the file naming task. As a result, the server spends less time on processing the user requests.

(8)

4 Flashchart

In order to render data-driven animated charts the FireStat tool incorporates the Flash Charts Pro component as a set of Macromedia Flash (swf format) files. The swf file format is non-native to browsers. That is, the graphical browsers we use, such as Internet Explorer cannot run swf files on their own, as they can html, xml, gif, jpg and png files. To handle swf content, browsers require the free Macromedia Flash Player. One could think of swf as a binary script or executable for the Flash Player.

Flash Player plays an swf file, which corresponds to a specific charting mode, but it is an xml file that provides actual data to the player. In general the following steps are involved in the process:

a. The server first sends the html content to the end viewer's browser.

b. The browser at the viewer’s request submits another request, this time for the actual data from the database and a charting mode of displaying the data.

c. The simple.php takes in the passed parameters, processes them, interacts with the

database, gets the requested data from the database using mysql_query and other

php MySQL functions, which allows accessing the MySQL database server.

d. The script then preprocesses the data and converts it into xml format using the php XML Parser functions.

e. Finally the script creates the xml file, and sends it along with the swf file, which corresponds to the requested charting type, to the client machine.

f. On the client machine the Flash Charts Pro accepts xml data, parses it and finally renders the chart by playing the received swf file.

It must be noted that Flash Charts Pro supports dynamic data updates at the client side without having to reload the chart or the page. If the flashchart object is already present on the page and new data is requested in the same charting mode, a simple switch of the xml file will do the job (see the description of the JavaScript function UpdateChartByFile() below). The way the Flash Chart Pro operates is summarized in Fig. 2.

(9)

Fig. 2. How the Flash Chart Pro interacts with other components

The following table lists the swf files and respective charting types utilized by the tool.

SWF FILE CHARTING TYPE

fcp-line-chart.swf Line

fcp-bars2d-charts.swf 2D Bar

fcp-combination-bars2d-charts.swf Bars 2D

fcp-combination-bars2d-charts-multi-series.swf Bars 2D (Multi-series)

fcp-combination-bars3d-charts.swf Bars 3D

fcp-combinatio-stacked-bars2d-charts.swf Stacked Bars 2D

fcp-stacked-bars3d-charts.swf Stacked Bars 3D

fcp-pie-2d-charts.swf 3D Pie

5 File Structure

In addition to the database file itself there are three major files that drive the system. Two of them have already been mentioned - Simple.php written in php and the client side script Simple.js written in JavaScript. The latter contains scripts external to the html, which in

(10)

turn was produced by Simple.php, as opposed to the scripts imbedded into the html. The front page html created with instructions contained in Index.php is trivial and leads directly to the Simple.php. The purpose of the Index.php is just to greet a visitor and give him or her an opportunity to choose a language, either French or English. It also instructs the user how to proceed with different types of browsers.

All three files reside on the server permanently and their contents are never being altered. There is another group of read - only files - the swf files, which are contained in the folder named swf. The purpose of these files has already been discussed in Section 4. The only files that are dynamically created and/or altered at the server side are xml files kept in the folder named xml.

Fig. 3. Summarizes the file structure of the tool. In this figure the left side rectangular blocks represent the files residing on the client side whereas the right side blocks represent files on the server.

Fig. 3. File Structure

(11)

6.1 General Considerations

Server-side php script Simple.php creates all the controls the user sees at the front end, such as list boxes and drop-down list boxes. It populates these controls with values retrieved from the database at the back end. Most of these controls reflect the structure of the

database – tables and their fields. Actual contents of the database are shown at the request of the user either as html tables or plotted in different graphing modes by means of a Flash

Chart Pro component.

The script prepares values for arguments for the clients-side JavaScript functions, which are executed by the browser at the client side. Some of these functions initiate client-side internal variables by these values to be shared with other JavaScript functions. The function

arguments could be simple variables of standard JavaScript types or even multidimensional arrays. In the html document prepared by the php script arrays are to be initialized on the client-side using the JavaScript push() method, but the argument values themselves are prepared at the server side by a php script contained in the Simple.php file. The script obtains the requested values from the MySQL database and inserts respective initialization JavaScript code fragments into the html document. After the document is sent to the front-end computer, the JavaScript codes are implemented and:

a. Values are pushed into the arrays.

b. JavaScript functions are called as needed and the arrays and single values are passed to the functions as argument values.

c. The functions receiving these arrays and single values, in turn, use them to initialize certain client-side internal variables. These variables are global, and intend to be shared between all the other client-side functions.

The following most crucial internal variables are shared by all the JavaScript functions: a. gs_Tables[ ] is an array of strings to store the names of database tables

b. gs_Fields[ ] is a two-dimensional array of strings to store the names of database table fields.

c. gs_FieldsParents[ ] [ ] is a two-dimensional array, which assigns to each element from the gs_Fields an element from the gs_Tables.

d. gs_SelFields[ ] is an array of strings to store the list of names of those fields, which are selected by the user.

e. gs_colFilters[ ] is an array of strings with values YES or NO to indicate whether the respective field is allowed to be displayed or not.

Both scripts also contain dictionaries – functions that receive a word or even a whole phrase in English or French and return the same text in French or English respectively.

6.2 Simple.php

The following flow-chart (Fig. 4) illustrates the major thread running through the server-side script Simple.php and the function call sequences.

(12)

Fig. 4. Main thread and function call sequence at server side

It should be noted that most extensively used functions are Translate(), EnglishtoFrench() and FrenchtoEnglish(). The thick, gray arrow indicates the fact, that almost all php functions call one of these three functions at one point or another. The following is a list with brief descriptions of these php functions:

GetResults()

Arguments: $DBName - Name of the current database Description:

a. Creates and / or opens for writing xml files through calling the function

OpenFiles().

b. Through calling the function Processor() retrieves the current database schema and requested contents, processes the retrieved recordsets. c. Writes the data produced at the previous stage to the xml files through

SetFlashXMLVariables(), SetXMLGeneralSettings(),

SetFlashXMLDataValues() and SetXMLEnd() function calls.

d. Creates and initiates hidden inputs shared by the above-mentioned functions with data obtained from the database.

SetFlashObjectVariables()

Arguments: None

Description: Sets the Flash Chart Pro flashchart object parameters, which specify not only swf and xml files to be used by the player, but also pure geometric

(13)

extensions and position of the object on the form as well as sizing and positioning of the contents of the object inside the object.

BuildFlashObject()

Arguments: None

Description: Echoes the flashchart object itself as a part of the html form being generated by the Simple.php script.

PopulateDropDown()

Arguments:

a. $Name – name of the node.

b. $OnChange – the function responding to the onChange event of the

node.

c. $List – the actual list of the items to populate the node with.

d. $Selected – defines currently selected item from the list.

e. $Default – shows the title of the node.

f. $Size – defines the number of visible items in the drop-down list box.

g. $Hidden – defines whether or not the node is hidden.

h. $Multiple – defines whether or not multiple selections are allowed.

i. $Disabled – defines whether or not the node is disabled

Description: Creates select nodes (tags) on the html document.

OpenFiles()

Arguments: None

Description: Creates and opens or, if files already exist, just opens xml files for writing

Processor()

Arguments: None

Description: Produces annual totals, averages or percentages of the incidents if the user chooses Total, Average, or Percentage respectively as the report style. It also echoes certain nodes of the html form.

SetFlashXMLVariables()

Arguments: None

Description: defines dimensions and position of the Flash Chart Pro object.

SetXMLGeneralSettings()

Arguments: None

Description: Writes non data parts to an xml file, such as major tags and their attributes.

SetFlashXMLDataValues()

Arguments: None

Description: Writes the actual data to an xml file. When the user decides to switch from table view to the chart mode the type of chart that appears first is Line. The function initializes the respective xml file, which is fcp-line-chart.xml, with values just retrieved from the current database. If the user switches to another style of charting, the client side already has the information contained in the file, so there is no need to ‘disturb’ the server and the

SetFlashXMLDataValues() function uses the existing file, fcp-line-chart.xml to read the data from and write it to the xml file, which

(14)

corresponds to newly selected charting style, 2d bar for example. Fig. 5. Illustrates the idea.

Fig. 5. Data flow-chart of the SetFlashXMLDataValues() function

At first an xml Parser is defined using xml_parser_create() create function, which returns a kind of Parsing Engine. The xml_set_element_handler() function then defines two element handlers for the engine – startElement()

(15)

and endElement() functions which are called each time during the parsing process the engine encounters a start element and an end element

respectively. (Only the startElement() function has a non-empty body in the script).

Finally, after setting the character data handler function by means of the

xml_set_character_handler() function, the parser is started and run by

means of calling xml_parse() function in a loop until the end of the file has been reached. On each iteration the startElement() function reads a data value from the fcp-line-chart.xml file and writes it to the

fcp-bars2d-charts.xml file.

SetXMLEnd()

Arguments: None

Description: Writes to the current xml file the ending block of the file.

Translate()

Arguments:

a. $Phrase – actual word or phrase to translate.

b. $Value – Indicating whether the word or phrase will appear in a chart or table

c. $Header – Indicating whether or not the word or phrase is a header of a chart

Description: Calls one of the following two functions EnglishtoFrench() or

FrenchtoEnglish() depending on the current language setting. EnglishtoFrench()

Arguments: Same as for the Translate() function

Description: Actually translates a word or a phrase from English to French

FrenchtoEnglish()

Arguments: $Phrase – actual word or phrase to translate.

Description: Actually translates a word or a phrase from French to English.

6.3 Simple.js

Important elements of the html echoed by the Simple.php are client – side scripts implemented in JavaScript scripting language. As was already mentioned, there are two types of JavaScript functions, imbedded and external. All the most important functions are written in an external script file called Simple.js. Some of these functions are client – side event handlers. JavaScript Events are items that transpire based on an action. Each of them are associated with an html tag.

The following flow-chart illustrates the major thread running through the server-side script

(16)

Fig. 6. Main thread and function call sequence at client side

The following is a list with brief descriptions of the JavaScript functions, which handle different events.

GeneralChecked()

(17)

Arguments: None

Description: There are two check boxes that define, which of the two databases, the General Fire Statistics or Residential Fire Statistics is active. To open the former the checkbox named General must be checked. When the event is fired, the function ensures that the other checkbox, named Residential is unchecked and respective internal variables are updated. At the end the function submits the current form contents to the Simple.php.

ModifyChartType()

Responds to onChange event of the list box named ChartTypes Arguments: None

Description: The event is fired when the viewer of the charts switches from current chart type to another chart type. In response the function, before actually

submitting the form to Simple.php, makes sure that an internal variable with current database name does not lose the value and calls the

UpdateMirrors() function (see the description of this function below). OnChangeFields()

Responds to onChange event of the list box named Fields Arguments: None

Description: The list box contains and exposes the names of all the fields of the selected table. The event is fired when a field, contents of which the user is about to retrieve, is selected or reselected. The function clears the current web form by removing the nodes with results from the previous session.

OnChangeReportStyle()

Responds to onChange event of the drop-down list box named ReportStyle Arguments: None

Description: The drop-down list box contains a list of available reporting styles the user can choose from. The event is fired, when the user selects a style (Average for example). In response to the event the function clears the web form by removing the nodes with results from the previous session, updates the contents of other controls in accordance with the newly-selected style, and updates respective internal variables.

OnChartView()

Responds to onClick event of the input of type Image and named Charting Arguments: None

Description: When a user clicks on the image, the data display mode is switched from the table view to the chart view. In response the function calls the

OnSubmitForm() function (see the description of this function below) OnMouseOutField()

Responds to onMouseOut event of a cell of the header of the table, which displays the data in the table view mode.

Arguments:

a. FieldPos – an integer identifying the position of the field in the row of the retrieved fields.

(18)

Description: The event is fired every time the mouse cursor leaves the area occupied by the cell. In response, the function changes the header cell label, which serves as the title of the respective column, from Sort to the actual name of the field column.

OnMouseOverField()

Responds to onMouseOver event of a cell of the header of the table displaying the data in table view mode.

Arguments: FieldPos – an integer identifying the position of the field in the row of the retrieved fields.

Description: The event is fired every time the mouse cursor enters or moves over the area occupied by the cell. In response, the function changes the header cell label, which serves as the title of the respective column, from the actual name of the column to Sort.

OnProvinceChange()

Responds to onChange event of the of the drop-down list box named Provinces. Arguments: None

Description: The function clears the web form by removing the results from the previous session showing on the form and updates an internal variable with the newly-selected province name.

OnSubmitForm()

Responds to onClick event of the Submit button. Arguments: None

Description: This function compiles an SQL Select statement to retrieve data requested by the user and actually submits the current form and the statement to Simple.php.

PopulateEndYears()

Responds to onChange event of the YearFrom drop-down list box and onLoad event of the main form named Simple.

Arguments: None

Description: Repopulates the YearTo drop-down list box with years beginning from the year next to the selected in the YearTo drop-down list box. It also calls the calls UpdateMirrors() function (see the description of this function below).

ResetAction()

Responds to onClick event of button named Home. Arguments: None

Description: Resets the current values of the action attribute of the main form tag to

Index.php file. SwitchtoEn()

Responds to onClick event of an anchor of test-link class Arguments: None

Description: When user clicks the link, a flag indicating the language of the current session is reset to English and the form is resubmitted to the server. The handler also calls UpdateMirrors() function to update the hidden nodes

(19)

switchtoFr()

Responds to onClick event of an anchor of test-link class. Arguments: None

Description: When user clicks the link, a flag indicating the language of the current session is reset to French and the form is resubmitted to the server. The handler also calls UpdateMirrors() function to update the hidden nodes serving as persistent internal variables.

UpdateFields()

Responds to onChange event of the Tables drop-down list box. Arguments: None

Description: Repopulates the Fields with the names of fields of the selected table.

ValidateForm()

Responds to onSubmit event of the main form. Arguments: None

Description: If user has not provided the minimal set of specifications on the main form and tries to submit the incomplete form, the handler prevents the operation reminding the user about those fields, which need to be filled in.

The following handlers are virtual and need to be overridden:

window.onbeforeprint()

Responds to a page being printed. Arguments: None

Description: This event fires just prior to the page being printed. The handler function removes all the visible nodes of the printed page that are not supposed to be present in the printout.

window.onafterprint()

Responds to a page being printed. Arguments: None

Description: This event fires immediately after the page to be printed has been loaded into the printer queue/cache. The handler function restores all the nodes of the printed page, which were removed from the page right before printing by the onbeforeprint() function.

EnglishtoFrench()

Arguments:

a. Phrase – phrase to translate.

b. Chart – indicates whether or not the current page displays data in the charting mode.

Description: The function returns the French translation of the value of the Phrase argument.

FrenchtoEnglish()

Arguments:

a. Phrase – phrase to translate.

b. Chart – indicates whether or not the current page displays data in the charting mode.

(20)

Description: The function returns the English translation of the value of the Phrase argument.

The remaining functions, which do not handle events, are:

GetSelected()

Arguments: SelFields – an array of selected field names.

Description: The function initializes the gs_SelFields (see the description array) with values of js_selections array prepared at the server side.

InitialRun()

Arguments:

a. DBName – name of the current database. b. Tables – array of names of the database tables.

c. Parents – two-dimensional array with values reflecting the field – parent table relationship.

d. Columns – array of names of table fields.

e. colFilters – array names of allowed fields(i. e. fields that are going to be displayed).

Description: The function initializes the gs_Tables, gs_Fields, and gs_FieldsParents (see the description of the arrays) with values of js_tables, js_columns, and

js_parents arrays respectively, prepared at the server side. PopulateMirror()

Arguments: None

Description: The function initializes the hidden list boxes named MirrorTables and

MirrorFields, which serve as an array of persistent internal variables storing

currently-selected table and its field names.

SortArray()

Arguments:

a. _Array – array of cells of displayed records. b. Column – the position of the selected column. c. NumRows – number of records displayed.

d. NumColumns – number of fields of the recordset displayed.

Description: The function dynamically rearranges the displayed records in the table view in accordance with the values of a column selected by the user.

UpdateChartByFile()

Arguments: o – The Flash Chart object id.

Description: The function dynamically updates the Flash Chart data with new xml file.

UpdateMirrors()

Arguments: None

Description: The function updates the hidden list boxes named MirrorTables and

MirrorFields, which serve as an array of persistent internal variables storing

(21)

7 Databases

There are two MySql databases, which contain annual reports on Fire incidents and losses in Canada - General Fire Statistics and Residential Fire Statistics. The table/field structure of the databases is consistent with the Canadian Code Structure (CCS) on Fire Loss Statistics. Both databases reside on the server side and are managed by the MySQL system. The Following describes the table structure of each database and field structure of each table. For illustrative purposes, descriptive details are provided just for one table. All the other tables are organized essentially in the same fashion.

7.1 General Fire Statistics Tables 7.1.1 Act or Omission

This table contains statistical data on fire incidents caused by incendiary acts and negligent use of fuel sources equipment or materials. It also includes such factors as mechanical failures, which may have resulted from human omissions through lack of maintenance, or through design, construction or installation deficiencies [1].

The table contains the following fields:

ActKey – primary key of Numeric type and Bit subtype. This field is hidden.

Act or Omission – contents of this field Identify respective subclasses with their brief

verbal descriptions consistent with the CCS. For example one of the values is

Construction Design or Installation Deficiency. Values of all the other fields of a record

indicate a certain quantity associated with incidents of the above subclass. The following are typical examples:

Fires – number of fires of given CCS subclass and which occurred during the year

indicated in the Year field.

Losses – total damages incurred by the incidents during the year and assessed in

Canadian dollars.

Firefighter Injuries – total number of firefighter injuries caused by the incidents

during the given year.

The table fields are summarized in the following table 1:

NAME TYPE SUBTYPE PRIMARY KEY

ActKey Numeric BIT YES

Act_or_Omission String CHAR NO

Losses String CHAR NO

Fires Numeric BIT NO

Firefighter_Injuries Numeric BIT NO

Men_Injuries Numeric BIT NO

Woman_Injuries Numeric BIT NO

Children_Injuries Numeric BIT NO

Unclassified_Injuries Numeric BIT NO

Injuries Numeric BIT NO

Firefighter_Deaths Numeric BIT NO

(22)

Women_Deaths Numeric BIT NO

Children_deaths Numeric BIT NO

Unclassified_Deaths Numeric BIT NO

Deaths Numeric BIT NO

7.2 Assembly Occupancy

This table contains statistical data on where the fire incidents occurred. Assembly Occupancy refers to places such as an amusement area, recreation place, church, funeral parlour, museum, art gallery, library, passenger terminal, station, school, college, university, theatre, studio, auditorium, etc.

NAME TYPE SUBTYPE PRIMARY KEY

AssemblyKey Numeric BIT YES

Year Numeric BIT NO

Assembly_Occupancy String CHAR NO

Fires Numeric BIT NO

Injuries Numeric BIT NO

Deaths Numeric BIT NO

Loss String CHAR NO

7.2.1 Institutional Occupancy

This table contains statistical data on where the fire incidents occurred. Institutional Occupancy refers to places such as a childcare center, home for the aged, hospital, sanatorium, clinic, prison, jail, reformatory, etc.

NAME TYPE SUBTYPE PRIMARY KEY

InstitutionalKey Numeric BIT YES

Year Numeric BIT NO

Institutional_Occupancy String CHAR NO

Fires Numeric BIT NO

Injuries Numeric BIT NO

Deaths Numeric BIT NO

Loss String CHAR NO

7.2.2 Jurisdiction

This table contains statistical data on locations in terms of authority having jurisdiction. Such a location could be a province or entities like National Defense, etc.

NAME TYPE SUBTYPE PRIMARY KEY

JurisdictionKey Numeric BIT YES

Year String CHAR NO

(23)

Losses String CHAR NO Residential_Property_Fir

es

Numeric BIT NO

Assembly_Property_Fires Numeric BIT NO

Assembly_Property_Loss es String CHAR NO Insitutional_Property_Fire s Numeric BIT NO Institutional_Property_Lo sses String CHAR NO Business_and_Personal_ Service_Property_Fires Numeric BIT NO Business_and_Personal_ Service_Property_Losses String CHAR NO Mercantile_Property_Fire s Numeric BIT NO Mercantile_Property_Los ses String CHAR NO Industrial_Manufacturing_ Property_Fires Numeric BIT NO Industrial_Manufacturing _Property_Losses String CHAR NO

Storage_Property_Fires Numeric BIT NO

Storage_Property_Losse s

String CHAR NO

Special_Property_Fires Numeric BIT NO

Special_Property_Losses String CHAR NO

Farm_Property_Fires NO

Farm_Property_Losses String CHAR NO

Miscellaneous_Property_ Fires NO Miscellaneous_Property_ Losses String CHAR NO

Firefighter_Deaths Numeric BIT NO

Men_Deaths Numeric BIT NO

Women_Deaths Numeric BIT NO

Children_Deaths Numeric BIT NO

Unclassified_Deaths Numeric BIT NO

Deaths Numeric BIT NO

Firefighter_Injuries Numeric BIT NO

Men_Injuries Numeric BIT NO

Women_Injuries Numeric BIT NO

Children_Injuries Numeric BIT NO

Unclassified_Injuries Numeric BIT NO

Injuries Numeric BIT NO

Jurisdiction String CHAR NO

Residential_Property_Los ses

String CHAR NO

(24)

7.2.3 Property Classification

This table contains statistical data on types of property where the fire initially originated. These may include such types of property as assembly, business and personal service, farm properties, industrial manufacturing properties, institutional, mercantile, residential, storage properties etc.

NAME TYPE SUBTYPE PRIMARY KEY

PropertyKey Numeric BIT YES

Year Numeric BIT NO

Property_Classification String CHAR NO

Fires Numeric BIT NO

Injuries Numeric BIT NO

Deaths Numeric BIT NO

Loss String CHAR NO

7.2.4 Residential Occupancy

This table contains statistical data on where the fire incidents occurred. Residential Occupancy refers to places such as an apartment, tenement, flat, dormitory, hotel, inn, lodge, mobile home, trailer, motor hotel, motel, family residence, rooming house, board, lodging, etc.

NAME TYPE SUBTYPE PRIMARY KEY

ResidentialKey Numeric BIT YES

Year Numeric BIT NO

Loss String CHAR NO

Fires Numeric BIT NO

Residential_Occupancy String CHAR NO

Injuries Numeric BIT NO

Deaths Numeric BIT NO

7.2.5 Source of Ignition

Among the sources of ignition given in the table are appliances and equipment, cooking equipment, cutting torch, welding equipment, varied torches, electrical

distribution equipment, exposure, heating equipment, hot ashes, embers (non-smoking material), match, lighter (not used with smoking), lamp, candle, taper, smoker's

material, etc.

NAME TYPE SUBTYPE PRIMARY KEY

SourceKey Numeric BIT YES

Year String CHAR NO

(25)

Fires Numeric BIT NO

Firefighter Injuries Numeric BIT NO

Men Injuries Numeric BIT NO

Woman Injuries Numeric BIT NO

Children Injuries Numeric BIT NO

Unclassified Injuries Numeric BIT NO

Injuries Numeric BIT NO

Firefighter Deaths Numeric BIT NO

Men Deaths Numeric BIT NO

Women Deaths Numeric BIT NO

Children deaths Numeric BIT NO

Unclassified Deaths Numeric BIT NO

Deaths Numeric BIT NO

7.2.6 Special Properties Occupancy

This table contains statistical data on where the fire incidents occurred. Special Occupancy refers to places such as aircraft, construction, demolition, vacant, ground transport vehicle, outdoor property, pier, wharf, rail, transport vehicle and equipment, special connecting properties, special vehicle, watercraft, etc.

NAME TYPE SUBTYPE PRIMARY KEY

ActKey Numeric BIT YES

Act or Omission String CHAR NO

Losses String CHAR NO

Fires Numeric BIT NO

Firefighter Injuries Numeric BIT NO

Men Injuries Numeric BIT NO

Woman Injuries Numeric BIT NO

Children Injuries Numeric BIT NO

Unclassified Injuries Numeric BIT NO

Injuries Numeric BIT NO

Firefighter Deaths Numeric BIT NO

Men Deaths Numeric BIT NO

Women Deaths Numeric BIT NO

Children deaths Numeric BIT NO

Unclassified Deaths Numeric BIT NO

(26)

7.3 Residential Fire Statistics Tables 7.3.1 Area of Origin

Area of Origin of fire refers to specific use or occupancy of that part of the property where the fire originates and not necessarily to the overall use or occupancy of the property. This table refers to items such as a hallway, corridor, parking area, trash, rubbish area, etc. For more items see reference [1]

NAME TYPE SUBTYPE PRIMARY KEY HIDDEN

AreaKey Numeric BIT YES YES

Area of Origin String CHAR NO NO

Loss String CHAR NO NO

Fires Numeric BIT NO NO

Injuries Numeric BIT NO NO

Province String CHAR NO NO

Deaths Numeric BIT NO NO

7.3.2 Condition of Casualty

This table refers to the conditions such as being asleep at time of fire, bedridden or other physical handicap, impairment by alcohol, drugs, or medication, awake and no physical or mental impairment at the time of fire, under restraint or detention, too young to react to fire emergency, mental handicap - includes senility, child left unattended, etc.

NAME TYPE SUBTYPE PRIMARY KEY HIDDEN

ConditionKey Numeric BIT YES YES

Condition_of_Casualty String CHAR NO NO

Loss String CHAR NO NO

Fires Numeric BIT NO NO

Injuries Numeric BIT NO NO

Province String CHAR NO NO

Deaths Numeric BIT NO NO

7.3.3 Igniting Object

The Igniting Object is the actual equipment, device or item, which brings about ignition. The respective field of the table contains such values as a stove, range, top burner area - involving fire in pan, stove, range, top burner area - involving fire in a pot used as deep fat fryer, stove, range, top burner area - involving other circumstances, chafing dish, fondue, television, computer monitor, etc. To see all the items refer to [1].

NAME TYPE SUBTYPE PRIMARY KEY HIDDEN

(27)

Igniting_Object String CHAR NO NO

Loss String CHAR NO NO

Fires Numeric BIT NO NO

Province String CHAR NO NO

Injuries Numeric BIT NO NO

Deaths Numeric BIT NO NO

7.3.4 Level of Origin

Level of Origin refers to the floor or area, where the fire originated. If there are no intervening floors or irregularly spaced floors, it refers to the height above grade, where the fire originated. The Level of Origin field has values such as a basement,

sub-basement, crawl space, under structure, ground floor, grade level or grade to 3m, 2nd storey or over 3m to 6m above grade, 3rd storey or over 6m to 9m above grade, 4th to 12th storey (inclusive) or over 9m to 36m above grade, over 12 floors or over 36m, roof level - includes concealed roof space, attic, level of origin - not applicable (includes vehicle), etc. To see all the items refer to reference [1].

NAME TYPE SUBTYPE PRIMARY KEY HIDDEN

LevelKey Numeric BIT YES YES

Level_of_Origin String CHAR NO NO

Loss String CHAR NO NO

Fires Numeric BIT NO NO

Province String CHAR NO NO

Injuries Numeric BIT NO NO

Deaths Numeric BIT NO NO

7.3.5 Material First Ignited

Material First Ignited is the actual material ignited, which brings about the fire condition. It does not include fuel or energy associated with the igniting object, except where ignition of the fuel itself creates the fire condition. The Material First Ignited field has such values as roof covering – wood, roof covering - other than wood, exterior wall covering, surface, finish - includes eaves, exterior trim & appurtenance - includes door, porch, platform, balcony, building component - wall, insulation - mineral - includes binder, envelope, fabric - cotton - includes finished goods, gasoline, diesel, kerosene, fondue fuel, transmission fluid, motor oil, contact cement, paint, varnish, etc. To see all the items refer to reference [1].

NAME TYPE SUBTYPE PRIMARY KEY HIDDEN

MaterialKey Numeric BIT YES YES

Material_First_Ignited String CHAR NO NO

Loss String CHAR NO NO

(28)

Province String CHAR NO NO

Injuries Numeric BIT NO NO

Deaths Numeric BIT NO NO

8 References

1. Canadian Code Structure on Fire Loss Statistics. 2002 Edition. Council of Canadian Fire Marshals and Fire Commissioners. Web address:

Figure

Fig. 3. Summarizes the file structure of the tool. In this figure the left side rectangular blocks  represent the files residing on the client side whereas the right side blocks represent files on  the server

Références

Documents relatifs

This method proposes to complement low-cost inertial sensors commonly used in navigation techniques (accelerometers and gyroscopes [5], [2]) with a specific device consisting of

The novel aspects of ROO are that it: (a) is grounded on a methodology for ontology construction used for the development of several large ontologies at Ordnance Survey [6];

Using the results of the analysis, we derived the mass constraints of the planetary systems in the Solar system using the IPTA DR 1 and the 10 SSEs employed in this study.. The

The heterogeneous structure is based on the set up of non identical sensors and has been proposed in order to make an array polarization sensitive.. Regarding

In this paper we shall continue our pursuit, specializing to the Riemann zeta-function, and obtain a closed form evaluation thereof at all rational arguments, with no restriction to

16 For many CTAC members this was the first time that they were in contact with prototype CTA data, and the exercise demonstrated that the science analysis software prototypes

Monte- Carlo simulations of these two source classes were carried out for different CTA array layouts, assuming a uniform exposure time of 20 h everywhere along the Galactic

By selecting ocean-color satellite data (organized by bioregions) to drive and verify the design of the BGC-Argo network in the Mediterranean, we implicitly give more emphasis