Introduction
Apple Maps supports indoor mapping, allowing visitors to plan trips and navigate around buildings. Maps submitted for use in Apple Maps must be in the Indoor Mapping Data Format (IMDF).
IMDF files submitted to Apple must follow strict guidelines to ensure data integrity and maximize the usefulness of the data for Apple Maps and other indoor mapping applications. Pre-submission validation ensures that data follows these guidelines, meaning that it can be uploaded to Apple Maps without any issues.
The experts at Safe Software have developed two methods for validating IMDF files to detect errors: an online data validator and a validation transformer for use in FME.
The online data validator accepts IMDF file uploads. In return, the user receives an email report that indicates any errors and warnings.
The IMDFValidator custom transformer is used in FME workspaces to validate spatial data before writing it to IMDF. It also provides detailed feedback, allowing users to readily understand where problems exist and correct them more easily.
Validation is typically an iterative process. It's best to start with a small sampling of data, such as a few foundational feature types (venue, building, footprint, address, level) and only a few features per feature type. This way, it isn’t necessary to review thousands of repetitive errors. As corrections are made, more features can be added to the evaluation until the entire dataset is validated.
Passing IMDF validation with either the online tool or the custom transformer does not guarantee acceptance from Apple. These are just tools to help your data meet the minimum standards.
Validation Reports
There are two types of messages that you may see in a validation report:
Error|<error message>Warning|<warning message>An Error is generally a problem that must be fixed for the IMDF to be accepted by Apple Maps. A Warning is generally an issue that will not prevent acceptance of the data, but will reduce its usefulness to end users.
If a feature does not generate a message, this means it has passed the validation.
Online IMDF Validator
The free online IMDF validation tool offered by Safe Software uses FME Flow to generate a validation report for each uploaded IMDF file.
Visit the IMDF Validator free tool webpage and upload your IMDF file in step 1. In step 2, enter your name and email address. In a few minutes, check your inbox for the validation report.
The online report is only available for 7 days. If you require this report for an extended period, please save the HTML page.
The validation report provides details about the file tested, when it was tested, and against which IMDF standard it was tested.
The report lists all features that don’t meet the requirements and displays each issue on a map.
It also provides details about the Feature Type (all features and layers), ID, Category, Level, and Validation Error. Use the Feature Type and ID to determine which feature contains the issue. You may then wish to use FME Form to fix the reported problems.
Errors MUST be fixed before submitting IMDF data to Apple. Warnings should be addressed, where possible, to improve the usefulness of the data; however, the presence of warnings should not prevent the submission from proceeding.
In FME, a Feature Type refers to the schema or structure of the source dataset. Every format used by FME identifies features through a classification scheme. This classification is known in FME as a feature type.
This example validation report contains numerous errors, with the missing Address and Building being major issues. If the FME workspace demonstrated in the CAD to IMDF article was used to generate this data, the workspace could be modified to provide the correct results.
IMDFValidator Custom Transformer
The IMDFValidator custom transformer is used within an FME workspace. It is useful for checking your data throughout the translation process before it is written to IMDF.
The IMDFValidator provides a detailed report on the data. Combined with FME Workbench tools such as Run with Data Caching (formerly Feature Caching), it enables users to investigate the cause of each error message, review all attributes, and inspect the geometry in further detail.
Viewing these example results in the FME Data Inspector, it appears that the building feature type has no attributes at all:
Output of the IMDFValidator viewed in the FME Data Inspector
Knowing the cause of the problem helps in revising your FME workspace to produce the correct results.
Given the complexity of the business rules that it models, the IMDFValidator has a significant overhead in translation. Once a workflow and dataset have been validated, it may be desirable for performance reasons to bypass the IMDFValidator when producing the final output.