RubyTMAP (3D Basemap Tool): Should This Project Be Restarted?

ModelerMJ

RubyTMIX, Basemapz
Hello All,

As some of you may be aware, the newly-released TS2014 (aka RailWorks) includes direct integration of Google Earth overlays in their route-building tool. This video on YouTube briefly shows how the feature works; the relevant section starts around 4:10. Long story short, this would seem to make it very easy to trace pretty much any feature from Google Earth quite accurately.

In early to mid 2012 I completed the first round of development of a plugin for SketchUp that I called 'RubyTMAP'. The purpose of this plugin was to create semi-transparent 3D basemaps that carried high-quality Google Earth images and also conformed to the Trainz terrain. The general concept was that you would position them appropriately in your route and then, while looking straight down through the overlay to the actual terrain below, you would be able to trace tracks & roads from the Google Earth image onto the Terrain. Obviously you could also use it to place buildings, trees, ground textures, or anything else.

The image below shows an example basemap, positioned in Surveyor, so you can see how it conforms to the terrain.
f7vb.jpg

(image hosted by ImageShack)

The image below is a view looking through the basemap to the Trainz terrain, so you can see the clarity of the imagery that is possible; note that you can see the baseboard grid through the basemap.
ft02.jpg

(image hosted by ImageShack)

Although I was able to make this tool operational, there were some significant barriers to making it usable in the real world.
  • It only worked with maps that had been created by TransDEM, as it relied on information from that tool for initial geolocation.
  • The overlays used terrain data obtained from within SketchUp, which often differs significantly from the data used to construct routes by other means (e.g. TransDEM). This resulted in the basemap contours sometimes being a very poor match for the terrain.
  • Basemaps had to be positioned manually in Trainz, which was not an easy process since there is no clear demarcation between baseboard boundaries. To make that easier, I developed a (rather cheesy) system of guide sticks, but it was still a major pain.
  • Trainz sometimes has difficulty positioning 'very large objects' so this made it even harder to align the images in the right place.
  • It was difficult to place basemaps at a consistent height so their edges merged properly.

For these reasons (and others), I ended up shelving this project, and it has lain dormat since about May of 2012. Seeing the new feature in TS2014 has, howevever, rekindled my interest in RubyTMAP, and I am considering not only restarting this project but also taking it in a somewhat different direction.

Over the last year I have had some success in decoding the Trainz binary file formats, to the point where I believe I have enough information to actually create these files. Based on this, my proposed new direction is to make RubyTMAP a route-generation tool rather than just a basemap-generation tool, and to eliminate the dependencies on prior information from TransDEM.
  • The new version would consist of a Windows application plus a Ruby plugin for SketchUp.
  • Project management and generation of Trainz binary files would be handled by the Windows application.
  • Gathering terrain data and imagery, and generation of the 3D basemaps, would be handled by the Ruby plugin running in Sketchup.

The general work flow would be:
  • Start a new project containing 1 baseboard.
  • Open the project in SketchUp and geo-locate the origin baseboard.
  • Use the SketchUp 'Add Location' dialog to grab terrain data and imagery for the baseboard. Please note, this is a manual process and will be somewhat time-consuming.
  • Based on the coverage desired, add more baseboards and grab data/imagery for them as well.
  • Generate the 3D basemaps and/or save the terrain data.
  • Return to the Windows application and use exactly the same terrain data that was used to make the basemaps to also generate 'mapfile.gnd', thus providing DEM terrain in Trainz and ensuring that the basemaps will properly match the contours of that terrain.
  • Windows application also creates 'mapfile.obs' with a World Origin object and all basemaps correctly located.
  • Windows application also creates 'mapfile.lyr' with all the basemaps on their own pre-locked layer, with initial visibility selectable.
  • Other 'mapfile.xxx' files are simply blanks as would be created by Trainz itself.
  • 'config.txt' is also generated containing proper World Origin coordinates and other standard information you supply.
  • Import the lot into Content Manager, resulting in a complete Trainz route.
  • Open the route in Surveyor, make the basemap layer visible, and start tracing out your route by looking directly down through the basemaps.
  • When done, delete the basemaps layer.

