Registrering

En registrering gjøres ved å sende ved å sende selve registeringen som en json string til web service.

            
                $.ajax({"
                    "url:"https://api.nve.no/hydrology/regobs/webapi/registration",
                    "type: "post","
                    "contentType: "application/json",
                    "headers: {
                        "regObs_apptoken": "00000000-0000-0000-0000-00000000",
                        "ApiJsonVersion": "3.1.0.38472"
                    },"
                    "data: dataToSend"
                "}).done().fail();
            
            
  • url: kan være https://api.nve.no/hydrology/regobs/webapi/registration for produksjon eller https://api.nve.no/hydrology/demo/regobs/webapi/ for demo.
  • headers:
      regObs_apptoken: en unik id som fås av regObs teamet.
      ApiJsonVersion: hvilken versjon av api'et som brukes.
  • data: selve registrering sendes som en json string. Se her for mer informasjon om oppbygningen av denne strengen.

En registrering består i grove trekk av

  • Type hendelse (snø, is, vann eller jord)
  • Observatør. Dette er en unik id (guid) og kommer fra regObs systemet.
  • Tidspunkt for hendseln
  • Lokasjon
  • Observasjoner/hendelser

I tillegg må det settes en regObs_apptoken. Dette settes som en custom http header med en unik id. Denne id'en lages av regObs-administrator og fås ved forespørsel.

Et eksempel på en http header med apptoken og rett content type er

            
                "headers: {
                            "regObs_apptoken": "00000000-0000-0000-0000-00000000"
                          }
            
            

KDV tabeller

KDV er views i regObs databasen som brukes til å beskrive en hendelse. Disse view'ene inneholder en fremmednøkling som må registreres med en id i registreringsobjektet.

F.eks så må AvalancheTID registreres med en id fra AvalancheKDV tabellen.

                "Snow_AvalancheKDV": [
                            {
                                "Id": 0,
                                "Name": "Ikke gitt"
                            },
                            {
                                "Id": 10,
                                "Name": "Løssnøskred"
                            },
                            {
                                "Id": 20,
                                "Name": "Flakskred"
                            },
                            {
                                "Id": 30,
                                "Name": "Sørpeskred"
                            },
                            {
                                "Id": 40,
                                "Name": "Skavlfall"
                            },
                            {
                                "Id": 99,
                                "Name": "Ukjent"
                            }
                        ]
                    
                

Alle KDV elementene ligger her.


Eksempel på en enkel snø faretegn observasjon

  • GeoHazardTID: Type hendelse
  • ObserverGuid: Observatør
  • DtObsTime: Tidspunkt for registrering
  • ObsLocation: Sted for hendelse
  • DangerObs: Faretegn, med område og beskrivelse

En observasjon i enkleste form trenger bare inneholde ett faretegn (DangerObs). GeoHazardTID og DangerSignTID knyttes mot henholdsvis GeoHazardKDV og DangerSignKDV tabellene.

                    
                        {
                            "Registrations": [
                                {
                                    "GeoHazardTID": 10,
                                    "ObserverGuid": "00000000-0000-0000-0000-000000000000",
                                    "DtObsTime": "2014-03-24T07:58:59.516Z",
                                    "ObsLocation": {
                                        "Latitude": "59,92944",
                                        "Longitude": "10,70746",
                                        "Uncertainty": "100",
                                        "UTMSourceTID": "0"
                                    },
                                    "DangerObs": [
                                        {
                                            "DangerSignTID": "1",
                                            "Comment": "Område: På dette stedet. Beskrivelse: "
                                        }
                                    ]
                                }
                            ]
                        }
                    
                

Eksempel på en registrering med flere skredaktiviteter

  • GeoHazardTID: Type hendelse
  • ObserverGuid: Observatør
  • DtObsTime: Tidspunkt for registrering
  • ObsLocation: Sted for hendelse
  • AvalancheActivityObs: Skredaktivitet

