We're sorry but this page doesn't work properly without JavaScript enabled. Please enable it to continue.
Feedback

Mapping FOSDEM for accessibility

00:00

Formal Metadata

Title
Mapping FOSDEM for accessibility
Title of Series
Number of Parts
644
Author
License
CC Attribution 2.0 Belgium:
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.
Identifiers
Publisher
Release Date
Language

Content Metadata

Subject Area
Genre
Vector potentialMathematical optimizationInterior (topology)RoutingConvex hullTexture mappingWindowExecution unitInformation managementDemo (music)DeterminantDean numberLogic gateMusical ensembleProjective planeLevel (video gaming)Multiplication signSpacetimeBuildingMappingAreaGeometrySoftwareConfiguration spaceComputer configurationVideoconferencingCartesian coordinate systemUniverse (mathematics)State of matterAxiom of choiceBitStructural loadStandard deviationGoodness of fitInheritance (object-oriented programming)Text editorOpen setFerry CorstenError messageMetropolitan area networkMereologyDirection (geometry)Revision controlProcedural programmingWebsiteFeedbackPresentation of a groupRight angleNavigationComputer animationProgram flowchart
AreaLevel (video gaming)SpacetimeDemo (music)Gamma functionBuildingExecution unitAndroid (robot)Physical systemDemosceneScripting languageSanitary sewerApproximationStatisticsComputer configurationNumberCartesian coordinate systemSlide ruleTask (computing)BitPoint (geometry)DatabaseTransformation (genetics)Source codeRight angle2 (number)Graph (mathematics)File formatCore dumpText editorQueue (abstract data type)CASE <Informatik>Connected spaceDot productDirection (geometry)SoftwareAmsterdam Ordnance DatumNetwork topologyWater vaporMereologyMobile appRouter (computing)Uniform resource locatorLevel (video gaming)outputServer (computing)Descriptive statisticsStatisticsWeightTesselationSoftware testingRevision controlScripting languageAreaPhysical systemBuildingWebsitePasswordDemosceneFunctional (mathematics)Booting1 (number)Different (Kate Ryan album)InformationError messageCache (computing)Default (computer science)Coordinate systemComplete graphSpacetimeMappingType theoryAndroid (robot)MathematicsLogicReal numberComputer animation
BuildingLevel (video gaming)Physical systemMappingProjective planeMathematical optimizationPopulation densityPlanningCartesian coordinate systemSource codeText editorWebsiteUniverse (mathematics)Neighbourhood (graph theory)Lattice (order)Computer programmingGeometryDatabasePoint (geometry)Software bugAuthorizationStudent's t-testMobile appComputer fileMultiplicationSubject indexingDigital photographyNP-hardCodeNavigationState of matterVolumenvisualisierungData integrityPatch (Unix)MathematicsGoodness of fitBeta functionView (database)Term (mathematics)Graph (mathematics)Multiplication signComputer animation
CollaborationismProgram flowchart
Transcript: English(auto-generated)
I thought it's an ideal opportunity to talk about a small project that we did with some people at FOSDEM. And it's called, or it's making a map of FOSDEM, 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 FOSDEM this year unfortunately. So there's Lara, 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 Xin 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, in DebianJS.
So what actually happened is that we had state of the map here in Belgium, and we were with a few people from the FOSDEM 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 OpenStreetMap, but we want to make a map, we want to have OpenStreetMap super good for FOSDEM. 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 mail to OpenStreetMap, and then they got some replies like, hmm, 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 now, we will make it, we will do the mapping. So yeah, what's the problem with OpenStreetMap? One of the issues we had with OpenStreetMap 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 modeled, 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 while the proposal was there, let's use C3 now. 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 was 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 for FOSM, 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. Let's give, well, I'll give you an example very soon. Let's just do that now. So, you can actually go to the application.
It's called nav.fosden.org, and now normally it should crash. Oh no, it doesn't. And so one of the places where we cheated was here with a bar. It's not like at that site of Johnson, 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. Oh, maybe K is a bit too far. Let's take the H building. This one. Okay, if I want to go from that space to, oh, well, let's just go to this room.
Okay. It's unreachable. Okay, that's very bad. This room, I'm quite sure it was not mapped. Let's take a room which is, okay. Very good. 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. Actually, there's a door 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 if you don't need it.
But it's there. This was actually quite an interesting exercise. The two rooms which are here on top, these are the two rooms which are not reachable for wheelchair users, actually. Okay, yes. So if you want to go to, let's say K4.
Actually, what I did, 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 thought you 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 exit there as well. But I thought it was impossible when we made a map.
Actually, this one will give you some instructions. And it's not correct. And the reason is that something we only learnt is that we didn't correctly 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. This is not very useful. So it should either become one big space, so this should all be part of the hallway. Then it should 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. Well, 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 know 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. Which 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 spaces, the 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. Where we have a smaller area, which is the first eight.
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. 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 cannot really do that.
The password? So yeah, if you are 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. This is the dev version.
So these are some maps which we have actually used to produce the actual maps. These are already the simplified versions. We also have the original versions, but they are not on the test server. 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 go to the editor or to the navigation software and you search for Debian,
you will end up there for the Debian boot. So that's something really useful as well. So yeah, that's basically how it works. So another 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. And what you can see here, this part is red because that's where us there 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. So C3NAF, 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 you just get walls, which is already nice.
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 like really big buildings with a lot of glass, so the access points, you will always find some of them, so that didn't really work out. Maybe we 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 other sources more directly than how we did it now.
I think we can, so it's just a fine transformation. Behind the scenes, this is just a slide about how this thing works. 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 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 others. Redis and memcache are actually in-memory caches, which might be a bit overkill, I think, for the application.
The tiles, they can be cached. That's what we did to reinforce them. And then Celery, it's some kind of a task queue. 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, so you could say that this may be a bit overkill as a setup, but okay. If you want more, these are actually URLs.
On top, the application, then the editor. Grab the data. I just made a dump of the data. It's in a JSON format, so you can actually play with it a lot. 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 are 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 geeky language. 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 is 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, we had a discussion.
I got involved in this basically because I said, okay, I will set up the server. This will not be such an issue. Well, I did it. It was more of an issue than I thought, but it worked out. But I had the feeling from the beginning that, okay, whatever we do here, it's a bit like next to OpenStreetMap,
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 tram 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 OpenStreetMap. 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.
So, actually, I think, well, this was created by a non-GIS person. So, for example, database is not using PostGIS. There are just geometries out 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. But, yeah, those were some thoughts I had, and I was actually hoping for you to see like, okay, suppose from an OpenStreetMap 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 Ad Fosdom 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. Those people who needed navigation specially, 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 is maybe not so important. And my whole 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 spline, but I'm guessing it's... Yes, they are sometimes quite interesting. I wondered as well. It's a mechanical jerk. No, 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.
But, yeah, I'm not aware. But the source... Yeah, I forgot to put the source code there. Anyway, it's C3 Nav. If you search on GitHub, you will find it quite easily.
Yes. One and a half years ago, I have seen the state of the map. Yes. To document the complicated rail stations and subways with multiple rails
and maybe this can be reused. There was a photo by the French railways. 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, I think, show these PNG files of these maps in an editor like Johnson or something.
So, I think it would... Yeah?
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... So, that would be my preference
because I also think that if you would take some of them which are digitized here to OSM, that they might not align really good. I don't know. We should definitely check that. I think you should look beyond this specific project. I mean, if we can get this kind of data density into OpenStreetMap,
others might find other ways to work with that data to build this kind of tool. Yeah, that's true. This can be the practical experience here. Being in here, I think, is very useful to finding the optimal for indoor mapping in OpenStreetMap, which is the...
I'm planning to indoor map to the anti-spacing Gantt or maybe like that. So, I thought we're in March. So, it would be very useful if you came over to the event and make a meeting for it. I cannot come, but...
No, but I can help you prepare it. I'm pretty sure the university would love to have this as an app, you know, on its website or to be able to tell new students your last year, use our app. I mean, there might be an opportunity as well. You talk to university authorities
and students do some of the mapping. I know that 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.
Yeah. And they're all equally good or bad, but... 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 university, so... But, yeah, the whole point is if you can build a system within something like OpenStreetMap then you can reuse the effort, so...
Okay? Yeah? Yes. Yeah. That might also be due to a bug. I made a very nasty patch with 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.
Clear staircases now. Yeah. Okay.
Yeah. Thank you. Okay. Yeah. So, the thing that is basically supported by this
is based on Wi-Fi. Like, 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, like, make some kind of an index based on that. I don't think it works like that, but I don't...
Yeah. Somebody might be watching the camera now and say, Okay. Yeah. Okay. So, thank you. Before we stop... Go on.