iTowns / itowns

A Three.js-based framework written in Javascript/WebGL for visualizing 3D geospatial data
http://www.itowns-project.org
Other
1.1k stars 298 forks source link

Problem with a potree pointcloud on globe #846

Closed ghost closed 6 years ago

ghost commented 6 years ago

Hello,

I'm trying to includ a Potree pointcloud on a globe. My pointcloud is in EPSG:3943 and the scale is correct (unit = meters).

I transformed the RCS/RCP original pointcloud in LAS format using E57 export from Autodesk Recap. Then I converted thi E57 in LAS format using CloudCompare, and I verfied the data integrity OK.

I've created a Potree pointcloud with this commande line c:/potree/PotreeConverter.exe C:/potree/test.las -o C:/potree_converted -p test--overwrite --projection "EPSG:3943"

The pointcloud is welle charged in my website, but not visible. The only way I founded to see it is to force the scale in "cloud.js" file : { "version": "1.7", "octreeDir": "data", "projection": "EPSG:3943", "points": 18941009, "boundingBox": { "lx": 1910161.25, "ly": 2225720.5, "lz": 92.70736694335938, "ux": 1910334.5, "uy": 2225893.75, "uz": 265.9573669433594 }, "tightBoundingBox": { "lx": 1910161.2499999628, "ly": 2225720.499999995, "lz": 92.70736694334, "ux": 1910334.4999999628, "uy": 2225844.249999995, "uz": 101.56736755468 }, "pointAttributes": [ "POSITION_CARTESIAN", "COLOR_PACKED" ], "spacing": 1.5003889799118043, "scale": 100, "hierarchyStepSize": 5 } And then I see this : capture

My point cloud should be placed in the south of France...

I tried to change the projection parameter during potree creation but the pointcloud seems to say in place...

I'm a fresh user of theses solutions so thanks for your help... (and please excuse me, my English is not perfect, I'm a French user).

nosy-b commented 6 years ago

Hello loic! Looks like you're not using the right projection for a globe visualization, it should be EPSG:4978. What do you think Potree mates @gmaillet @gchoqueux @qdnguyen ?

ghost commented 6 years ago

Thanks Alexandre, Does it mean that I need to change the projection of my pointcloud before generating the Potree ? I thought that iTowns was able to use the "projection" parameter included into the "cloud.js" file to adjust the display on-the-go.

Using the "EPSG:4978" parameter to create my Potree, the result stay the same (with scale value at "100") 2

nosy-b commented 6 years ago

Yes indeed, iTowns doesn't reproject on the fly the pointclouds, you need to convert your points in EPSG:4978 before creating the Potree. (Can Potree convert the points for you ? I'm not sure the --projection parameter offers conversion but is more an indicator for the provider but i'm not an expert in Potree converter).

ghost commented 6 years ago

Thanks for your help. Seams to be a solution : https://github.com/qdnguyen/PotreeConvertor4Itowns Don't you think so ? But I don't understand how to use it... @qdnguyen could you explain me the workflow please ?

nguyenign commented 6 years ago

hi, i did this only to convert the points from lambert93 to wgs84, if your points are lambert93, then you can use my code. You can run my potreeconvertor with the option -r LAMBERT2WGS84. good luck!

gchoqueux commented 6 years ago

@loicroybon have you solved your problem?

ghost commented 6 years ago

Since my last message I discovered a georeferencing error in the pointcloud. After correction I did not retried on iTowns, however I successfully integrated it on other software solutions.

gchoqueux commented 6 years ago

ok, you could try with itowns if you have the time. I close the issue because it seems that the problem came from the data