At this point I can already feel the self-appointed legal pundits starting to circle, so please let me say that I have no intention of debating the legal implications of this tool. Suffice it to say that, when I originally started the project back in 2012, I was able to consult directly with the appropriate people at SketchUp, who offered encouragement and basically left me with the understanding that there was no problem with what I was doing. To wit, my application fell under "fair use" rules because:
  • The re-use of the Google Earth images was substantially transformative in nature because they were reconstructed, not simply copied; and because they were semi-transparent.
  • The images were applied to an object that was only usable within a confined environment (i.e. Trainz Surveyor), meaning that they would not be part of a 'public performance'.
  • The locations of things like railroad tracks, roads and buildings cannot be copyrighted because they are physical facts, so tracing these things from a Google Earth image is not an illegal use of an otherwise copyrighted work.

I also want to be very clear that I have not received any official endorsement from N3V regarding this project, nor any assistance with writing to their binary files. All my knowledge about the file formats is information I have worked out on my own.

Finally, I would like to briefly address the free/paid aspects of my plan.
  • There would be a free version of this tool with some (I think reasonable) restrictions.
  • There would be a paid version that removes these restrictions, probably priced around $10-$15 US.

The restrictions of the free version would (probably) be:
  • Maximum of 25 baseboards per generated route
  • Only emits baseboards with 10m resolution
  • All basemaps go on the same layer

The paid version would be limited only by the practical limits of SketchUp; in my original testing I produced route chunks of around 150 baseboards with no problem at all. It would emit 5m or 10m terrain, and would allow basemaps to be placed on various user-defined layers. It would also include an 'Extender' Project type, meaning that you would be able to start a new route that automatically lines up with the edge of a previously generated route and could therefore be merged with it, which should allow the creation of very large routes.

My question to you all now is: Would such a tool actually be useful for route building, and do you have any suggestions past what I have presented here?

All comments are welcome. Based on the responses received, I will then determine whether or not to proceed.

Thank you.
Regards,
-Mike
 
Last edited:
I think this project is a great one! Would be especially nice for those in the community who are unable to figure out TransDEM or can not quite afford it, although TransDEM is a very nice tool I must say.
 
Your basemap software would be an essential tool for any keen Trainzer. As I love creating real world routes in Trainz, I would purchase this in a heartbeat.

- Kent
 
Sounds interesting but would there be any restrictions on commercial use i.e. for payware route projects?
 
There has been a request by Linda (Shortline2) for TransDEM in the forum there for a .gnd file elevation export and re-import function, which is a bit of a challenge. While unrelated at first glance only there are in fact some similarities to what I would call terra-formed 3D UTM tiles. TransDEM is doing 2D UTM tiles (floating map or aerial image hi-res texture carrier objects) for years and since we figured out how to change the wire-frame texture in Surveyor, usability is back to normal. However, in steep terrain, they are not that easy to handle, because of their flatness, and I understand the wish for something more adaptable. Unfortunately, it took me quite a while to find a reasonable and straightforward way how to implement this. I think I've found one now, and I can't explain why I didn't have that idea earlier, but it's still theoretical at the moment. If it works, TransDEM will be able to generate 3D UTM tiles instead of 2D, adapting to .gnd terrain, with the same few clicks as now, and without any extra activities needed on the user side.
 
I've made use of the new GE feature in Railworks and it is good, at least for those areas where there is reasonably high res coverage. The images are temporary and not saved with the route, purely used as a dynamic overlay so no copyright issues, though I assume RSC had to work with Google to agree the plug in. Incidentally, it doesn't do away with the need to plot strategically placed markers as you still need these to jump around the route.

A similar feature for Trainz would be great but there are a few caveats - Trainz doesn't use any sort of native real world projection and of course the announcement of T:ANE means any utility developed now is going to have a very short shelf life. Hopefully T:ANE will incorporate real world projection and a similar system to that adopted in Railworks with Google Earth.
 
... though I assume RSC had to work with Google to agree the plug in.
And RSC tells you as a user you have to agree to Google's terms and conditions which basically means their greed for your personal data. I'd rather do without that.
 
