TerraGear GUI: Difference between revisions

Jump to navigation Jump to search
m
→‎For GNU/Linux users: Add HelpLines for common Errors
m (→‎For GNU/Linux users: Add HelpLines for common Errors)
(17 intermediate revisions by 10 users not shown)
Line 1: Line 1:
{{Infobox Software
{{Infobox Software
| title                = TerraGear GUI
| title                = TerraGear GUI
| image                = TerraGearGUI.png
| image                = TerraGear GUI download San Francisco.png
| alt                  = The construction page
| alt                  = The download page with the San Francisco bay area selected.
| developedby          = Gijs de Rooy (original by Alex Park)
| developedby          = Gijs de Rooy (original by Alex Park)
| initialrelease        = March 24, 2009 (original)<br>March 27, 2010
| initialrelease        = March 24, 2009 (original)<br>March 27, 2010
| latestrelease = 0.9.x (April 28, 2012)
| latestrelease = 0.9.x (2012)
| writtenin            = C++ (Qt)
| writtenin            = C++ (Qt)
| os                    = Windows, Linux, Mac OS X
| os                    = Windows, Linux, Mac OS X
| website = http://gitorious.org/fgscenery/terrageargui/
| website = https://sourceforge.net/p/flightgear/fgscenery/terrageargui/ci/master/tree/
}}
}}
The '''GUI''' tool for '''[[TerraGear]]''' allows people to create [[scenery]] for [[FlightGear]] without using commandlines.
The '''GUI''' tool for '''[[TerraGear]]''' allows people to create [[scenery]] for [[FlightGear]] without using commandlines.


