 I thought it's an ideal opportunity to talk about a small project that we did with some people at FOSDOM. And it's called, or it's making a map of FOSDOM, and it's the actual goal why we do it. I think maybe, oh yeah, that's a team. So I didn't do this alone, but I'm the only one who is actually here. The two other people who have been working a lot on this, they could not come to FOSDOM this year unfortunately. So there's Laura, she actually created the software. The software which we use is originally made for the CCC conference, where they also have this indoor mapping for a conference. And then there's Shin Ice. I still don't know the real name, which is quite funny. I think if you collaborate for a while. And then there's myself. I do a lot of things. I'm involved in OSGO in Saga GS, in Devian GS. And so what actually happened is that we had state of the map here in Belgium. And we were there with a few people from the FOSDOM video team actually to test some configurations, because it's easier to test configurations if you have only two tracks than if you have 30 tracks. And so we were actually looking like, hey, you have open street map, we want to make a map, we want to have open street map super good for FOSDOM. What we want is we want to do wheelchair routing, we want to know where to stand, so we want to know all those kind of things. Is it possible? That's what we sent to a mail to open street map. And then they got some replies like, I don't know and whatever. We didn't really get a good reply. And at the same time two people they showed up and they said, oh, we can use C3 enough, we will make it. We will do the mapping. So yeah, well what's the problem with open street map? One of the issues we had with open street map was there's quite a lot of temporary data. So for example today, this is a geospatial dev room, but yeah, tomorrow it's no longer. So that's a short time. Then there is everything which is related to floors and indoor data which might be a model, I don't know. Actually one of the reasons I want to give this presentation is because I want to get feedback. So I hope I will finish very soon. So we wanted to have routing and all those things together. So well the proposal was there, let's use C3 enough. That was actually last year. So last year we had this website on the left which was the URL existed somewhere. I still have it running on my local PC just to get it. I wasn't actually not involved in that. And it was the first version where you could do some routing and you had some map of the campus but actually most of the map was created at that time. This is what we have this year and we have not really made a lot of promotion because we only finished it like really in time before Fossum so we were not sure it would be finished in time. And also we had no idea about load and stuff like that and how to put it online. So okay, challenges of indoor mapping. What is level zero or this first level? It's not always easy because I don't know if you have seen the buildings around the campus but usually they have a door somewhere and then you end up somewhere else on a different level. So for example in this building, so here's a food area, you enter like that. Then you're on this floor but if you go out you're actually on the first on the zero level. So that's a bit of a challenge for mapping. So I see that somebody mapped this on level zero which is logical because you enter there and you're immediately at that level but it's already a level higher than there actually. So it's a bit of a challenge but okay, we made some choices. Sometimes we made some things a little bit wrong on purpose but to make sure that the map was looking usable. I'll give you an example. Let's just do that now. So you can actually go to the application. It's called nev.falzdan.org and now normally it should crash. Oh no, it doesn't. So one of the places where we cheated was here with the bar. It's not like at that side of Janssen but we wanted at level zero to make sure that there's a bar because it's operated by the people from the university here and we want to keep them as good friends. So we don't want to hide it somewhere where nobody sees it. So what's doing the application? I told you it has routing. We want to have routing for wheelchair users and this is one of the things which is already enabled. So if I say I want to go from let's say K, give me an ID. Maybe K is a bit too far. Let's take the H building. This one. If I want to go from that space to... Well, let's just go to this room. It's unreachable. That's very bad for a demo. This room, I'm quite sure it was not mapped. Let's take a room which is... So this is the normal way. Has anyone tried this way? More or less? Would you be able to do this with a wheelchair? No? There are stairs if you enter the building here. So if you go to... No, if you go to options, stairs, avoid completely, then he will give you another road. They have to take a detour but they can enter here. They are just next to us. So they can enter there. Most of the rooms are reachable. So in K building, there's an elevator, which is something you don't see it if you don't need it. But it's there. It was actually quite an interesting exercise. The two rooms which are here on top, those are the two rooms which are not reachable for wheelchair users actually. Okay. Yes. So we have to go to, let's say, K-4. Actually what I did in the... We made sure that you would not choose the elevator if you could take chairs, because we don't want stairs, not chairs. So elevators allow with stairs avoid completely. I thought I did safe, so I should remember that. You see here he is taking the elevator. And then you actually cross different levels. So you go here and then you go there. And there you go out and you continue whatever. There's actually an error here because you could actually there as well. But I thought it wasn't possible when we made them out. Actually, it's the... So this one will give you some instructions. And it's not correct. And the reason is that, well, that's something we only learned correctly to put some stuff. You should put elevations on every level. And for some reason that didn't... On every space level and that was not done. And that's why it's not saying the right direction for that. But I think in general, also here you see go to space something that is not very useful. So it should either become one big space. So this should all be part of the hallway. Then you just say go to the hallway and then go to the elevator. And those are a bit mapping mistakes because we, the people who made this, were not completely knowing the application. This was actually one of the major problems we faced with not really a lot of documentation. Or there was actually no documentation. Anyway, that's actually one of the other reasons why I wanted to give a talk because it would maybe be a bit like a start for documentation. So in the editor... Oh yeah, we have an editor as well. So that's a... Well, I don't think it's so important for you to do the history but I will show it immediately. What's important in the editor is it works hierarchically. So first you have to define levels. And then in a level you can define buildings. This may be a bit strange. But buildings are really only used for denoting an area. They are not really relevant. But more important are spaces. Spaces can be rooms, but type of space can be an elevator. And within those things you can map other things. So for example we have one large area in the K building. Well, we have a smaller area which is the first eight thing. Yeah. But this is a bit... I can imagine like this is quite hard to understand it. So let's just look to the editor. I will just go to the test website maybe. Then I can do whatever I want. Probably the routing is wrong if I do that. Yes. So let's go to level zero. And you can see all the buildings. For example if I want to edit buildings I can do that. If I want to edit spaces I can do that. You see these are spaces. What is important in the editor? Oh yeah, I'm not logged in. You can log in. That's quite interesting because then you can save things. Otherwise you can't really do that. The password? So yeah, if you're not, you can ask an account and you can get access. Definitely to the test site. So what's important here is that we now have some sources. So these are actually maps. Okay, this is the dev version. So these are some maps which we have actually used to produce the actual maps. Okay. These are already the simplified version. We also have the original versions but they're not on the test server. Okay. Anyway, what you can see here as well, so if I turn off this map because now it's a bit confusing because it's from a different level. Also levels at ULV they start from one where normal people say zero. So yeah, you definitely make errors when doing that. So this is, for example, the K building. Main info desk and these are all the boots. So if you would go to the editor or to the navigation software and you search for devian, you will end up there for the devian boot. So that's something really useful as well. So yeah, that's basically how it works. So what are important functionality is the graph. And that's a big difference let's say with the previous version, the ones which nobody saw. And that is that we have actually drawn the full graph. So this is the graph for the hallway here in the AW building. What you can see here, this part is red because that's where a stair is. So if you do avoid stairs, you will just pick out that area. You see there are some other dots which you can connect. Okay, that's basically how it works. This is really manually just picking points. And probably it's the best solution in this case for a small area where you also might want to guide people a bit. We can do very funky things like saying that in this area the people are walking slower but we didn't do that. Okay. So C3NF, so the software we use, it supports more than we use. So it has elevation, the stairs. So like the up and down direction, it is supported. And then it will also show up in this, let's say, way description. There's a 3D export, I tried it. But it's mostly interesting if you first input 3D data, otherwise. So otherwise you just get walls, which is already nice. Okay, and what I hoped to test this year, but it really didn't work out was location. You can do location based on Wi-Fi. So based on the routers, you could then see where you are. To do that, you need the Android app, which exists for CCC. They had some troubles with this location. It didn't really work well at their conference because they have really big buildings with a lot of glass. So the access points, you will always find some of them so that doesn't really work out. Yeah, okay. Maybe we'll try that next year. Coordinate system, the map which we used, if you have seen it. This is really just a base map, which was a flyer. So it has no sensible coordinate system at all. This was one of the things I thought, well, if we can get this right, I mean, if we can just transform it, at least we could use some motor sources more directly than how we did it now. And that's a... Oh, yeah. Okay. I think we can. So it's just an affine transformation. It should work. Behind the scenes, this is just a slide about how this thing works. So the application is programmed in Python. It uses Django and Leaflet. There are a number of other optional things. As a database, because it uses Django, it can use, for example, SQLite. By default, it would use SQLite. We chose, or I switched this to Postgres, because I wanted to use some special feature of PostGIS to see, for example, is this point in that building or those kind of things which are very easy in PostGIS, and that's why I use Postgres. Then we use another... There are two other... So Redis and Memcache are actually in memory caches, which might be a bit overkill, I think, for the application. So the tiles, they can be cached. That's what we did to reinforce them. And then salary, it's some kind of a task queue. So if somebody makes a change to the graph, for example, it will immediately show, like in the editor, but the real graph will be calculated in the back. But then, again, since we are talking about the small area, these are usually tasks which only take a few seconds. Yeah, you could say that this may be a bit overkill as a setup, but okay. So if you want more, these are actually the URLs. On top, the application and the editor. Grab the data. I just made a dump of the data. It's in here JSON format, so you can actually play with it a lot. And it's a Django dump as well. So if you take the source code, you can import it if you want it yourself. These are the deploy scripts which I made because there was also no real documentation on that. And they're really a good starting point if you want to do it yourself, if you're interested. I'm also thinking to write it out, not in Yich language. But okay. So some statistics. This year we had 3,000 visitors. I was a bit surprised by that. Yesterday we had about 100,000 visitors. Today a little less, but today it's also not yet over. But I also think that people now know better where they have to go, so it's logical. You see that here at FOSM, I was a bit surprised that we had so many Macintosh users. So yeah, the discussion. I was actually, I got involved in this basically because I said, okay, I will set up the server. This will not be such an issue. And then, well, I did it. It was more of an issue than I thought, but it worked out. But I had a feeling from the beginning that whatever we do here, it's a bit like next to open street map, and it's maybe a bit a pity. Or is there a way that we can make these things work together better? And the first thing where I was thinking about was at least get some kind of projection system so that at least we can show maybe the trend stops or something in the neighborhood. These are things that I thought about. Well, how could we do that? I think also like the buildings, they could perfectly come from open street. I don't know really about the area or about the rooms. I don't know how well that could be supported. Yes, so very good. Yeah. So actually, I think, well, this was created by a non-GS person. So for example, a database is not using both GIS. There are just geometries are there in JSON in the database. It's very easy to convert it to a spatial database. I was actually positively surprised because non-Geo people can make such an application. It's a very good thing. I mean, 10 years ago it would be impossible. So, but yeah, that's where some thoughts I had. And I was actually hoping from you to see like, okay, suppose from an open street map point of view if you would start such an application, how would you get started? Or where would you store some of the data? And do you know any similar applications? And then, well, next to that, the application works great. It's very good for at FOSDM to navigate people around. We've had some very good comments. It has actually been used by the people where we wanted it to be used. That's those people who needed navigation especially so that we could say, okay, this is the way you have to take to go to the AW building. So that was our goal. And yeah, that some things are not that fancy. It's maybe not so important. And my old feeling is that next year we will definitely be doing this again. We will be linking this also in more places in the program. So, for example, if it says in the program, now geospatial dev room in that room, if you would click that room that you would somehow get to this map, that's what we want to do for next year. But then at the same time, I hope that we can somehow get this data integration better. So, that was everything I wanted to say. Thanks for your attention, and I hope to get a lot of questions. Yes. I'm hoping it's some kind of busy or supply, but I'm guessing it's... Yes, they are sometimes quite interesting. I wondered as well. It's a mechanical jerk. But if you would look to the graph, there are really hard points and it's like making it softer to make it more nice. Are you aware of it? I'm not aware, but the source... Yeah, I forgot to put the source code there. Anyway, it's C3Nav, if you search and get up, you will find it quite easily. Yes? I know. One and a half year ago I had seen the state of the map. Yes? It went complicated to the rail stations and surface with multiple... Maybe this can be reused or... It was a French railway. So, I think actually, well, we have a lot of data. We have, for example, the plans of the rooms. We have them in our own coordinate system, georeferenced. So, if we get our own system again well, we can quite easily, show these PNG files of these maps in an editor like Jossam or something. So, I think it would... Yeah, but my own feeling is there that this application for an end-user is very good. So, we should probably just keep this. But we might want to store the long-term data also in OSM or we source it from away. That would be my preference. I think that if you would take some of them which are digitized here to OSM, that they might not line really good, I don't know. We should definitely check that. I think you should look beyond this specific project. We can get this kind of data density in two open street maps. Others might find other ways to... Yeah, that's true. The practical experience here being in gear, I think it's very useful to find the top model for indoor mapping in open street maps. Which is the... I'm planning to... Endo map to the empty space in Gantt, what we do like in Gantt. So, I don't wear in March. So, it's very useful if you can hold it, and then make a need for it. I cannot comp, but... No, but I can help you prepare it. I'm pretty sure the university would love to have this as an app either its website or you'll be able to tell new students your last year's user app. I mean, it might be an opportunity as well to talk to the university authorities. I think... I know that the KU Leuven has not at all this or something as useful as this, but they have... At least there you can search for a room and you will get something which looks like a map showing you where it is. Maybe not all of them, but... Yeah. And they're all equally good or bad. Yeah, I mean, it's also... It takes a lot of work to make it good, and I understand it's not a priority for the university, but the whole point, if you can build a system within something like OpenStreetMap, then you can reuse the effort. Okay? Yes. Yeah, that might also be due to a bug. I made a very nasty patch, a very nasty change to the code because the upper levels they were not rendering at all in the beginning. So I switched some things around, and then they rendered, but we didn't see the things which were below it, and we were really happy that we had something rendered. So, yeah, I think we can improve that, definitely. Also, staircases are not really clear staircases now. Yeah. Okay? Yeah. Thank you. Okay. Yeah. So the thing that is basically supported by this is based on Wi-Fi, which Wi-Fi things it receives. I have not really tested it, but I think it is also more or less based on you would go with the application and say I am now in that location and that you would make some kind of an index based on that. I think it worked like that, but I don't... Somebody might be watching the camera now and say, what? Okay. Yeah. Okay. So thank you. Before we stop... Well, yeah. Go on. Go on.