En observasjon kan inneholde ett eller flere skredaktiviteter (AvalancheActivityObs). EstimatedNumTID, DestructiveSizeTID, og AvalancheTID knyttes mot henholdsvis EstimatedNumKDV, DestructiveSizeKDV og AvalancheKDV tabellene.

                    
                        {
                            "Registrations": [
                                {
                                    "GeoHazardTID": 10,
                                    "ObserverGuid": "00000000-0000-0000-0000-000000000000",
                                    "DtObsTime": "2014-03-24T08:30:36.879Z",
                                    "ObsLocation": {
                                        "Latitude": "59,92944",
                                        "Longitude": "10,70746",
                                        "Uncertainty": "100",
                                        "UTMSourceTID": "0"
                                    },
                                    "AvalancheActivityObs": [
                                        {
                                            "Aspect": "1",
                                            "HeigthStartZone": "100",
                                            "DtAvalancheTime": "2014-03-24T07:25:48.824Z",
                                            "EstimatedNumTID": "2",
                                            "DestructiveSizeTID": "1",
                                            "AvalancheTID": "10",
                                            "Comment": "Ett lite skredaktivitet"
                                        },
                                        {
                                            "Aspect": "90",
                                            "HeigthStartZone": "400",
                                            "DtAvalancheTime": "2014-03-24T04:29:58.779Z",
                                            "EstimatedNumTID": "3",
                                            "DestructiveSizeTID": "3",
                                            "AvalancheTID": "20",
                                            "Comment": "Noen større skredaktiviteter"
                                        },
                                        {
                                            "Aspect": "270",
                                            "HeigthStartZone": "1700",
                                            "DtAvalancheTime": "2014-03-24T02:30:28.841Z",
                                            "EstimatedNumTID": "5",
                                            "DestructiveSizeTID": "5",
                                            "AvalancheTID": "40",
                                            "Comment": "Mange større skredaktivitet"
                                        }
                                    ]
                                }
                            ]
                        }
                    
                    

Eksempel på en registrering med flere ulike observasjoner

  • GeoHazardTID: Type hendelse
  • ObserverGuid: Observatør
  • DtObsTime: Tidspunkt for registrering
  • ObsLocation: Sted for hendelse
  • DangerObs: Faretegn
  • AvalancheEvalProblem2: Skredproblem
  • SnowSurfaceObservation: Snødekke

Faretegn og skredproblem kan inneholde flere registreringer, mens snødekke bare kan bare inneholde ett.

                    
                        {
                            "Registrations": [
                                {
                                    "GeoHazardTID": 10,
                                    "ObserverGuid": "00000000-0000-0000-0000-000000000000",
                                    "DtObsTime": "2014-03-24T11:54:55.488Z",
                                    "ObsLocation": {
                                        "Latitude": "59,92944",
                                        "Longitude": "10,70746",
                                        "Uncertainty": "100",
                                        "UTMSourceTID": "0"
                                    },
                                    "DangerObs": [
                                        {
                                            "DangerSignTID": "5",
                                            "Comment": "Område: I denne fjellsiden. Beskrivelse: "
                                        },
                                        {
                                            "DangerSignTID": "3",
                                            "Comment": "Område: I denne fjellsiden. Beskrivelse: "
                                        }
                                    ],
                                    "AvalancheEvalProblem2": [
                                        {
                                            "AvalCauseTID": "13",
                                            "AvalCauseDepthTID": "3",
                                            "AvalCauseAttributes": 1,
                                            "AvalancheExtTID": "20",
                                            "AvalTriggerSimpleTID": "10",
                                            "AvalProbability": "0",
                                            "DestructiveSizeTID": "0",
                                            "ExposedHeightComboTID": 1,
                                            "ExposedHeight1": 0,
                                            "ExposedHeight2": 0,
                                            "ValidExposition": "00000000",
                                            "Comment": ""
                                        }
                                    ],
                                    "SnowSurfaceObservation": {
                                        "SnowDepth": "0.0100",
                                        "NewSnowDepth24": "0.0200",
                                        "NewSnowLine": "1200",
                                        "SnowDriftTID": "2",
                                        "Comment": ""
                                    }
                                }
                            ]
                        }