@@ -18,7 +18,7 @@ geoflow_featuremember <- R6Class("geoflow_featuremember",
18
18
# '@field id feature member ID
19
19
id = NULL ,
20
20
# '@field type feature member type
21
- type = list () ,
21
+ type = NULL ,
22
22
# '@field code feature member code
23
23
code = NULL ,
24
24
# '@field name feature member name
@@ -35,6 +35,8 @@ geoflow_featuremember <- R6Class("geoflow_featuremember",
35
35
uom = NULL ,
36
36
# '@field registerId feature member register ID
37
37
registerId = NULL ,
38
+ # '@field registerScript feature member register script
39
+ registerScript = NULL ,
38
40
39
41
# '@description Initializes a \link{geoflow_featuremember}
40
42
# '@param type type
@@ -46,9 +48,10 @@ geoflow_featuremember <- R6Class("geoflow_featuremember",
46
48
# '@param maxOccurs maxOccurs. Default is \code{NULL}
47
49
# '@param uom unit of measure. Default is \code{NULL}
48
50
# '@param registerId ID of the register associated to the feature type. Default is \code{NULL}
49
- initialize = function (type , code , name , def , defSource = NULL ,
51
+ # '@param registerScript source script providing the register functions. Default is \code{NULL}
52
+ initialize = function (type = " attribute" , code = NULL , name = NULL , def = NULL , defSource = NULL ,
50
53
minOccurs = NULL , maxOccurs = NULL , uom = NULL ,
51
- registerId = NULL ){
54
+ registerId = NULL , registerScript = NULL ){
52
55
if (! (type %in% c(" attribute" , " variable" ) | startsWith(type , " gml:" ))){
53
56
stop(" The member type should be either 'attribute' or 'variable' or be a GML geometry type" )
54
57
}
@@ -62,6 +65,25 @@ geoflow_featuremember <- R6Class("geoflow_featuremember",
62
65
self $ maxOccurs = maxOccurs
63
66
self $ uom = uom
64
67
self $ registerId = registerId
68
+ self $ registerScript = registerScript
69
+ },
70
+
71
+ # '@description Converts as data.frame
72
+ # '@return an object of class \link{data.frame}
73
+ asDataFrame = function (){
74
+ return (data.frame (
75
+ MemberCode = if (! is.null(self $ code )) self $ code else " " ,
76
+ MemberName = if (! is.null(self $ name )) self $ name else " " ,
77
+ MemberType = if (! is.null(self $ type )) self $ type else " " ,
78
+ MinOccurs = if (! is.null(self $ minOccurs )) self $ minOccurs else " " ,
79
+ MaxOccurs = if (! is.null(self $ maxOccurs )) self $ maxOccurs else " " ,
80
+ Definition = if (! is.null(self $ def )) self $ def else " " ,
81
+ DefinitionSource = if (! is.null(self $ defSource )) self $ defSource else " " ,
82
+ MeasurementUnit = if (! is.null(self $ uom )) self $ uom else " " ,
83
+ registerId = if (! is.null(self $ registerId )) self $ registerId else " " ,
84
+ registerScript = if (! is.null(self $ registerScript )) self $ registerScript else " " ,
85
+ stringsAsFactors = F
86
+ ))
65
87
}
66
88
)
67
89
)
0 commit comments