Beste,
Elke hybride auto's (lees toyota e.d.) is ook geclassificieerd met brandstof elektrisch terwijl deze niet extern oplaadbaar is. Niet echt handig.
Later is er ook een veld extern oplaadbaar bijgekomen om onderscheid te maken in de plug in hybrides.
Ik houd het e.e.a. bij op mijn site.
Al zie ik dat op dit moment het na iets van een half jaar weer stuk is, wellicht heeft dat te maken met wijzigingen in de data set welke Jasper melde.
Ik heb een blacklist met elk kenteken voor < 2010 zodat ik deze kan skippen ivm geheugen gebruik
Daarna parse ik de brandstof soort tabel tot een array met kenteken als key.
Het kenteken gaat naar een array met integer als sleutel, want minder geheugen gebruik later.
Dit kost circa 4GB RAM en slaat deze op als een serialized data dump die ik later weer kan importeren.
Daarna ga ik registraties parsen voor de verschillende typen voertuig.
Enkel als er maar 1 brandstof soort is, en deze ook elektrisch is eindigt deze in de elektrische voertuigen categorie in mijn stats.
Wordt meteen overgeslagen in het parsen.
Heeft het meer dan 1 dan is het benzine, diesel of want anders.
De accu grote is een best effort product want het zit niet in de OpenData of ergens anders, en is ook niet makkelijk af te leiden behalve voertuig gewicht of bouw datum. Aan de hand van oplaadtijd is een beetje kansloos om af te leiden. Misser van de decennia. Tevens moet ik deze handmatig per model/uitvoering opvoeren, en dat is al even niet gebeurd.
Daarnaast moet er nog best wel wat data genormaliseerd worden, ivm import en vrije tekst invoer.
Dit kost nog eens 4GB aan RAM samen met de 4 voor de brandstoffen, maar de parse tijd is redelijk, dit is met een paar minuten gebeurd.
Dan komt er JSON uit, dat gaat naar de site en daar maak ik met Charts.js wat grafiekjes.
File is recent, not downloading
File is recent, not downloading
real 0m1,815s
user 0m0,490s
sys 0m0,095s
Skipping blacklisted registrations
Start parsing fuel records: 1M. 2M. 3M. 4M. 5M. 6M. 7M. 8M. 7865225 records
Memory usage: 4466MB, Peak: 4466MB
Write frecords json file Error code 'No error'
Write reg id serialize file Finished parsing fuel reg data
Write fuelsc json file Error code 'No error'
Array
(
[Benzine] => 5503577
[Diesel] => 1951356
[LPG] => 46038
[Elektriciteit] => 346131
[CNG] => 14351
[LNG] => 1093
[Waterstof] => 585
[Alcohol] => 64
[] => 0
[Niet geregistreerd] => 0
)
Memory usage 4466MB
Memory peak usage 4649MB
real 0m53,765s
user 0m48,027s
sys 0m4,956s
Creating stats for Personenauto
Last on file is 20211114 1636844400, yesterday is 20211120 1637362800
Memory usage: 1MB, Peak: 1MB
Import reg id serialize: 7865225
Memory usage: 881MB, Peak: 1132MB
Import frecords serialize: 7865225
Memory usage: 4021MB, Peak: 4329MB
Start parsen data van RDW: 10k. 20k. 30k. 40k. 50k. 60k. 70k. 80k. 90k. 100k. 110k. 120k. 130k. 140k. 150k. 160k. 170k. 180k. 190k. 200k. 210k. 220k. 226022 registration records
Creating Stats array: 10k. 20k. 30k. 40k. 50k. 60k. 70k. 80k. 90k. 100k. 110k. 120k. 130k. 140k. 150k. 160k. 170k. 180k. 190k. 200k. 210k. 220k. 226020 records
array (
0 => 'NIRO',
1 => 'POLESTAR 2',
2 => 'EV6',
3 => 'ID.4 PRO 150 KW',
4 => 'MUSTANG MACH-E',
5 => 'IONIQ5',
6 => 'ENYAQ 60',
7 => 'Q4 40 E-TRON',
8 => 'IX3',
9 => 'ENYAQ 80',
10 => 'E208',
11 => 'EQA 250',
12 => 'E2008',
13 => 'Q4 35 E-TRON',
14 => 'ID.3 PRO 107 KW',
15 => 'ID.3 PRO 150 KW',
16 => 'XC40',
17 => 'COOPER SE',
18 => 'IONIQ',
19 => 'ID.3 PURE 110 KW',
20 => 'ID.4 PURE 109 KW',
21 => 'ID.3 PRO S 150 KW',
22 => 'SPRING',
23 => 'Other',
)Write json file 'stats.json' Error code 'No error'
real 1m21,031s
user 1m16,948s
sys 0m3,620s
Met vriendelijke groet,
Seth