FME Augmented Reality (FME AR) Writer
Augmented Reality (AR) represents the ability to view additional information overlaid on a live view of the world. Mobile devices such as phones and tablets provide this view using an AR application.
FME AR (FME Augmented Reality) is a format developed by Safe Software for use with the FME AR App. It was designed to leverage the power of FME to transform any type of geometry into a form that is easily consumed by mobile devices (which often lack sufficient computing power to perform these transformations themselves).
FME AR supports iOS devices through the use of ARKit and AR Core. Attributes and metadata can also be written to the FME AR file so that it is possible to view attribute values within the app, to store predetermined Viewpoint information, and to easily geolocate a model to a fixed position in the real world.
FME AR App
The FME AR format is designed to support the app with minimal processing power required by the mobile device where computing and battery resources may be limited.
FME AR is available in the Apple App Store from your mobile device.
FME AR Files
An FME AR file (.fmear) is a package containing USDZ and/or glB files that store model geometries accompanied by a SQLite database that stores model metadata and feature attributes. They can be displayed using the FME AR app. You can open .fmear files in the FME AR App on supported iOS devices. (Specific devices may not be supported and older devices may lose support as app development progresses – please check the store on your device for up-to-date information.)
FME AR files always contain three-dimensional geometry. Two-dimensional data will be represented with the Z coordinate set to 0 for all geometry.
FME AR internally reprojects all incoming geometry to an AZMED projection, where the center of the X and Y values becomes the new origin. This reduces the chance of precision issues that could manifest as jitter or wobble when scaling, rotating, or moving the model with large coordinate values in the FME AR app. Z values are left as-is and are assumed to be in meters if not specified by the coordinate system on incoming features. By default, the FME AR app treats a Z value of 0 as “surface level” (that is, the surface on which the model will be “attached” when searching for a surface on which to render the geometry). This can be overridden with the use of Anchor features that allow arbitrary Z-values to be set as “surface level”. If your geometry’s Z values are in feet or some other non-meter measurement, ensure that the coordinate system supplies this information and the FME AR Writer will perform the conversion automatically.
FME AR Product and System Requirements
Format |
FME Platform |
Operating System |
|
||||
---|---|---|---|---|---|---|---|
Reader/Writer |
FME Form |
FME Flow |
FME Flow Hosted |
Windows 64-bit |
Linux |
Mac |
FME AR App |
Writer |
Yes |
Yes |
Yes |
Yes |
Yes |
Yes |
iOS |
Writer Overview
Writer Dataset |
Path to the output file |
Feature Type Fanout |
Supported |
Output Data |
.fmear file
|
Texture and Material Information |
Recorded within the USDZ or glB file along with the geometry. |
Coordinate System Projection |
If the FME AR writer receives features with coordinate systems, it reprojects the data into the azimuthal equidistant projection (AZMED). The writer reprojects the entire model (including Anchors and Viewpoints) – not feature by feature or feature type by feature type. The AZMED projection ensures that all points on the map are at proportionally correct distances from the center point, and all points on the map are at the correct azimuth from the center point. In an AZMED projection, the Y axis points to the north, and the X axis points to the east. If the model rotation is important when loading in the FME AR app, you should ensure that the axes are correct. If the FME AR writer receives data that does not have a coordinate system, it first assumes the data is in meters, and then also reprojects the data into AZMED such that the center point of the model’s footprint is located at 0,0. The Z values (vertical axis) of geometries are never translated during this reprojection. If the assigned coordinate system expresses height values in feet, they will be scaled such that they are expressed in meters, but will not be modified in other meaningful ways. |
Converting 2D Features to 3D |
When working with 2D data, the coordinate system units become critical to note. Some coordinate systems, such as LL-WGS84, express the X and Y coordinates in degrees, while the Z coordinates will be in meters. Using a 3D Bufferer transformer to create pipes from lines will behave unexpectedly here, as the X and Y units will not correlate the Z units, and may appear flattened. When performing operations such as buffering or scaling, it is recommended (for consistency) to reproject to a coordinate system that uses the same unit for all axes. |
Terminology Notes
FME AR Term |
Definition or FME Representation |
---|---|
Anchor |
A feature that specifies a Point geometry within the model to use as the Attachment Point for the model. This can be used to offset the model in any or all dimensions, and can be combined with a Geolocated Anchor. |
Attachment Point |
The point in the model that will be used to determine where the model will be placed on the detected surface. By default, the center point of the model’s footprint is used, but this can be overridden by the use of an Anchor feature. |
FME AR file |
A package of USDZ and/or glB files along with an SQLite DB file representing 3D geometries, attribution, and metadata that can be displayed using the FME AR app. |
Geolocated Anchor |
An anchor with a defined latitude and longitude. A model with a geolocated anchor can be loaded so that the model’s Attachment Point will correspond to the defined latitude and longitude. |
Viewpoint |
A 3D point that acts as a “spatial bookmark” within the model. It enables the viewer to quickly view the model from this point when using the FME AR app. |
Writer Dataset |
The path to the output file. |