iTowns, a new framework for 3D web visualization
CC Attribution 3.0 Germany:
You are free to use, adapt and copy, distribute and transmit the work or content in adapted or unchanged form for any legal purpose as long as the work is attributed to the author in the manner specified by the author or licensor.
Picavet, Vincent (Oslandia)
We present iTowns, a web framework developed in Javascript / WebGL for 3D geospatial data visualization, with capabilities for precise measurement directly in the browser. The first use case of iTowns is Street-view data type visualization : immersive images, but also terrestrial LIDAR Point Cloud data. But iTowns now supports much more data types :  Oriented images Panoramic images Point Clouds 3D textured models WFS vector data iTowns OpenSource is the descendant of the initial iTowns software developed at MATIS research laboratory of the French National Mapping Agency. iTowns OpenSource version 1.0 has been released in February 2016. The framework allows to : - Visualize projected images on a mesh ( cube, 3D model) - Visualize panoramic images - Display depth panoramic images - Display extruded building ( from WFS, other sources ) - Navigate in 3D (click & go) - Display Point Clouds - Visualize textured 3D models ( B3D, 3DS) - Use a simple API We detail iTowns features with videos. The data showcased was acquired by IGN's Stereopolis car. Aside from presenting the software, its present state and the future 2.0 version, we also explain the project history, which is an interesting case of technology transfer from research to industry.
 So, welcome to this third and the last but not least presentation of the 3D track. It would be really interesting. A lot of immersion here when Vincent will show us the iTone Open Source software. Okay, thank you. So, I'm Vincent Picavetan, I'm going to talk about iTone which is a new WebGL, which is a new WebGL visualization framework. So, just a few words about Australia, we are an open source company and currently we're doing a lot of 3D stuff and especially working with point clouds and immersive visualization. So what's iTone? iTone is a new software which is actually not new. I'll tell you a bit about the story of it and to do 3D visualization on the web. So, it's a WebGL and JavaScript framework. It's same as 3D visualization and immersive visualization. And it's open source. The license is CCLB which is something which is really French oriented but at the same time you got the MIT license as well, so very open. On the technical basis, it's based on JavaScript, of course. It's based on WebGL because we do 3D in the browser. And one thing which is kind of important is that it's based on 3.js. 3.js is a famous library for 3D visualization and geometry management in the browser. It's used for a lot of different use cases, for video games, for advertisements, for a website, very dynamic 3D website for video clips and all. It's also a very large community and it's very stable and progressing pretty fast. So this is one of the main point of iTone, it's using this library. This is the same library that Portree uses actually. There are a lot of shaders as well in iTones which allows us for specific visualization effects. And so that's the technology we use in iTones 1 and iTones 2. And one note is that the iTones project is about the client side only, so it's really a Web framework. So we talk about the history of the project because it's kind of a strange story more or less and there are four steps to the story. So the first version, the really first version of iTones was born at the French National Mapping Institute which is IDN from a research laboratory which is called Matisse which deals about everything related to measurements in the world. So how do you scan and sense the 3D environment? And the first version of the iTones project was a flash application. Yes, I know. And so it's allowed to do panoramic images visualization and it allowed to annotate objects inside the images and to visualize point clouds, light up point clouds. So while they realized a few years later that flash was not really future proof technologies, so they changed to WebGL and GPU accelerated technologies in 2011. And the same with this first new version was to be able to visualize lighter and big volumes and as well as mesh support. Why was that created nearly because of the StereoPolice vehicle? StereoPolice vehicle is the background where we come from. It's mobile mapping. You probably know how the Street View vehicle, you've seen it. It's a vehicle with a lot of sensors on it and we can find some images, sensors, so cameras, you have some lighter sensor, you've got IMU which allows us to sense trajectory, you have a GPS and you can also sense the speed. So this is a vehicle from IDN that they use as a research vehicle, they also have a production vehicle. So lots of sensor images, you have different kind of sensor for images but that's mostly camera. You've got for LiDAR, there are a lot of different LiDARs as well and GPU and IMU. From that you output, you sense data, so you get the data from the IMU and the GPS and the odometer and that gives you a trajectory with position and orientation and you get one point, 200 points every second, so that's not very high frequency but still. And then it outputs also images and you get nine images because there are nine cameras every two meters. What you can see on the picture is every single point where pictures of images have been taken for a small trajectory. And then you have laser and the laser outputs something like 300,000 points per second. So the objective was to be able to visualize the data on the web which is kind of demanding in terms of volumes. So that was your main goal to iTunes and this is still the goal we are pursuing. So the open source project went on with this webGL framework based on 3.js and step three was actually last year in August, so that's one year ago. And IGN took the decision to make that framework open source. After years of the demonstration, not knowing what they wanted to do with it, they decided okay let's go, let's open source this software and at the same time they took the decision which is kind of official to that iTunes would be the 3D visualization tool for the national Geoportar for the next version which will be probably in 2017 or 2018. So that was August last year. They took the decision, they came to us and said okay how can we collaborate on that tool. We did some consulting to clean the code because there was a lot of non-licensed stuff for a few issues with globally the source code for the first version. And we had the first release of iTunes 1.0 on February this year so it took quite a time to clean everything and to get the release out. And during that time there were also refactoring everything and starting version 2.0. So the first com is date back from August last year as well for version 2 which is under EV development. So we have nowadays we have two versions of iTunes, the legacy one which is operational, you can do things with it. But it's more like a technology preview. We got the algorithm, we know what we want to do with it, we know the kind of visualization we want to achieve but as the code itself is not something we can really use for industrial projects, a lot of refactoring needed so that's why the version 2.0 was started and the version 2.0 is currently under heavy development and we plan to implement all the features of iTunes 1 into iTunes 2. So that's everything on GitHub. We are collaborating with IGN as an open source project now which is not easy because there is a switch of culture for the Institute too but as a researcher I'm pretty good and very keen to go deep into open source. So what about the data types we want to display? We have kind of different GIS data types we want to have in this 3D environment. First is oriented images and I'll talk more about that just after. Then we have point clouds, you now know about point clouds with poetry and all. So we want to be able to visualize that later data. We want to be able to visualize as well extradit buildings so 2D data which we will transform into 3D and 3D mesh 3D buildings with textures as well as traditional GIS data web services with WMTS for the terrain for the area imagery and for other data layer. In the iTunes project we also have data samples so the IGN provided a subset of the data samples from the StereoParis vehicle. It correspond to one neighborhood of Paris. We have two quality data sets so high quality which is 600 megabytes and a low quality one which is 60 megabytes for like it's kind of a small neighborhood so you can imagine that the whole city of Paris is really big. This is not open data, this is CC by non-commercial, non-derivative 3.0 license but you can use it for research for just testing the software. It provides 3D texture mesh, the buildings, oriented images, LiDAR data and vector data for elevation and to the building footprint. So we have a data set we can play with and that's very important for our end users. Focus on oriented images. What's an oriented images? It's simply an image for which you know where it's been taken from and the orientation as well so you know the positions, location and orientation. And what we do with images is that we project the images dynamically in the browser onto 3D data and especially onto extruded buildings from 2D or from meshes you can have. It allows us to do free navigation and to have more precision into the visualization. If you look at the picture you can see that you have the 3D data and the building, the square you see is the front of the building. It's flat and we project the image onto the building. It's not a texture per se, it's a projection of the image. And in this case we even have a projection onto the point clouds as well which is something we are researching. So you got your 3D buildings, you got your image on the right and if you look at the projected image just from the shooter's point of view you don't see any difference with the original image. But when you move a bit on the side which you can see on the right below image there is some deformation from what you can see because you change the point of view compared to the shooter's point of view. And if you move any even further which is on the lower left side you can see that we have this image which is projected onto the 3D buildings. And what we do with one image is not immersive visualization but if you have multiple images you can as soon as the user moves you can load the new images which correspond best to where the user is located and you re-protect them to the buildings you know. And during that you have a complete immersive environment. So item version 2 that's step 4 that's where we actually stand. That's a full refactoring of the application. We keep the algorithm, we keep all the principles but we rewrite all the code. There is also a few new features. There is a globe because the globe is sexy, funny. So they wanted a globe. That's not the main point of the application but we do have it. We have a high level API as well so it's easier to incorporate the framework into your own application. We have web services support, WMTS, WMS, WFS which are planned. More documentation, more examples. 3D mesh support with KML or GLTF formats. And the one map is to release an alpha version in autumn this year and the 2.0 version late this year or beginning of next year. So I got some videos to show. So let's get started with this one. So this is the globe view of version 2.0. The video is a mix of version 1 and version 2 to show the features. This is version 2 and this is the globe. So this is a classic global visualization tool. There is a timeline animation so time is taken into account. We have some fancy features with the sun rising and sunset. Of course you have elevation with very precise DTM. You can zoom in and automatic loading of the data with the Tiling scheme which is now classic with global application. So you can see the sunsets of the other formats. You can do animation of data as well. So this is an example with satellite infrared imagery which are animated onto the globe. So that's more classical. Since we use 3.js which is a very versatile framework, you can do a lot of things very easily like this animation of flooding or this kind of thing. It's only a 3D plane which goes up and down. This is a sand river in Paris and there has been a lot of flooding recently. So this is kind of a simulation of flood. Well, it's much, much exaggerated. It wasn't as high as you can see on the video. So here you can see that you have some 3D buildings too and you can have lots of different kind of data. And this is the immersive view so you can go from the globe down to the 3D data and you see the 2D extruded data and then you go to the street level and that's where you enter the immersive view. So this is 3D data. Well this is 2D data extruded and we project the imagery directly onto 3D data. So you don't see the 3D object per se but it's just like you were in the environment. So we support point clouds as well. So here again, without the point cloud service, it loads dynamically from the closest point where you are and you can enter again the immersive view and steal out the point clouds while keeping the images loading and projecting on the 3D data. There are a few tools so that's version one. The tools are not ported yet to version two but we'll come at some points and you have tools to do measurements. We work in projected space here so you have your local projection so that the measurements are done directly into the right reference system. You don't have any reprojections so you exactly have the measurement which has been done by the sensor which is the most precision you can have. And you can do point positioning, you can do distance computation and you can do a few things on top of your point clouds and the thing is the measurements are done on the point clouds not on the images. So it's dynamically loading and I think that's about all for this video. Oh no, that's version two as well. So here you can see that we project the images onto the 2D mesh with the 3D extruded building and onto the point cloud. So you have a very high definition for the color of the point cloud which changes when you change location because you're going to load the next projected images. So that's a try for mine somewhere you have mines and you can have some tools to digitize things as well. You can load vector data here we can see in more or less red vector data which is on the streets and you can incorporate 3D models that's a collider model KMZ because 3.js supports a lot of different things and it's very easy to incorporate new features into items. This is an example of incorporating a video as a texture and you can even play the video is just like as if you were loading a website on actually inside the 3D environment so you can do virtual reality. And this is very easy to implement because of 3.js that makes it work and it's pretty impressive. Yeah, so 3D buildings with high quality you can load shapefiles here for trajectories and that's all for this video. I got another one which show a bit of different environments. Okay, this is the video from the workshop we did this week at Pros4G. This is items 2 with a few specific improvements we have done. If it loads, doesn't matter. Okay, now you won't have, oh yeah, sorry. Get it back. So this is items 2, the new version and we have integrated pottery inside items 2. So thanks to pottery we can display point clouds very easily and we can use all the features of pottery. It's still a work in progress since we have a few things to improve in pottery and in items to do that. So that's the city of Montreal and the buildings are served with 3D server and point clouds are also served by point cloud server. Okay, quickly goes to the rest. So what for the future of items? We want new features so pottery integration is almost done. We have a branch doing that. We want projected images on point cloud that we have a proof of concept working, I showed it. We want to improve our build system and continuous integration for better quality. We want a user interface. We would like to integrate external API like here or like Mapillary maybe. We lack some information on the Mapillary API but could come. We want vector type support. We want 3D service connection with 3D type support ground and then try and support at some point. That's what we are looking at in the future. As for the server side and I'm almost done, we want to do some streaming from the server side to items. There is this project leads which we are working on to build up some new 3D web services for 3D object for measures for point clouds, for oriented images, panoramic images and 3D type support. So that's a work in progress and we still have a lot of work to do. So the plan for the future is to release version 2, improve the code quality. That's what we are doing right now to integrate more contributors. So you are welcome to talk to us and get into the project. Have a better collaboration as well. We have a first industrial project which are coming for items integration into a specific application. Of course, as an open source project, we open to funding and contribution. We do a lot of communication so that we can do all that. So thanks, thank you. Merci. And if you have any questions, that's my time. Thank you very much, Vincent. So we'll have time for a few questions. Yes. Hi, thank you. Just one question. Bandwidth is usually a major concern for 3D viewer. What's about for items? So yeah, it's pretty complicated because there are a lot of different aspects to take into account. We are improving at the same time the client side and the server side because you cannot have one without the other. So we try to optimize the formats we are using. It depends on the kind of data you are talking about. If you are talking about point clouds, there is a lot of work going on with entry and with LAC compression. So we try to use that as much as possible. And actually for point cloud, we benefit from the work which is done on POTRI. As for images, we have a level of detail management which is planned to load some lower resolution images before high resolution. And then yeah, it depends on the kind of data you want. And you can prepare your data according to the bandwidth you have. Or you can have a server which allows you to integrate level of detail. But it's very specific to the kind of data you have. Another question? Okay. Let's see. I'm a city who has a lot of collada files with the 3D and leader data also. Can you describe briefly what is workflow or what is the pipeline to get this data to like working web portal, for example? Well, as for now, complicated. I don't know about the visualization part. For the data set we have, for example, it's a flat organization. I mean, you can just generate the data with a specific format. There are some tools for that. There are still some manual manipulation you have to do. But it probably won't scale that well with that format. So you will need at some point to either have an improved format for large scale data, be it 3D meshes or point clouds. So you can use the n-train format for point clouds. Or you can use the POTRI1 for point clouds. For 3D meshes, we don't have yet any specification for that. Maybe 3D ties will be the solution. But we have no, the tools are not ready yet to have a good workflow for that. Otherwise, you can use a server for your data, which will be able to handle a large amount of data, but you have to integrate your data into the server. For now, what we do is mainly having not collada, but CTGML data as an input. So you can take your collada, make it CTGML files, and then we have import tools for the CTGML you put in the database. And then you have a server serving the 3D data from the database to iTunes. That's a current workflow for 3D data, 3D meshes. For images, you can just store that on the file server. That's all right. Other question? You had a question? Okay. Yeah, workflow is something we have to still work on. Currently, we are focused on the visualization part, but being able to bring the data to the client is still an open aspect and important one. One last question, maybe? What I was going to ask, it's a similar question, and it's almost the same question that I asked. Daniel, I have checked our data, so it's basically a text file with a bunch of 3D coordinates coming from, recorded from LIDAR sensors, which were mounted on the trains. I'm pretty interested to make it into some kind of visualization that we basically can pitch the 3D to them, to the management. I'm very interested in the workflow, how to do that. Do I really need a PhD in the field to get it started? Since we integrate Po3, the answer will be exactly the same as Daniel. The preparation is exactly the same. You just use the Po3 converter for now. It will take your last file, generate a bunch of files in a specific structure on the Pi system, and then you can use this as a source for Po3. Since Po3 is integrated into iTunes, you just do that. That's kind of easy. The Po3 converter uses it, just running common line and saying, this is my last file, generate me everything. Thank you very much, Vincent. Thank you.
 So, welcome to this third and the last but not least presentation of the 3D track.  It would be really interesting.  A lot of immersion here when Vincent will show us the iTone Open Source software.  Okay, thank you.  So, I'm Vincent Picavetan, I'm going to talk about iTone which is a new WebGL, which is  a new WebGL visualization framework.  So, just a few words about Australia, we are an open source company and currently we're  doing a lot of 3D stuff and especially working with point clouds and immersive visualization.  So what's iTone?  iTone is a new software which is actually not new.  I'll tell you a bit about the story of it and to do 3D visualization on the web.  So, it's a WebGL and JavaScript framework.  It's same as 3D visualization and immersive visualization.  And it's open source.  The license is CCLB which is something which is really French oriented but at the same  time you got the MIT license as well, so very open.  On the technical basis, it's based on JavaScript, of course.  It's based on WebGL because we do 3D in the browser.  And one thing which is kind of important is that it's based on 3.js.  3.js is a famous library for 3D visualization and geometry management in the browser.  It's used for a lot of different use cases, for video games, for advertisements, for a  website, very dynamic 3D website for video clips and all.  It's also a very large community and it's very stable and progressing pretty fast.  So this is one of the main point of iTone, it's using this library.  This is the same library that Portree uses actually.  There are a lot of shaders as well in iTones which allows us for specific visualization  effects.  And so that's the technology we use in iTones 1 and iTones 2.  And one note is that the iTones project is about the client side only, so it's really  a Web framework.  So we talk about the history of the project because it's kind of a strange story more  or less and there are four steps to the story.  So the first version, the really first version of iTones was born at the French National  Mapping Institute which is IDN from a research laboratory which is called Matisse which deals  about everything related to measurements in the world.  So how do you scan and sense the 3D environment?  And the first version of the iTones project was a flash application.  Yes, I know.  And so it's allowed to do panoramic images visualization and it allowed to annotate objects  inside the images and to visualize point clouds, light up point clouds.  So while they realized a few years later that flash was not really future proof technologies,  so they changed to WebGL and GPU accelerated technologies in 2011.  And the same with this first new version was to be able to visualize lighter and big volumes  and as well as mesh support.  Why was that created nearly because of the StereoPolice vehicle?  StereoPolice vehicle is the background where we come from.  It's mobile mapping.  You probably know how the Street View vehicle, you've seen it.  It's a vehicle with a lot of sensors on it and we can find some images, sensors, so cameras,  you have some lighter sensor, you've got IMU which allows us to sense trajectory, you have  a GPS and you can also sense the speed.  So this is a vehicle from IDN that they use as a research vehicle, they also have a production  vehicle.  So lots of sensor images, you have different kind of sensor for images but that's mostly  camera.  You've got for LiDAR, there are a lot of different LiDARs as well and GPU and IMU.  From that you output, you sense data, so you get the data from the IMU and the GPS and  the odometer and that gives you a trajectory with position and orientation and you get  one point, 200 points every second, so that's not very high frequency but still.  And then it outputs also images and you get nine images because there are nine cameras  every two meters.  What you can see on the picture is every single point where pictures of images have been taken  for a small trajectory.  And then you have laser and the laser outputs something like 300,000 points per second.  So the objective was to be able to visualize the data on the web which is kind of demanding  in terms of volumes.  So that was your main goal to iTunes and this is still the goal we are pursuing.  So the open source project went on with this webGL framework based on 3.js and step three  was actually last year in August, so that's one year ago.  And IGN took the decision to make that framework open source.  After years of the demonstration, not knowing what they wanted to do with it, they decided  okay let's go, let's open source this software and at the same time they took the decision  which is kind of official to that iTunes would be the 3D visualization tool for the  national Geoportar for the next version which will be probably in 2017 or 2018.  So that was August last year.  They took the decision, they came to us and said okay how can we collaborate on that tool.  We did some consulting to clean the code because there was a lot of non-licensed stuff for  a few issues with globally the source code for the first version.  And we had the first release of iTunes 1.0 on February this year so it took quite a time  to clean everything and to get the release out.  And during that time there were also refactoring everything and starting version 2.0.  So the first com is date back from August last year as well for version 2 which is under  EV development.  So we have nowadays we have two versions of iTunes, the legacy one which is operational,  you can do things with it.  But it's more like a technology preview.  We got the algorithm, we know what we want to do with it, we know the kind of visualization  we want to achieve but as the code itself is not something we can really use for industrial  projects, a lot of refactoring needed so that's why the version 2.0 was started and the version  2.0 is currently under heavy development and we plan to implement all the features of  iTunes 1 into iTunes 2.  So that's everything on GitHub.  We are collaborating with IGN as an open source project now which is not easy because there  is a switch of culture for the Institute too but as a researcher I'm pretty good and  very keen to go deep into open source.  So what about the data types we want to display?  We have kind of different GIS data types we want to have in this 3D environment.  First is oriented images and I'll talk more about that just after.  Then we have point clouds, you now know about point clouds with poetry and all.  So we want to be able to visualize that later data.  We want to be able to visualize as well extradit buildings so 2D data which we will transform  into 3D and 3D mesh 3D buildings with textures as well as traditional GIS data web services  with WMTS for the terrain for the area imagery and for other data layer.  In the iTunes project we also have data samples so the IGN provided a subset of the data samples  from the StereoParis vehicle.  It correspond to one neighborhood of Paris.  We have two quality data sets so high quality which is 600 megabytes and a low quality one  which is 60 megabytes for like it's kind of a small neighborhood so you can imagine  that the whole city of Paris is really big.  This is not open data, this is CC by non-commercial, non-derivative 3.0 license but you can use  it for research for just testing the software.  It provides 3D texture mesh, the buildings, oriented images, LiDAR data and vector data  for elevation and to the building footprint.  So we have a data set we can play with and that's very important for our end users.  Focus on oriented images.  What's an oriented images?  It's simply an image for which you know where it's been taken from and the orientation as  well so you know the positions, location and orientation.  And what we do with images is that we project the images dynamically in the browser onto  3D data and especially onto extruded buildings from 2D or from meshes you can have.  It allows us to do free navigation and to have more precision into the visualization.  If you look at the picture you can see that you have the 3D data and the building, the  square you see is the front of the building.  It's flat and we project the image onto the building.  It's not a texture per se, it's a projection of the image.  And in this case we even have a projection onto the point clouds as well which is something  we are researching.  So you got your 3D buildings, you got your image on the right and if you look at the  projected image just from the shooter's point of view you don't see any difference with  the original image.  But when you move a bit on the side which you can see on the right below image there  is some deformation from what you can see because you change the point of view compared  to the shooter's point of view.  And if you move any even further which is on the lower left side you can see that we  have this image which is projected onto the 3D buildings.  And what we do with one image is not immersive visualization but if you have multiple images  you can as soon as the user moves you can load the new images which correspond best  to where the user is located and you re-protect them to the buildings you know.  And during that you have a complete immersive environment.  So item version 2 that's step 4 that's where we actually stand.  That's a full refactoring of the application.  We keep the algorithm, we keep all the principles but we rewrite all the code.  There is also a few new features.  There is a globe because the globe is sexy, funny.  So they wanted a globe.  That's not the main point of the application but we do have it.  We have a high level API as well so it's easier to incorporate the framework into your own  application.  We have web services support, WMTS, WMS, WFS which are planned.  More documentation, more examples.  3D mesh support with KML or GLTF formats.  And the one map is to release an alpha version in autumn this year and the 2.0 version late  this year or beginning of next year.  So I got some videos to show.  So let's get started with this one.  So this is the globe view of version 2.0.  The video is a mix of version 1 and version 2 to show the features.  This is version 2 and this is the globe.  So this is a classic global visualization tool.  There is a timeline animation so time is taken into account.  We have some fancy features with the sun rising and sunset.  Of course you have elevation with very precise DTM.  You can zoom in and automatic loading of the data with the Tiling scheme which is now classic  with global application.  So you can see the sunsets of the other formats.  You can do animation of data as well.  So this is an example with satellite infrared imagery which are animated onto the globe.  So that's more classical.  Since we use 3.js which is a very versatile framework, you can do a lot of things very  easily like this animation of flooding or this kind of thing.  It's only a 3D plane which goes up and down.  This is a sand river in Paris and there has been a lot of flooding recently.  So this is kind of a simulation of flood.  Well, it's much, much exaggerated.  It wasn't as high as you can see on the video.  So here you can see that you have some 3D buildings too and you can have lots of different  kind of data.  And this is the immersive view so you can go from the globe down to the 3D data and you  see the 2D extruded data and then you go to the street level and that's where you enter  the immersive view.  So this is 3D data.  Well this is 2D data extruded and we project the imagery directly onto 3D data.  So you don't see the 3D object per se but it's just like you were in the environment.  So we support point clouds as well.  So here again, without the point cloud service, it loads dynamically from the closest point  where you are and you can enter again the immersive view and steal out the point clouds  while keeping the images loading and projecting on the 3D data.  There are a few tools so that's version one.  The tools are not ported yet to version two but we'll come at some points and you have  tools to do measurements.  We work in projected space here so you have your local projection so that the measurements  are done directly into the right reference system.  You don't have any reprojections so you exactly have the measurement which has been done by  the sensor which is the most precision you can have.  And you can do point positioning, you can do distance computation and you can do a few  things on top of your point clouds and the thing is the measurements are done on the  point clouds not on the images.  So it's dynamically loading and I think that's about all for this video.  Oh no, that's version two as well.  So here you can see that we project the images onto the 2D mesh with the 3D extruded building  and onto the point cloud.  So you have a very high definition for the color of the point cloud which changes when  you change location because you're going to load the next projected images.  So that's a try for mine somewhere you have mines and you can have some tools to digitize  things as well.  You can load vector data here we can see in more or less red vector data which is on the  streets and you can incorporate 3D models that's a collider model KMZ because 3.js supports  a lot of different things and it's very easy to incorporate new features into items.  This is an example of incorporating a video as a texture and you can even play the video  is just like as if you were loading a website on actually inside the 3D environment so you  can do virtual reality.  And this is very easy to implement because of 3.js that makes it work and it's pretty  impressive.  Yeah, so 3D buildings with high quality you can load shapefiles here for trajectories  and that's all for this video.  I got another one which show a bit of different environments.  Okay, this is the video from the workshop we did this week at Pros4G.  This is items 2 with a few specific improvements we have done.  If it loads, doesn't matter.  Okay, now you won't have, oh yeah, sorry.  Get it back.  So this is items 2, the new version and we have integrated pottery inside items 2.  So thanks to pottery we can display point clouds very easily and we can use all the features  of pottery.  It's still a work in progress since we have a few things to improve in pottery and in  items to do that.  So that's the city of Montreal and the buildings are served with 3D server and point clouds  are also served by point cloud server.  Okay, quickly goes to the rest.  So what for the future of items?  We want new features so pottery integration is almost done.  We have a branch doing that.  We want projected images on point cloud that we have a proof of concept working, I showed  it.  We want to improve our build system and continuous integration for better quality.  We want a user interface.  We would like to integrate external API like here or like Mapillary maybe.  We lack some information on the Mapillary API but could come.  We want vector type support.  We want 3D service connection with 3D type support ground and then try and support at  some point.  That's what we are looking at in the future.  As for the server side and I'm almost done, we want to do some streaming from the server  side to items.  There is this project leads which we are working on to build up some new 3D web services for  3D object for measures for point clouds, for oriented images, panoramic images and 3D type  support.  So that's a work in progress and we still have a lot of work to do.  So the plan for the future is to release version 2, improve the code quality.  That's what we are doing right now to integrate more contributors.  So you are welcome to talk to us and get into the project.  Have a better collaboration as well.  We have a first industrial project which are coming for items integration into a specific  application.  Of course, as an open source project, we open to funding and contribution.  We do a lot of communication so that we can do all that.  So thanks, thank you.  Merci.  And if you have any questions, that's my time.  Thank you very much, Vincent.  So we'll have time for a few questions.  Yes.  Hi, thank you.  Just one question.  Bandwidth is usually a major concern for 3D viewer.  What's about for items?  So yeah, it's pretty complicated because there are a lot of different aspects to take into  account.  We are improving at the same time the client side and the server side because you cannot  have one without the other.  So we try to optimize the formats we are using.  It depends on the kind of data you are talking about.  If you are talking about point clouds, there is a lot of work going on with entry and with  LAC compression.  So we try to use that as much as possible.  And actually for point cloud, we benefit from the work which is done on POTRI.  As for images, we have a level of detail management which is planned to load some lower resolution  images before high resolution.  And then yeah, it depends on the kind of data you want.  And you can prepare your data according to the bandwidth you have.  Or you can have a server which allows you to integrate level of detail.  But it's very specific to the kind of data you have.  Another question?  Okay.  Let's see.  I'm a city who has a lot of collada files with the 3D and leader data also.  Can you describe briefly what is workflow or what is the pipeline to get this data to  like working web portal, for example?  Well, as for now, complicated.  I don't know about the visualization part.  For the data set we have, for example, it's a flat organization.  I mean, you can just generate the data with a specific format.  There are some tools for that.  There are still some manual manipulation you have to do.  But it probably won't scale that well with that format.  So you will need at some point to either have an improved format for large scale data, be  it 3D meshes or point clouds.  So you can use the n-train format for point clouds.  Or you can use the POTRI1 for point clouds.  For 3D meshes, we don't have yet any specification for that.  Maybe 3D ties will be the solution.  But we have no, the tools are not ready yet to have a good workflow for that.  Otherwise, you can use a server for your data, which will be able to handle a large amount  of data, but you have to integrate your data into the server.  For now, what we do is mainly having not collada, but CTGML data as an input.  So you can take your collada, make it CTGML files, and then we have import tools for the  CTGML you put in the database.  And then you have a server serving the 3D data from the database to iTunes.  That's a current workflow for 3D data, 3D meshes.  For images, you can just store that on the file server.  That's all right.  Other question?  You had a question?  Okay.  Yeah, workflow is something we have to still work on.  Currently, we are focused on the visualization part, but being able to bring the data to  the client is still an open aspect and important one.  One last question, maybe?  What I was going to ask, it's a similar question, and it's almost the same question that I asked.  Daniel, I have checked our data, so it's basically a text file with a bunch of 3D coordinates  coming from, recorded from LIDAR sensors, which were mounted on the trains.  I'm pretty interested to make it into some kind of visualization that we basically can  pitch the 3D to them, to the management.  I'm very interested in the workflow, how to do that.  Do I really need a PhD in the field to get it started?  Since we integrate Po3, the answer will be exactly the same as Daniel.  The preparation is exactly the same.  You just use the Po3 converter for now.  It will take your last file, generate a bunch of files in a specific structure on the Pi  system, and then you can use this as a source for Po3.  Since Po3 is integrated into iTunes, you just do that.  That's kind of easy.  The Po3 converter uses it, just running common line and saying, this is my last file, generate  me everything.  Thank you very much, Vincent.  Thank you.
