 This talk is about sbasev.com. I have to say I'm a computer scientist and a hobby pilot. And the idea was to present some aviation information on the internet, on the website. Well, that's now what this talk is about, some information about the website, a short overview. And then what I've, well, which challenges I face and solve to find, to compute distances for points of interest around. And finally the last two points are about text search, auto completion in large sets of data. So the first one is that when you open a page on this website, you'll see, at first you see the map-nick map. With an overlay which shows a dot for each airport in view. And you can select certain regions, like I did here for Badgem, where inside this region you see the dots in blue outside. They are gray, so all dots here are airports, but the blue one are the Badgen ones. Then if you zoom in, here you see Brussels airport. You zoom in, then you also get markers for airports, these are the blue rings. Because this is the, well, it's a sign on the official maps. And here you also see something like navigation aids. This is a radio beacon which can be used or which is used for navigation. Yeah, as I said, map data, maps can be configured. You can choose the base layer or overlay layers on your own. Some are pre-configured. Map-nick I already told about, then ESRI images to get some satellite images or the HEAM map. Then there's also FAA producers for or publishes sectional maps. These are aviation maps for the US. And what's also interesting are topographic maps and hill shading. It might be interesting or is interesting for aviation, not necessarily in Badgen or the Netherlands, but for instance if you fly in Austria or Switzerland, then it can become a real concern. The projection of the markers has already been pre-computed. So even while we have several 10,000 markers in the whole database, this projection is pre-computed to get them rendered quickly. Then if you click an airport or a nav aid on the map, then the tooltip shows and if you click on get information on the marker, you first get some general aviation, airport codes, location and stuff. But you can also switch through tabs and get weather information, runway information. No-term means notification for airmen. These are official information like closed runways or stuff like that. Frequencies, nav aids around, airports around. If you want to do a flight of an hour or so at a certain speed, then you can just choose your airports. If you don't know where to go, you can just browse through the airports in the corresponding distance. Finally, web links and comments, well, MISH is terms and conditions like use of cookies or terms of use. And above that you also see this location field. Here you can enter the code or the name of an airport and I'm currently extending it again. It has already been done before, but I have to do it again. I'm now working on it to extend it on populated places or other significant points. Yeah. And the data which has been shown now on this page, well, where does it come from? Airport, nav aid data currently comes from our airports.com. This will be completed and verified, but I'll come to that later. Then magnetic variation, which is not a concern in Europe because it's rather low here, but for instance in the US, then you get several degrees. When you navigate or when you use a compass for navigation, you get a deviation of several degrees. It is computed by, well, get WMA. This is a formula or it's a JavaScript program, which is published by NOAA to compute the magnetic or the strength and orientation of the magnetic field on any place on Earth. This is the data or also the twilight times. Routines for that are already included in PHP. Weather information and no terms are picked up at websites and published here again and this information are cached just to keep the load on these websites low. In the future, we have to extend it, as I already said, to check and complete the current data. Our airports.com has many airports where runway information is not yet available or some information is, well, not only missing but some is also wrong or outdated and it's not really complete. For instance, in the official documentation, you find information about obstacles like towers, windparks or whatever or bridges, high bridges and most interesting, I found that there are still navigation lights or lighthouses which can be used for airplane navigation. From my home country in Germany we don't have any but in Belgium there are some, I think some 10 of them and one is even here in Brussels which is especially interesting because the airspace over Brussels is prohibited. You may not fly there but there's a lighthouse standing around. I have to check that. Yeah, well, airspace, something like prohibited areas or control zones also have to be introduced and shown on this website and all these data are published by the officials in PDF format and they have to be converted and then parsed to get into this website. Finally, web links currently, there are only at most one or two Wikipedia links for each airport and plan also to include official airports, websites or flight schools, flying clubs, stuff like that. Software used for all this is PHP as I already said, databases SQLite for the aviation data, MySQL is used by the common system, jQuery for the UI, Leavlet to render the maps, then static map light. I found that and it's great to already show a map while the tile map is to rendering so you get a first impression. You can already see if you're at the right point. We'll get WMA, I already talked about that but I'm not sure what the context is the common system I'm using on this website. Yeah, but now, as I said, SQLite, the problem here is that when I want to compute distances to find the nearest airports or the Naviates to a certain point, I can assume that Earth is a sphere. It's a very low error. There is this have a sign formula which I've copied here which gives you from latitude and longitude the distance on Earth's surface. The point here is SQLite doesn't provide, doesn't provide trigonometric functions so you have to pre-compute the sign and cosine. At first to make it possible at all but also it's useful to increase performance because I can't tell about current processes but sign and cosine typically are not hardware implemented so you have to, some subroutines have run and causing some delay or some performance loss. But there is this term of cosiness and the difference of the two longitudes. So to put these into a table, you have to put it into a table for each combination you have in database. So this means you get quadratic complexity for some 50,000 airports you get more than 2.5 billion billion items to store in each or at least two times four bytes at least to get reasonable accuracy. This is quite a lot and it's too much. Is it really? Well, there was this, as I said, yes we can in a modification of this election slogan which has been around a few years ago. There is this trigonometric identity so the cosine of a difference can also be evaluated at these four evaluations with other trigonometric values. But these four can now, these four can be stored again in the table because there is, well, there's no more the quadratic complexity. We get back to linear and so using this formula we can, we really can store all the signs and cosines in table and, well, this allows to use a database like SQLite which doesn't provide trigonometric functions or it would also mean becoming faster on, if you use other databases that have the ability to provide or to calculate trigonometric functions. Well then, final point was the name search. I'm taking or I'm using the geographic name information system of BGA and NGA. It's an American, yeah, it's originally a military data set and it has several 10 million items in it which is quite a lot and databases are, well, typically are slow on these, on these sizes of data so there is some optimization built in on this website that I use or a large file is used with all the entries in it and the quick system. Does anybody know the quick system? Nobody. It has been, I've also encountered it when I studied in the, at the end of the 80s in the library that each, the title of each book was listed and alphabetically according to the, to each word in the title. So this, I can't really tell without, without a reasonable example and I couldn't find one so far how this looks like but it's, it's impressive to see and you can really quickly search through, through large lists by keyword using this, this concept. The extension of this is the suffix area which is this data structure which is rather new, well rather new but already more than 25 years old but it's still not used very much and the idea behind it is that we, if we have such a string like bananas then we take each suffix on it, give it an index so just according to its order in the, in the string. Then we order these sets of, in the index and strings according to the string and in this, in this data structure we can do binary search and by this method find, find each string according to its match or just do some prefix match. You already notice I'm getting a bit faster because time is running out. Yeah but using this, using this method you get very fast and many years ago I already implemented this on the first version of espacev.com more than 15 years ago and at that time I talked to some Google technician who was impressed by the speed I reached with this approach. So we come to the end and can say well, espacev.com provides aviation data. Data is partially stored, partially retrieved while querying the website and can be used for simulation or for choosing routes, for choosing destinations or for evaluating flights you have done but there is no endorsement for navigation so you must not use it as a sole mean of flight planning. Another also experience here was this quote of Edison genius is 1% inspiration and 99% perspiration. You get the idea and it's, yeah well it's coming, it's popping up in mind immediately and then you're sitting there days and days and get new inspirations and finally somehow, well there's no end in sight put it that way. Consequently this website is work in progress. There are lots of extensions and improvements thinkable and there will come lots of them. For instance, you might have seen that there are some social network links on it but I will also introduce some gamification something like being there done that that you can click as airports where you have been and there will be some kind of ranking just to attract visitors. The layout will be reworked because it's suboptimal currently and the ideas I've presented like the distance calculation and the string search could also be used in other software like maps.me which for my my feeling seems rather slow when finding strings in its database. So that's it so far. Any questions? Do you have any plans to store like historical chart data for previous years kind of just see how the airspace has changed? Question was I don't know if it's really necessary if I repeat it now because yeah, but the recording doesn't work or does it? Yeah, well anyway. Question was if there are any plans to also store historical data to see how airspace has changed or stuff like that. No, the plan is not there for me but as I said in the beginning you can add your own layers and idea will be that mechanism will be built to publish such individual layers that you can give them to friends to other people who are interested in it. That's also the idea of flexibility on this website. Any other questions? Yeah. Private pilots are also to commercial pilots? Question here is if the website is addressing only private pilots or also commercial pilots. I would say private pilots at most because and it doesn't have an official certification for flight preparation so if you rely on it if you rely only on it considering the official documents then you are making an error as a pilot and I would expect that commercial pilots pilots wouldn't be wouldn't have the need to consider the data which is provided on this website. Yeah. Do you plan to put in more information from other sources like let's say for example transponder data which you can receive freely and you could let's say some weather information which you get from the aircraft or what could be also interesting for our private pilots some values like where the freezing altitude let's say like that you have the temperature depending on the altitude the altitude wind you plan to put in some dynamic data like that. Question here is if there are plans to put in more or more other aviation data like transponder codes or freezing altitudes or weather altitude winds stuff like that dynamic data was also keyword in the question about yeah, plans are there but the difficulty is to find the data on the net in a form that it can be used here for instance the altitude winds have been in the first version of the website and they have been cut out of wind maps which wasn't very pleasant and not very useful so yeah, it's question of the cost value question here again so if there is no other question then