Boatplotter – mijn eerste Python project

Hello World
GPS Visualizer map

This map was created using GPS Visualizer's do-it-yourself geographic utilities.

Please wait while the map data loads...

In mijn zoektocht om mij verder te ontwikkelen in data-analyse kwam ik mezelf tegen. Ik had data nodig, heel veel data en dan het liefst een datastroom die maar door bleef gaan en ook van mijzelf was. Deze data heb ik gewoon in huis, in een prachtig compact klein computertje stroomt de hele dag door data binnen over het actuele weer, welke lampen er branden, het stroomverbruik, gasverbruik en wat al niet meer.

Echter de data is gegoten in bijzondere dataformaten waar ik niet veel mee kon... Kon inderdaad, want ik wist dat dit een belemmering zou worden in mijn verdere ontwikkeling tot Data-Analyst / Data-Engineer, want dat is wat ik eigenlijk wil gaan worden. Ja, ik ben bezig mijzelf om te scholen.

Via Coursera kwam ik uit bij de University van Michigan waar Charles Severance de cursus Python for Everybody geeft. In de afgelopen paar maanden heb ik mij hierin verdiept en iedere opdracht gemaakt, ieder deelcertificaat gehaald en uiteindelijk word je uitgedaagd om je eigen data-analyse opdracht uit te voeren. Je kunt hierbij gebruik maken van beschikbare data die online voor je is verzameld, of zoals ik dat doe: eigen data online verzamelen. Dit is onderdeel van het Honours-programma van de cursus Python. Voor het volledige traject heb ik dan ook ook het certificaat behaald. Ik ben er erg trots op.

Boatplotter

Mijn idee was dan ook om boten te volgen in Nederland. Een aantal boten die ik ken, maar nu ook alle Reddingboten van de KNRM. Hiervoor maak ik gebruik van een beschikbare API. Met een script kan ik aangeven welke boten ik wil volgen, door het invoeren van MMSI-nummers. Dit script controleert of het MMSI-nummer al in de eigen SQLite3 database staat, zoniet dan voegt deze toe. Een 2e script houdt al deze boten in de gaten en haalt relevante data op, zoals de naam van de boot, de afmetingen, de acuele locatie en snelheid en verwerkt deze weer in de database.

Een 3e script verwerkt alle data vanuit de database in een XML welke gebruikt kan worden voor het creëren van een tracking op de kaart. Deze kaart is niet heel slim, want er zit geen filter op voor data. Wellicht dat dit nog komt, maar dat valt buiten dit Python project.

To do

Op dit moment wordt alle data opgeslagen in een SQLite3 database. Dit terwijl ik een goede MariaDB SQL server actief heb. Dit wordt nog omgebouwd, tevens zijn er dan ook meer mogelijkheden beschikbaar voor Queries.

Tevens wordt de XML nu nog handmatig opgebouwd, ik wil dit gaan omzetten naar XML Elementree in combinatie met BeautifullSoup. Hierdoor wordt de kans op fouten in de XML een stuk kleiner gemaakt.

KNRM - voorspellingen

Op dit moment worden alle reddingsboten van de KNRM gevolgd, tenminste als deze AIS aan boord hebben. Ik wil uiteindelijk de afvaarten gaan combineren van weerdata om zo wat meer voorspellingen te kunnen gaan maken en wellicht mensen actief te gaan waarschuwen.

Toekomst

Er is nog erg veel mogelijk met het Boatplotter-project en ik ga het dan ook niet met rust laten. Maar nu eerst verder met het maken van scripts om mijn eigen data te kunnen inlezen en te analyseren.

MMSI data Python - script
Python-script dat om MMSI nummers vraagt en verwerkt in de database
Boat-position Python - script
Python-script welke de gegevens via een API binnenhaalt over alle boten en dit verwerkt in de database
Map-XML
Map XML is een Python script wat alle data verwerkt in een XML file voor visualisatie

Geef als eerste een reactie

Geef een reactie

Uw e-mailadres wordt niet gepubliceerd.