foss4g-2016-1166-itowns_a_new_framework_for_3d_web_visualization-hd_0_671.png foss4g-2016-1166-itowns_a_new_framework_for_3d_web_visualization-hd_672_19403.png foss4g-2016-1166-itowns_a_new_framework_for_3d_web_visualization-hd_19404_19571.png foss4g-2016-1166-itowns_a_new_framework_for_3d_web_visualization-hd_19572_19775.png foss4g-2016-1166-itowns_a_new_framework_for_3d_web_visualization-hd_19776_20507.png foss4g-2016-1166-itowns_a_new_framework_for_3d_web_visualization-hd_20508_20747.png foss4g-2016-1166-itowns_a_new_framework_for_3d_web_visualization-hd_20748_21047.png foss4g-2016-1166-itowns_a_new_framework_for_3d_web_visualization-hd_21048_21251.png foss4g-2016-1166-itowns_a_new_framework_for_3d_web_visualization-hd_21252_21347.png foss4g-2016-1166-itowns_a_new_framework_for_3d_web_visualization-hd_21348_21623.png foss4g-2016-1166-itowns_a_new_framework_for_3d_web_visualization-hd_21624_21695.png foss4g-2016-1166-itowns_a_new_framework_for_3d_web_visualization-hd_21696_21971.png foss4g-2016-1166-itowns_a_new_framework_for_3d_web_visualization-hd_21972_22775.png foss4g-2016-1166-itowns_a_new_framework_for_3d_web_visualization-hd_22776_22883.png foss4g-2016-1166-itowns_a_new_framework_for_3d_web_visualization-hd_22884_23855.png foss4g-2016-1166-itowns_a_new_framework_for_3d_web_visualization-hd_23856_24059.png foss4g-2016-1166-itowns_a_new_framework_for_3d_web_visualization-hd_24060_24875.png foss4g-2016-1166-itowns_a_new_framework_for_3d_web_visualization-hd_24876_25055.png foss4g-2016-1166-itowns_a_new_framework_for_3d_web_visualization-hd_25056_25379.png foss4g-2016-1166-itowns_a_new_framework_for_3d_web_visualization-hd_25380_26027.png foss4g-2016-1166-itowns_a_new_framework_for_3d_web_visualization-hd_26028_26399.png foss4g-2016-1166-itowns_a_new_framework_for_3d_web_visualization-hd_26400_26507.png foss4g-2016-1166-itowns_a_new_framework_for_3d_web_visualization-hd_26508_27179.png foss4g-2016-1166-itowns_a_new_framework_for_3d_web_visualization-hd_27180_27311.png foss4g-2016-1166-itowns_a_new_framework_for_3d_web_visualization-hd_27312_27479.png foss4g-2016-1166-itowns_a_new_framework_for_3d_web_visualization-hd_27480_27563.png foss4g-2016-1166-itowns_a_new_framework_for_3d_web_visualization-hd_27564_33431.png foss4g-2016-1166-itowns_a_new_framework_for_3d_web_visualization-hd_33432_35627.png foss4g-2016-1166-itowns_a_new_framework_for_3d_web_visualization-hd_35628_36095.png foss4g-2016-1166-itowns_a_new_framework_for_3d_web_visualization-hd_36096_36827.png foss4g-2016-1166-itowns_a_new_framework_for_3d_web_visualization-hd_36828_38135.png foss4g-2016-1166-itowns_a_new_framework_for_3d_web_visualization-hd_38136_38603.png foss4g-2016-1166-itowns_a_new_framework_for_3d_web_visualization-hd_38604_39409.png