Giter Club home page Giter Club logo

goraninora's Introduction

icongora

GoraNiNora

GoraNiNora je aplikacija za mobilne naprave Android in je bila razvita v okviru diplomske naloge. Namenjena je vsem, ki se pozimi odpravljajo v gore. Glavni namen aplikacije je pošiljanje in prikaz kontekstno odvisnih sporočil. Do datoteke APK lahko dostopate preko povezave.

Kako deluje?

Aplikacija za zaznavanje konteksta uporabi lokacijo uporabnika ter trenutno vreme in plazovni bilten. Za pridobivanje podrobnosti o nadmorski višini, naklonu in usmerjenosti pobočja uporablja ArcGis API, vremensko napoved pridobi od ARSO vreme in plazovni bilten od ARSO plazovi.

Spodnja tabela prikazuje podatke, ki so na voljo za zaznavanje konteksta.

Podatek Opis
Nadmorska višina Višina v m nad morjem
Lokacija Območje, kjer se nahajamo
Telesna dejavnost uporabnika Telesna dejavnost, ki jo uporabnik izvaja: hoja ali mirovanje
Naklon Naklon pobočja v stopinjah °
Ekspozicija Usmerjenost pobočja v stopinjah (0° do 360°)
Temperatura Temperatura odvisna od nadmorske višine
Veter Hitrost vetra odvisna od nadmorske višine
Vreme Oblačnost, vremenski pojav in intenzivnost padavin
Problem Plazovni problem v snežni odeji (vsi možni plazovni problemi)
Vzorec Značilni plazovni vzorci (vsi možni plazovni vzorci)
Nevarnost Stopnja plazovne nevarnosti od 1 do 5

Pravila

Pravila opisujejo, kateri pogoji morajo veljati, da uporabniku aplikacija prikaže določeno opozorilo. Pravila so določena v mapi Assets v datoteki rules.json.

{
    "aspect": "<Usmerjenost pobočja>",
    "min_slope": "<Najmanjši naklon>",
    "max_slope": "<Največji naklon>",
    "elevation_min": "<Najmanjša nadmorska višina>",
    "elevation_max": "<Največja nadmorska višina>",
    "hour_min": "<Ura med hour_min in hour_max>",
    "hour_max": "<Ura med hour_min in hour_max>",
    "user_hiking": "<True označuje trenutno opozorilo, false označuje splošno opozorilo.>",
    "av_area_id": "<ID območja>",
    "notification_name": "<Ime opozorila>",
    "notification_text": "<Opis opozorila>",
    "weather_descriptions": [
      {
        "day_delay": "<Zamik v dnevih za vremensko napoved>",
        "temp_avg_min": "<Spodnja meja za povprečno temperaturo>",
        "temp_avg_max": "<Zgornja meja za povprečno temperaturo>",
        "hour_min": "<Vremenska napoved od ure hour_min do hour_max>",
        "hour_max": "<Vremenska napoved od ure hour_min do hour_max>",
        "oblacnost": "<Vrsta oblačnosti>",
        "vremenski_pojav": "<Vremenski pojav>",
        "intenzivnost": "<Intenzivnost padavin>",
        "elevation": "<Temperatura na nadmorski višini>"
      }
    ],
    "problems": [
      {
        "problem_id": "<ID problema>",
        "day_delay": "<Zamik v dnevih za plazovni problem, ki mora biti prisoten>",
        "hour_min": "<Plazovni problem prisoten od ure hour_min do hour_max>",
        "hour_max": "<Plazovni problem prisoten od ure hour_min do hour_max>",
        "check_elevation": "<Preveri, če se uporabnik nahaja na nadmorski višini, na kateri je prisoten plazovni problem>"
      }
    ],
    "patterns": [
      {
         "pattern_id": "<ID plazovnega vzorca>",
         "day_delay": "<Zamik v dnevih za plazovni vzorec, ki mora biti prisoten>",
         "hour_min": "<Plazovni vzorec prisoten od ure hour_min do hour_max>",
         "hour_max": "<Plazovni vzorec prisoten od ure hour_min do hour_max>",
         "check_elevation": "<Preveri, če se uporabnik nahaja na nadmorski višini, na kateri je prisoten plazovni vzorec>"
      }
    ],
    "dangers": [
      {
         "value": "<Stopnja plazovne nevarnosti>",
         "day_delay": "<Zamik v dnevih od trenutnega dne za plazovno nevarnost, ki mora biti prisotna.>",
         "am": "<True dopoldne oz. false popoldne.>"
      }
    ]
  }

Samodejno pošiljanje opozoril

Aplikacija s pomočjo senzorjev samodejno zazna hojo, in v primeru, da se uporabnik nahaja v hribih, vklopi pošiljanje trenutnih opozoril. Če aplikacija samodejno ne zazna hoje v hribe, lahko uporabnik še vedno ročno vključi pošiljanje trenutnih opozoril.

Razlika med splošnimi in trenutnimi opozorili?

S splošnimi opozorili želimo uporabnika vnaprej opozoriti na različne situacije v gorah. Trenutna opozorila pa so namenjena, da se uporabniku prikažejo, ko se ta nahaja v hribih in je aplikacija zaznala nevarno situacijo.

Uporabniški vmesnik

  1. Navodila

    • navodila za uporabo aplikacije
  1. Zgodovina

    • omogoča pregled nad opozorili starejšimi od enega dne
  2. Opozorila

    • omogoča pregled trenutnih in splošnih opozoril trenutnega dne
    • filtriranje splošnih opozoril glede na izbrano območje
    • vklop in izkop hoje v hribe
    • klik na opozorilo odpre okno, kjer je bolj podrobno opisano opozorilo
  3. Nastavitve

    • omogoča vklop in izklop varčevanja z energijo
    • omogoča potrditev dovoljenj

screenshot

goraninora's People

Contributors

dv6526 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.