Files
Introduction
FME supports converting any format supported by FME to Esri Mobile Geodatabases. Additionally, we support conversion from Esri Mobile Geodatabases. Esri Mobile Geodatabases are ArcGIS Pro geodatabases stored in a single file within a folder of a SQLite database.
In this tutorial, we will explore one approach for reading data in any format and writing it to a geodatabase using an XML workspace document as a template.
Requirements
- Licensed ArcGIS Pro on the same machine as FME Form
Step-by-step Instructions
1. Add an Esri Shapefile Reader
Open a blank workspace in FME Workbench. Add a reader to the canvas and set it to the Esri Shapefile format, then browse to the VancouverLandBoundary.shp dataset, which you can download from this article under the Files section in the top-right corner. We will return to this reader in a minute, but first, let’s add two more readers.
2. Add an OGC / Google KML and an Autodesk AutoCAD DWG/DXF Reader
Add an OGC/Google KML reader to the canvas and browse to the VancouverBoundary.kml file; then, click OK. In the Select Feature Types dialog, unselect all of the Feature Types except Neighborhoods. Then click OK.
Next, add an Autodesk AutoCAD DWG/DXF reader to the canvas and browse to the ParcelLines.dwg dataset, then click OK. In the Select Feature Types dialog, only select ParcelLines and then click OK.
With all the readers added, we can now prepare it to write out to Esri Mobile Geodatabases.
3. Add a CsmapReprojector
First, we need to ensure that all the data is in the correct coordinate system. Click on the VancouverLandBoundary reader feature type to open the pop-up dialog, then click on View Source Data to view the data in Visual Preview.
Then, in Visual Preview, open the Feature Information window and click on the first feature in the Table Preview to view the coordinate system. VancouverLandBoundary is in UTM83-10.
Repeat this step for the other two readers. The neighborhoods dataset doesn’t have a coordinate system, and ParcelLines is in UTM83-10. Let’s add a coordinate system for Neighborhoods so that it matches the other two.
Add a CsmapReprojector transformer to the canvas and connect it to the Neighborhoods reader feature type. In the parameters, set the Destination Coordinate System to UTM83-10.
4. Create Polygons with the ParcelLines
Now we will need to create areas with our ParcelLines so we can write them out as polygons. Add an AreaBuilder to the canvas and connect it to the ParcelLines reader feature type. We can accept the default parameters for this transformer.
5. Create Parcel IDs
Since we are building the polygons, we need to create an ID for each polygon before we can write it out. Add a Counter to the canvas and connect it to the Area output port on the AreaBuilder. In the parameters, change the Count value to ParcelId.
6. Write Out to Esri Mobile Geodatabase
The data is now ready to write out to an Esri Mobile Geodatabase. Add an Esri Mobile Geodatabase writer to the canvas. Browse to a location to save the file and call it Vancouver. Then click on Parameters.
In the parameters, set Overwrite Existing Database to Yes, then set the Import XML Workspace Document (Schema Only) to the VANCOUVERCITYTEMPLATE_V10.xml document, which is attached to this article. This is an XML-based template that can be created by exporting an existing geodatabase in ArcGIS Pro. Click OK to close the parameters dialog.
FME will create a new geodatabase containing all the content from this template. However, to instruct FME to write data into some of those tables now, change the Add Feature Types parameter to Import from Dataset.
Click OK to close the Add Writer dialog.
In the Import Feature Types dialog, set the format to Esri Geodatabase (XML Workspace Document) and for the dataset, select the Vancouver XML template file. Click OK to have FME search the template for a list of tables.
In the Select Feature Type dialog, deselect all tables and then re-select the three tables to write to VancouverLandBoundary, Parcels, and Neighborhoods. Click OK.
7. Connect Writers and Run the Workspace
The final step is to connect the newly added writer feature types. Connect the VancouverLandBoundary writer feature type to the VancouverLandBoundary reader feature type. Then connected the Neighborhoods writer feature type to the CsmapReprojector. Then expand the CsmapReprojector and Neighborhood writer features type. There are attributes that need to be mapped from the reader to the writer. Manually draw connections for ID, Name, URL, Pop2001, and Pop2011.
Then connect the Parcels writer feature type to the Counter.
Run the workspace.
8. View the Output in ArcGIS Pro
After the workspace has run successfully, view the output in ArcGIS Pro. In the Mobile Geodatabase, there will be several feature classes that are defined, which existed in the template, but only the three that we imported into the workspace contain data.
Data Attribution
The data used here originates from open data made available by the City of Vancouver, British Columbia. It contains information licensed under the Open Government License - Vancouver.