FME has long been known for its powerful data integration and ETL capabilities. Creating data workflows often requires expertise in database design and schema management; this is especially true when multiple disparate inputs are processed to match a common schema. This level of complexity and expertise can often result in less technical users placing the task in the “too hard basket”. This can result in substandard schemas or even the schemas not being adjusted to better suit the new use case. The latter often causing cascading problems as other systems look to use the data. In many cases, the ownership of the data and schema aren’t the responsibility of the GIS team. By developing processes that allow individuals external to this team to better understand, access and ultimately own the data and schemas.
This presentation will cover how we have developed a process that allows users to define a schema; indexes, domains, lookups and aliases included, and use this to map incoming data. The process also makes use of the hundreds of formats that FME can read and write to, providing almost unlimited combinations of input and output formats. This process has enabled Abley to rapidly ingest municipal infrastructure data into civil engineering companies infrastructure to ensure the data is complete and appropriate for managing maintenance and repairs. It has provided the civil engineers, who’s expertise is not data, schemas and GIS, ownership over the process and has engaged them to a point wher
13. The
Peak
of
Data
Integration
20
23
Schemas are confusing
Name Alias Domain Data
Type
Index
Asset ID client_id int iClientId
Condition condition dAssetCon int
Asset
Status status dAssetStatus int iStatus
Created By created_by varchar(32)
… … … … …
20. The
Peak
of
Data
Integration
20
23
Not all the same, but do
the same thing
PostgreSQL
Data type Description
character varying(n),
varchar(n)
variable-length with limit
character(n), char(n)
fixed-length, blank
padded
text variable unlimited length
SQL Server
Data type Description
char(n) Fixed width character string
varchar(n) Variable width character string
varchar(max) Variable width character string
text Variable width character string
nchar Fixed width Unicode string
nvarchar Variable width Unicode string
nvarchar(max) Variable width Unicode string
ntext Variable width Unicode string
binary(n) Fixed width binary string
varbinary Variable width binary string
varbinary(max) Variable width binary string
image Variable width binary string
GDB, SHP
Data type Description
Text
Specify length, default
255
Oracle
Data type Description
NCHAR Fixed length Unicode only
NVARCHA
R2
Variable length Unicode only
VARCHAR2
Variable-length character
string
21. The
Peak
of
Data
Integration
20
23
PostgreSQL
Data type Description
character varying(n),
varchar(n)
variable-length with limit
character(n), char(n)
fixed-length, blank
padded
text variable unlimited length
SQL Server
Data type Description
char(n) Fixed width character string
varchar(n) Variable width character string
varchar(max) Variable width character string
text Variable width character string
nchar Fixed width Unicode string
nvarchar Variable width Unicode string
nvarchar(max) Variable width Unicode string
ntext Variable width Unicode string
binary(n) Fixed width binary string
varbinary Variable width binary string
varbinary(max
)
Variable width binary string
image Variable width binary string
GDB, SHP
Data type Description
Text
Specify length, default
255
Oracle
Data type Description
NCHAR Fixed length Unicode only
NVARCHA
R2
Variable length Unicode only
VARCHAR2
Variable-length character
string
Read schema
Read Domains
Convert data types
Create Domains
Create Indexes
New
Database
Compares to schema