Have anyone been working on a laz/las to quantized-mesh converter?

https://cesiumjs.org/data-and-assets/terrain/formats/quantized-mesh-1.0.html

I was thinking about writing a converter using PCL http://pointclouds.org/ that could make a quantized-mesh from a las,laz file.

Goal for me is to be able to visualize the mesh generated with tools like photoscan or lidar collected data.

Have anyone been doing something similar ?

Hi Poul,

This is a planned feature for the STK Terrain Server for elevation based datasets (e.g., aerial lidar surveys). For datasets collected at ground level, Quantized Mesh is likely not the right data structure for this type of point cloud data as you’ll want to capture features in the geometry such as arches, doorways, etc. The good news is that Cesium has plans for this alternative type of point cloud support if that happens to be your use case.

Alex

You are right, i mixed up things. Was thinking about lidar data while i was writing the question.

What I wanted to do was to generate Quantized mesh from output of Argisoft Photoscantool (Pix4d equivilent). Need to investigate what mesh output formats they support as the first thing.

Also. I am interested in generate tools that can produce the formats as tiles that can be hosted in amazon s3 or microsoft blob storage as a alternative to the STK Terrain Server

The good news is that Cesium has plans for this alternative type of point cloud support if that happens to be your use case.

Hi Alex,

How is the alternative type of point cloud support going? Would it be possible to stream data from a server via some sort of open format and have the end result look something like http://potree.org/ ?

Thanks,

Chris

Hi Chris,

We are looking at point cloud streaming. Do you have any test data or use cases you can share?

Patrick

We are looking at point cloud streaming. Do you have any test data or use cases you can share?

Hi Patrick,

I've sent a link to you for a sample las file. Please let me know if you have trouble getting it, and please don't redistribute the file.

The file itself contains ~45 million points with RGB info. Obviously, rendering all these points would be problematic so will your implementation have some sort of lod based rendering?

We've been thinking about how we can serve large amounts of point data from a server into various clients via some sort of open protocol and have it display efficiently. We're still trying to determine if it is feasible and desirable to do it this way.

Is the pointgeometry branch still the latest place to get cesium with pointcloud functionality?

Thanks,

Chris

It should also be considered if tiling and browser caching can be used. Would also be good to have support for client side limits on how many points you want to stream down. No reason for people to stream GBs of data on their metered connections.

I can also provide a point cloud (not from lidar but photo stereo matching of aerial photos), its 3.5GB and the link is avaible for a week. So please download a copy if its something you want to work with or write me msg to get a new link later.

Its around 4 points pr sq meter,

http://ascendxyzweu.blob.core.windows.net/shares/sonderborg_medium_gsd13.laz?sv=2013-08-15&ss=2014-11-26T05%3A16%3A37Z&se=2014-12-03T05%3A15%3A52Z&sp=r&sr=b&sig=3oXRt%2FGMvLK5YZ7TAiUdIsiRk1TiAwKzeAovhwqnJ1M%3D

Thanks for the point cloud data. We’ll have a look at them next week when we are back in the office. More data is always welcome any time. :slight_smile:

Point clouds in Cesium will be similar to terrain in that it will stream a compressed subset of a point cloud, with potentially billions of points, based on the view parameters using an open format that we will publish.

The pointgeometry branch can be used to draw a few million points all in memory, but does not have the streaming feature yet. I’ll post to the forum when there is something to experiment with.

Thanks again for the test data!

Patrick

Thanks Patrick,

We'll keep an eye out for when something is ready.

Chris

Thanks Poul,

The dataset is fantastic! We agree that browser caching and tiling should be considered.

Chris

Np. If more data is needed, just send a notice.

For denmark, we have a 500GB Lidar dataset covering 25000 sq km. Its public avaible, but you need a user to download it on some danish goverment site. If this has interest for you guys - feel free to drop me an email on pks@ascend.xyz and I will help you get access to the data. Its really high quality point sets with alot of details.

I would love to create something cool with this data in cesium, but the task of preparing the data has some unknowns for me still. The data is also made ready as DTM/DSM (tiff), and I am wondering if AGI has tools that can convert this to quantized-mesh tiles.

Poul,

Thanks for the offer. I’ll let you know when we are ready to test with this dataset. At the moment, our work on point clouds is on hold so we can finish KML, clamp to ground, etc.

Patrick

Patrick, thers also the 0.40 cm resolution processed DTM from the point clouds. I been trying to figure out to download the AGI terrain server but dint find anyhting that I could download and try.

Would be cool to see this data in the terrain server :slight_smile: http://cesiumjs.org/data-and-assets/terrain/stk-world-terrain.html

Example info for small part of the DTM.

Files: Y:\DTM\DTM_605_65_TIF_UTM32-ETRS89\dtm_1km_6055_656.tif

Size is 2500, 2500

Coordinate System is:

PROJCS[“ETRS89 / UTM zone 32N”,

GEOGCS[“ETRS89”,

DATUM[“European_Terrestrial_Reference_System_1989”,

SPHEROID[“GRS 1980”,6378137,298.2572221010002,

AUTHORITY[“EPSG”,“7019”]],

TOWGS84[0,0,0,0,0,0,0],

AUTHORITY[“EPSG”,“6258”]],

PRIMEM[“Greenwich”,0],

UNIT[“degree”,0.0174532925199433],

AUTHORITY[“EPSG”,“4258”]],

PROJECTION[“Transverse_Mercator”],

PARAMETER[“latitude_of_origin”,0],

PARAMETER[“central_meridian”,9],

PARAMETER[“scale_factor”,0.9996],

PARAMETER[“false_easting”,500000],

PARAMETER[“false_northing”,0],

UNIT[“metre”,1,

AUTHORITY[“EPSG”,“9001”]],

AUTHORITY[“EPSG”,“25832”]]

Origin = (656000.000000000000000,6056000.000000000000000)

Pixel Size = (0.400000000000000,-0.400000000000000)

Metadata:

AREA_OR_POINT=Area

Image Structure Metadata:

COMPRESSION=DEFLATE

INTERLEAVE=BAND

Corner Coordinates:

Upper Left ( 656000.000, 6056000.000) ( 11d24’59.72"E, 54d37’38.21"N)

Lower Left ( 656000.000, 6055000.000) ( 11d24’57.80"E, 54d37’ 5.88"N)

Upper Right ( 657000.000, 6056000.000) ( 11d25’55.43"E, 54d37’37.09"N)

Lower Right ( 657000.000, 6055000.000) ( 11d25’53.50"E, 54d37’ 4.77"N)

Center ( 656500.000, 6055500.000) ( 11d25’26.61"E, 54d37’21.49"N)

Band 1 Block=256x256 Type=Float32, ColorInterp=Gray

NoData Value=-9999