Infers Esri field types from R objects.
infer_esri_type(
.data,
arg = rlang::caller_arg(.data),
call = rlang::caller_env()
)get_ptype(field_type, n = 1, call = rlang::caller_env())
ptype_tbl(fields, n = 0, call = rlang::caller_env())
remote_ptype_tbl(fields, call = rlang::caller_env())
get_pytpe()
returns an object of the class of the prototype.
ptype_tbl()
takes a data.frame
with columns name
and type
and creates an empty data.frame
with the corresponding columns and R types
remote_ptype_tbl()
provides the results of ptype_tbl()
as a lazy data frame from the dbplyr
package.
infer_esri_ptype()
returns a data.frame
with columns name
, type
, alias
, nullable
, and editable
columns
This resembles that of the fields
returned by a FeatureService
an object of class data.frame
.
An argument name in the current function.
The execution environment of a currently running
function, e.g. call = caller_env()
. The corresponding function
call is retrieved and mentioned in error messages as the source
of the error.
You only need to supply call
when throwing a condition from a
helper function which wouldn't be relevant to mention in the
message.
Can also be NULL
or a defused function call to
respectively not display any call or hard-code a code to display.
For more information about error calls, see Including function calls in error messages.
a character of a desired Esri field type. See details for more.
the number of rows to create in the prototype table
a data.frame containing, at least, the columns type
and name
.
Typically retrieved from the field
metadata from a FeatureLayer
or Table
.
Also can use the output of infer_esri_type()
.
get_ptype()
takes a scalar character containing the Esri field type and returns a prototype of the pertinent R type
infer_esri_type()
takes a data frame-like object and infers the Esri field type from it.
remote_ptype_tbl()
takes a data frame of fields as derived from list_fields()
and
creates a lazy table proto type intended to be used with dbplyr
integration
Esri field types are mapped as
esriFieldTypeSmallInteger
: integer
esriFieldTypeSingle
: double
esriFieldTypeGUID
: integer
esriFieldTypeOID
: integer
esriFieldTypeInteger
: integer
esriFieldTypeBigInteger
: double
esriFieldTypeDouble
: double
esriFieldTypeString
: character
esriFieldTypeDate
: date
R types are mapped as
double
: esriFieldTypeDouble
integer
: esriFieldTypeInteger
character
: esriFieldTypeString
date
: esriFieldTypeDate
raw
: esriFieldTypeBlob
get_ptype("esriFieldTypeDouble")
inferred <- infer_esri_type(iris)
ptype_tbl(inferred)
Run the code above in your browser using DataLab