comparison pkg/soap/nts/service.go @ 1637:dd31be75ce6d

Implemented gauge measurement import.
author Raimund Renkert <raimund.renkert@intevation.de>
date Thu, 20 Dec 2018 12:06:37 +0100
parents
children 423a18913d0e
comparison
equal deleted inserted replaced
1636:37ee25bc2bbe 1637:dd31be75ce6d
1 // This is Free Software under GNU Affero General Public License v >= 3.0
2 // without warranty, see README.md and license for details.
3 //
4 // SPDX-License-Identifier: AGPL-3.0-or-later
5 // License-Filename: LICENSES/AGPL-3.0.txt
6 //
7 // Copyright (C) 2018 by via donau
8 // – Österreichische Wasserstraßen-Gesellschaft mbH
9 // Software engineering by Intevation GmbH
10 //
11 // Author(s):
12 // * Raimund Renkert <raimund.renkert@intevation.de>
13
14 package nts
15
16 import (
17 "crypto/tls"
18 "encoding/xml"
19 "time"
20
21 "gemma.intevation.de/gemma/pkg/soap"
22 )
23
24 // against "unused imports"
25 var _ time.Time
26 var _ xml.Name
27
28 type Message_type_type string
29
30 const (
31 Message_type_typeFTM Message_type_type = "FTM"
32
33 Message_type_typeWRM Message_type_type = "WRM"
34
35 Message_type_typeICEM Message_type_type = "ICEM"
36
37 Message_type_typeWERM Message_type_type = "WERM"
38 )
39
40 type Error_code_type string
41
42 type NonNegativeInteger uint
43
44 type GYear uint
45
46 type Duration string
47
48 const (
49
50 // Description: message type not supported, Explanation: web service does not support the requested message type
51 Error_code_typeE010 Error_code_type = "e010"
52
53 // Description: paging parameters inconsistent with messages, Explanation: parameters for paging mechanism do not fit the available messages, e.g. Offset >= Total Count
54 Error_code_typeE030 Error_code_type = "e030"
55
56 // Description: syntax error in request, Explanation: request violates the schema for requests
57 Error_code_typeE100 Error_code_type = "e100"
58
59 // Description: incorrect message type, Explanation: given message type is not known
60 Error_code_typeE110 Error_code_type = "e110"
61
62 // Description: incorrect type-specific parameters, Explanation: type-specific parameters are erroneous
63 Error_code_typeE120 Error_code_type = "e120"
64
65 // Description: incorrect paging parameters, Explanation: given parameters for the paging mechanism are erroneous
66 Error_code_typeE130 Error_code_type = "e130"
67
68 // Description: operation not known, Explanation: the requested operation is unknown
69 Error_code_typeE200 Error_code_type = "e200"
70
71 // Description: data source unavailable, Explanation: data source of the web service for the NtS data is temporarily unavailable
72 Error_code_typeE300 Error_code_type = "e300"
73
74 // Description: too many results for request, Explanation: server is unable to handle number of results
75 Error_code_typeE310 Error_code_type = "e310"
76 )
77
78 type Get_messages_query struct {
79 XMLName xml.Name `xml:"http://www.ris.eu/nts.ms/2.0.4.0 get_messages_query"`
80
81 Message_type *Message_type_type `xml:"http://www.ris.eu/nts.ms/2.0.4.0 message_type,omitempty"`
82
83 Ids []*Id_pair `xml:"ids,omitempty"`
84
85 Validity_period *Validity_period_type `xml:"validity_period,omitempty"`
86
87 Dates_issue []*Date_pair `xml:"dates_issue,omitempty"`
88
89 Paging_request *Paging_request_type `xml:"paging_request,omitempty"`
90 }
91
92 type Get_messages_result struct {
93 XMLName xml.Name `xml:"http://www.ris.eu/nts.ms/2.0.4.0 get_messages_result"`
94
95 Result_message []*RIS_Message_Type `xml:"result_message,omitempty"`
96
97 Result_error []*Error_code_type `xml:"result_error,omitempty"`
98
99 Paging_result *Paging_result_type `xml:"paging_result,omitempty"`
100 }
101
102 type Id_pair struct {
103 XMLName xml.Name `xml:"http://www.ris.eu/nts.ms/2.0.4.0 ids"`
104
105 Id *Isrs_code_type `xml:"http://www.ris.eu/nts.ms/2.0.4.0 id,omitempty"`
106 }
107
108 type Date_pair struct {
109 XMLName xml.Name `xml:"http://www.ris.eu/nts/4.0.4.0 date_pair"`
110
111 Date_start time.Time `xml:"date_start,omitempty"`
112
113 Date_end time.Time `xml:"date_end,omitempty"`
114 }
115
116 type Paging_request_type struct {
117 XMLName xml.Name `xml:"http://www.ris.eu/nts/4.0.4.0 paging_request"`
118
119 Offset *NonNegativeInteger `xml:"offset,omitempty"`
120
121 Limit *NonNegativeInteger `xml:"limit,omitempty"`
122
123 Total_count bool `xml:"total_count,omitempty"`
124 }
125
126 type Paging_result_type struct {
127 XMLName xml.Name `xml:"http://www.ris.eu/nts/4.0.4.0 paging_result"`
128
129 Offset *NonNegativeInteger `xml:"offset,omitempty"`
130
131 Count *NonNegativeInteger `xml:"count,omitempty"`
132
133 Total_count *NonNegativeInteger `xml:"total_count,omitempty"`
134 }
135
136 type Country_code_enum string
137
138 const (
139 Country_code_enumAT Country_code_enum = "AT"
140
141 Country_code_enumBE Country_code_enum = "BE"
142
143 Country_code_enumBG Country_code_enum = "BG"
144
145 Country_code_enumCH Country_code_enum = "CH"
146
147 Country_code_enumCY Country_code_enum = "CY"
148
149 Country_code_enumCZ Country_code_enum = "CZ"
150
151 Country_code_enumDE Country_code_enum = "DE"
152
153 Country_code_enumDK Country_code_enum = "DK"
154
155 Country_code_enumEE Country_code_enum = "EE"
156
157 Country_code_enumES Country_code_enum = "ES"
158
159 Country_code_enumFI Country_code_enum = "FI"
160
161 Country_code_enumFR Country_code_enum = "FR"
162
163 Country_code_enumGB Country_code_enum = "GB"
164
165 Country_code_enumGR Country_code_enum = "GR"
166
167 Country_code_enumHR Country_code_enum = "HR"
168
169 Country_code_enumHU Country_code_enum = "HU"
170
171 Country_code_enumIE Country_code_enum = "IE"
172
173 Country_code_enumIT Country_code_enum = "IT"
174
175 Country_code_enumLT Country_code_enum = "LT"
176
177 Country_code_enumLU Country_code_enum = "LU"
178
179 Country_code_enumLV Country_code_enum = "LV"
180
181 Country_code_enumMD Country_code_enum = "MD"
182
183 Country_code_enumME Country_code_enum = "ME"
184
185 Country_code_enumMT Country_code_enum = "MT"
186
187 Country_code_enumNL Country_code_enum = "NL"
188
189 Country_code_enumPL Country_code_enum = "PL"
190
191 Country_code_enumPT Country_code_enum = "PT"
192
193 Country_code_enumRO Country_code_enum = "RO"
194
195 Country_code_enumRS Country_code_enum = "RS"
196
197 Country_code_enumSE Country_code_enum = "SE"
198
199 Country_code_enumSI Country_code_enum = "SI"
200
201 Country_code_enumSK Country_code_enum = "SK"
202
203 Country_code_enumRU Country_code_enum = "RU"
204
205 Country_code_enumUA Country_code_enum = "UA"
206 )
207
208 type Language_code_enum string
209
210 const (
211 Language_code_enumDE Language_code_enum = "DE"
212
213 Language_code_enumEN Language_code_enum = "EN"
214
215 Language_code_enumFR Language_code_enum = "FR"
216
217 Language_code_enumNL Language_code_enum = "NL"
218
219 Language_code_enumSK Language_code_enum = "SK"
220
221 Language_code_enumHU Language_code_enum = "HU"
222
223 Language_code_enumHR Language_code_enum = "HR"
224
225 Language_code_enumSR Language_code_enum = "SR"
226
227 Language_code_enumBG Language_code_enum = "BG"
228
229 Language_code_enumRO Language_code_enum = "RO"
230
231 Language_code_enumRU Language_code_enum = "RU"
232
233 Language_code_enumCS Language_code_enum = "CS"
234
235 Language_code_enumPL Language_code_enum = "PL"
236
237 Language_code_enumPT Language_code_enum = "PT"
238
239 Language_code_enumES Language_code_enum = "ES"
240
241 Language_code_enumSV Language_code_enum = "SV"
242
243 Language_code_enumFI Language_code_enum = "FI"
244
245 Language_code_enumDA Language_code_enum = "DA"
246
247 Language_code_enumET Language_code_enum = "ET"
248
249 Language_code_enumLV Language_code_enum = "LV"
250
251 Language_code_enumLT Language_code_enum = "LT"
252
253 Language_code_enumIT Language_code_enum = "IT"
254
255 Language_code_enumMT Language_code_enum = "MT"
256
257 Language_code_enumEL Language_code_enum = "EL"
258
259 Language_code_enumSL Language_code_enum = "SL"
260 )
261
262 type Subject_code_enum string
263
264 const (
265 Subject_code_enumANNOUN Subject_code_enum = "ANNOUN"
266
267 Subject_code_enumWARNIN Subject_code_enum = "WARNIN"
268
269 Subject_code_enumCANCEL Subject_code_enum = "CANCEL"
270
271 Subject_code_enumINFSER Subject_code_enum = "INFSER"
272
273 Subject_code_enumOBSTRU Subject_code_enum = "OBSTRU"
274
275 Subject_code_enumPAROBS Subject_code_enum = "PAROBS"
276
277 Subject_code_enumDELAY Subject_code_enum = "DELAY"
278
279 Subject_code_enumVESLEN Subject_code_enum = "VESLEN"
280
281 Subject_code_enumVESHEI Subject_code_enum = "VESHEI"
282
283 Subject_code_enumVESBRE Subject_code_enum = "VESBRE"
284
285 Subject_code_enumVESDRA Subject_code_enum = "VESDRA"
286
287 Subject_code_enumAVALEN Subject_code_enum = "AVALEN"
288
289 Subject_code_enumCLEHEI Subject_code_enum = "CLEHEI"
290
291 Subject_code_enumCLEWID Subject_code_enum = "CLEWID"
292
293 Subject_code_enumAVADEP Subject_code_enum = "AVADEP"
294
295 Subject_code_enumNOMOOR Subject_code_enum = "NOMOOR"
296
297 Subject_code_enumSERVIC Subject_code_enum = "SERVIC"
298
299 Subject_code_enumNOSERV Subject_code_enum = "NOSERV"
300
301 Subject_code_enumSPEED Subject_code_enum = "SPEED"
302
303 Subject_code_enumWAVWAS Subject_code_enum = "WAVWAS"
304
305 Subject_code_enumPASSIN Subject_code_enum = "PASSIN"
306
307 Subject_code_enumANCHOR Subject_code_enum = "ANCHOR"
308
309 Subject_code_enumOVRTAK Subject_code_enum = "OVRTAK"
310
311 Subject_code_enumMINPWR Subject_code_enum = "MINPWR"
312
313 Subject_code_enumDREDGE Subject_code_enum = "DREDGE"
314
315 Subject_code_enumWORK Subject_code_enum = "WORK"
316
317 Subject_code_enumEVENT Subject_code_enum = "EVENT"
318
319 Subject_code_enumCHGMAR Subject_code_enum = "CHGMAR"
320
321 Subject_code_enumCHGSER Subject_code_enum = "CHGSER"
322
323 Subject_code_enumSPCMAR Subject_code_enum = "SPCMAR"
324
325 Subject_code_enumEXERC Subject_code_enum = "EXERC"
326
327 Subject_code_enumLEADEP Subject_code_enum = "LEADEP"
328
329 Subject_code_enumLEVDEC Subject_code_enum = "LEVDEC"
330
331 Subject_code_enumLEVRIS Subject_code_enum = "LEVRIS"
332
333 Subject_code_enumLIMITA Subject_code_enum = "LIMITA"
334
335 Subject_code_enumMISECH Subject_code_enum = "MISECH"
336
337 Subject_code_enumECDISU Subject_code_enum = "ECDISU"
338
339 Subject_code_enumNEWOBJ Subject_code_enum = "NEWOBJ"
340
341 Subject_code_enumCHWWY Subject_code_enum = "CHWWY"
342
343 Subject_code_enumCONWWY Subject_code_enum = "CONWWY"
344
345 Subject_code_enumDIVER Subject_code_enum = "DIVER"
346
347 Subject_code_enumSPECTR Subject_code_enum = "SPECTR"
348
349 Subject_code_enumLOCRUL Subject_code_enum = "LOCRUL"
350
351 Subject_code_enumVHFCOV Subject_code_enum = "VHFCOV"
352
353 Subject_code_enumHIGVOL Subject_code_enum = "HIGVOL"
354
355 Subject_code_enumTURNIN Subject_code_enum = "TURNIN"
356
357 Subject_code_enumCONBRE Subject_code_enum = "CONBRE"
358
359 Subject_code_enumCONLEN Subject_code_enum = "CONLEN"
360
361 Subject_code_enumREMOBJ Subject_code_enum = "REMOBJ"
362 )
363
364 type Reason_code_enum string
365
366 const (
367 Reason_code_enumEVENT Reason_code_enum = "EVENT"
368
369 Reason_code_enumWORK Reason_code_enum = "WORK"
370
371 Reason_code_enumDREDGE Reason_code_enum = "DREDGE"
372
373 Reason_code_enumEXERC Reason_code_enum = "EXERC"
374
375 Reason_code_enumHIGWAT Reason_code_enum = "HIGWAT"
376
377 Reason_code_enumHIWAI Reason_code_enum = "HIWAI"
378
379 Reason_code_enumHIWAII Reason_code_enum = "HIWAII"
380
381 Reason_code_enumLOWWAT Reason_code_enum = "LOWWAT"
382
383 Reason_code_enumSHALLO Reason_code_enum = "SHALLO"
384
385 Reason_code_enumCALAMI Reason_code_enum = "CALAMI"
386
387 Reason_code_enumLAUNCH Reason_code_enum = "LAUNCH"
388
389 Reason_code_enumDECLEV Reason_code_enum = "DECLEV"
390
391 Reason_code_enumFLOMEA Reason_code_enum = "FLOMEA"
392
393 Reason_code_enumBLDWRK Reason_code_enum = "BLDWRK"
394
395 Reason_code_enumREPAIR Reason_code_enum = "REPAIR"
396
397 Reason_code_enumINSPEC Reason_code_enum = "INSPEC"
398
399 Reason_code_enumFIRWRK Reason_code_enum = "FIRWRK"
400
401 Reason_code_enumLIMITA Reason_code_enum = "LIMITA"
402
403 Reason_code_enumCHGFWY Reason_code_enum = "CHGFWY"
404
405 Reason_code_enumCONSTR Reason_code_enum = "CONSTR"
406
407 Reason_code_enumDIVING Reason_code_enum = "DIVING"
408
409 Reason_code_enumSPECTR Reason_code_enum = "SPECTR"
410
411 Reason_code_enumEXT Reason_code_enum = "EXT"
412
413 Reason_code_enumMIN Reason_code_enum = "MIN"
414
415 Reason_code_enumSOUND Reason_code_enum = "SOUND"
416
417 Reason_code_enumOTHER Reason_code_enum = "OTHER"
418
419 Reason_code_enumSTRIKE Reason_code_enum = "STRIKE"
420
421 Reason_code_enumFLOMAT Reason_code_enum = "FLOMAT"
422
423 Reason_code_enumEXPLOS Reason_code_enum = "EXPLOS"
424
425 Reason_code_enumICE Reason_code_enum = "ICE"
426
427 Reason_code_enumOBSTAC Reason_code_enum = "OBSTAC"
428
429 Reason_code_enumCHGMAR Reason_code_enum = "CHGMAR"
430
431 Reason_code_enumDAMMAR Reason_code_enum = "DAMMAR"
432
433 Reason_code_enumFALMAT Reason_code_enum = "FALMAT"
434
435 Reason_code_enumMISECH Reason_code_enum = "MISECH"
436
437 Reason_code_enumHEARIS Reason_code_enum = "HEARIS"
438
439 Reason_code_enumHIGVOL Reason_code_enum = "HIGVOL"
440
441 Reason_code_enumECDISU Reason_code_enum = "ECDISU"
442
443 Reason_code_enumLOCRUL Reason_code_enum = "LOCRUL"
444
445 Reason_code_enumNEWOBJ Reason_code_enum = "NEWOBJ"
446
447 Reason_code_enumOBUNWA Reason_code_enum = "OBUNWA"
448
449 Reason_code_enumVHFCOV Reason_code_enum = "VHFCOV"
450
451 Reason_code_enumREMOBJ Reason_code_enum = "REMOBJ"
452
453 Reason_code_enumLEVRIS Reason_code_enum = "LEVRIS"
454
455 Reason_code_enumSPCMAR Reason_code_enum = "SPCMAR"
456
457 Reason_code_enumWERMCO Reason_code_enum = "WERMCO"
458
459 Reason_code_enumINFSER Reason_code_enum = "INFSER"
460 )
461
462 type Reporting_code_enum string
463
464 const (
465 Reporting_code_enumINF Reporting_code_enum = "INF"
466
467 Reporting_code_enumADD Reporting_code_enum = "ADD"
468
469 Reporting_code_enumREG Reporting_code_enum = "REG"
470 )
471
472 type Communication_code_enum string
473
474 const (
475 Communication_code_enumTE Communication_code_enum = "TE"
476
477 Communication_code_enumAP Communication_code_enum = "AP"
478
479 Communication_code_enumEM Communication_code_enum = "EM"
480
481 Communication_code_enumAH Communication_code_enum = "AH"
482
483 Communication_code_enumTT Communication_code_enum = "TT"
484
485 Communication_code_enumFX Communication_code_enum = "FX"
486
487 Communication_code_enumLS Communication_code_enum = "LS"
488
489 Communication_code_enumFS Communication_code_enum = "FS"
490
491 Communication_code_enumSO Communication_code_enum = "SO"
492
493 Communication_code_enumEI Communication_code_enum = "EI"
494 )
495
496 type Measure_code_enum string
497
498 const (
499 Measure_code_enumDIS Measure_code_enum = "DIS"
500
501 Measure_code_enumREG Measure_code_enum = "REG"
502
503 Measure_code_enumBAR Measure_code_enum = "BAR"
504
505 Measure_code_enumVER Measure_code_enum = "VER"
506
507 Measure_code_enumLSD Measure_code_enum = "LSD"
508
509 Measure_code_enumWAL Measure_code_enum = "WAL"
510
511 Measure_code_enumNOM Measure_code_enum = "NOM"
512 )
513
514 type Barrage_code_enum string
515
516 const (
517 Barrage_code_enumCLD Barrage_code_enum = "CLD"
518
519 Barrage_code_enumOPG Barrage_code_enum = "OPG"
520
521 Barrage_code_enumCLG Barrage_code_enum = "CLG"
522
523 Barrage_code_enumOPD Barrage_code_enum = "OPD"
524
525 Barrage_code_enumOPN Barrage_code_enum = "OPN"
526 )
527
528 type Regime_code_enum string
529
530 const (
531 Regime_code_enumNO Regime_code_enum = "NO"
532
533 Regime_code_enumHI Regime_code_enum = "HI"
534
535 Regime_code_enumII Regime_code_enum = "II"
536
537 Regime_code_enumI Regime_code_enum = "I"
538
539 Regime_code_enumNN Regime_code_enum = "NN"
540
541 Regime_code_enumLO Regime_code_enum = "LO"
542 )
543
544 type Ice_condition_code_enum string
545
546 const (
547 Ice_condition_code_enumA Ice_condition_code_enum = "A"
548
549 Ice_condition_code_enumB Ice_condition_code_enum = "B"
550
551 Ice_condition_code_enumC Ice_condition_code_enum = "C"
552
553 Ice_condition_code_enumD Ice_condition_code_enum = "D"
554
555 Ice_condition_code_enumE Ice_condition_code_enum = "E"
556
557 Ice_condition_code_enumF Ice_condition_code_enum = "F"
558
559 Ice_condition_code_enumG Ice_condition_code_enum = "G"
560
561 Ice_condition_code_enumH Ice_condition_code_enum = "H"
562
563 Ice_condition_code_enumK Ice_condition_code_enum = "K"
564
565 Ice_condition_code_enumL Ice_condition_code_enum = "L"
566
567 Ice_condition_code_enumM Ice_condition_code_enum = "M"
568
569 Ice_condition_code_enumP Ice_condition_code_enum = "P"
570
571 Ice_condition_code_enumR Ice_condition_code_enum = "R"
572
573 Ice_condition_code_enumS Ice_condition_code_enum = "S"
574
575 Ice_condition_code_enumU Ice_condition_code_enum = "U"
576
577 Ice_condition_code_enumO Ice_condition_code_enum = "O"
578
579 Ice_condition_code_enumV Ice_condition_code_enum = "V"
580 )
581
582 type Ice_accessibility_code_enum string
583
584 const (
585 Ice_accessibility_code_enumA Ice_accessibility_code_enum = "A"
586
587 Ice_accessibility_code_enumB Ice_accessibility_code_enum = "B"
588
589 Ice_accessibility_code_enumF Ice_accessibility_code_enum = "F"
590
591 Ice_accessibility_code_enumL Ice_accessibility_code_enum = "L"
592
593 Ice_accessibility_code_enumC Ice_accessibility_code_enum = "C"
594
595 Ice_accessibility_code_enumD Ice_accessibility_code_enum = "D"
596
597 Ice_accessibility_code_enumE Ice_accessibility_code_enum = "E"
598
599 Ice_accessibility_code_enumG Ice_accessibility_code_enum = "G"
600
601 Ice_accessibility_code_enumH Ice_accessibility_code_enum = "H"
602
603 Ice_accessibility_code_enumM Ice_accessibility_code_enum = "M"
604
605 Ice_accessibility_code_enumK Ice_accessibility_code_enum = "K"
606
607 Ice_accessibility_code_enumT Ice_accessibility_code_enum = "T"
608
609 Ice_accessibility_code_enumP Ice_accessibility_code_enum = "P"
610
611 Ice_accessibility_code_enumV Ice_accessibility_code_enum = "V"
612
613 Ice_accessibility_code_enumX Ice_accessibility_code_enum = "X"
614 )
615
616 type Ice_classification_code_enum string
617
618 const (
619 Ice_classification_code_enumA Ice_classification_code_enum = "A"
620
621 Ice_classification_code_enumB Ice_classification_code_enum = "B"
622
623 Ice_classification_code_enumC Ice_classification_code_enum = "C"
624
625 Ice_classification_code_enumD Ice_classification_code_enum = "D"
626
627 Ice_classification_code_enumE Ice_classification_code_enum = "E"
628 )
629
630 type Ice_situation_code_enum string
631
632 const (
633 Ice_situation_code_enumNOL Ice_situation_code_enum = "NOL"
634
635 Ice_situation_code_enumLIM Ice_situation_code_enum = "LIM"
636
637 Ice_situation_code_enumNON Ice_situation_code_enum = "NON"
638 )
639
640 type Weather_class_code_enum string
641
642 const (
643 Weather_class_code_enumCLR Weather_class_code_enum = "CLR"
644
645 Weather_class_code_enumCLDY Weather_class_code_enum = "CLDY"
646
647 Weather_class_code_enumOCST Weather_class_code_enum = "OCST"
648
649 Weather_class_code_enumDZZL Weather_class_code_enum = "DZZL"
650
651 Weather_class_code_enumRAIN Weather_class_code_enum = "RAIN"
652
653 Weather_class_code_enumLRAIN Weather_class_code_enum = "LRAIN"
654
655 Weather_class_code_enumORAIN Weather_class_code_enum = "ORAIN"
656
657 Weather_class_code_enumHRAIN Weather_class_code_enum = "HRAIN"
658
659 Weather_class_code_enumSLEET Weather_class_code_enum = "SLEET"
660
661 Weather_class_code_enumSNOW Weather_class_code_enum = "SNOW"
662
663 Weather_class_code_enumSNFALL Weather_class_code_enum = "SNFALL"
664
665 Weather_class_code_enumHAIL Weather_class_code_enum = "HAIL"
666
667 Weather_class_code_enumSHWRS Weather_class_code_enum = "SHWRS"
668
669 Weather_class_code_enumTHSTRM Weather_class_code_enum = "THSTRM"
670
671 Weather_class_code_enumHAZY Weather_class_code_enum = "HAZY"
672
673 Weather_class_code_enumFOG Weather_class_code_enum = "FOG"
674
675 Weather_class_code_enumFOGPAT Weather_class_code_enum = "FOGPAT"
676
677 Weather_class_code_enumGALE Weather_class_code_enum = "GALE"
678
679 Weather_class_code_enumSTRM Weather_class_code_enum = "STRM"
680
681 Weather_class_code_enumHURRC Weather_class_code_enum = "HURRC"
682
683 Weather_class_code_enumFZRA Weather_class_code_enum = "FZRA"
684 )
685
686 type Weather_item_code_enum string
687
688 const (
689 Weather_item_code_enumWI Weather_item_code_enum = "WI"
690
691 Weather_item_code_enumWA Weather_item_code_enum = "WA"
692
693 Weather_item_code_enumFG Weather_item_code_enum = "FG"
694
695 Weather_item_code_enumRN Weather_item_code_enum = "RN"
696
697 Weather_item_code_enumSN Weather_item_code_enum = "SN"
698
699 Weather_item_code_enumAT Weather_item_code_enum = "AT"
700
701 Weather_item_code_enumWT Weather_item_code_enum = "WT"
702 )
703
704 type Weather_category_code_enum string
705
706 const (
707 Weather_category_code_enum0 Weather_category_code_enum = "0"
708
709 Weather_category_code_enum1 Weather_category_code_enum = "1"
710
711 Weather_category_code_enum2 Weather_category_code_enum = "2"
712
713 Weather_category_code_enum3 Weather_category_code_enum = "3"
714
715 Weather_category_code_enum4 Weather_category_code_enum = "4"
716
717 Weather_category_code_enum5 Weather_category_code_enum = "5"
718
719 Weather_category_code_enum6 Weather_category_code_enum = "6"
720
721 Weather_category_code_enum7 Weather_category_code_enum = "7"
722
723 Weather_category_code_enum8 Weather_category_code_enum = "8"
724
725 Weather_category_code_enum9 Weather_category_code_enum = "9"
726
727 Weather_category_code_enum10 Weather_category_code_enum = "10"
728
729 Weather_category_code_enum11 Weather_category_code_enum = "11"
730
731 Weather_category_code_enum12 Weather_category_code_enum = "12"
732
733 Weather_category_code_enum13 Weather_category_code_enum = "13"
734
735 Weather_category_code_enum14 Weather_category_code_enum = "14"
736
737 Weather_category_code_enum15 Weather_category_code_enum = "15"
738
739 Weather_category_code_enum16 Weather_category_code_enum = "16"
740
741 Weather_category_code_enum17 Weather_category_code_enum = "17"
742
743 Weather_category_code_enum18 Weather_category_code_enum = "18"
744
745 Weather_category_code_enum19 Weather_category_code_enum = "19"
746
747 Weather_category_code_enum20 Weather_category_code_enum = "20"
748
749 Weather_category_code_enum21 Weather_category_code_enum = "21"
750
751 Weather_category_code_enum22 Weather_category_code_enum = "22"
752 )
753
754 type Weather_direction_code_enum string
755
756 const (
757 Weather_direction_code_enumN Weather_direction_code_enum = "N"
758
759 Weather_direction_code_enumNE Weather_direction_code_enum = "NE"
760
761 Weather_direction_code_enumE Weather_direction_code_enum = "E"
762
763 Weather_direction_code_enumSE Weather_direction_code_enum = "SE"
764
765 Weather_direction_code_enumS Weather_direction_code_enum = "S"
766
767 Weather_direction_code_enumSW Weather_direction_code_enum = "SW"
768
769 Weather_direction_code_enumW Weather_direction_code_enum = "W"
770
771 Weather_direction_code_enumNW Weather_direction_code_enum = "NW"
772
773 Weather_direction_code_enumWRB Weather_direction_code_enum = "WRB"
774 )
775
776 // Internal ID - best practice: global unique identifier
777 type Internal_id_type string
778
779 // ISRS location code, unique identification of the geo object as defined in RIS Index encoding guide
780 type Isrs_code_type string
781
782 type Type_code_enum string
783
784 const (
785 Type_code_enumRIV Type_code_enum = "RIV"
786
787 Type_code_enumCAN Type_code_enum = "CAN"
788
789 Type_code_enumLAK Type_code_enum = "LAK"
790
791 Type_code_enumFWY Type_code_enum = "FWY"
792
793 Type_code_enumLCK Type_code_enum = "LCK"
794
795 Type_code_enumBRI Type_code_enum = "BRI"
796
797 Type_code_enumRMP Type_code_enum = "RMP"
798
799 Type_code_enumBAR Type_code_enum = "BAR"
800
801 Type_code_enumBNK Type_code_enum = "BNK"
802
803 Type_code_enumGAU Type_code_enum = "GAU"
804
805 Type_code_enumBUO Type_code_enum = "BUO"
806
807 Type_code_enumBEA Type_code_enum = "BEA"
808
809 Type_code_enumANC Type_code_enum = "ANC"
810
811 Type_code_enumBER Type_code_enum = "BER"
812
813 Type_code_enumMOO Type_code_enum = "MOO"
814
815 Type_code_enumTER Type_code_enum = "TER"
816
817 Type_code_enumHAR Type_code_enum = "HAR"
818
819 Type_code_enumFDO Type_code_enum = "FDO"
820
821 Type_code_enumCAB Type_code_enum = "CAB"
822
823 Type_code_enumFER Type_code_enum = "FER"
824
825 Type_code_enumPIP Type_code_enum = "PIP"
826
827 Type_code_enumPPO Type_code_enum = "PPO"
828
829 Type_code_enumHFA Type_code_enum = "HFA"
830
831 Type_code_enumHMO Type_code_enum = "HMO"
832
833 Type_code_enumSHY Type_code_enum = "SHY"
834
835 Type_code_enumREF Type_code_enum = "REF"
836
837 Type_code_enumMAR Type_code_enum = "MAR"
838
839 Type_code_enumLIG Type_code_enum = "LIG"
840
841 Type_code_enumSIG Type_code_enum = "SIG"
842
843 Type_code_enumTUR Type_code_enum = "TUR"
844
845 Type_code_enumCBR Type_code_enum = "CBR"
846
847 Type_code_enumTUN Type_code_enum = "TUN"
848
849 Type_code_enumBCO Type_code_enum = "BCO"
850
851 Type_code_enumREP Type_code_enum = "REP"
852
853 Type_code_enumFLO Type_code_enum = "FLO"
854
855 Type_code_enumSLI Type_code_enum = "SLI"
856
857 Type_code_enumDUK Type_code_enum = "DUK"
858
859 Type_code_enumVTC Type_code_enum = "VTC"
860
861 Type_code_enumRES Type_code_enum = "RES"
862
863 Type_code_enumLKB Type_code_enum = "LKB"
864
865 Type_code_enumBRO Type_code_enum = "BRO"
866
867 Type_code_enumBNS Type_code_enum = "BNS"
868 )
869
870 type Interval_code_enum string
871
872 const (
873 Interval_code_enumCON Interval_code_enum = "CON"
874
875 Interval_code_enumDAY Interval_code_enum = "DAY"
876
877 Interval_code_enumWRK Interval_code_enum = "WRK"
878
879 Interval_code_enumWKN Interval_code_enum = "WKN"
880
881 Interval_code_enumSUN Interval_code_enum = "SUN"
882
883 Interval_code_enumMON Interval_code_enum = "MON"
884
885 Interval_code_enumTUE Interval_code_enum = "TUE"
886
887 Interval_code_enumWED Interval_code_enum = "WED"
888
889 Interval_code_enumTHU Interval_code_enum = "THU"
890
891 Interval_code_enumFRI Interval_code_enum = "FRI"
892
893 Interval_code_enumSAT Interval_code_enum = "SAT"
894
895 Interval_code_enumDTI Interval_code_enum = "DTI"
896
897 Interval_code_enumNTI Interval_code_enum = "NTI"
898
899 Interval_code_enumRVI Interval_code_enum = "RVI"
900
901 Interval_code_enumEXC Interval_code_enum = "EXC"
902
903 Interval_code_enumWRD Interval_code_enum = "WRD"
904 )
905
906 type Limitation_code_enum string
907
908 const (
909 Limitation_code_enumOBSTRU Limitation_code_enum = "OBSTRU"
910
911 Limitation_code_enumPAROBS Limitation_code_enum = "PAROBS"
912
913 Limitation_code_enumDELAY Limitation_code_enum = "DELAY"
914
915 Limitation_code_enumVESLEN Limitation_code_enum = "VESLEN"
916
917 Limitation_code_enumVESHEI Limitation_code_enum = "VESHEI"
918
919 Limitation_code_enumVESBRE Limitation_code_enum = "VESBRE"
920
921 Limitation_code_enumVESDRA Limitation_code_enum = "VESDRA"
922
923 Limitation_code_enumAVALEN Limitation_code_enum = "AVALEN"
924
925 Limitation_code_enumCLEHEI Limitation_code_enum = "CLEHEI"
926
927 Limitation_code_enumCLEWID Limitation_code_enum = "CLEWID"
928
929 Limitation_code_enumAVADEP Limitation_code_enum = "AVADEP"
930
931 Limitation_code_enumNOMOOR Limitation_code_enum = "NOMOOR"
932
933 Limitation_code_enumSERVIC Limitation_code_enum = "SERVIC"
934
935 Limitation_code_enumNOSERV Limitation_code_enum = "NOSERV"
936
937 Limitation_code_enumSPEED Limitation_code_enum = "SPEED"
938
939 Limitation_code_enumWAVWAS Limitation_code_enum = "WAVWAS"
940
941 Limitation_code_enumPASSIN Limitation_code_enum = "PASSIN"
942
943 Limitation_code_enumANCHOR Limitation_code_enum = "ANCHOR"
944
945 Limitation_code_enumOVRTAK Limitation_code_enum = "OVRTAK"
946
947 Limitation_code_enumMINPWR Limitation_code_enum = "MINPWR"
948
949 Limitation_code_enumALTER Limitation_code_enum = "ALTER"
950
951 Limitation_code_enumCAUTIO Limitation_code_enum = "CAUTIO"
952
953 Limitation_code_enumNOLIM Limitation_code_enum = "NOLIM"
954
955 Limitation_code_enumTURNIN Limitation_code_enum = "TURNIN"
956
957 Limitation_code_enumNOSHORE Limitation_code_enum = "NOSHORE"
958
959 Limitation_code_enumCONBRE Limitation_code_enum = "CONBRE"
960
961 Limitation_code_enumCONLEN Limitation_code_enum = "CONLEN"
962
963 Limitation_code_enumLEADEP Limitation_code_enum = "LEADEP"
964
965 Limitation_code_enumNOBERT Limitation_code_enum = "NOBERT"
966 )
967
968 type Position_code_enum string
969
970 const (
971 Position_code_enumAL Position_code_enum = "AL"
972
973 Position_code_enumLE Position_code_enum = "LE"
974
975 Position_code_enumMI Position_code_enum = "MI"
976
977 Position_code_enumRI Position_code_enum = "RI"
978
979 Position_code_enumLB Position_code_enum = "LB"
980
981 Position_code_enumRB Position_code_enum = "RB"
982
983 Position_code_enumN Position_code_enum = "N"
984
985 Position_code_enumNE Position_code_enum = "NE"
986
987 Position_code_enumE Position_code_enum = "E"
988
989 Position_code_enumSE Position_code_enum = "SE"
990
991 Position_code_enumS Position_code_enum = "S"
992
993 Position_code_enumSW Position_code_enum = "SW"
994
995 Position_code_enumW Position_code_enum = "W"
996
997 Position_code_enumNW Position_code_enum = "NW"
998
999 Position_code_enumBI Position_code_enum = "BI"
1000
1001 Position_code_enumSM Position_code_enum = "SM"
1002
1003 Position_code_enumOL Position_code_enum = "OL"
1004
1005 Position_code_enumEW Position_code_enum = "EW"
1006
1007 Position_code_enumMP Position_code_enum = "MP"
1008
1009 Position_code_enumFP Position_code_enum = "FP"
1010
1011 Position_code_enumVA Position_code_enum = "VA"
1012
1013 Position_code_enumRY Position_code_enum = "RY"
1014
1015 Position_code_enumGY Position_code_enum = "GY"
1016 )
1017
1018 type Reference_code_enum string
1019
1020 const (
1021 Reference_code_enumNAP Reference_code_enum = "NAP"
1022
1023 Reference_code_enumKP Reference_code_enum = "KP"
1024
1025 Reference_code_enumFZP Reference_code_enum = "FZP"
1026
1027 Reference_code_enumADR Reference_code_enum = "ADR"
1028
1029 Reference_code_enumTAW Reference_code_enum = "TAW"
1030
1031 Reference_code_enumPUL Reference_code_enum = "PUL"
1032
1033 Reference_code_enumNGM Reference_code_enum = "NGM"
1034
1035 Reference_code_enumETRS Reference_code_enum = "ETRS"
1036
1037 Reference_code_enumPOT Reference_code_enum = "POT"
1038
1039 Reference_code_enumLDC Reference_code_enum = "LDC"
1040
1041 Reference_code_enumHDC Reference_code_enum = "HDC"
1042
1043 Reference_code_enumZPG Reference_code_enum = "ZPG"
1044
1045 Reference_code_enumGLW Reference_code_enum = "GLW"
1046
1047 Reference_code_enumHSW Reference_code_enum = "HSW"
1048
1049 Reference_code_enumLNW Reference_code_enum = "LNW"
1050
1051 Reference_code_enumHNW Reference_code_enum = "HNW"
1052
1053 Reference_code_enumIGN Reference_code_enum = "IGN"
1054
1055 Reference_code_enumWGS Reference_code_enum = "WGS"
1056
1057 Reference_code_enumRN Reference_code_enum = "RN"
1058
1059 Reference_code_enumHBO Reference_code_enum = "HBO"
1060 )
1061
1062 type Indication_code_enum string
1063
1064 const (
1065 Indication_code_enumMAX Indication_code_enum = "MAX"
1066
1067 Indication_code_enumMIN Indication_code_enum = "MIN"
1068
1069 Indication_code_enumRED Indication_code_enum = "RED"
1070 )
1071
1072 type Target_group_code_enum string
1073
1074 const (
1075 Target_group_code_enumALL Target_group_code_enum = "ALL"
1076
1077 Target_group_code_enumCDG Target_group_code_enum = "CDG"
1078
1079 Target_group_code_enumCOM Target_group_code_enum = "COM"
1080
1081 Target_group_code_enumPAX Target_group_code_enum = "PAX"
1082
1083 Target_group_code_enumPLE Target_group_code_enum = "PLE"
1084
1085 Target_group_code_enumCNV Target_group_code_enum = "CNV"
1086
1087 Target_group_code_enumPUS Target_group_code_enum = "PUS"
1088
1089 Target_group_code_enumNNU Target_group_code_enum = "NNU"
1090
1091 Target_group_code_enumLOA Target_group_code_enum = "LOA"
1092
1093 Target_group_code_enumSMA Target_group_code_enum = "SMA"
1094
1095 Target_group_code_enumCND Target_group_code_enum = "CND"
1096
1097 Target_group_code_enumWOC Target_group_code_enum = "WOC"
1098
1099 Target_group_code_enumMOV Target_group_code_enum = "MOV"
1100
1101 Target_group_code_enumNMV Target_group_code_enum = "NMV"
1102 )
1103
1104 type Direction_code_enum string
1105
1106 const (
1107 Direction_code_enumALL Direction_code_enum = "ALL"
1108
1109 Direction_code_enumUPS Direction_code_enum = "UPS"
1110
1111 Direction_code_enumDWN Direction_code_enum = "DWN"
1112 )
1113
1114 type Unit_enum string
1115
1116 const (
1117 Unit_enumCm Unit_enum = "cm"
1118
1119 Unit_enumM3s Unit_enum = "m³/s"
1120
1121 Unit_enumH Unit_enum = "h"
1122
1123 Unit_enumKmh Unit_enum = "km/h"
1124
1125 Unit_enumKW Unit_enum = "kW"
1126
1127 Unit_enumMs Unit_enum = "m/s"
1128
1129 Unit_enumMmh Unit_enum = "mm/h"
1130
1131 Unit_enumC Unit_enum = "°C"
1132 )
1133
1134 type RIS_Message_Type struct {
1135 XMLName xml.Name `xml:"http://www.ris.eu/nts.ms/2.0.4.0 result_message"`
1136
1137 // Identification section
1138 Identification *Identification_type `xml:"identification,omitempty"`
1139
1140 // Fairway and traffic related section
1141 Ftm []*Ftm_type `xml:"ftm,omitempty"`
1142
1143 // Water related section
1144 Wrm []*Wrm_type `xml:"wrm,omitempty"`
1145
1146 // Ice related section
1147 Icem []*Icem_type `xml:"icem,omitempty"`
1148
1149 // Weather related section
1150 Werm []*Werm_type `xml:"werm,omitempty"`
1151 }
1152
1153 type Identification_type struct {
1154 XMLName xml.Name `xml:"http://www.ris.eu/nts/4.0.4.0 identification"`
1155
1156 // Internal ID
1157 Internal_id *Internal_id_type `xml:"internal_id,omitempty"`
1158
1159 // Sender (System) of the message
1160 From string `xml:"from,omitempty"`
1161
1162 // Originator (initiator) of the information in this message
1163 Originator string `xml:"originator,omitempty"`
1164
1165 // Country where message is valid
1166 Country_code *Country_code_enum `xml:"country_code,omitempty"`
1167
1168 // Original language used in the textual info. (contents)
1169 Language_code *Language_code_enum `xml:"language_code,omitempty"`
1170
1171 // District / Region within the specified country, where the message is applicable
1172 District string `xml:"district,omitempty"`
1173
1174 // Date and time of publication including time zone
1175 Date_issue time.Time `xml:"date_issue,omitempty"`
1176 }
1177
1178 type Ftm_type struct {
1179 XMLName xml.Name `xml:"http://www.ris.eu/nts/4.0.4.0 ftm_type"`
1180
1181 // Internal ID
1182 Internal_id *Internal_id_type `xml:"internal_id,omitempty"`
1183
1184 // NtS Number
1185 Nts_number *Nts_number_type `xml:"nts_number,omitempty"`
1186
1187 // Target group information
1188 Target_group []*Target_group_type `xml:"target_group,omitempty"`
1189
1190 // Subject code must contain one of the following: Announcement (ANNOUN), Warning (WARNIN), Notice withdrawn (CANCEL) or Information service (INFSER). More information on the use of codes can be found in the NtS Encoding Guide.
1191 Subject_code *Subject_code_enum `xml:"subject_code,omitempty"`
1192
1193 // Overall period of validity
1194 Validity_period *Validity_period_type `xml:"validity_period,omitempty"`
1195
1196 // Additional information in local language
1197 Contents string `xml:"contents,omitempty"`
1198
1199 // Notice source (name of authority)
1200 Source string `xml:"source,omitempty"`
1201
1202 // Reason / justification of the notice
1203 Reason_code *Reason_code_enum `xml:"reason_code,omitempty"`
1204
1205 // Communication channel information
1206 Communication []*Communication_type `xml:"communication,omitempty"`
1207
1208 // Fairway section
1209 Fairway_section *Fairway_section_type `xml:"fairway_section,omitempty"`
1210
1211 // Object section
1212 Object *Object_type `xml:"object,omitempty"`
1213 }
1214
1215 type Communication_type struct {
1216 XMLName xml.Name `xml:"http://www.ris.eu/nts/4.0.4.0 communication_type"`
1217
1218 // Reporting regime (information, or duty to report)
1219 Reporting_code *Reporting_code_enum `xml:"reporting_code,omitempty"`
1220
1221 // Communication code (telephone, VHF etc.)
1222 Communication_code *Communication_code_enum `xml:"communication_code,omitempty"`
1223
1224 // Telephone, VHF number (including callsign), e-mail address, URL or teletext
1225 Number string `xml:"number,omitempty"`
1226
1227 // Name of the attachment or additional information
1228 Label string `xml:"label,omitempty"`
1229
1230 // Additional remarks concerning the communication
1231 Remark string `xml:"remark,omitempty"`
1232 }
1233
1234 type Object_type struct {
1235 XMLName xml.Name `xml:"http://www.ris.eu/nts/4.0.4.0 object_type"`
1236
1237 // Geo Information of object
1238 Geo_object *Geo_object_type `xml:"geo_object,omitempty"`
1239
1240 // Object limitation section
1241 Limitation []*Limitation_type `xml:"limitation,omitempty"`
1242 }
1243
1244 type Wrm_type struct {
1245 XMLName xml.Name `xml:"http://www.ris.eu/nts/4.0.4.0 wrm"`
1246
1247 // Internal ID
1248 Internal_id *Internal_id_type `xml:"internal_id,omitempty"`
1249
1250 // NtS Number
1251 Nts_number *Nts_number_type `xml:"nts_number,omitempty"`
1252
1253 // Overall period of validity
1254 Validity_period *Validity_period_type `xml:"validity_period,omitempty"`
1255
1256 // Object section
1257 Geo_object *Geo_object_type `xml:"geo_object,omitempty"`
1258
1259 // Value reference (measurement reference)
1260 Reference_code *Reference_code_enum `xml:"reference_code,omitempty"`
1261
1262 // Measurements (normal or predicted values)
1263 Measure []*Measure_type `xml:"measure,omitempty"`
1264 }
1265
1266 type Measure_type struct {
1267 XMLName xml.Name `xml:"http://www.ris.eu/nts/4.0.4.0 measure"`
1268
1269 // Predicted measurement (1 or true) or real measurement (0 or false)
1270 Predicted bool `xml:"predicted,omitempty"`
1271
1272 // Kind of water related information
1273 Measure_code *Measure_code_enum `xml:"measure_code,omitempty"`
1274
1275 // Measured or predicted value
1276 Value float32 `xml:"value,omitempty"`
1277
1278 // Lowest value of confidence interval
1279 Value_min float32 `xml:"value_min,omitempty"`
1280
1281 // Highest value of confidence interval
1282 Value_max float32 `xml:"value_max,omitempty"`
1283
1284 // Unit of the water related value
1285 Unit *Unit_enum `xml:"unit,omitempty"`
1286
1287 // Barrage status
1288 Barrage_code *Barrage_code_enum `xml:"barrage_code,omitempty"`
1289
1290 // Regime applicable
1291 Regime_code *Regime_code_enum `xml:"regime_code,omitempty"`
1292
1293 // Date and Time of measurement or predicted value including time zone
1294 Measuredate time.Time `xml:"measuredate,omitempty"`
1295
1296 // Difference with comparative value
1297 Difference *Difference_type `xml:"difference,omitempty"`
1298 }
1299
1300 type Difference_type struct {
1301 XMLName xml.Name `xml:"http://www.ris.eu/nts/4.0.4.0 difference"`
1302
1303 // Difference with comparative value
1304 Value_difference float32 `xml:"value_difference,omitempty"`
1305
1306 // Time difference with measuredata of comparative measurement
1307 Time_difference *Duration `xml:"time_difference,omitempty"`
1308 }
1309
1310 type Icem_type struct {
1311 XMLName xml.Name `xml:"http://www.ris.eu/nts/4.0.4.0 icem_type"`
1312
1313 // Internal ID
1314 Internal_id *Internal_id_type `xml:"internal_id,omitempty"`
1315
1316 // NtS Number
1317 Nts_number *Nts_number_type `xml:"nts_number,omitempty"`
1318
1319 // Overall period of validity
1320 Validity_period *Validity_period_type `xml:"validity_period,omitempty"`
1321
1322 // Fairway section - the limitation inside the fairway section cannot be used in the ICEM
1323 Fairway_section *Fairway_section_type `xml:"fairway_section,omitempty"`
1324
1325 // Ice conditions
1326 Ice_condition []*Ice_condition_type `xml:"ice_condition,omitempty"`
1327 }
1328
1329 type Ice_condition_type struct {
1330 XMLName xml.Name `xml:"http://www.ris.eu/nts/4.0.4.0 ice_condition_type"`
1331
1332 // Date and Time of measurement or prediction including time zone
1333 Measuredate time.Time `xml:"measuredate,omitempty"`
1334
1335 // Condition code
1336 Ice_condition_code *Ice_condition_code_enum `xml:"ice_condition_code,omitempty"`
1337
1338 // Accessibility code
1339 Ice_accessibility_code *Ice_accessibility_code_enum `xml:"ice_accessibility_code,omitempty"`
1340
1341 // Classification code
1342 Ice_classification_code *Ice_classification_code_enum `xml:"ice_classification_code,omitempty"`
1343
1344 // Situation code
1345 Ice_situation_code *Ice_situation_code_enum `xml:"ice_situation_code,omitempty"`
1346 }
1347
1348 type Werm_type struct {
1349 XMLName xml.Name `xml:"http://www.ris.eu/nts/4.0.4.0 werm_type"`
1350
1351 // Internal ID
1352 Internal_id *Internal_id_type `xml:"internal_id,omitempty"`
1353
1354 // NtS Number
1355 Nts_number *Nts_number_type `xml:"nts_number,omitempty"`
1356
1357 // Overall period of validity
1358 Validity_period *Validity_period_type `xml:"validity_period,omitempty"`
1359
1360 // Fairway section
1361 Fairway_section *Fairway_section_werm_type `xml:"fairway_section,omitempty"`
1362
1363 // Actual or Forecast report sections
1364 Weather_report *Weather_report_type `xml:"weather_report,omitempty"`
1365 }
1366
1367 type Fairway_section_werm_type struct {
1368 XMLName xml.Name `xml:"http://www.ris.eu/nts/4.0.4.0 fairway_section_werm_type"`
1369
1370 // Geo Information of fairway
1371 Geo_object *Geo_object_type `xml:"geo_object,omitempty"`
1372 }
1373
1374 type Weather_report_type struct {
1375 XMLName xml.Name `xml:"http://www.ris.eu/nts/4.0.4.0 weather_report_type"`
1376
1377 // Date and time of measurement or predicted value including timezone
1378 Measuredate time.Time `xml:"measuredate,omitempty"`
1379
1380 // Forecast (true or 1) OR Actual report (false or 0)
1381 Forecast bool `xml:"forecast,omitempty"`
1382
1383 // Classification of weather report
1384 Weather_class_code []*Weather_class_code_enum `xml:"weather_class_code,omitempty"`
1385
1386 // Weather items
1387 Weather_item []*Weather_item_type `xml:"weather_item,omitempty"`
1388 }
1389
1390 type Weather_item_type struct {
1391 XMLName xml.Name `xml:"http://www.ris.eu/nts/4.0.4.0 weather_item_type"`
1392
1393 // Weather item type (Wind, Wave etc)
1394 Weather_item_code *Weather_item_code_enum `xml:"weather_item_code,omitempty"`
1395
1396 // Actual or Minimum value
1397 Value_min float32 `xml:"value_min,omitempty"`
1398
1399 // Maximum value
1400 Value_max float32 `xml:"value_max,omitempty"`
1401
1402 // Gusts value (Wind)
1403 Value_gusts float32 `xml:"value_gusts,omitempty"`
1404
1405 // Unit of the value
1406 Unit *Unit_enum `xml:"unit,omitempty"`
1407
1408 // Classification of wind report
1409 Weather_category_code *Weather_category_code_enum `xml:"weather_category_code,omitempty"`
1410
1411 // Direction of wind or wave
1412 Direction_code_min *Weather_direction_code_enum `xml:"direction_code_min,omitempty"`
1413
1414 // Direction of wind or wave
1415 Direction_code_max *Weather_direction_code_enum `xml:"direction_code_max,omitempty"`
1416 }
1417
1418 type Nts_number_type struct {
1419 XMLName xml.Name `xml:"http://www.ris.eu/nts/4.0.4.0 nts_number"`
1420
1421 // Name of the publishing organisation (NtS Provider)
1422 Organisation string `xml:"organisation,omitempty"`
1423
1424 // Year of first issuing of the notice
1425 Year *GYear `xml:"year,omitempty"`
1426
1427 // Number of the notice (per year, starting with: 1, 0 shall not be used for published notices)
1428 Number int32 `xml:"number,omitempty"`
1429
1430 // Serial number of notice (replacements and withdrawals), original notice: 0
1431 Serial_number int32 `xml:"serial_number,omitempty"`
1432 }
1433
1434 type Validity_period_type struct {
1435 XMLName xml.Name `xml:"http://www.ris.eu/nts/4.0.4.0 validity_period"`
1436
1437 // Start date of validity period including time zone
1438 Date_start string `xml:"date_start,omitempty"`
1439
1440 // End date of validity period including time zone
1441 Date_end string `xml:"date_end,omitempty"`
1442 }
1443
1444 type Fairway_section_type struct {
1445 XMLName xml.Name `xml:"http://www.ris.eu/nts/4.0.4.0 fairway_section_type"`
1446
1447 // Geo information of fairway
1448 Geo_object *Geo_object_type `xml:"geo_object,omitempty"`
1449
1450 // Fairway section limitations
1451 Limitation []*Limitation_type `xml:"limitation,omitempty"`
1452 }
1453
1454 type Geo_object_type struct {
1455 XMLName xml.Name `xml:"http://www.ris.eu/nts/4.0.4.0 geo_object"`
1456
1457 // ISRS Location Code of the fairway/object
1458 Id *Isrs_code_type `xml:"id,omitempty"`
1459
1460 // Local name of the fairway section
1461 Name string `xml:"name,omitempty"`
1462
1463 // Type of geographical object
1464 Type_code *Type_code_enum `xml:"type_code,omitempty"`
1465
1466 // Describes the position related to the fairway
1467 Position_code *Position_code_enum `xml:"position_code,omitempty"`
1468
1469 // Fairway section begin and end coordinates
1470 Coordinate *Coordinate_type `xml:"coordinate,omitempty"`
1471
1472 // Waterway name (usefull if no RIS Index is available)
1473 Fairway_name string `xml:"fairway_name,omitempty"`
1474 }
1475
1476 type Coordinate_type struct {
1477 XMLName xml.Name `xml:"http://www.ris.eu/nts/4.0.4.0 coordinate"`
1478
1479 Lat string `xml:"lat,omitempty"`
1480
1481 Long string `xml:"long,omitempty"`
1482 }
1483
1484 type Limitation_type struct {
1485 XMLName xml.Name `xml:"http://www.ris.eu/nts/4.0.4.0 limitation_type"`
1486
1487 // Limitation periods / intervals
1488 Limitation_period []*Limitation_period_type `xml:"limitation_period,omitempty"`
1489
1490 // Kind of limitation
1491 Limitation_code *Limitation_code_enum `xml:"limitation_code,omitempty"`
1492
1493 // Describes the position of the limitation related to the fairway
1494 Position_code *Position_code_enum `xml:"position_code,omitempty"`
1495
1496 // Value of limitation (i.e. max draught)
1497 Value float32 `xml:"value,omitempty"`
1498
1499 // Unit of the value of the limitation
1500 Unit *Unit_enum `xml:"unit,omitempty"`
1501
1502 // Value reference
1503 Reference_code *Reference_code_enum `xml:"reference_code,omitempty"`
1504
1505 // Minimum or maximum or reduced by
1506 Indication_code *Indication_code_enum `xml:"indication_code,omitempty"`
1507
1508 // Target group information
1509 Target_group []*Target_group_type `xml:"target_group,omitempty"`
1510 }
1511
1512 type Limitation_period_type struct {
1513 XMLName xml.Name `xml:"http://www.ris.eu/nts/4.0.4.0 limitation_period_type"`
1514
1515 // Start date of limitation period including time zone
1516 Date_start time.Time `xml:"date_start,omitempty"`
1517
1518 // End date of limitation period including time zone
1519 Date_end time.Time `xml:"date_end,omitempty"`
1520
1521 // Start time of limitation period without time zone
1522 Time_start time.Time `xml:"time_start,omitempty"`
1523
1524 // End time of limitation period without time zone
1525 Time_end time.Time `xml:"time_end,omitempty"`
1526
1527 // Interval for limitation if applicable
1528 Interval_code *Interval_code_enum `xml:"interval_code,omitempty"`
1529 }
1530
1531 type Target_group_type struct {
1532 XMLName xml.Name `xml:"http://www.ris.eu/nts/4.0.4.0 target_group_type"`
1533
1534 // Target group (vessel type)
1535 Target_group_code *Target_group_code_enum `xml:"target_group_code,omitempty"`
1536
1537 // Upstream or downstream traffic, or both
1538 Direction_code *Direction_code_enum `xml:"direction_code,omitempty"`
1539 }
1540
1541 type NtS_message_service interface {
1542 Get_messages(request *Get_messages_query) (*Get_messages_result, error)
1543 }
1544
1545 type INtSMessageService struct {
1546 client *soap.SOAPClient
1547 }
1548
1549 func NewINtSMessageService(url string, tls bool, auth *soap.BasicAuth) *INtSMessageService {
1550 if url == "" {
1551 url = ""
1552 }
1553 client := soap.NewSOAPClient(url, tls, auth)
1554 return &INtSMessageService{
1555 client: client,
1556 }
1557 }
1558
1559 func NewINtSMessageServiceWithTLSConfig(url string, tlsCfg *tls.Config, auth *soap.BasicAuth) *INtSMessageService {
1560 if url == "" {
1561 url = ""
1562 }
1563 client := soap.NewSOAPClientWithTLSConfig(url, tlsCfg, auth)
1564
1565 return &INtSMessageService{
1566 client: client,
1567 }
1568 }
1569
1570 func (service *INtSMessageService) Get_messages(request *Get_messages_query) (*Get_messages_result, error) {
1571 response := new(Get_messages_result)
1572 err := service.client.Call("http://www.ris.eu/nts.ms/get_messages", request, response)
1573 if err != nil {
1574 return nil, err
1575 }
1576
1577 return response, nil
1578 }