How to get OpenStreetMap data to the X-Plane bit different way…
Let us introduce our “secret” project with a working name XHT: Xhouse Tool („exhoust“ in short) which we spent all own (and sometimes also working) time in last two months. As the name unveils it is a tool for scenery creation converting Open Street Map data. Obviously the first we all in X-Plane community get in mind when those three words are said is Benny’s excellent OSM2XP. Well, this project should not be a competitor of the OSM2XP. Both tools should rather amend each other.
I was bearing the idea of converting data pretty long time, but the “ignition” came quite recently. The “impulse” consists of three parts. Firstly – the revival of the community around the VFR Czech project, mainly thanks to Ludek (elPresidento) and his excellent xplane.cz site. Secondly – coincidently “discovered” JOSM editor and its wonderful features. And as a third I meet Premek who turned out to be mad and patient enough to listen my crazy ideas and even more – he attempted to realize them…
Well, what is all the stuff about?
For sure it is not necessary to introduce Open Street Maps project (also thanks to Benny). Everyone who is interested could participate to create content. But the most important part for us is the usability of the OSM data in the X-Plane (and this usability will be increased in the X-Plane 10). It is necessary to say that for usage of the OSM data in X-Plane we need some tools. The XHT attempts to be one of them.
The elementary way the XHT works is simple – select a certain area from OSM data, process it in XHT and get the X-Plane scenery.
But, to get this scenery looking as in our mind, we have to tell to XHT what to do, how to handle each item group. For that we introduced analytic algorithms and so called “Templates”. Template is a kind of a XML structured script where the conditions for decisions and evaluations are defined. The most important fact is the template could be user defined so anyone has possibility to create own converting rules.
During the development a testing template is created which will be able to use 3D objects and facades from our R2_Library. On the presented pictures yet ALL the buildings you see are facades. But of course it will not be a problem to use different libraries like the OpenSceneryX etc. of course, for middle European region a template will be present from the release date.
JOSM & Co. What for?
The most data we will use for the conversion (mainly buildings but forests as well) has only elementary tag implemented (like “building=yes”). In such case analyze gives us only few information for decision and branching (like area size, approximate type of the shape etc.). The better result we want to get the more detailed tags should be inserted. For that purpose there’s a plenty of OSM editors like Potlatch2, Merkaator or JOSM.
We can use any of them but JOSM offers some extra feature we can heavily use. These are:
- It is multiplatform so could be used on all systems (Win/Mac/Linux)
- has an excellent editing features and there’s a plenty of plug-ins available
- It supports WMS services, so it could load maps from different serves. Standard BING maps are very fast for example. As Czech Republic is not very well covered in BING we have to use a local Czech government server for data creation and believe it works perfectly as well (we also use a color orthophoto with resolution 0.5m/px as a comparing source). So I’m convinced, there will be a huge amount of servers worldwide could be used.
- Tag presets – you can create your own preset tags and put them directly to the JOSM’s main toolbar as color icons with preview. Work with them is then extremely effective. You can select a groups of building, press the button “apartments” and that’s it.
- Displaying styles – similarly like presets you can create your own display style which will tells editor how to colorize objects by different tags – so you can easy see what was already edited and what tag is set.
As I said – work with these features is a piece of cake…
So, how the precise work process really looks?
Firstly we have to register and create personal account for OSM modifications. Please, get familiar with rules for map editing. We are just small part of the Open Street Maps community, so please, respect the rules (even if it is hard to believe, out there are also other worlds then the X-Plane ) So bear in mind whatever data you create, modify and send back could be (and will be) used to other OSM users. That’s by the way the basic intent and philosophy of the entire OSM project. Further process could looks like this:
1. Download any piece of the map and modify it following OSM community rules (creating non-existing or missing data or modify wrong ones). Send back the result of your work.
2. Download again modified data and store them locally as *.osm file
3. Now you could eventually modify data adding some specific tags which should not (or must not) be send to the central OSM server for getting better X-Plane scenery result.
4. Run the XHT and enjoy the flight over detailed (yet not FPS expensive) scenery
Key XHouseT features
Let me wrap-up some of the key features of the XHT:
- Conversion of the OSM data to the DSF overlay using user-defined criteria and conditions
- Preparation and modification of conditions and setters in the integrated editor
- Independent generation of the scenery items by type (buildings, 3D objects, forests etc. – fully customizable)
- Generation of all the basic X-Plane elements (FACADE, STRING, FOREST, 3D OBJECT…)
- Real looking slope roof buildings generation using facades. As the X-Plane doesn’t yet supports real slope roof and use a workaround by tilting last floor of the facades, has this feature its limits and a small number of houses are wrong. It is mainly because the facades are in every point aligned with the terrain (DRAPED) so on hillsides and “bumpy” terrain a roof’s geometry is corrupted. But this issue seems to be really rare based on observations up to now. And result given by XHT already now looks pretty good.
- Reverse generation of the diagnostic OSM data for convenient template’s functionality check
- Reverse conversion of DSF file to OSM data. Quite important feature allowing import of existing DSF data to OSM file. The file could be then loaded to the JOSM, modified as needed and again converted to the DSF file. That way you’ll be able to modify already done overlays of forests using WMS data resources. May be it is not a big hyperbole to say we can use it instead of WED sometimes.
Development and future:
Please, do not ask when it will be finished. As I already stated me and Premek spent last two months with development every possible time. Unfortunately both of us needs to ensure such a down-to-earth stuff like job, family budget etc. what drags us back from “serious work and research” Nevertheless, we suppose that version 1.0b could be available during oncoming summer. Basic algorithms already works (as you can see on screenshots) but we still need to tackle quite a lot of things, improve the UI and of course extend the texture and facades library.
Further in the future we plan next to improve the analytic algorithms also introduce other elements of the X-Plane, mainly airports, navigation etc. Based on available info from X-Plane developer’s blog should be roads and railroads in X-Plane 10 also created using “draped” geometry so theirs modification and conversion to the XPL will be similar to other items of the overlays.
I’m also keen (and a believer) that XPL 10 will bring out new possibilities for using facades like already mentioned sloped roofs… It’s a pity we do not have yet proper amount of official information. May be Ben Supnik will disclosure some details from his kitchen soon…
What you could do right now?
Before the XHT will be available, everybody feels it could be proper tool for him could create an account on the Open Street Maps and get familiar with the modification rules and also with the JOSM editor. If you’ll be impatient enough, you can already start editing data. Of course in the right moment we will publish a tutorial how to properly set up the JOSM, how to get a data from it and how to mark tags correctly. Just as a first sample we could reveal that one of the main tag for general branching is the tag ‘building:levels=X’ which tells how tall the building is. It is mainly significant for buildings taller then 4 floors. By the way – the result you see on X-Plane screenshots are mainly buildings generated on tags ‘building=yes’ and ‘building:levels’. There’s only few marked with special tags (and most of that few just because of necessity to place same texture to the different part of the building)
So, cross fingers our wives does not kill us (actually we would like to say “thank you” to them that way ) and we have good enough time for further development.
Artoo (Petr) & Premek