== Obtaining the GUI ==
== Obtaining the GUI ==
You can either build the GUI [http://gitorious.org/fgscenery/terrageargui/ from source], or download a pre-compiled build:
You can either build the GUI [https://sourceforge.net/p/flightgear/fgscenery/terrageargui/ci/master/tree/ from source], or download a pre-compiled build:
* [http://liveries.flightgear.org/terrageargui/ Windows builds]
* [http://liveries.flightgear.org/terrageargui/ Windows builds]
Please note that you need to download/compile [[TerraGear]] as well.
Please note that:
* you need to download/compile a recent version of [[TerraGear]] as well;
* for Windows users, you'll need to add three DLLs to you TerraGear GUI root directory:
** msvcp71.dll (see [[TerraGear_Installation_for_Windows]] to know how to get it)
** mscvr71.dll (see [[TerraGear_Installation_for_Windows]] to know how to get it)
** gdal12.dll (this can be retrieved from ftp://ftp.ihg.uni-duisburg.de/FlightGear/Win32/terragear-cs-Win32-20101002.zip )


==== For GNU/Linux users ====
==== For GNU/Linux users ====
# Grab the sources and store it where you want:<br/><pre>git clone git://gitorious.org/fgscenery/terrageargui.git</pre>
# Grab the sources and store it where you want:<br/><pre>git clone git://git.code.sf.net/p/flightgear/fgscenery/terrageargui</pre>
# Then go in the source:<br/><pre>cd terrageargui</pre>
# Then go in the source:<br/><pre>cd terrageargui</pre>
# Create a build dir:<br/><pre>mkdir build && cd build</pre>
# Create a build dir:<br/><pre>mkdir build && cd build</pre>
# Now build it:<br/><pre>qmake .. && make</pre>
# Now build it:<br/><pre>qmake .. </pre> or<pre>qmake-qt4 ..</pre> then<pre>make</pre>
# You can now start it with:<br/><pre>./TerraGUI</pre>
:::<sub>In case of ERRORS You may have to add the following via SYNAPTIC:</sub>
:::*<sub>for "/usr/lib/i386-linux-gnu/qt4/bin/uic: Command not found" add: libqt4-dev-bin</sub>
:::*<sub>for "QtGui/QApplication: No such file or directory" add: qt4-dev-tools</sub>
<br />
# You can now start it with:<br/><pre>"./bin/TerraGUI" or "./build/TerraGUI"</pre>


You're done!
You're done!
Line 30: Line 39:


=== Start ===
=== Start ===
# Set the TerraGear directory, in which you'll find ogr-decode, fgfs-construct etc. TerraGear must be downloaded/build seperatly from the GUI!
# Set the TerraGear directory, in which you'll find the subdirectories bin/ and share/. TerraGear must be downloaded/build seperatly from the GUI!
# Set the project's directory. In this directory, all project related stuff will be stored throughout the process. You best choose an empty directory specific to your project.
# Set the project's directory. In this directory, all project related stuff will be stored throughout the process. You best choose an empty directory specific to your project.
# Set your FlightGear's root ([[$FG_ROOT]]). This is used to retrieve the list of available terrain materials.
# Set your FlightGear's root ([[$FG_ROOT]]). This is used to retrieve the list of available terrain materials.


==== Downloading data ====
=== Download ===
Specify boundaries in the boxes on the left and select a source to download shapefiles for that area. Note that OpenStreetMap only includes line date (roads, rivers), so you'll need some polygon data for the actual terrain. Both [[World Custom Scenery Project|Custom Scenery]] and [[CORINE]] (only Europe) provide that. The GUI downloads and unpacks the package to your <tt>{project's directory}/data/</tt>.
Specify boundaries in the boxes on the left, or select an area on the map. Next select a source to download shapefiles for that area. Note that OpenStreetMap only includes line date (roads, rivers), so you'll need some polygon data for the actual terrain. Both [[World Custom Scenery Project|Custom Scenery]] and [[CORINE]] (only Europe) provide that. The GUI downloads and unpacks the package to your <tt>{project's directory}/data/</tt>.


Alternatively you can download shapefiles from [http://mapserver.flightgear.org/download.psp the mapserver by hand]. Unpack the downloaded file(s) to your <tt>{project's directory}/data/</tt>.
Alternatively you can download shapefiles from [http://mapserver.flightgear.org/download.psp the mapserver by hand]. Unpack the downloaded file(s) to your <tt>{project's directory}/data/</tt>.


===== Elevation =====
==== Elevation data ====
Elevation files are optional, but of course required to generate scenery with elevation offsets (even flat countries like the Netherlands need elevation data, since no country is completely at sealevel. Simply select a data source and then click the button to download the HGT files that span your specified area. The original source is usgs.gov, but a cleaned variant of the same data is available from fgx.ch (see [http://downloads.fgx.ch/geodata/data/srtm/README.txt the readme] for more information). The data will be saved in in <tt>{project's directory}/data/SRTM-3</tt>.
 
===== By hand =====
[[File:HGT tiles example.png|thumb|An example of HGT file tiles.]]
[[File:HGT tiles example.png|thumb|An example of HGT file tiles.]]
Elevation files are optional, but of course required to generate scenery with elevation offsets (even flat countries like the Netherlands need elevation data, since no country is completely at sealevel. Simply click the button to download the HGT files that span your specified area. They'll be saved in in <tt>{project's directory}/data/SRTM-3</tt>
Downloading tiles by hand is somewhat tricky. If your scenery has a boundary of:
Downloading tiles by hand is somewhat tricky. If your scenery has a boundary of:
{| class="wikitable"
{| class="wikitable"
Line 65: Line 75:
# Click on the bottom left boundary wanted and report the displayed value in TerraGear GUI. (i.e: if Google Earth value is "W9_N42", report Minimum Latitude value "42" and Minimum Longitude value "-9")
# Click on the bottom left boundary wanted and report the displayed value in TerraGear GUI. (i.e: if Google Earth value is "W9_N42", report Minimum Latitude value "42" and Minimum Longitude value "-9")
# Click on the top right boundary wanted and report the displayed value in TerraGear GUI. (i.e: if Google Earth value is "E6_N45", report Maximum Latitude value "45" and Maximum Longitude value "6")
# Click on the top right boundary wanted and report the displayed value in TerraGear GUI. (i.e: if Google Earth value is "E6_N45", report Maximum Latitude value "45" and Maximum Longitude value "6")
{{note|You need to use a reasonable boundaries because mapserver.flightgear.org contains a limit.}}


=== Elevation ===
=== Elevation ===
Line 76: Line 84:
You can do two things now:
You can do two things now:
*'''Already-made airports:''' use FlightGear's <tt>apt.dat.gz</tt> file, which is usually in <tt>[[$FG ROOT]]/Airports/</tt>.
*'''Already-made airports:''' use FlightGear's <tt>apt.dat.gz</tt> file, which is usually in <tt>[[$FG ROOT]]/Airports/</tt>.
*'''Home-made airports:''' if you created an airport in [[TaxiDraw]] or [[WorldEditor]], use the .dat file that you exported.
*'''Home-made airports:''' if you created an airport in [[WorldEditor]], use the .dat file that you exported.


Use the button to browse to the .dat file of your choice. Select the format of your .dat file from the dropdown. TaxiDraw created 810 format, while WorldEditor does the 850 format. Apt.dat.gz packaged with FlightGear is currently still in the 810 format.
Use the button to browse to the .dat file of your choice.


* '''All airports in area''' generates all the airports within the boundaries as set on the start tab.
* '''All airports in area''' generates all the airports within the boundaries as set on the start tab.
Line 86: Line 94:


=== Materials ===
=== Materials ===
Now we need to decode the shapefiles into TerraGear format, which we do with OGR/Shape Decode. After clicking the "Retrieve shapefiles" button, the list will be populated with the shapefiles from your project's data directory. The GUI will try to assign fitting materials. If a shapefile has no material, you'll need to assign it by hand. Each single shapefile must have a material.
Now we need to decode the shapefiles into TerraGear format, which we do with OGR Decode. After clicking the "Retrieve shapefiles" button, the list will be populated with the shapefiles from your project's data directory. The GUI will try to assign fitting materials. If a shapefile has no material, you'll need to assign it by hand. Each single shapefile must have a material.


You can delete shapefiles from the list by double-clicking on them. A single click on a material will allow you to edit it; to create custom materials that are not (yet) in materials.xml (do note that FlightGear will apply the default material to those landclasses, untill you create the material in materials.xml!).  
You can delete shapefiles from the list by double-clicking on them. A single click on a material will allow you to edit it; to create custom materials that are not (yet) in materials.xml (do note that FlightGear will apply the default material to those landclasses, untill you create the material in materials.xml!).  


Line width is only used on line-data (like roads, rivers and railroads). If you leave the line width fields empty, a default width of 10 meters is used.
Line width is only used on line-data (like roads, rivers and railroads). If you leave the line width fields empty, a default width of 10 meters is used.
===== Example =====
{| class="wikitable"
|-
! Shapefile !! Material !! Line width (in meters)
|-
| osm_canal || Canal || 12
|-
| osm_motorway || Road-Motorway || 12
|-
| osm_primary || Road-Primary || 10
|-
| osm_rail || Railroad || 5
|-
| osm_river || Canal || 8
|-
| osm_secondary || Road-Secondary || 8
|-
| osm_stream || Stream || 3
|-
| osm_tertiary || Road-Tertiary || 6
|-
| osm_trunk || Road-Trunk || 18
|}


=== Construct ===
=== Construct ===
[[Image:TerraGearGUI.png|thumb|270px|The construction page.]]
'''Note: with recent TerraGear builds, it is required to add the used material-names to the default_priorities.txt file.'''
'''Note: with recent TerraGear builds, it is required to add the used material-names to the default_priorities.txt file.'''


The fgfs-construct tool brings all your gathered data together, throws it in a washing machine and spits it out the otherside in a format ready for use with FlightGear. Click the "Update list" button to populate the field with all decoded shapefiles. In the list you select all types that you'd like to include in your scenery.
The tg-construct tool brings all your gathered data together, throws it in a washing machine and spits it out the otherside in a format ready for use with FlightGear. Click the "Update list" button to populate the field with all decoded shapefiles. In the list you select all types that you'd like to include in your scenery.


After clicking the "Generate scenery" button, it may take a long time for TerraGear to finish. Depending on the size of the area you are creating the scenery for and the level of detail in your shapefiles. Simple and small sceneries will take a couple of minutes, where larger, more detailed areas can take over an hour! So trying new things on small areas first will save you a lot of time.
After clicking the "Generate scenery" button, it may take a long time for TerraGear to finish. Depending on the size of the area you are creating the scenery for and the level of detail in your shapefiles. Simple and small sceneries will take a couple of minutes, where larger, more detailed areas can take over an hour! So trying new things on small areas first will save you a lot of time.
Line 103: Line 137:


== GUI development ==
== GUI development ==
The current source code can be retrieved [http://gitorious.org/fgscenery/terrageargui/ from Gitorious].
The current source code can be retrieved [https://sourceforge.net/p/flightgear/fgscenery/terrageargui/ci/master/tree/ from SourceForge].


Feel free to add feature requests and/or bug reports to this page. Anyone interested in helping is invited to contact Gijs at the forum.
Feel free to add feature requests and/or bug reports to this page. Anyone interested in helping is invited to contact Gijs at the forum.


=== Requested features ===
=== Requested features ===
* Visual map for boundary selection.
Also see [[TerraGear scenery build server]]
* Multi-threading, so the GUI doesn't freeze when running a process.
 
[[File:TerraGear-GUI-Remote-Mode.png|thumb|Prototyping a remote mode for [[TerraGear]] as part of [[TerraGear GUI]]]]
 
* Multi-threading, so the GUI doesn't freeze when running a process [http://forum.flightgear.org/viewtopic.php?f=5&t=25688&p=235873&hilit=#p235623]
* Support a new "Setup" page where people can decide if TerraGear is installed locally or remotely {{Not done}}
* Add a command handler abstraction so that commands  can be easily run over SSH [http://doc.qt.digia.com/qtcreator-extending/utils-sshconnection.html] {{Not done}}
* File retrieval would ideally be wrapped via SFTP {{Not done}}


== External link ==
== External link ==
* [http://www.flightgear.org/forums/viewtopic.php?f=5&t=7485 Forum topic]
* [http://forum.flightgear.org/viewtopic.php?f=5&t=7485 Forum topic]


[[Category:Scenery enhancement]]
[[Category:Scenery enhancement]]
[[Category:Software]]
[[Category:TerraGear]]
652

edits

Navigation menu