road surface database #56
AlexisGonin
started this conversation in
Project Portfolio
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
-
2025-m1-project-cerema
github_page
1st year Master degree project, done on behalf of the cerema in the context of reflectivity project and under the supervivion of Valérie MUZET.
In this project, I started with Excel tables describing road surfaces and their photometric properties. I made these data more computationally usable by storing them in a mongoDB database. Then I began some analyses on said data.
Report avaliable in latest release
Things that I have done
Overview
I have created a database containing 855 entries describing road surface characteristics. This comprehensive dataset provides detailed information about various road surface properties.
Database Information
You can find the database created in this project in ./data/export.json
Here is an example of one of its entries:
{ "_id": { "$oid": "6835d9ecf65ea15a534a9863" }, "mesure name": "245.0", "country of measurement": "denmark", "type of measure : laboratory / on site": "laboratory", "apparatus used": "danish lighting laboratory gonioreflectometer", "date of measurement": 1973, "contact person name": "kai sørensen", "contact person email": "kai.sorensen@newmail.dk", "type of road surface": "asphalt concrete", "type of sample: manufactured / extracted / on site": "extracted", "granular : type": "37% granite", "granular : size": "2/12 mm", "granular : color": "na", "granular other": "na", "type of binder": "na", "surface treatment": "na", "surface state: dry / moist / wet": "dry", "age of road surface when measured": "2 years", "type of road": "urban road", "type of road : trafic": "3200 cars/hour", "type of road: according to cie 115": "na", "transversal localisation": "6 m from kerbline", "localisation (city)": "na", "name of the road": "na", "is it a largelly used road surface in his type of road today?": "na", "is it innovative, experimental yet?": "na", "picture (if available)": "na", "comments": "na", "α (observation angle) in degree": 1, "qd": 0.081, "q0": 0.096, "s1": 0.5, "r-table (sheet)": "rtab245.0", "general family": "bituminous mixture", "standard type of road surface": "ac", "granular gradation": "2/12", "granular continuity": "na", "binder": "bituminous", "type of surface treatment": "raw", "age of road surface when measured in months": 24, "reflection indicatrix realistic?": "no" },Keys and value
You can find a list of all metadata keys and their values associated in ./data/keys.csv
Example of results
Classic example of spécularity vs age
Verification of the reduction of specularity thanks to surface treatments
Things that you can do
All the source code is avaliable in ./code/notebook.ipynb
Requirements
Run a python environement and install extension in ./requirements.txt
Install MongoDB
Use the notebook.ipynb
Navigate the notebook and take a look at the examples to get familiar with the methods.
Read and manipulate data, quick methods description
To add datas in the database, use the fonction
read_data("data_path")If you want to create a new database with this data, use the argument reset = True
/!\ Make sure that the Excel files you are reading have the correct format, replicate the format in the file ./data/Greek_Database_Formated_Full_Completed.xlsx
Use
get_data(query, key)to select datas that matches the query and its associated keys.Use$f(S1)=Q_0$
b_plot_datas(datas, labels, save)to plot the boxplots andplot_datas(datas, categories, save)to plotUse
divide_by_key(data, key)to divide selected data into different list with each lists being associated to one of the key's unique value (use this before a b_plot_datas).split_data_by_age(data)divides datas in multiple lists each with an preselected age rangeGet infos on the database
Use
write_key()to write in the .csv file all unique keys and their unique values.Use
database_stats()to get some basic statistics about the databaseNavigate the notebook to find more example of usage
Beta Was this translation helpful? Give feedback.
All reactions