Survey
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
Data Quality Control in Multi-State, Multi-year, Multi-type Databases: A Method for Examining Year-toYear Percentage Changes Li wan Chen, LENDIS Corporation, McLean, VA Forrest Council, Highway Safety Research Center, University of North Carolina ABSTRACT The Highway Safety Information System (HSIS) is a multi-state, multi-year, and multi-type database that contains accident, roadway inventory, and traffic volume data from eight states. HSIS contains approximately a million observations of information per state per year. The ultimate use of these data is in data analyses across states, file types, and years. However, from a quality-control standpoint, one of the challenges is the monitoring of data changes in each of the hundreds of variables each year to detect possible errors of state-induced coding changes or data entry errors leading to inconsistent data across years. Since computer monitoring is mandated by the database size, the effective use of the SAS macro facility could save significant programming time for repetitive tasks. In addition, it is easy to modify and maintain the program. This presentation is to demonstrate the use of a very limited number of macro language lines to analyze year-to-year percentage changes for any state, any two-year data, and any type of data in HSIS. Specifically, the main program contains a few subroutines. The subroutines process the following tasks: read in data, merge two-year data, calculate percentage changes, set up the criterion, output the SAS format, and printout the results for specific state, year, and type of data. INTRODUCTION The HSIS is a relational database system. SAS/ACCESS software is utilized as an interface between the SAS and the Sybase database management systems [SAS/ACCESS Software for Relational Databases: Reference.,1994] . The HSIS stores the data – hundreds of variables per year received from eight states [Council, F.M. and Williams, C.D. ,1995;Council, F.M. and Williams, C.D., 1996]. Currently, there are four to more than ten different file types (e.g., accident, vehicle, occupant, roadway inventory, intersection inventory). Each file contains one to more than ten years of information depending on states and file types. It takes significant time and repetitive effort to conduct a small set of data analyses across states, file types, and years. Part of the HSIS mission is to meet safety research needs and provide research services to key federal, state, and private officials who are making safety decisions. Given the large database, it is necessary to understand the trends or changes in variables across years to ensure that the quality of the data remains at an acceptable level. To meet this need, this quality control (QC) program is set up to allow the analyst to access the Percentage Change (PC) for a particular variable between any two years in the HSIS databases. For the purpose of this presentation, the examination of extreme values of PC in a variable defined as “Average Annual Daily Traffic volume” (AADT) in the ‘ROAD’ file in ‘BB’ state is shown. The AADT is stored for each “homogeneous section” of roadway, with the section record defined by a beginning(BEGMP) and an ending milepost(ENDMP) on a given route in a given county(CNTYRTE). Some of the key MACRO variables1 in the program are listed as follows: STATE YEAR1 YEAR2 FILE = = = = 2-character state name. the first year, i.e., 96 the second year, i.e., 97 file type, i.e., ROAD The QC program consists of a main program and a few external SAS files. The analyst is required to input a few MACRO variables in the main program such as STATE, YEAR1, YEAR2, and FILE. The above MACRO variables are subsequently recognized as MACRO variables in the computation, variable format, title statement, and file recognition throughout the entire QC program, e.g., if STATE=BB, any statement in the main program or subroutines related to &STATE is identified as BB. Then, the two-year data with SAS/ACCESS view descriptors are read into the program. The RENAME procedure is necessary at this data step because county route might differ in different states. Given a county route, there are 11 possible types of roadway types (RODWYCLS), for example, urban two-lane roads or rural two-lane roads. In order to distinguish the different years of AADT, a designation of “first” or “second” year is appended to AADT. Then, the four subroutines are executed. The interpretation of the subroutines is presented next. Finally, part of the output is shown in the appendices. 1 SAS® MACRO languages could be applied in different ways such as variables, parameters, iterative execution, function, or screen control language [Carpenter, A. 1998]. In this QC program, SAS® MACRO language is primarily used as MACRO variables or a list of variables. MAIN PROGRAM /****************************************/ /* PURPOSE: QUALITY CONTROL PROGRAM */ /* USAGE: AADT PERCENTAGE CHANGE(PC) */ /* BETWEEN ANY TWO-YEAR */ /* PROGRAM NAME: BBMAIN20.SAS */ /* UPDATED DATE: 6-2000 */ /****************************************/ /* INPUT STATE, YEARS, AND FILE TYPE */ %GLOBAL STATE YEAR1 YEAR2 FILE VIEW LIB; %LET STATE=BB; %LET YEAR1=92; %LET YEAR2=94; %LET FILE=ROAD; %LET VIEW=VIEW; %LET LIB="D:\SASDATA\&STATE\VIEW"; LIBNAME &STATE "D:\&STATE"; FILENAME PGM "D:\&STATE"; LIBNAME &STATE&VIEW &LIB; /* READ IN DATA - VIEW DESCRIPTIVE */ DATA &STATE&YEAR1 (KEEP=RODWYCLS CNTYRTE BEGMP ENDMP AADT&YEAR1); SET &STATE&VIEW..&STATE&YEAR1&FILE; RENAME AADT=AADT&YEAR1 CNTY_RTE=CNTYRTE; RUN; DATA &STATE&YEAR2 (KEEP=RODWYCLS CNTYRTE BEGMP ENDMP AADT&YEAR2); SET &STATE&VIEW..&STATE&YEAR2&FILE; RENAME AADT=AADT&YEAR2 CNTY_RTE=CNTYRTE; RUN; /* CALCUATE PERCENTAGE DIFFERENCE BETWEEN 2 YEARS */ %INC PGM (PDIFF20); /* SET UP THE CRITERION FOR OUTLIER */ %INC PGM (QC20); /* OUTPUT VARIABLE FORMAT */ %INC PGM (FORMAT20); /* OUTPUT THE NUMBER OF OUTLIERS AND PRINTOUT THE EXTREME OUTLIER */ %INC PGM (RESULT20); QUIT; CALCULATING THE MEAN AND STANDARD DEVIATION OF PC There are different ways to assess change between any two-time period, e.g., raw change (difference between any two-year AADTs’), standardized change (dividing the raw change by standard deviation), or PC (the percentage of raw change divided by the first year AADT). The AADT change is believed to be proportional to the first year AADT, so the PC is used. We calculated means and standard deviations of the PC within roadway classification, since we felt that the critical difference was within a given roadway type. This was because we would expect major differences in the base variable (AADT) between roadway class (e.g., Interstate road sections would always have much higher average AADT’s than rural two-lane roads). Based on the above reasons, the first step of this subroutine is to merge any 2-year data with roadway type, county route, beginning milepost, and ending milepost (different variables in the HSIS might need different merged variables.). Then, calculate PC and attach the first and second years to the PC (i.e., PDIFF9394 represents PC from 1994 to 1993). List out the variables of the first merged file. Output the mean (M&YEAR1&YEAR2) and standard deviation (STD&YEAR1&YEAR2) of PC by roadway types (by using PROC MEANS). The means and standard deviations of PCs are then merged with the first merged file. /* FILENAME: PDIFF20 */ /* THE EXTERNAL CODE FILE: CALCULATE PC */ PROC SORT DATA=&STATE&YEAR1; BY RODWYCLS CNTYRTE BEGMP ENDMP;RUN; PROC SORT DATA=&STATE&YEAR2; BY RODWYCLS CNTYRTE BEGMP ENDMP;RUN; DATA AADT&YEAR1&YEAR2; MERGE &STATE&YEAR1 &STATE&YEAR2; BY RODWYCLS CNTYRTE BEGMP ENDMP; RUN; DATA AADT&YEAR1&YEAR2; SET AADT&YEAR1&YEAR2; IF AADT&YEAR1 = 0 THEN DELETE; IF AADT&YEAR2 = 0 THEN DELETE; IF AADT&YEAR1=. THEN DELETE; IF AADT&YEAR2=. THEN DELETE; PDIF&YEAR1&YEAR2=(AADT&YEAR2AADT&YEAR1)/AADT&YEAR1*100; RUN; PROC CONTENTS DATA=AADT&YEAR1&YEAR2; TITLE1 "&STATE: COMPARE &YEAR1 WITH &YEAR2"; TITLE2 'CONTENT OF FIRST MERGED FILE'; RUN; PROC MEANS DATA=AADT&YEAR1&YEAR2 NOPRINT; VAR PDIF&YEAR1&YEAR2 ; BY RODWYCLS; OUTPUT OUT=RESULT MEAN=M&YEAR1&YEAR2 STD=STD&YEAR1&YEAR2; RUN; DATA AADT&YEAR1&YEAR2; MERGE AADT&YEAR1&YEAR2 RESULT; BY RODWYCLS ; RUN; SETTING THE CRITERION FOR THE OUTLIER The “outlier” could be defined as being any number of standard deviations away from the mean within any particular roadway type. In this example use, we decided that we only wanted to look at the most extreme outliers (four and five standard deviations away). In other cases, the user could set at any value that is suitable, and modify the criterion in this subroutine. The outliers are calculated in this subroutine using the means and standard deviations within roadway class. The dummy variables are created to signalize the extreme cases. For example, the PC of AADT(PDIFF) is five standard deviations below the mean of PC for a certain roadway type(ADT5L=1). The PC of AADT(PDIFF) is four standard deviations above the mean(ADT4H=1). The first year and second years are again attached to the above variables. /* FILENAME: QC20 */ /* THE EXTERNAL CODE FILE - CRITERION FOR OUTLIERS */ DATA &STATE..AADT&YEAR1&YEAR2; SET AADT&YEAR1&YEAR2; IF PDIF&YEAR1&YEAR2 <= (M&YEAR1&YEAR2 5*STD&YEAR1&YEAR2) THEN ADT5L&YEAR1&YEAR2=1; ELSE ADT5L&YEAR1&YEAR2=0; IF PDIF&YEAR1&YEAR2 <= (M&YEAR1&YEAR2 4*STD&YEAR1&YEAR2) THEN ADT4L&YEAR1&YEAR2=1; ELSE ADT4L&YEAR1&YEAR2=0; IF PDIF&YEAR1&YEAR2 >= (M&YEAR1&YEAR2 + 4*STD&YEAR1&YEAR2) THEN ADT4H&YEAR1&YEAR2=1; ELSE ADT4H&YEAR1&YEAR2=0; IF PDIF&YEAR1&YEAR2 >= (M&YEAR1&YEAR2 + 5*STD&YEAR1&YEAR2) THEN ADT5H&YEAR1&YEAR2=1; ELSE ADT5H&YEAR1&YEAR2=0; RUN; OUTPUTTING FORMAT FOR THE VARIABLES After setting up the criterion, it is logical to format the variables. The PROC FORMAT reads in two formats: roadway class and outliers for AADT. There are 11 types of roadway classification in the HSIS. The sections with outliers are also outputted. For example, the PC of AADT in five standard deviations above the mean will be printed as “SECTIONS WITH PDIF9294>=(MPDIF+5*STDPDIF)” if the format variable, ADT4H, is requested. /* FILENAME: FORMAT20 */ * THE EXTERNAL CODE FILE: FORMAT; PROC FORMAT; VALUE $RODWYCL '01' = 'URBAN FREEWAYS' '02' = 'URBAN FREEWAYS < 4 LN' '03' = 'URBAN 2 LANE ROADS' '04' = 'URBAN MULTILANE DIVIDED NON FREEWAYS' '05' = 'URBAN MULTILANE UNDIVIDED NON FREEWAYS' '06' = 'RURAL FREEWAYS' '07' = 'RURAL FREEWAYS < 4 LN' '08' = 'RURAL 2 LANE ROADS' '09' = 'RURAL MULTILANE DIVIDED NON FREEWAYS' '10' = 'RURAL MULTILANE UNDIVIDED NON FREEWAYS' '99' = 'OTHERS'; VALUE ADT5L 0 = "SECTIONS WITH PDIF&YEAR1&YEAR2> (MPDIF5*STDPDIF)" 1 = "SECTIONS WITH PDIF&YEAR1&YEAR2<=(MPDIF5*STDPDIF)"; VALUE ADT4L 0 = "SECTIONS WITH PDIF&YEAR1&YEAR2> (MPDIF4*STDPDIF)" 1 = "SECTIONS WITH PDIF&YEAR1&YEAR2<=(MPDIF4*STDPDIF)"; VALUE ADT4H 0 = "SECTIONS WITH PDIF&YEAR1&YEAR2< (MPDIF+4*STDPDIF)" 1 = "SECTIONS WITH PDIF&YEAR1&YEAR2>=(MPDIF+4*STDPDIF)"; VALUE ADT5H 0 = "SECTIONS WITH PDIF&YEAR1&YEAR2< (MPDIF+5*STDPDIF)" 1 = "SECTIONS WITH PDIF&YEAR1&YEAR2>=(MPDIF+5*STDPDIF)"; RUN; OUTPUTTING THE NUMBER OF OUTLIERS AND LISTING THE EXTREME OUTLIERS. The final subroutine is to print out the results. The mean and standard deviation of PC for each roadway type are printed out. A macro variable is created to indicate a list of variables for the outliers. The PROC FREQ procedure prints the number of the outliers; PROC PRINT with WHERE statement lists out the cases. Note that the global macro variables are used in the TITLE statement to distinguish year, state, and PC (i.e., &STATE, &YEAR1, &YEAR2, PDIFF&YEAR1&YEAR2), so the repetitive effort is reduced. /* FILENAME: RESULT20 */ /*THE EXTERNAL CODE FILE - THE RESULTS */ %LET GROUP12= ADT5L&YEAR1&YEAR2 ADT4L&YEAR1&YEAR2 ADT4H&YEAR1&YEAR2 ADT5H&YEAR1&YEAR2; PROC MEANS DATA=&STATE..AADT&YEAR1&YEAR2 N MEAN STD; VAR PDIF&YEAR1&YEAR2 ; BY RODWYCLS; FORMAT RODWYCLS $RODWYCL.; TITLE1 "&STATE: COMPARE &YEAR1 WITH &YEAR2"; TITLE2 'MEAN AND STD OF PERCENTAGE DIFFERENCE'; RUN; PROC SORT DATA=&STATE..AADT&YEAR1&YEAR2; BY RODWYCLS; RUN; PROC FREQ DATA=&STATE..AADT&YEAR1&YEAR2; TABLES RODWYCLS*(&GROUP12)/NOPERCENT NOCOL; FORMAT ADT5L&YEAR1&YEAR2 ADT5L. ADT4L&YEAR1&YEAR2 ADT4L. ADT4H&YEAR1&YEAR2 ADT4H. ADT5H&YEAR1&YEAR2 ADT5H. RODWYCLS $RODWYCL.; TITLE1 "&STATE: COMPARE &YEAR1 WITH &YEAR2"; TITLE2 "FREQUENCY ROADWAY BY GROUPING"; RUN; PROC PRINT DATA=&STATE..AADT&YEAR1&YEAR2 ; VAR RODWYCLS CNTYRTE M&YEAR1&YEAR2 STD&YEAR1&YEAR2 AADT&YEAR1 AADT&YEAR2 PDIF&YEAR1&YEAR2; BY RODWYCLS; WHERE ADT5H&YEAR1&YEAR2=1 OR ADT4H&YEAR1&YEAR2=1 OR ADT5L&YEAR1&YEAR2=1 OR ADT4L&YEAR1&YEAR2=1; FORMAT ADT5L&YEAR1&YEAR2 ADT5L. ADT4L&YEAR1&YEAR2 ADT4L. ADT4H&YEAR1&YEAR2 ADT4H. ADT5H&YEAR1&YEAR2 ADT5H. RODWYCLS $RODWYCL.; TITLE1 "&STATE: COMPARE &YEAR1 WITH &YEAR2"; TITLE2 "CASES-OUTLIERS"; RUN; CONCLUSION Given the large databases in the HSIS, this presentation combines the use of macro variables and subroutines to analyze the AADT change in a state given any two years. We find that the effective use of the SAS macro languages could save significant programming effort for repetitive tasks. The subroutines consist of reading data, calculating changes and criterion, outputting the SAS format, and printing the results. This setup allows the analyst to modify the different types of changes and criterion by definition. REFERENCES Carpenter, A. (1998) Carpenter’s Complete Guide to the SAS Macro Language, Cary, NC: SAS Institute Inc. Council, F.M. and Williams, C. D. (1995) Highway Safety Information System Guidebook For the California Data Files, Vol. 1., FHWA, Washington, D.C. Council, F.M. and Williams, C.D. (1996) Highway Safety Information System Guidebook For the Illinois State Files, Vol. 1., FHWA, Washington, D.C. SAS/ACCESS Software for Relational Databases: Reference. (1994) Version 6, First Edition. Whitlock, I. (1999). Getting Started with Macro. Proceedings of NorthEast SAS Users Group, Inc. 12th Annual Conference. Washington, D.C. Zdeb, M.S. (1999). An Introduction to Macro Variables and Macro Programs. Proceedings of NorthEast SAS Users Group, Inc. 12th Annual Conference. Washington, D.C. Acknowledgments This presentation is to address one specific purpose. A few questions have been raised in terms of the breadth of each topics in analytical and programming field (e.g.,how to measure change). Only the basic breadth is applied. The authors are thankful to the Federal Highway Administration for providing the data. This paper reflects solely authors’ point of view. Contact Information Li wan Chen LENDIS Corporation 6300 Georgetown Pike, Rm T-211 McLean, VA 22101 Work Phone: 202-493-3466 Email:[email protected]. APPENDICES - PARTIAL OUTPUT BB: COMPARE 92 WITH 94 CONTENT OF FIRST MERGED FILE The CONTENTS Procedure Data Set Name: Member Type: Engine: Created: Last Modified: Protection: Data Set Type: Label: WORK.AADT9294 DATA V8 16:55 Thursday, June 15, 2000 16:55 Thursday, June 15, 2000 Observations: Variables: Indexes: Observation Length: Deleted Observations: Compressed: Sorted: -----Alphabetic List of Variables and Attributes----# Variable Type Len Pos Format Informat Label ƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒ 3 AADT92 Num 8 16 11. 11. aadt 6 AADT94 Num 8 24 11. 11. aadt 1 BEGMP Num 8 0 BEST22. BEST22. begmp 4 CNTYRTE Char 7 40 $7. $7. cnty_rte 2 ENDMP Num 8 8 BEST22. BEST22. endmp 7 PDIF9294 Num 8 32 5 RODWYCLS Char 2 47 $2. $2. rodwycls 62258 7 0 56 0 NO NO BB: COMPARE 92 WITH 94 MEAN AND STD OF PERCENTAGE DIFFERENCE -------------------------------------------------- rodwycls=URBAN FREEWAYS ---------------------------The MEANS Procedure Analysis Variable : PDIF9294 N Mean Std Dev ƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒ 1375 2.3941314 2.3686341 ƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒ ----------------------------------------------- rodwycls=URBAN FREEWAYS < 4 LN -----------------------Analysis Variable : PDIF9294 N Mean Std Dev ƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒ 64 2.0562667 0.1203551 ƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒ ------------------------------------------------ rodwycls=URBAN 2 LANE ROADS -------------------------Analysis Variable : PDIF9294 N Mean Std Dev ƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒ 8364 2.2748350 12.1223146 ƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒ BB: COMPARE 92 WITH 94 FREQUENCY ROADWAY BY GROUPING The FREQ Procedure Table of RODWYCLS by ADT5L9294 RODWYCLS(rodwycls) Frequency Row Pct ADT5L9294 ‚ ‚SECTIONS‚SECTIONS‚ ‚ WITH PD‚ WITH PD‚ ‚IF9294> ‚IF9294<=‚ ‚(MPDIF-5‚(MPDIF-5‚ ‚*STDPDIF‚*STDPDIF‚ ‚) ‚) ‚ ƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒˆƒƒƒƒƒƒƒƒˆƒƒƒƒƒƒƒƒˆ URBAN FREEWAYS ‚ 1375 ‚ 0 ‚ ‚ 100.00 ‚ 0.00 ‚ ƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒˆƒƒƒƒƒƒƒƒˆƒƒƒƒƒƒƒƒˆ URBAN FREEWAYS < ‚ 64 ‚ 0 ‚ 4 LN ‚ 100.00 ‚ 0.00 ‚ ƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒˆƒƒƒƒƒƒƒƒˆƒƒƒƒƒƒƒƒˆ URBAN 2 LANE ROA ‚ 8364 ‚ 0 ‚ DS ‚ 100.00 ‚ 0.00 ‚ ƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒˆƒƒƒƒƒƒƒƒˆƒƒƒƒƒƒƒƒˆ URBAN MULTILANE ‚ 5963 ‚ 5 ‚ DIVIDED NON FREE ‚ 99.92 ‚ 0.08 ‚ WAYS ‚ ‚ ‚ ƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒˆƒƒƒƒƒƒƒƒˆƒƒƒƒƒƒƒƒˆ URBAN MULTILANE ‚ 1664 ‚ 5 ‚ UNDIVIDED NON FR ‚ 99.70 ‚ 0.30 ‚ EEWAYS ‚ ‚ ‚ ƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒˆƒƒƒƒƒƒƒƒˆƒƒƒƒƒƒƒƒˆ RURAL FREEWAYS ‚ 1172 ‚ 6 ‚ ‚ 99.49 ‚ 0.51 ‚ ƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒˆƒƒƒƒƒƒƒƒˆƒƒƒƒƒƒƒƒˆ Total 62233 25 Total 1375 64 8364 5968 1669 1178 62258 BB: COMPARE 92 WITH 94 CASES-OUTLIERS -------------------------------------------------- rodwycls=URBAN FREEWAYS -----------------------------------------------Obs 58 59 60 RODWYCLS CNTYRTE M9294 STD9294 AADT92 AADT94 PDIF9294 URBAN FREEWAYS URBAN FREEWAYS URBAN FREEWAYS 0161041 0161041 0161041 2.39413 2.39413 2.39413 2.36863 2.36863 2.36863 115920 101262 101262 211071 129659 128696 82.0833 28.0431 27.0921 ------------------------------------------------ rodwycls=URBAN 2 LANE ROADS ---------------------------------------------Obs 2159 2178 2185 2374 2377 2385 2386 2387 2394 3948 4875 4876 4877 4878 4879 RODWYCLS URBAN URBAN URBAN URBAN URBAN URBAN URBAN URBAN URBAN URBAN URBAN URBAN URBAN URBAN URBAN 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 LANE LANE LANE LANE LANE LANE LANE LANE LANE LANE LANE LANE LANE LANE LANE ROADS ROADS ROADS ROADS ROADS ROADS ROADS ROADS ROADS ROADS ROADS ROADS ROADS ROADS ROADS CNTYRTE M9294 STD9294 AADT92 AADT94 PDIF9294 0161041 0165019 0165043 0168076 0168089 0168119 0168119 0168119 0168182 0458103 0498063 0498063 0498063 0498063 0498063 2.27484 2.27484 2.27484 2.27484 2.27484 2.27484 2.27484 2.27484 2.27484 2.27484 2.27484 2.27484 2.27484 2.27484 2.27484 12.1223 12.1223 12.1223 12.1223 12.1223 12.1223 12.1223 12.1223 12.1223 12.1223 12.1223 12.1223 12.1223 12.1223 12.1223 9331 8166 32023 3796 8151 5471 5695 5695 10608 5716 8787 8787 8787 8787 8787 46977 15285 51013 6219 18659 9909 12861 12861 16023 3016 4643 4643 4643 4643 4643 403.451 87.179 59.301 63.830 128.917 81.119 125.830 125.830 51.046 -47.236 -47.161 -47.161 -47.161 -47.161 -47.161