• Ingen resultater fundet

4. Methodology 31

4.6. Data Preparation

4.6.1. Preparation of RoSy Dataset

In order to get a better understanding of the current road lifetime calculation, we requested more information about RoSy from Sweco, which they refused to support.

Figure 4.4.: Example adding "construktionsname"

ID to each street part. The approach that we chose to assign this ID was to group every entry of the same road name that had overlapping values at either the start or the end of their chainage under the same ID. The naming of those IDs has the following form: Road name -Section - Lane number

Geodata Transformation

Our next step is transforming the geographical data. The data we received from the three different systems RoSy, PUMA and Giv et praj had positioning data from two different geographic coordinate systems. This is because PUMA is an in-house developed solution and RoSy, as well as Giv et praj, have been developed by a third party. Initially, those systems were never intended to be merged. However, in order to combine the data from all three data sets and map the positions of damages to a certain section of a road, it is crucial to transform the coordinates to a unified coordination system. The longitude and latitude data points of acute damages in PUMA are in the coordinate systemEPSG:3857, also known as WGS 84 / Pseudo-Mercator. Reported damages from the Giv et praj database, as well as the line string representations of road sections in the RoSy data, use the coordinate systemEPSG:25832.

Identifying the second coordinate system turned out to be a challenging task since it is not widely used. We identified the system by examining the web code of the application

Københavnerkortet2where the same coordinate encoding is used.

We decided to transform the geo data from RoSy and Giv et praj into theEPSG:3857. The main reason for this decision was that this coordinate system works as de facto standard for most web applications and is used in widely used applications like Google Maps and OpenStreetMap [46]. For the transformation, we used the cartographic projections and coordinate transformations librarypyprojin Python.

Appending Traffic and Pavement Layer data

Next step is to append heavy and daily traffic data provided by the City of Copenhagen.

Similarly to the construktionsname, we add traffic information based on the same road name and the closest chainages. If a road name does not exist, we fill the missing value with the median values of the traffic data, since the median is less affected by outliers than the arithmetic mean. It is noteworthy that the data for daily and heavy traffic are approximated and stay constant over time, which does not reflect reality.

In order to append the pavement layer data, we need to group the data first based on road name and chainages. This is done because we want to append only one, not multiple rows to the corresponding street segment in RoSy. We append the features layer number, thickness of the layer, product of the layer and laid-out date of the layer. During that process, we drop 27 rows of a road called Svineryggen, since layer data of this street does not exist. While working closely with the data, we figured that the only useful information for us is the newest laid out for the top layer and that many other values are missing or unrealistic. Therefore, we try to solve this by removing outliers or missing data and replace them with the mean of the valid data.

Add length, area and calculate costs to renew the street segment

After adding traffic and pavement data, we define the length of each street part as the difference between the chainages. Our assumption is that this difference is measured in meters in order to calculate area and costs. Part of the data provided by the city are two tables about ancillary costs and product lifetime and prices. The table with the ancillary costs

2https://kbhkort.kk.dk/spatialmap?, accessed 19.03.2020

also includes information about the width of a street. Based on the type of the street which we determine through the "construktionsname", we calculate the area of all street segments in square meters by multiplying the street length times the street width. For the few street parts with the construktionsname of "0. Not defined" we assume that they have the same road width as local roads. This assumption is based on their respective road class values which are mostly local roads. The price for completely renewing a road is determined by the area of the road segment times the corresponding prices per square meter in the product lifetime and prices table, plus the corresponding ancillary costs per meter times the street length.

coststotal = area∗costsProductPrices+length∗costsancillary

Similarly to the area, we treat roads with a non-defined construktionsname as local roads and calculate the costs with the appropriate price per square meter.

Normalizing Damages

To better compare the quality of different street parts, we decide to normalize the damages.

All damages are measured in square meters. Only large cracks are measured in meters. We calculate the coverage percentage of the damages between 0 and 1 based on the corresponding area or length.

damagenormalized = damageabsolut area

Calculating remaining Lifetime and respective PCI

To answer our first research question, we need to assign each road segment a pavement condition index (PCI) to describe the road quality. Our approach to calculate a pavement condition index is to rate streets with a high remaining lifetime with a PCI of 100 (excellent quality, no reparation needed), while a street which - according to RoSy - is overdue to be fixed, is rated with a PCI of 0 (poor quality, needs urgent repairs). In order to do so, we take the residual lifetime calculation from RoSy as our ground truth because data covering when streets are fixed, is missing. We calculate the remaining lifetime as the difference between the date of the update and the residual lifetime. This remaining lifetime is transformed into

a scale between 0 and 100 in the next step. We assign all roads with a negative remaining lifetime a PCI of 0. Thus, it means that the road should have been fixed already. All roads with a remaining lifetime of greater than ten years are considered as perfectly fine and are therefore assigned a PCI of 100. All streets with a remaining lifetime between 0 and 3650 days are scaled accordingly.

PCI= RemainingLi f etime

3650 ∗100