Transcript
[ Music ]
>> Hello, I'm Yuval Kossovsky
and I'd like to welcome you to
the Indoor Maps Program.
Perhaps, you are the owner of a
large hospital, office tower,
stadium or museum and are
looking to add indoor maps and
positioning to your own consumer
or enterprise apps.
Or perhaps you are the owner of
an airport, shopping mall or
other facility with large
numbers of public visitors and
you'd like your indoor map and
locations to be part of the
Apple Maps' indoor experience.
This session will have something
of interest to each of you.
Outdoor location services have
become embedded into our cities,
our travel, our daily commutes,
and even our social
interactivity.
And people are beginning to
expect a location experience
everywhere, including the
indoors.
In addition to a digital version
of the well-known You-Are-Here
map, there are many compelling
consumer, operations and
enterprise use cases that have
indoor maps and indoor
positioning at their core.
Air travel, for example, can be
incredibly stressful when you
don't know where to park, where
the security line is, where the
gates are, or how long it will
take to get from where you are
to where you want to go.
A map updated in real time that
shows you where your gate is,
where you are and how much free
time you have for shopping or a
quick bite before your flight
would make for a much more
pleasant journey.
Looking at the operation side of
the building, a staff member
might need to locate a piece of
equipment for routine
maintenance or to service an
outage.
Using indoor maps and indoor
positioning, the equipment
report can be tagged with an
accurate latitude, longitude and
floor level.
Then the nearest technician with
the right skills to resolve the
issue can be guided directly to
the location to begin work,
providing an incredible boost in
operations efficiency.
Finally, consider that first
responders have only moments to
study a building layout before
deciding on a plan of action.
Typically, the only available
indoor maps are on paper and are
not current.
Using electronically maintained
indoor maps to show the location
of the incidents, as well as the
location of the responders
inside the buildings, can
greatly reduce response times,
and in some cases, even save
lives.
These three scenarios are just a
few examples of what can be done
with indoor maps and indoor
positioning through the Apple
Indoor Maps Program.
The Indoor Maps Program enables
organizations with large public
and private spaces to create
standard space indoor maps,
enable indoor positioning and
create stunning indoor maps in
their own apps and websites.
This session will discuss the
overall workflow for
accomplishing these tasks and
provide some guidance in the
form of best practices for
success at each step.
At the core of the program is
the Indoor Mapping Data Format,
or IMDF.
This is Apple specification for
modeling indoor spaces and is
represented as a set of GeoJSON
files.
Many of your favorite mapping in
GIS platforms are already
supporting the creation and
editing of IMDF as it has
quickly become the de facto
exchange standard for indoor
data.
Let's take a deeper look at the
Indoor Maps Program.
Building and property owners
start by converting their CAD,
BIM or GIS files to IMDF using
industry standard tools.
Then they can use that IMDF map
and developer tools from Apple
to display indoor maps in their
own consumer and enterprise
apps.
In this simple case, displaying
the IMDF in an app is something
that any developer can do easily
by themselves using MapKit and
MapKit JS tools.
Because building and
understanding IMDF can be a bit
more complicated, there is the
IMDF Sandbox, a tool for
visualization, archive
inspection, editing and
experimentation with an IMDF
archive.
Companies that own large public
and private spaces, such as
airports, shopping centers,
arenas, hospitals, universities
and private office buildings,
are welcome to register their
organization for the Indoor Maps
Program, create IMDF maps using
industry standard tools,
validate those IMDF maps in the
Sandbox, enable Apple indoor
positioning and then use MapKit
and MapKit JS to display indoor
maps and indoor positioning in
their apps and websites.
Highly trafficked locations,
such as airports and shopping
centers, may also want the
public indoor maps of their
buildings to be included in
Apple Maps.
Any participant in the Indoor
Maps Program can activate indoor
positioning for their building
and use the IMDF maps in their
apps and websites.
Let's go into more detail about
the process for joining the
Indoor Maps Program, managing
your organization's account and
claiming your building
locations.
Navigate your browser to
register.apple.com/indoor to
learn more about the program and
get links to tools, information
and documentation.
Click on Get Started to begin
enrolling your organization.
When an organization enrolls for
the Indoor Maps Program at Apple
Business Register, an in-depth
check is done on their business
information.
The individuals performing the
sign up must have emails
connected to the organizational
domain, and all of the primary
contacts must be employees or
registered agents of the
company.
Once the organization is
validated and approved, the
administrator is able to manage
their team members through the
controls on the right.
Tapping or clicking on team
members reveals the list of
members, and tapping on the plus
sign reveals a dialog for both
individuals and entire
organizations to participate in
this organization.
The invitees can be assigned any
number of five different roles
and given access to the entire
catalog of venues or selected
individual locations.
This granular control enables an
organization to easily outsource
IMDF mapmaking and survey to
partners on a venue-by-venue
basis or across the
organization.
System integrators wishing to
make IMDF to survey for indoor
positioning or build indoor apps
for their clients should get
invited to an organization,
rather than try to claim a
client's buildings on their
behalf.
And that is team management.
Claiming locations for an
organization is easy.
Keep in mind that the claims can
only be made for your own
properties, not on behalf of
others.
Click on Indoor Maps under
Connected Services, tap the plus
button and select your location.
Depending on the categorization
of the building, you'll be
presented with different options
for how to proceed.
Buildings that are private
locations are not eligible to
have their indoor maps display
in Apple Maps.
Properties such as airports will
be asked for permission to
display their indoor maps in
Apple Maps.
Once the location claim is
approved, you can upload an IMDF
and the validator will begin
analyzing the file
automatically.
After a few minutes, you'll
receive an email indicating that
validation is complete.
There will be a link to the
validation report, where you can
see any errors that blocked
acceptance of the file or any
warnings which indicate
conditions that need further
examination.
You can use the embedded link to
the IMDF Sandbox to view the
IMDF file, make quick edits if
needed.
Once an IMDF is error free in
the validator, it will move to
georeferencing and evaluation.
To ensure accurate indoor
positioning, the IMDF must have
walkable areas for survey and be
aligned with the Apple satellite
imagery.
The indoor team will manually
check the georeferencing of your
IMDF and do a cursory check for
defects in the IMDF that cannot
be surfaced in the validator.
If any changes are made to the
file, they will be saved into a
new IMDF, which will be made
available under Download
Georeference to IMDF, along with
a report indicating what work
was done.
Let's review the best practices
for joining and participating in
the Apple Indoor Maps Program.
While anyone can make an IMDF
map and display it in their app
and website using MapKit and
MapKit JS, the Indoor Maps
Program and enabling Apple
indoor positioning is for owners
of large properties.
Some measures of large include
50 square meters, 5 million
annual visitors, or entire
office buildings.
The individuals enrolling must
be part of the organization and
must provide enough information
to verify the organization
details.
If there's an existing account,
the current account admins will
be notified of the new enrollees
and asked to invite them
directly.
This ensures the organization
maintains control of all
members.
Some locations are eligible for
display in Apple Maps.
However, the indoor map will
remain private unless permission
is given.
IMDF is the basis for the map
used to display in your app and
website and to enable indoor
positioning.
To create an IMDF, work with
your facilities team to
investigate the offerings
available from companies, like
Safe Software, Autodesk, Esri,
and other GIS and BIM tool
platforms.
Let's take a deeper look at
IMDF.
To understand how IMDF is
constructed, we should first
look at the general components
of a building floor plan.
An indoor map like a regular map
is comprised of many layers.
Each of these layers may contain
several features.
Let's break down this building
map, for example.
Simplistically, the base of an
indoor map is the building
ground footprint, or the size
and shape of the physical
building plus the
GeoCoordinates, where it sits on
the earth.
Indoor locations are still on
the earth.
And to handle the movement of
people in and out of the
building, an indoor data model
has to account for this fact.
Georeferencing of the building
is the solution.
The next step is to add a level.
Again, simplistically, we can
use the ground floor or ordinal
zero for our example.
The level is entirely covered by
some form of what we call a
unit, for example, a room, a
walkway, an elevator or an
escalator.
Anything that occupies space on
the level is defined with
geometry and a category of some
kind.
Rooms typically have doors or
what we call openings.
And then within the units, there
are also other objects, such as
kiosks.
They're typically in the walkway
unit of a shopping center or
mall.
Next, there are labels which are
applied to the units, such as
the name of a business that
occupies a room.
Icons are used to mark the
location of amenities of
interest, such as an elevator or
a restroom.
At the Jurassic Table
restaurant, there is also a
delimited area that acts as a
virtual boundary, which extends
outside of the walls of the
actual unit.
This could be post security in
an airport or the food court in
a mall.
And these are some of the
constructs that make a good
indoor map format, such as IMDF.
Underlying the format are rules
on how to consistently capture
information about the physical
spaces and the business purpose
of those spaces into an easy to
understand hierarchy.
Let's take a look at some of the
required features and some
optional elements that make up
an IMDF archive.
There are three core files that
provide the base information of
the venue, the manifest, which
has some administrative detail,
the address, which provides the
postal address, and the venue
layer that describes the overall
shape of the location.
The property is then extended by
the building layer, and its
associated footprint layers
which bring details to the
physical building.
Working our way deeper in, the
levels within the building are
defined.
The level is then entirely
covered in units, which are
associated with openings, such
as doorways.
The level also has logical area
groupings, like sections and
trigger regions like geofences.
Then kiosks and fixtures are
placed.
Amenities and their associated
data are assigned to the units,
and finally, anchors are used
for positioning references and
unit addresses with additional
data blocks, such as the
occupant, providing the occupant
name and phone number and
related data.
And that is how the hierarchy is
set up.
You can learn more by reading
the Indoor Mapping Data
Specification in detail.
But what is IMDF to the
developer's eye?
An IMDF is an archive made up of
multiple GeoJSON files and the
multiple files we discussed.
This is a GeoJSON file.
And as you can see here, there's
a unique UUID provided to the
specific feature type of level.
The public can access this
building so the restriction
property is set to null and it
is indoors.
This is level one in the
building.
And what you see printed on the
elevator button is L1.
Importantly, we see that this
level is associated to a single
building ID and it has a good
geometrical shape as described
here.
All in all, a comprehensive set
of information in a simple text
file.
Let's review some of the
important elements in
understanding and crafting an
Indoor Mapping Data Format
archive.
It is important to understand
how the layers relate and where
the data for each element is
surfaced.
It is important to ensure that
the IMDF is complete, even from
proof of concept deliveries and
that the units cover the entire
building.
Everything on the level is a
unit, including walkways which
have their own category.
Speaking of categories, they are
critical to a good map and good
rendering behavior.
Openings are important for both
location accuracy and proper
routing and should be included
to make it easier for those with
mobility and site challenges.
Occupants should have unique
addresses and IDs for tracking
and updates of names.
Finally, when making the IMDF,
consider the indoor survey.
Large spaces are hard to get
accurate orientation.
Even if your map doesn't need
the information, including
notable landmarks or orienting
information like columns, will
make it much easier for getting
proper calibration during the
indoor positioning survey, and
consequently better accuracy
after.
And that's creating the IMDF.
Next, let's look at validation.
As I mentioned earlier, when an
IMDF is uploaded into the
organization's account, it is
electronically validated and a
report is provided with a
detailed analysis.
While this may be easy for
well-schooled GIS professionals
to consume, we thought there
might be an easier way to work
with this sort of information.
The IMDF Sandbox is a
browser-based tool for
visualizing IMDF, searching the
IMDF file, observing the
validations and making simple
edits.
I have a sample IMDF archive
data set opened here.
First of all, you can see the
map.
This is rendering the IMDF data
to show you how it looks.
There's a level picker for
switching between levels and a
compass to show you the
orientation.
On the left, you'll find a
directory that will help you
browse and navigate the data
with quick access to all the
businesses and services.
Or browse the data by building
or by level.
At the top, there's a search bar
that lets you search for
anything and everything within
this data set.
At the top of the panel at the
Home, you'll also see a link to
all the validation errors and
warnings triggered by this data
set.
The validation engine is the
same tool in use when an IMDF is
uploaded to the Indoor Maps
Program, but the results are
interpreted and visualized by
the Sandbox.
In this case, there are no
errors, but just warnings.
Warnings are present because the
validator identifies a scenario
that could be an error or could
be ignored.
Depending on your business use
case, it is important to have
someone with an understanding of
the IMDF specification and the
business use case review
warnings generated by the
validator to make a decision on
their importance.
Let's take a look at how the
IMDF Sandbox can be used to
discover errors and do some
light editing.
I've introduced a few errors
into my sample data to show you
how this works.
When I first load the IMDF
archive, the Sandbox shows me
errors.
The warnings are shown in the
other tab.
In order for my IMDF to be
accepted into the Indoor Maps
Program, it cannot have any
errors.
So, let's take a closer look and
get these resolved.
First, we can see that there are
overlapping units.
In IMDF, units should never
overlap.
So this is an error.
Taking a closer look, the
Sandbox tells us that there are
two instances of this error in
this data set.
By clicking one or the other,
the map zooms to that particular
location and highlights which
units overlap.
Here, it is the blue unit and
the yellow unit overlapping with
the overlapping areas shown in
orange.
The Sandbox provides me with an
easy option to remove the
overlap by simply removing the
overlapping area from one or the
other.
I have chosen to remove the
overlap from the blue unit,
because then both units are nice
and rectangular.
And now, it is fixed.
Let's take a look at the other
overlapping units error.
It seems this elevator is too
large.
So I'm going to remove that
overlap from the elevator unit.
And now, both errors have been
fixed.
There is now one other error I
need to quickly resolve with the
unit being outside the reference
level.
You can see the orange area
outside the level looks to be
some sort of drawing error that
was picked up when the file was
digitized.
I removed that area from the
level and the entire file is now
free from errors.
Because all of the work in the
Sandbox is done locally in the
browser, I will have to click on
Download the IMDF at the top
right of the screen and save a
copy in order to keep these
changes for use in register and
adding back into my content
management system.
To recap, best practices for
IMDF validation.
The same validation tools are
available when uploading your
files to the Indoor Maps Program
and the IMDF Sandbox.
They check the accuracy and
integrity of your IMDF to the
limit of the business use case.
Warnings are surfaced when a
condition can apply to multiple
use cases.
After validation, the IMDF is
checked manually for accurate
placement on the earth or
georeferencing to ensure
accurate indoor positioning when
indoor positioning is enabled.
With IMDF Sandbox, you can
easily look at complex IMDFs and
see the details, identifying
fixed errors and then save the
files.
All of this work is done locally
in your browser and is not
shared with Apple.
The IMDF Sandbox is available
for anyone with an Apple ID and
not just building owners in the
Indoor Maps Program.
And that is IMDF validation.
So, now, we know how to join the
Indoor Maps Program, create an
IMDF and validate it.
The next step is to enable Apple
indoor positioning.
But first, we need to understand
just how Apple indoor
positioning works.
Imagine a still pond and a drop
of rain falls on the surface of
the water.
The ripples caused by the
raindrop are much like the
signal coming from an access
point.
With one drop, one set of
ripples.
But with multiple raindrops, you
get many ripples which produce
waves that intersect with each
other, lay a grid over the
waves, and inside each box,
there will be a unique texture
pattern of ripples or what we
call the fingerprint.
The IMDF map provides the
latitude, longitude and floor
coordinates for each box in the
grid, allowing the location
service to create a pairing
between the coordinates and the
fingerprint.
When your iPhone or iPad is
entering the building, the
fingerprint is downloaded to the
device from the core location
servers.
Once this is done, while the
device Wi-Fi radio must be
active, it no longer needs a
network connection for
positioning to work.
When an app calls location
accuracy best, the device
passively looks at the
fingerprint, does an on-device
pattern match, derives the
coordinates and plots the
location dots.
Local sensors are then used to
keep the dot up to date until a
threshold at which point the
device looks at the fingerprint
again.
Apple indoor positioning is
incredibly fast, low power and
private.
In short, an indoor map plus
Wi-Fi gives you the blue dot.
The specific steps to enable
indoor positioning are, with an
IMDF already loaded into your
account, collect the Wi-Fi using
the survey app, upload the
surveys back to the core
location servers for analysis
and activation, and then test
positioning in the survey app as
a reference for quality.
Let's take a quick look at a
demonstration of surveying and
testing positioning.
In the survey process, you drop
points on a screen as visual
markers of where you are
standing in the real world.
This is how the positioning
algorithm is calibrated to your
location.
Here, you can see the surveyor
has oriented himself in the room
and on the screen and then
presses record.
The surveyor then moves the
crosshair to the next location
five to eight meters out to a
point he can verify.
And when in that spot, taps on
the screen, registering the
point.
Notice his feet crossed the grid
lines on the floor as he taps on
the screen and calibrates the
survey.
At corners, the surveyor makes
right angle turns in place,
rotates the screen, taps and
walks.
The area colored in represents
the Wi-Fi signal captured.
When the floor is entirely
colored in, the area is
fingerprinted and the data is
ready for upload.
Once the survey data has been
processed, you'll be notified
that the indoor positioning is
ready.
Toggle privacy, location
services to flush the location
cache.
And then you can begin testing
the accuracy of indoor
positioning.
If positioning is working, the
map will display in test mode,
the green areas represent all
the surveys that were uploaded
and successfully processed.
The blue dot is the center point
of the positioning estimate with
the light blue circle being the
range of confidence in accuracy.
Here, you can see the confidence
circle is well within the three
to five meter expectation of
Apple indoor positioning and is
following the tester quite well
in the smaller environment.
Including fixtures such as the
tables in your IMDF will add to
the constraints placed on the
positioning service and enhance
accuracy.
Let's recap how indoor
positioning works and how we
enable it.
Apple indoor positioning uses
Wi-Fi fingerprinting.
It uses any Wi-Fi signal in the
building passively and does not
make any impact on the network.
Indoor positioning is enabled
using the indoor survey app and
the IMDF made available through
the Indoor Maps Program.
Surveying isn't difficult but
the steps have to be followed if
you are to succeed.
Everyone surveying a location
should have the same model of
iPhone and same version of iOS.
Drop pins every five to eight
meters as you walk and continue
in smooth motion.
Keep in the center of walkways
to ensure the walls are factored
in to your positioning
constraints.
Do not use any sort of case on
your iPhone while surveying.
And read the help documentation
for tips on patterns to walk for
enabling specific types of
buildings and positioning use
cases.
Finally, now that we have an
IMDF and indoor positioning, how
do we put this in our apps and
websites?
MapKit and MapKit JS support
decoding and rendering of
GeoJSON files.
You can use these frameworks to
display IMDF data as overlays
and annotations on a map.
Styling your indoor map elements
is critical to how the map is
perceived and used.
Apply styles that match your
app's theme or your company's
brand.
For a rich indoor experience,
you can take advantage of indoor
location by enabling Apple
indoor positioning within your
building and then using APIs
from the core location framework
to display the user location
indoors.
To learn more, check out the
video and sample code for our
WWDC Session Adding Indoor Maps
to your App and Website.
And that's the Indoor Maps
Program.
We look forward to seeing all
the wonderful apps you will
build.
Thank you so much for your time
today.
For more information, visit our
website at
register.apple.com/indoor.