Understanding about georeferenced OBJ models generated using ODM

I’ve read an earlier thread: Visualize the 3d gore model - #5 by pierotofy
In it, a maintainer states that:

We have actually have georeferenced models (odm_textured_model_geo.obj ). Coordinates there are in UTM, minus the UTM offset.

I currently have a odm_textured_model_geo.obj file, but am rather perplexed by how the OBJ file could lead back to actual coordinates (such as eventually leading back to a WGS84 compliant coordinates), which I needed, as I would like to systematically apply the generated model on to a map.

However, I can’t seem to find any further information with regards to how exactly the OBJ contents could be ‘translated’ to UTM coordinates.

I’ve looked at the OBJ file - the geometrical stuff seems random enough to be referring to random points of the model - I have rather limited knowledge in terms of 3D stuff.

I’ve tried putting down x and y values of geometric vertices (as I understood as the ‘v’ stuff) into online UTM to WGS84 convertors. Definitely not the answer I was expecting…

Using meshlab made me more confused as ever, as it wasn’t as straightforward(or not possible?) towards getting the coordinates, when compared to QGIS with GeoTIFFs, for example.

So with that, I would like to enquire members here, on how exactly an OBJ model could, perhaps, be retrieved with the original intended UTM coordinates as per where the OBJ model had mapped the original location.

Or, if I misunderstood the entire concept of georeference and it just wasn’t supposed to be possible whatsoever.

Thank you all in advance!

1 Like

Welcome!

OBJ does not actually support georeferencing, so the model uses a local coordinate reference system with offsets.

You’d need to apply those offsets to reference positions to georeference it properly.

See this for some more information:

Thanks for your response!

I’ve looked at the thread and found the text file as listed in the thread. I assume I should add the 2 values respectively with the whatever geometric vertices coordinate and I should get the actual coordinates in UTM, right?

1 Like

That’s a great question… I’ve not tried actually doing the manual offsetting, and I can’t find documentation on how Pix4D does it (nor other projects that support georeferenced OBJ files), so unfortunately, I don’t know.

If you try it out and it works, some information here would be great so others can do so as well.

I see.

Will give it a try tomorrow, hopefully that’s how the offset is done! Will update here if it works or not.

1 Like

Good news!

It does seem to work!

Simply add the first 2 values of each or any of the geometric vertices from the .obj, to the 2 values of the text file, respectively!

In case anyone else needs to know this in the future:

in the odm_texture_model_geo.obj file, there will be a lot of these:
v xxxxxx yyyyyyy zzzzzzz

take either of them, and add it with the odm_georeferencing_model_geo.txt, which looks something like:
WGS84 UTM 48N
aaaaaa bbbbbbb

take the xxxxxx values, add with the aaaaaa → get UTM easting
take the yyyyyy values, add with the bbbbbb → get UTM northing

also, do remember the UTM zone! the zone in the example above is 48N.

3 Likes

Beautiful stuff! Thanks for doing the work and confirming and leaving great notes for us all!

1 Like

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.