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?
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.
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?
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).
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 ?
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?
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.
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.
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?
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?
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 am doing something similar to this and I noticed that all my altitude values are negative, upper and lower bounds of [-46.58488, -12.0381012]. The .xyz file for the project is [7.410^5, 3.73910^6, 1.0]. I did not select a specific altitude setting when starting the project but let the software auto select.
My images were taken using DJI drone, which seems to have some issues when importing altitudes to pix4d (Altitude - #2 by Julie_Pichon)?
Are adding GCPs the best option to fix this? and if I am going to add GCPs what is the best altitude option if I am planning on relying more on GCPs for altitude alignment?
Google maps seems to be widely used to determine lat,long,alt for GCPs, are there are other/better resources for doing this?
based on your description, it could indeed be the issue of DJI geotags. Which drone are you using?
There are multiple ways of tackling the issue, but using GCPs is the recommended one.
Since picking GCPs from google earth is not very precise, it would be better if you would acquire them with a RTK rover. It all depends on the final accuracy of your deliverables.
These cookies are necessary for the website to function and cannot be switched off in our systems.
They are usually only set in response to actions made by you which amount to a request for services, such as setting your privacy preferences,
logging in, or filling in forms. These cookies do not store any personally identifiable information.
These cookies allow us to count visits and traffic sources so we can measure and improve the performance of our site.
They help us to know which pages are the most and least popular and see how visitors move around the site.
All information these cookies collect is aggregated and therefore anonymous.
If you do not allow these cookies we will not know when you have visited our site, and will not be able to monitor its performance.
These cookies may be set through our site by our advertising partner (Google).
They may be used by Google to build a profile of your interests and show you relevant adverts on other sites.
They do not directly store personal information but are based on uniquely identifying your browser and internet device.
If you do not allow these cookies, you will experience less targeted advertising.