how to view and work with mapx files from the HoloLens 2 Device Portal Map Manager APIs

Copper Contributor

Hi all, I'm trying to track down any information or documentation on how to work with the mapx files that can be downloaded using the HoloLens 2 Device Portal APIs--specifically, the Map Manager. I simply want to grab the mapx, view it outside of the HoloLens (as you could with, e.g., the obj file that can be downloaded via Device Manager), and determine whether it will work for my application. If it does, I'll need to be able to manipulate it programmatically, so any libraries that operate on mapx files would also be of interest. But so far I've been unable to find any application that allows me to view or manipulate this type of file (I tried ArcGIS Pro, but it fails to open HoloLens files), and I haven't found any documentation about how mapx files are used on the HoloLens or more generally.

 

Does anyone happen to know more about mapx or where I could get information on working with this file type?

2 Replies
Alternately, I'm open to finding an automated way to retrieve the obj map file available from the Device Portal -> Views -> 3D View. Downloading the obj file requires clicking the "Save" button. There is no API for this version of the map.
When working with the environment's mesh, I've typically used libraries like Scene Understanding (https://docs.microsoft.com/en-us/windows/mixed-reality/develop/platform-capabilities-and-apis/scene-...), or Spatial Mapping (https://docs.microsoft.com/en-us/windows/mixed-reality/develop/unity/spatial-mapping-in-unity). Both can be used to grab and work with the room's mesh at various quality and information levels.

I don't know too much about the Device Portal's API, so I'm going to be of limited help there. I haven't worked with a .mapx file before, but I have a sneaking suspicion it may not be what you're really looking for? I did also peek through the browser inspector at the Device Portal and it looks like it isn't using REST to grab the map's mesh, it's doing it some other way. Possibly sockets? The code got a little tricky to follow, it was all minified stuff!

If the Scene Understanding SDK is an option for you though, that's my recommendation.