Stap 6: verslag
De statische rapportgeneratie was in de vorm van een PDF-bestand, met gegevenspunten die zijn uitgezet op een kaart, vergelijkende volgens categorie aan de bovenkant, en een samenvattende tabel (die fungeert een legende) op de bodem. Aangezien de gegevens opname-interval groter dan de gebeurtenis polling is, is het normaal dat items aan meerdere objecten gelegen. Deze worden vertegenwoordigd door proportioneel grotere cirkels op de kaart.
Ik was nieuwsgierig om te spelen met matplotlib basiskaart pakket, aangezien ik nooit de gelegenheid gehad om geografische gegevens uitzetten. Op het einde, was ik geïntrigeerd door alle opties voor projecties dat basiskaart aangeboden, maar deze kwamen met sommige inflexibiliteit voor de hoogte-breedteverhouding van de plot, en uiteindelijk was niet de moeite waard als de kaart was zeer ingezoomde, die betrekking hebben op een kleine reeks van lengte- en breedtegraad. Ten slotte uitgezet ik gewoon de coördinaten op een conventionele rechthoekig raster. Basiskaart heeft een aantal handige functies in tekening kustlijnen, etc, maar deze zijn niet zichtbaar als het geografische gebied te klein is.
Uiteindelijk zou ik graag willen kunnen om overlay van de gegevenspunten op de kaart, zoals van OpenStreetMap. De OSM web-interfaces biedt de mogelijkheid om een kaart met opgegeven breedtegraad en lengtegraad extents zien te downloaden, maar ik kon niet bedenken hoe om een script van een dergelijke operatie, zoals de website van OSM vereist interactie met een script op haar site. In de tussentijd, ik pakte een groot genoeg gebied van Google Maps, en dan hadden mijn script bijsnijden van de afbeelding overeenkomt met de lengte & breedte omvang van de gegevens.
De zijkant percelen afzonderlijk uit de gegevens voor temperatuur, hoogte, helderheid en geluidsniveau, en plot ze tegen standpunt. Zie de tweede figuur, waar ze hebben verwijderd van de belangrijkste plot en uitgebreid voor de duidelijkheid. Temperatuur, hoogte, aantal satellieten en een histogram van gebeurtenissen worden uitgezet tegen de tijd in de onderste grafiek.
De volledige code voor de grafische samenvatting generatie is gekoppeld hieronder.