GeoHint in Localization
Release v1.7.0 adds two major features to the MultiSet VPS for improved localization in large georeferenced maps.
GeoHint in Localization Requests
Purpose: Pass the device’s GPS coordinates (latitude, longitude, altitude) in localization requests after georeferencing your map.
Benefits:
Significantly reduces localization time in large outdoor environments.
Mitigates issues of visual aliasing.
Improves overall localization performance and accuracy.
GeoCoordinates in Localization Responses
Purpose: Get localization results directly in global GPS coordinates (latitude, longitude, altitude).
Benefits:
Enables seamless integration with other applications or services that rely on GPS coordinates.
Directly connects localization results to real-world locations.

How to Use These Features
In Unity (MultiSet SDK Manager)
Both features are available as boolean checkboxes in the MultiSet SDK Manager component in Unity:
passGeoPose: Enables sending device GPS as a GeoHint in requests.
geoCoordinatesInResponse: Enables receiving localization results in global GPS coordinates.
Setup Steps:
Update Map GeoCoordinates: Before enabling these features, update the geo-coordinates of your map in the MultiSet Developer Portal.
Enable Options in Unity:
Open your scene and select the MultiSet SDK Manager (or Single Frame Localization Manager).
Check the boxes for
Pass GeoPose
and/orGeoCoordinates In Response
as needed.
GeoHint for MapSet
To enable GeoHint in MapSet, start by georeferencing the primary map. Afterward, merge all the maps to enable georeferencing for the entire MapSet.
Using MultiSet Localization API Directly
If you are integrating via the API (outside Unity), you can enable these features by including the following fields in your localization request:
Request Parameters
Field
Type
Description
geoHint
string
Comma-separated string, e.g. "latitude,longitude,altitude"
. Pass the device's GPS as a hint for localization.
convertToGeoCoordinates
string
Pass "true"
to receive localization response in global coordinates.
Example Request Body and Response:
JSON
{
"mapId": "your-map-id",
"geoHint": "37.4219983,-122.084,10.5",
"convertToGeoCoordinates": "true",
"isRightHanded": "false",
..... /other parameters
}
{
"poseFound": true,
"position": {
"x": 18.02616906718104,
"y": 0.2390845541686672,
"z": 49.78523293043798
},
"rotation": {
"x": 0.05252280356066648,
"y": 0.7499672061823682,
"z": -0.09851352860000855,
"w": 0.6519859119949725
},
"confidence": 0.970913770913771,
"mapIds": [
"686b8c196e3d69f9d7b537b3"
],
"geoCoordinates": {
"latDeg": 12.840526251549763,
"lonDeg": 77.64296833050544,
"altM": 933.239305568859
}
}
Feature Details
1. Passing GeoHint in Localization
How: When
passGeoPose
is enabled, the SDK will automatically attach the device’s current GPS coordinates to your localization request.Why: This narrows down the search area in large outdoor georeferenced maps, speeding up localization and reducing errors.
2. Receiving GeoCoordinates in Response
How: When
geoCoordinatesInResponse
is enabled (or whenconvertToGeoCoordinates: "true"
is included in API requests), the SDK converts the localization result into global GPS coordinates.Why: This is useful for interoperability with external systems or for mapping localization results to real-world positions.
Important Notes
Map Preparation: Ensure your map is properly geo-referenced and updated in the MultiSet Developer Portal before using these options.
Platform Support: GPS functionality requires device location permissions; the SDK will prompt the user accordingly.
Unity Integration: No additional scripting is needed—just enable the options in the SDK Manager.
Last updated
Was this helpful?