Support Website Contact Support Blog

Point Cloud Coordinate

Hi,

I am trying to read the point cloud in the Matlab. However, after exporting the point cloud into .ply format from PIX4D and open it in Matlab, the coordinate of the point cloud is shown in a different coordinate system. As can be seen below, the x,y and z values of the point cloud are actually set around a certain central point of the point cloud. Is there any way that the point cloud (.ply) exported from PIX4D contained its original world coordinate?

 

Cheers,

Frank

Hello Frank,

The offset of the project that some external software can import is generated after step 1. Initial Processing. The project_name_offset.xyz file is stored in the params folder under: project_name\1_initial\params\project_name_offset.xyz. This file contains the offset of the 3D Textured Mesh that some external software, such as Matlab, can import in order to place the 3D Textured Mesh in its correct position.

I hope it helps,

Alice

Hi Alice, 

Sorry to raise this question again. However, when I open the offset document with the notepad on Windows, I can only see 3 numbers, such as: 327272.000 6166088.000 409.000. Can you tell me how to use them? 

Because I’ve tried to add them to the x,y and z coordinates of the point cloud ply file. However, the result coordinates don’t equal to the coordinates of the same location in the GCS_WGS_1984 coordinate system. So is the offset need to be used in other coordinate systems? I am based in Australia which belongs to the southern hemisphere, does it has anything to do with the offset?

Regards

Frank

Hi Frank,

the outputs generated by Pix4D mapper always have a projected coordinate system. Adding the xyz offset will let you obtain the georeferenced mesh in the projected coordinate system defined as output coordinate system in your project.

This means that if your input coordinates are in Latitude, Longitude, Altitude, your outputs’ coordinates will only be in meters or feet, depending on the selected output projected coordinate system. 

You could use an external software to do the conversion (any GIS software).

Hi Alice,

I am new to this conversation, and have a very limited understanding of how to convert the long decimal number coordinates with GIS software as you suggest.

Can you give me more specific information on how to do this ?

Thank you for your help !

-John

Hi John,

I would also need more information to help you. What do you mean by “long decimal number coordinates”? What are you trying to obtain and why do you need to convert the coordinates? Are you also trying to import the point cloud (which format?) in some third-party software?

 

Which is the Coordinate Systems you want to transform?

 

Cheers

 

 

Pix4D shows my XYZ coordinates with numbers like these:  327272.000 6166088.000 409.000.

I want to convert that to an XYZ GPS coordinate to locate a surface’s exact position in 3rd party software.

(I’d like to be able to do this with a point cloud as well).

I would be importing into PVSyst and Google Earth

I am a newbie, and need beginner’s help in this.

Thank you !

John

John,

Regarding the export of the results into Google Earth, KML files can be generated in the desktop application for what concerns the orthomosaic. For more information please read How to generate the Google Maps Tiles and KML.

If you need to import point cloud data in Web maps, you need other third-party software. The following link might be useful for you.

https://www.safe.com/convert/las/kml/ 

Concerning PVSyst, we do not really have experience with that. You might need to ask for their support unless someone from the Community can help you here.

Hope this helps.

Hi,

I think I had the same issue with the OP but with the textured mesh. After importing the mesh in Unity, I noticed that the X axis was flipped. So adding the offset from the _offset.xyz file basically moved the corresponding projected coordinate twice the distance off in the X axis. After flipping the value, I managed to get the correct GPS coordinate.

In the OP, it was mentioned that even after adding the offset, the GPS for a specific point was off, which is why I’m thinking it’s the same as me.

Any ideas as to why this is?

As a sidenote, I compared the direction of the +X axis on the DSM(QGIS) and the mesh in Unity to verify they are opposite. Perhaps this is due to different handedness?

Hello Ami,

Sorry but I am not sure if I understand well. I would appreciate if you can describe your problem a bit more in detail and describe what you have done and what your problem is.

What do you mean with “OP”?

I understand that your mesh is flipped. Is it so? however, the DSM is not flipped?

On another issue, are you using a left-handed coordinate system?

Thank you very much.

OP is the Original Poster in forum lingo. Sorry, force of habit.

Yes we are using a left handed coordinate system mostly because the project uses a component developed in Unity which uses a LHS so we conform to that for consistency in other components.

Loading up the DSM in QGIS and I see it’s showing the area properly. Don’t know if QGIS is doing any flipping when loading though.

On the other hand, in Unity after loading the mesh, I see things are flipped on the X axis.

The point was to raycast points on the mesh inside Unity and given the projected coordinate offset, calculate the raycasted point’s projected coordinates and then convert that to lat/long.

I guess this is a handedness issue, right?

Hello Ami,

As it is explained in this post:

 

I hope this information helps you.

Regards.