Thanks for the replies so far.

I do want to be clear that this tool is not, nor is it intended to be, in the same league as TransDEM as far as power and features goes; being a TransDEM user myself, I have great respect for the tool and its capabilities. My main goal here is primarily to implement a simpler work flow for the casual user, and of course to provide 3D basemaps with matching terrain. Make no mistake, the terrain produced by my tool would be firmly in the category of 'close enough' rather than 'as accurate as it can possibly be'. If you need coverage past what Google offers via the 'Add Location' dialog within SketchUp, or you want super-accurate results, TransDEM is still going to be the tool of choice.

TS2014 does indeed require you to create a Google account, meaning you open yourself up to being directly responsible for adhereing to the Google TOS, and of course adverstising as well. In the tool I am describing here, I am simply using data that is already freely available within the SketchUp application via its Add Location dialog.

@RRSignal: The policy I have in mind is something to the effect of "You can use the routes produced by RubyTMAP for personal projects or as the basis of a payware route; but you may not charge a fee to create 'empty routes' for others." Does that make sense?

Regards,
-Mike
 
Last edited:
​GO FOR IT!!!!!

This is usefull for many people around the world that try to create prototypical routes but their location is not covered by TIGER data required for positioning assets in TransDEM generated routes.

Also, by using real sattelite images you make the work of the player much easier, because he can actually see what he wants to build, so he can add an apropriate asset.

 
Last edited:
...the announcement of T:ANE means any utility developed now is going to have a very short shelf life. Hopefully T:ANE will incorporate real world projection and a similar system to that adopted in Railworks with Google Earth.

I agree 100% that having Earth or something similar directly integrated into 'Surveyor' would be the correct and most desirable solution. While that would be great to have and it is nice to hope for, I am looking at where we are 'right now' vs where TS2014 is 'right now', and thinking in terms of bridging that immediate gap. Also, December 2014 is a long ways away; and even assuming great success for T:ANE (and I certainly wish that for N3V/Auran) I have to think that TS2009-TS12 will still be in use for a long time to come, and therefore there will be a 'market' for what I am proposing for quite some time.

Regards,
-Mike
 
This is usefull for many people around the world that try to create prototypical routes but their location is not covered by TIGER data required for positioning assets in TransDEM generated routes.
This is not the way TransDEM works. TransDEM has no dependency on TIGER (never had) and does place its assets automatically. You are probably confusing TransDEM with the more basic MicroDEM/HOG approach.


Mike, to make your baseboards compatible with mine, set your baseboard corners to a multiple of 720 m in UTM coordinates, referring to the true origin of the UTM zone, but you are probably already aware of this.
 
@RRSignal: The policy I have in mind is something to the effect of "You can use the routes produced by RubyTMAP for personal projects or as the basis of a payware route; but you may not charge a fee to create 'empty routes' for others." Does that make sense?

Sounds like a good license. I'd actually extend it to state that commercial routes have to be at xx percent level of completeness, so that people don't go around selling otherwise-empty DEMs with a couple trees on them in order to get around the "empty" policy.
 
As I was one of those who originally volunteered to help test rubytmap I would certainly be interested in seeing this developer further. I think it's a great idea and worth persuing. Like many others I use transdem but would find this a welcome addition to that program.
 
@RRSignal: That's good input.

@geophil: Thank you very much for the tips. Advice from you, especially on this subject, is always welcome.

@AntonyVW: I will put you first on the list of potential beta testers :).

Regards,
-Mike
 
Last edited:
I volunteer! Haha, so yeah this is a great idea you have going. All we need now is something that can costom create buildings specific to that area like google earth ground level.
 
Yes please. This would be a very nice tool to have. I used TransDEM, and like it. I have also used you ground texture tutorial and found it very helpful. I think this tool would allows us to make route with even higher levels of details.
 
Thanks Mike. With all the excitement going on over the future of TRainz, I think we dont always look back at how many folk have never upgraded beyond say TS2006/9 (look at how many have said they wont buy 2012). There will, Im sure, be many who wont upgrade to the T:ANE or T2. So ideas like this one will be most welcome by a lot of people.
 
Back
Top