<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://wiki.flightgear.org/w/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=AlbertBickford</id>
	<title>FlightGear wiki - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.flightgear.org/w/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=AlbertBickford"/>
	<link rel="alternate" type="text/html" href="https://wiki.flightgear.org/Special:Contributions/AlbertBickford"/>
	<updated>2026-04-05T03:53:00Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.39.6</generator>
	<entry>
		<id>https://wiki.flightgear.org/w/index.php?title=FlightGear_Scenery_Designer&amp;diff=30383</id>
		<title>FlightGear Scenery Designer</title>
		<link rel="alternate" type="text/html" href="https://wiki.flightgear.org/w/index.php?title=FlightGear_Scenery_Designer&amp;diff=30383"/>
		<updated>2011-03-18T01:02:18Z</updated>

		<summary type="html">&lt;p&gt;AlbertBickford: Added link to World Custom Scenery Project&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[File:fgsd-wiki-title.jpg]]&lt;br /&gt;
&lt;br /&gt;
FlightGear Scenery Designer ( aka fgsd ) is a tool to design and create custom-made scenery tiles suitable to FlightGear.  It performs a similar function to [[TerraGear]], but in a different way.  TerraGear is intended for batch processing of large numbers of files, and thus is used to produce the global scenery distributed with [[FlightGear]] and via [[TerraSync]]; fgsd is intended more for small-scale fine-tuning of a few tiles through a graphical interface.&lt;br /&gt;
&lt;br /&gt;
As of March 2011, it does not appear that fgsd is being actively developed.&lt;br /&gt;
&lt;br /&gt;
For another approach to the whole challenge of enhancing world scenery, see the [[World Custom Scenery Project]].&lt;br /&gt;
&lt;br /&gt;
== Documentation ==&lt;br /&gt;
&lt;br /&gt;
Documentation for fgsd is thin and hard to find.  Besides this wiki page, you may want find the following helpful:&lt;br /&gt;
&lt;br /&gt;
* [[Howto: Make an airport]]&lt;br /&gt;
* The [http://fgsd.sourceforge.net/doc.html documentation page] of the [fgsd http://fgsd.sourceforge.net/ Sourceforge] website.  This includes a four-part video tutorial/demonstration (no sound) illustrating many steps in using fgsd, and instructions on placing static objects.&lt;br /&gt;
* The FlightGear Forum, in the scenery section.  This seems to be the most current information, but information can be hard to find.&lt;br /&gt;
&lt;br /&gt;
If you find more helpful bits of information, please add it here to make it easier to find.&lt;br /&gt;
&lt;br /&gt;
== History and Philosophy ==&lt;br /&gt;
&lt;br /&gt;
''How fgsd works and what are the ideas that drive its design''&lt;br /&gt;
&lt;br /&gt;
The initial purpose of fgsd was to edit existing scenery because of the lack, at that time, of a decent free elevation model outside the USA. Releases up to 0.3.1 had capabilities to hand-edit part of the terrain. But it appeared to be cumbersome to edit triangles one at a time, and very frustrating as the work done on one tile was obsoleted every time a new global scenery was released. Moreover, editing the result of the [[TerraGear]] process proved to be non-trivial because of hidden gotchas on the topological quality of the tiles.&lt;br /&gt;
Finally, NASA and others released the SRTM digital elevation model that offers a more refined elevation dataset for most of the world, lessening the need to edit elevations manually.&lt;br /&gt;
&lt;br /&gt;
From release 0.4.0 ( to be released ) ( and its pre-releases 0.3.9x - Win32 binaries available [ftp://ftp.ihg.uni-duisburg.de/FlightGear/Win32 here] - Other systems, use CVS ), fgsd no longer offers the ability to edit already made scenery tiles. Instead, it works interactively, using the same workflow as [[TerraGear]]. This workflow can be summarized as follow :&lt;br /&gt;
&lt;br /&gt;
* load raw elevations&lt;br /&gt;
* simplify elevation model&lt;br /&gt;
* prepare land cover contour&lt;br /&gt;
* project land cover contour on terrain&lt;br /&gt;
* prepare airport layout&lt;br /&gt;
* project airport layout on terrain&lt;br /&gt;
* export terrain to fgfs scenery tiles&lt;br /&gt;
&lt;br /&gt;
additionally, 3D object models can be placed here and there to add verticality to this somewhat horizontal world.&lt;br /&gt;
&lt;br /&gt;
One side benefit of this approach is that modified land cover contours can be exported to a format that TerraGear can use. A centralized database of contours is setup for that ( see http://www.custom-scenery.org ). This way collaborative changes to the global scenery can be consolidated and the next round of global scenery generation will include submitted individual changes.&lt;br /&gt;
Of course, import from the landcover database is possible in fgsd.&lt;br /&gt;
&lt;br /&gt;
Airports are loaded from the airport database file located in the FlightGear base package. It is not possible to edit an airport, but a new definition of an individual airport can be loaded from a file in X-Plane format. This kind of file are typically produced by the Taxidraw airport editor.&lt;br /&gt;
&lt;br /&gt;
== What you need to run fgsd ==&lt;br /&gt;
&lt;br /&gt;
PLEASE ADD TO THIS LIST OTHER PLACES WHERE THESE THINGS CAN BE FOUND.&lt;br /&gt;
&lt;br /&gt;
* fgsd itself.  &lt;br /&gt;
** Source code from [http://sourceforge.net/projects/fgsd/files/ SourceForge]&lt;br /&gt;
** Windows binaries available [ftp://ftp.ihg.uni-duisburg.de/FlightGear/Win32 here]&lt;br /&gt;
* Elevation data from the SRTM ([http://www2.jpl.nasa.gov/srtm/ Shuttle Radio Topography Mission]), in .hgt file format, at either SRTM-3 or SRTM-1 resolution.  Please note that if you want your work to eventually be incorporated back into FlightGear, you have to be careful to use elevation data sets that are compatible with the GNU Public License, such as the original SRTM data issued by NASA.  &lt;br /&gt;
** [http://dds.cr.usgs.gov/srtm/ http://dds.cr.usgs.gov/srtm/]&lt;br /&gt;
* Surface landuse data from the [http://mapserver.flightgear.org/ FlightGear Mapserver]&lt;br /&gt;
* Aerial photographs that are keyed to latitude and longitude&lt;br /&gt;
&lt;br /&gt;
== Main window ==&lt;br /&gt;
&lt;br /&gt;
=== Menu ===&lt;br /&gt;
&lt;br /&gt;
==== File ====&lt;br /&gt;
&lt;br /&gt;
:''' New '''&lt;br /&gt;
:: Clears the current work area ready for a new project.&lt;br /&gt;
:'''Open'''&lt;br /&gt;
::'''Project''' &lt;br /&gt;
::: Opens an existing project file.&lt;br /&gt;
::'''Tile'''&lt;br /&gt;
::: Opens an existing tile. This is mainly used to place static objects. Editing a tile is not supported anymore.&lt;br /&gt;
:: '''File'''&lt;br /&gt;
::: Opens an existing file. It can be an elevation file or a fragment file. Elevation files contain raw elevation data and provide the basis for a project.&lt;br /&gt;
:; Recent Files &lt;br /&gt;
:: Opens recently opened files. These may be tiles or elevation files.&lt;br /&gt;
:; Recent Projects &lt;br /&gt;
:: FGSD saves work in *.FGSD files. These files contain references to map fragments as well as any land cover that might have been added. Various other pieces of information regarding the environment used to create that work are also saved.&lt;br /&gt;
:; Save Project&lt;br /&gt;
:: Saves the current environment. If the project has already been given a name, that names is used to save the work, otherwise you will be prompted to provide a new name&lt;br /&gt;
:; Save Project As&lt;br /&gt;
:: Saves the current environment under name that is prompted for.&lt;br /&gt;
:; Export&lt;br /&gt;
:: Exports the project to tile format. The results of the export process may be used in FGFS to view the progress of a project.&lt;br /&gt;
:; Quit&lt;br /&gt;
:: Exits FGSD&lt;br /&gt;
&lt;br /&gt;
==== Edit ====&lt;br /&gt;
&lt;br /&gt;
: '''Undo'''&lt;br /&gt;
:: Undo last action&lt;br /&gt;
:; Redo&lt;br /&gt;
:: Redo last undone action&lt;br /&gt;
&lt;br /&gt;
==== Scenery ====&lt;br /&gt;
&lt;br /&gt;
: '''Simplify Terrain'''&lt;br /&gt;
:; Strip Raw Elevations&lt;br /&gt;
:; Embed Curves&lt;br /&gt;
:; Embed Airports&lt;br /&gt;
&lt;br /&gt;
==== Tools ====&lt;br /&gt;
&lt;br /&gt;
: '''Object Library'''&lt;br /&gt;
:: Displays the Object library window&lt;br /&gt;
:; Map Fragments&lt;br /&gt;
:: Displays the Map fragment window&lt;br /&gt;
:; Import Curves&lt;br /&gt;
:; Select Airports&lt;br /&gt;
:; Chop HGT Files&lt;br /&gt;
:; Options&lt;br /&gt;
:: Displays the Options window&lt;br /&gt;
&lt;br /&gt;
=== Toolbars ===&lt;br /&gt;
&lt;br /&gt;
==== Main toolbar ====&lt;br /&gt;
[[File:fgsd-wiki-maintb.png]]&lt;br /&gt;
&lt;br /&gt;
==== Curves toolbar ====&lt;br /&gt;
[[File:fgsd-wiki-curvetb.png]]&lt;br /&gt;
&lt;br /&gt;
==== Scenery toolbar ====&lt;br /&gt;
[[File:fgsd-wiki-scenerytb.png]]&lt;br /&gt;
&lt;br /&gt;
==== Static objects toolbar ====&lt;br /&gt;
[[File:fgsd-wiki-statobjtb.png]]&lt;br /&gt;
&lt;br /&gt;
==== Airports toolbar ====&lt;br /&gt;
[[File:fgsd-wiki-apttb.png]]&lt;br /&gt;
&lt;br /&gt;
=== Main area ===&lt;br /&gt;
&lt;br /&gt;
=== Status bar ===&lt;br /&gt;
&lt;br /&gt;
== Options window ==&lt;br /&gt;
&lt;br /&gt;
''How to set general options and preferences''&lt;br /&gt;
&lt;br /&gt;
This window has 4 tabs :&lt;br /&gt;
* General&lt;br /&gt;
* Flightgear&lt;br /&gt;
* LandcoverDB&lt;br /&gt;
* View&lt;br /&gt;
&lt;br /&gt;
All parameters are saved in an [[XML]] file named ~/.fgsdrc&lt;br /&gt;
&lt;br /&gt;
All path are in Unix convention : directories and names are separated by '/' ( slash ) character. Under Windows, the path may begin with :&lt;br /&gt;
&lt;br /&gt;
=== General ===&lt;br /&gt;
&lt;br /&gt;
:;Output path &lt;br /&gt;
:: this path will be used at export time. It can be overriden in the export window.&lt;br /&gt;
:;Project history length &lt;br /&gt;
:: number of project file names proposed in the File &amp;gt; Recent projects menu&lt;br /&gt;
:; File history length &lt;br /&gt;
:: number of file names proposed in the File &amp;gt; Recent files menu&lt;br /&gt;
:; Display position in decimal &lt;br /&gt;
:: choose the format of the longitude and latitude displayed in the status bar&lt;br /&gt;
&lt;br /&gt;
=== FlightGear ===&lt;br /&gt;
&lt;br /&gt;
:;FlightGear data path &lt;br /&gt;
::the path to the FG_ROOT directory. This path is used to find the Airports/apt.dat.gz database, the materials.xml material database, and the Textures/ directory.&lt;br /&gt;
:;FlightGear scenery path &lt;br /&gt;
:: collection of path to scenery folders. These paths contain 'Terrain' and optionally 'Objects' subfolders. They are separated by ';' ( semi colon ) under Window, and by ':' ( colon ) under Unix.&lt;br /&gt;
&lt;br /&gt;
=== LandcoverDB ===&lt;br /&gt;
&lt;br /&gt;
:; Shapefile directory &lt;br /&gt;
:: a path to a local directory containing shapefiles representing landcover contours&lt;br /&gt;
:; Database hostname &lt;br /&gt;
:: a hostname to a Post-GIS server&lt;br /&gt;
:; Layers &lt;br /&gt;
:: list all .shp files discovered in the Shapefile directory and their assigned FlightGear area type. The 'Use' checkbox shows if the layer is used.&lt;br /&gt;
&lt;br /&gt;
=== View ===&lt;br /&gt;
&lt;br /&gt;
:; Show constrained edges &lt;br /&gt;
:: if checked, tile boundaries and material boundaries are drawn in red&lt;br /&gt;
:;Show vertices &lt;br /&gt;
:: if checked, terrain vertices are drawn with a blue square&lt;br /&gt;
:;Show infinite edges &lt;br /&gt;
:: ( used mainly for debug ) infinite edges are edges that connect the terrain hull vertices to an infinite vertex. They are shown in white.&lt;br /&gt;
&lt;br /&gt;
== Map fragment window ==&lt;br /&gt;
&lt;br /&gt;
''How to import images and georeference them''&lt;br /&gt;
&lt;br /&gt;
his window is used to georeference images before import in the main window. fgsd uses a 3 points method to correct rotation and non uniform scaling as well as positionning. A fragment have a contour that is initially set to the image extents. Only the image within the contour is displayed in the main window ( to discard ugly legend, for instance ).&lt;br /&gt;
&lt;br /&gt;
[[File:fgsd-wiki-mapwin.jpg|Image of Alcatraz, courtesy of the USGS]]&lt;br /&gt;
&lt;br /&gt;
The referencing informations, as well as the contour and the image reference, are stored in an XML file.&lt;br /&gt;
&lt;br /&gt;
=== Menu ===&lt;br /&gt;
The File menu has the items below :&lt;br /&gt;
&lt;br /&gt;
:;New&lt;br /&gt;
::erase the content of the window to start over.&lt;br /&gt;
:; Open &lt;br /&gt;
:: '''Fragment'''&lt;br /&gt;
::: open an XML file containing the reference to the image, the contour and the referencing informations&lt;br /&gt;
:: '''Image'''&lt;br /&gt;
::: open a JPEG file and set a default contour&lt;br /&gt;
:; Fetch terraserver-usa.com&lt;br /&gt;
:: load an aerial image from terraserver-usa.com, add a contour and georeference the image. terraserver-usa.com provides images from the USGS. These images are free to use.&lt;br /&gt;
:; Save&lt;br /&gt;
:: save the map fragment with the name it already has. If it is a new fragment, a name is asked first.&lt;br /&gt;
:; Save as&lt;br /&gt;
:: save the map fragment with a new name&lt;br /&gt;
:; Close&lt;br /&gt;
:: close the window. If the content is properly georeferenced, a popup is displayed to ask if the fragment should be included in the main window.&lt;br /&gt;
&lt;br /&gt;
=== Toolbar ===&lt;br /&gt;
Icons, from left to right, are :&lt;br /&gt;
&lt;br /&gt;
:; New&lt;br /&gt;
:: erase the content of the window to start over.&lt;br /&gt;
:; Open Fragment&lt;br /&gt;
:: open an XML file containing the reference to the image, the contour and the referencing informations&lt;br /&gt;
:; Open Image&lt;br /&gt;
:: open a JPEG file and set a default contour&lt;br /&gt;
:; Save&lt;br /&gt;
:: save the map fragment with the name it already has. If it is a new fragment, a name is asked first.&lt;br /&gt;
:; Marker mode&lt;br /&gt;
:: Put the program in marker insertion mode. Every click in the image add a new marker at the mouse position and open a dialog box to position details&lt;br /&gt;
:; Contour mode &lt;br /&gt;
:: Put the program in Contour mode. The magenta contour is then editable. Contour nodes can be moved with the mouse, added or removed&lt;br /&gt;
:; Rotate image 90 degrees counter-clockwise&lt;br /&gt;
:; Rotate image 90 degrees clockwise&lt;br /&gt;
:: Orient the image to correct disoriented scan&lt;br /&gt;
:; Zoom slider&lt;br /&gt;
:: Zoom in or zoom out by moving the slider cursor. Zooming in increase the positioning precision.&lt;br /&gt;
&lt;br /&gt;
=== Marker mode ===&lt;br /&gt;
&lt;br /&gt;
When the marker button is activated, every click in the image pops up the dialog box below :&lt;br /&gt;
&lt;br /&gt;
[[File:fgsd-wiki-marker.jpg]]&lt;br /&gt;
&lt;br /&gt;
Its purpose is to enter real world position of the click. This can be done in several ways, depending on the data available on the map/image being georeferenced. First one have to choose a coordinate system between :&lt;br /&gt;
&lt;br /&gt;
* WGS-84&lt;br /&gt;
* Lambert I&lt;br /&gt;
* Lambert II&lt;br /&gt;
* Lambert II extended&lt;br /&gt;
* Lambert III&lt;br /&gt;
* Lambert IV&lt;br /&gt;
* OSGB 36&lt;br /&gt;
* Universal Transverse Mercator&lt;br /&gt;
&lt;br /&gt;
The first one allows to enter position directly in degrees for longitude and latitude. The others need eastings and northings in meters.&lt;br /&gt;
&lt;br /&gt;
=== Contour mode ===&lt;br /&gt;
&lt;br /&gt;
This mode is used to move contour nodes, add new nodes or remove existing one.&lt;br /&gt;
&lt;br /&gt;
Moving is done by dragging the node.&lt;br /&gt;
To add a new node, first select an edge that should become cyan, and the CTRL-click where new point should be added.&lt;br /&gt;
To remove an existing node, right-click on the node and select 'Remove point' in the context menu that pops up.&lt;br /&gt;
&lt;br /&gt;
The contour should stay a non-intersecting loop, so the program controls that moves or modifications in the number of nodes are legal.&lt;br /&gt;
&lt;br /&gt;
=== terraserver-usa.com images download window ===&lt;br /&gt;
&lt;br /&gt;
This dialog box is displayed when the 'Fetch terraserver-usa.com' is choosen from the file menu, or the 'Fetch terraserver-usa.com from here' popup menu option is choosen in the context menu of the main window. In the latter case, the location is the one under the mouse when choosing the option. Otherwise, this is the last location entered. The first location proposed is the one of KSFO, the San Francisco airport.&lt;br /&gt;
&lt;br /&gt;
[[File:fgsd-wiki-terraserver.jpg]]&lt;br /&gt;
&lt;br /&gt;
It allows one to connect to the server to get the aerial image centered at the location entered in the first line. The radius is the minimum distance between the center and an edge of the image, and can be a bit more due to the fact that image elements are 200x200 pixel square. Initially, the vertical 'radius' ( right field ) is set with the same value that is entered in the horizontal one. It is possible to change it to retrieve a non squared image.&lt;br /&gt;
&lt;br /&gt;
There are 3 types of images available and several resolutions. An estimate of the size and the weight of the download is given before starting it.&lt;br /&gt;
&lt;br /&gt;
During download, a progress bar is shown in the window status bar with a button to cancel the acquisition.&lt;br /&gt;
&lt;br /&gt;
When acquisition is completed, markers are positioned at the image corners, and a contour is set around the image. It is then possible to save both image and fragment to files, and import them in the main project.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Object library window ==&lt;br /&gt;
&lt;br /&gt;
'''How to organize 3D object models'''&lt;br /&gt;
&lt;br /&gt;
The Object library window is used to organize, display and select 3D object models.&lt;br /&gt;
&lt;br /&gt;
[[File:fgsd-wiki-objlib.jpg]]&lt;br /&gt;
&lt;br /&gt;
The window has a tree of models and folders at its left. The right part displays in 3D the model selected in the tree. The top hosts a toolbar to manage the tree.&lt;br /&gt;
&lt;br /&gt;
In the toolbar, the entry field at the left is used whenever a name is required by the subsequent button action. It must be pre-filled before one click on the button.&lt;br /&gt;
&lt;br /&gt;
The '''Af''' button adds a new folder as a child of the current folder (initially, only Root exists ). The name is found in the entry field at the time of the click.&lt;br /&gt;
&lt;br /&gt;
The '''Rf''' button renames the current folder. Again, the new name is the content of the field at the time of the click.&lt;br /&gt;
&lt;br /&gt;
The '''Cut''' button removes the folder subtree or the model. It is left in a paste buffer and is not immediately destroyed.&lt;br /&gt;
&lt;br /&gt;
The ''Pst''' button pastes the content of the paste buffer as a child of the current folder.&lt;br /&gt;
&lt;br /&gt;
The '''Am'' button adds a new model in the current folder. A file selection window is displayed and the user must select a model file supported by PLIB.&lt;br /&gt;
&lt;br /&gt;
The '''Rm''' button is used to rename the model. The path remain unchanged&lt;br /&gt;
&lt;br /&gt;
The '''At''' button is used to reference an additional file, for instance, a texture image file.&lt;br /&gt;
&lt;br /&gt;
The '''Sm''' button stops or resumes model spinning in the 3D view.&lt;br /&gt;
&lt;br /&gt;
The '''Select''' button is used when adding a static object in the scenery. It is grayed when the window is displayed from the menu.&lt;br /&gt;
&lt;br /&gt;
The '''Quit''' is used to close the window. When a selection is prompted, this button cancel the selection.&lt;br /&gt;
&lt;br /&gt;
It is possible to drag the mouse to change the camera position in the 3D view. Dragging with left mouse button rotates the model around its axis. Dragging the middle button rotates the camera around the model. Dragging vertically the right button change the distance between the camera and the model ( zoom ).&lt;br /&gt;
&lt;br /&gt;
The object library is stored in an XML file named ~/.fgsdobjlib&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Airport selection dialog ==&lt;br /&gt;
&lt;br /&gt;
'''How to load airports and specify additional parameters'''&lt;br /&gt;
&lt;br /&gt;
The airport selection dialog lists all the airport found in the database that can fit in the terrain loaded in the current project. If some of these are already loaded in the project, current parameters for them are displayed and reused. The dialog looks like :&lt;br /&gt;
&lt;br /&gt;
[[File:fgsd-wiki-aptwin.jpg]]&lt;br /&gt;
&lt;br /&gt;
The first column is the ICAO code.&lt;br /&gt;
&lt;br /&gt;
The second is the name found in the apt.dat.gz file.&lt;br /&gt;
&lt;br /&gt;
The third column ( titled 'Zero' ) tells if the labeling of runways with number less than ten takes a zero at the first place ( 09 vs 9 ).&lt;br /&gt;
&lt;br /&gt;
The fourth column is the distance ( in meters ) between taxiways and runways and the airport boundary.&lt;br /&gt;
&lt;br /&gt;
The fifth column is the path to an alternate description of the airport. The requested file must be in X-Plane format ( .dat file ). This is the kind of files can be created by TaxiDraw. The buttons pops a file selection dialog up.&lt;br /&gt;
&lt;br /&gt;
== Export dialog ==&lt;br /&gt;
&lt;br /&gt;
'''How to export the current project to files suitable for FlightGear'''&lt;br /&gt;
&lt;br /&gt;
[[File:fgsd-wiki-export.jpg]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Software]]&lt;/div&gt;</summary>
		<author><name>AlbertBickford</name></author>
	</entry>
	<entry>
		<id>https://wiki.flightgear.org/w/index.php?title=FlightGear_Scenery_Designer&amp;diff=30382</id>
		<title>FlightGear Scenery Designer</title>
		<link rel="alternate" type="text/html" href="https://wiki.flightgear.org/w/index.php?title=FlightGear_Scenery_Designer&amp;diff=30382"/>
		<updated>2011-03-18T01:00:18Z</updated>

		<summary type="html">&lt;p&gt;AlbertBickford: /* What you need to run fgsd */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[File:fgsd-wiki-title.jpg]]&lt;br /&gt;
&lt;br /&gt;
FlightGear Scenery Designer ( aka fgsd ) is a tool to design and create custom-made scenery tiles suitable to FlightGear.  It performs a similar function to [[TerraGear]], but in a different way.  TerraGear is intended for batch processing of large numbers of files, and thus is used to produce the global scenery distributed with [[FlightGear]] and via [[TerraSync]]; fgsd is intended more for small-scale fine-tuning of a few tiles through a graphical interface.&lt;br /&gt;
&lt;br /&gt;
As of March 2011, it does not appear that fgsd is being actively developed.&lt;br /&gt;
&lt;br /&gt;
== Documentation ==&lt;br /&gt;
&lt;br /&gt;
Documentation for fgsd is thin and hard to find.  Besides this wiki page, you may want find the following helpful:&lt;br /&gt;
&lt;br /&gt;
* [[Howto: Make an airport]]&lt;br /&gt;
* The [http://fgsd.sourceforge.net/doc.html documentation page] of the [fgsd http://fgsd.sourceforge.net/ Sourceforge] website.  This includes a four-part video tutorial/demonstration (no sound) illustrating many steps in using fgsd, and instructions on placing static objects.&lt;br /&gt;
* The FlightGear Forum, in the scenery section.  This seems to be the most current information, but information can be hard to find.&lt;br /&gt;
&lt;br /&gt;
If you find more helpful bits of information, please add it here to make it easier to find.&lt;br /&gt;
&lt;br /&gt;
== History and Philosophy ==&lt;br /&gt;
&lt;br /&gt;
''How fgsd works and what are the ideas that drive its design''&lt;br /&gt;
&lt;br /&gt;
The initial purpose of fgsd was to edit existing scenery because of the lack, at that time, of a decent free elevation model outside the USA. Releases up to 0.3.1 had capabilities to hand-edit part of the terrain. But it appeared to be cumbersome to edit triangles one at a time, and very frustrating as the work done on one tile was obsoleted every time a new global scenery was released. Moreover, editing the result of the [[TerraGear]] process proved to be non-trivial because of hidden gotchas on the topological quality of the tiles.&lt;br /&gt;
Finally, NASA and others released the SRTM digital elevation model that offers a more refined elevation dataset for most of the world, lessening the need to edit elevations manually.&lt;br /&gt;
&lt;br /&gt;
From release 0.4.0 ( to be released ) ( and its pre-releases 0.3.9x - Win32 binaries available [ftp://ftp.ihg.uni-duisburg.de/FlightGear/Win32 here] - Other systems, use CVS ), fgsd no longer offers the ability to edit already made scenery tiles. Instead, it works interactively, using the same workflow as [[TerraGear]]. This workflow can be summarized as follow :&lt;br /&gt;
&lt;br /&gt;
* load raw elevations&lt;br /&gt;
* simplify elevation model&lt;br /&gt;
* prepare land cover contour&lt;br /&gt;
* project land cover contour on terrain&lt;br /&gt;
* prepare airport layout&lt;br /&gt;
* project airport layout on terrain&lt;br /&gt;
* export terrain to fgfs scenery tiles&lt;br /&gt;
&lt;br /&gt;
additionally, 3D object models can be placed here and there to add verticality to this somewhat horizontal world.&lt;br /&gt;
&lt;br /&gt;
One side benefit of this approach is that modified land cover contours can be exported to a format that TerraGear can use. A centralized database of contours is setup for that ( see http://www.custom-scenery.org ). This way collaborative changes to the global scenery can be consolidated and the next round of global scenery generation will include submitted individual changes.&lt;br /&gt;
Of course, import from the landcover database is possible in fgsd.&lt;br /&gt;
&lt;br /&gt;
Airports are loaded from the airport database file located in the FlightGear base package. It is not possible to edit an airport, but a new definition of an individual airport can be loaded from a file in X-Plane format. This kind of file are typically produced by the Taxidraw airport editor.&lt;br /&gt;
&lt;br /&gt;
== What you need to run fgsd ==&lt;br /&gt;
&lt;br /&gt;
PLEASE ADD TO THIS LIST OTHER PLACES WHERE THESE THINGS CAN BE FOUND.&lt;br /&gt;
&lt;br /&gt;
* fgsd itself.  &lt;br /&gt;
** Source code from [http://sourceforge.net/projects/fgsd/files/ SourceForge]&lt;br /&gt;
** Windows binaries available [ftp://ftp.ihg.uni-duisburg.de/FlightGear/Win32 here]&lt;br /&gt;
* Elevation data from the SRTM ([http://www2.jpl.nasa.gov/srtm/ Shuttle Radio Topography Mission]), in .hgt file format, at either SRTM-3 or SRTM-1 resolution.  Please note that if you want your work to eventually be incorporated back into FlightGear, you have to be careful to use elevation data sets that are compatible with the GNU Public License, such as the original SRTM data issued by NASA.  &lt;br /&gt;
** [http://dds.cr.usgs.gov/srtm/ http://dds.cr.usgs.gov/srtm/]&lt;br /&gt;
* Surface landuse data from the [http://mapserver.flightgear.org/ FlightGear Mapserver]&lt;br /&gt;
* Aerial photographs that are keyed to latitude and longitude&lt;br /&gt;
&lt;br /&gt;
== Main window ==&lt;br /&gt;
&lt;br /&gt;
=== Menu ===&lt;br /&gt;
&lt;br /&gt;
==== File ====&lt;br /&gt;
&lt;br /&gt;
:''' New '''&lt;br /&gt;
:: Clears the current work area ready for a new project.&lt;br /&gt;
:'''Open'''&lt;br /&gt;
::'''Project''' &lt;br /&gt;
::: Opens an existing project file.&lt;br /&gt;
::'''Tile'''&lt;br /&gt;
::: Opens an existing tile. This is mainly used to place static objects. Editing a tile is not supported anymore.&lt;br /&gt;
:: '''File'''&lt;br /&gt;
::: Opens an existing file. It can be an elevation file or a fragment file. Elevation files contain raw elevation data and provide the basis for a project.&lt;br /&gt;
:; Recent Files &lt;br /&gt;
:: Opens recently opened files. These may be tiles or elevation files.&lt;br /&gt;
:; Recent Projects &lt;br /&gt;
:: FGSD saves work in *.FGSD files. These files contain references to map fragments as well as any land cover that might have been added. Various other pieces of information regarding the environment used to create that work are also saved.&lt;br /&gt;
:; Save Project&lt;br /&gt;
:: Saves the current environment. If the project has already been given a name, that names is used to save the work, otherwise you will be prompted to provide a new name&lt;br /&gt;
:; Save Project As&lt;br /&gt;
:: Saves the current environment under name that is prompted for.&lt;br /&gt;
:; Export&lt;br /&gt;
:: Exports the project to tile format. The results of the export process may be used in FGFS to view the progress of a project.&lt;br /&gt;
:; Quit&lt;br /&gt;
:: Exits FGSD&lt;br /&gt;
&lt;br /&gt;
==== Edit ====&lt;br /&gt;
&lt;br /&gt;
: '''Undo'''&lt;br /&gt;
:: Undo last action&lt;br /&gt;
:; Redo&lt;br /&gt;
:: Redo last undone action&lt;br /&gt;
&lt;br /&gt;
==== Scenery ====&lt;br /&gt;
&lt;br /&gt;
: '''Simplify Terrain'''&lt;br /&gt;
:; Strip Raw Elevations&lt;br /&gt;
:; Embed Curves&lt;br /&gt;
:; Embed Airports&lt;br /&gt;
&lt;br /&gt;
==== Tools ====&lt;br /&gt;
&lt;br /&gt;
: '''Object Library'''&lt;br /&gt;
:: Displays the Object library window&lt;br /&gt;
:; Map Fragments&lt;br /&gt;
:: Displays the Map fragment window&lt;br /&gt;
:; Import Curves&lt;br /&gt;
:; Select Airports&lt;br /&gt;
:; Chop HGT Files&lt;br /&gt;
:; Options&lt;br /&gt;
:: Displays the Options window&lt;br /&gt;
&lt;br /&gt;
=== Toolbars ===&lt;br /&gt;
&lt;br /&gt;
==== Main toolbar ====&lt;br /&gt;
[[File:fgsd-wiki-maintb.png]]&lt;br /&gt;
&lt;br /&gt;
==== Curves toolbar ====&lt;br /&gt;
[[File:fgsd-wiki-curvetb.png]]&lt;br /&gt;
&lt;br /&gt;
==== Scenery toolbar ====&lt;br /&gt;
[[File:fgsd-wiki-scenerytb.png]]&lt;br /&gt;
&lt;br /&gt;
==== Static objects toolbar ====&lt;br /&gt;
[[File:fgsd-wiki-statobjtb.png]]&lt;br /&gt;
&lt;br /&gt;
==== Airports toolbar ====&lt;br /&gt;
[[File:fgsd-wiki-apttb.png]]&lt;br /&gt;
&lt;br /&gt;
=== Main area ===&lt;br /&gt;
&lt;br /&gt;
=== Status bar ===&lt;br /&gt;
&lt;br /&gt;
== Options window ==&lt;br /&gt;
&lt;br /&gt;
''How to set general options and preferences''&lt;br /&gt;
&lt;br /&gt;
This window has 4 tabs :&lt;br /&gt;
* General&lt;br /&gt;
* Flightgear&lt;br /&gt;
* LandcoverDB&lt;br /&gt;
* View&lt;br /&gt;
&lt;br /&gt;
All parameters are saved in an [[XML]] file named ~/.fgsdrc&lt;br /&gt;
&lt;br /&gt;
All path are in Unix convention : directories and names are separated by '/' ( slash ) character. Under Windows, the path may begin with :&lt;br /&gt;
&lt;br /&gt;
=== General ===&lt;br /&gt;
&lt;br /&gt;
:;Output path &lt;br /&gt;
:: this path will be used at export time. It can be overriden in the export window.&lt;br /&gt;
:;Project history length &lt;br /&gt;
:: number of project file names proposed in the File &amp;gt; Recent projects menu&lt;br /&gt;
:; File history length &lt;br /&gt;
:: number of file names proposed in the File &amp;gt; Recent files menu&lt;br /&gt;
:; Display position in decimal &lt;br /&gt;
:: choose the format of the longitude and latitude displayed in the status bar&lt;br /&gt;
&lt;br /&gt;
=== FlightGear ===&lt;br /&gt;
&lt;br /&gt;
:;FlightGear data path &lt;br /&gt;
::the path to the FG_ROOT directory. This path is used to find the Airports/apt.dat.gz database, the materials.xml material database, and the Textures/ directory.&lt;br /&gt;
:;FlightGear scenery path &lt;br /&gt;
:: collection of path to scenery folders. These paths contain 'Terrain' and optionally 'Objects' subfolders. They are separated by ';' ( semi colon ) under Window, and by ':' ( colon ) under Unix.&lt;br /&gt;
&lt;br /&gt;
=== LandcoverDB ===&lt;br /&gt;
&lt;br /&gt;
:; Shapefile directory &lt;br /&gt;
:: a path to a local directory containing shapefiles representing landcover contours&lt;br /&gt;
:; Database hostname &lt;br /&gt;
:: a hostname to a Post-GIS server&lt;br /&gt;
:; Layers &lt;br /&gt;
:: list all .shp files discovered in the Shapefile directory and their assigned FlightGear area type. The 'Use' checkbox shows if the layer is used.&lt;br /&gt;
&lt;br /&gt;
=== View ===&lt;br /&gt;
&lt;br /&gt;
:; Show constrained edges &lt;br /&gt;
:: if checked, tile boundaries and material boundaries are drawn in red&lt;br /&gt;
:;Show vertices &lt;br /&gt;
:: if checked, terrain vertices are drawn with a blue square&lt;br /&gt;
:;Show infinite edges &lt;br /&gt;
:: ( used mainly for debug ) infinite edges are edges that connect the terrain hull vertices to an infinite vertex. They are shown in white.&lt;br /&gt;
&lt;br /&gt;
== Map fragment window ==&lt;br /&gt;
&lt;br /&gt;
''How to import images and georeference them''&lt;br /&gt;
&lt;br /&gt;
his window is used to georeference images before import in the main window. fgsd uses a 3 points method to correct rotation and non uniform scaling as well as positionning. A fragment have a contour that is initially set to the image extents. Only the image within the contour is displayed in the main window ( to discard ugly legend, for instance ).&lt;br /&gt;
&lt;br /&gt;
[[File:fgsd-wiki-mapwin.jpg|Image of Alcatraz, courtesy of the USGS]]&lt;br /&gt;
&lt;br /&gt;
The referencing informations, as well as the contour and the image reference, are stored in an XML file.&lt;br /&gt;
&lt;br /&gt;
=== Menu ===&lt;br /&gt;
The File menu has the items below :&lt;br /&gt;
&lt;br /&gt;
:;New&lt;br /&gt;
::erase the content of the window to start over.&lt;br /&gt;
:; Open &lt;br /&gt;
:: '''Fragment'''&lt;br /&gt;
::: open an XML file containing the reference to the image, the contour and the referencing informations&lt;br /&gt;
:: '''Image'''&lt;br /&gt;
::: open a JPEG file and set a default contour&lt;br /&gt;
:; Fetch terraserver-usa.com&lt;br /&gt;
:: load an aerial image from terraserver-usa.com, add a contour and georeference the image. terraserver-usa.com provides images from the USGS. These images are free to use.&lt;br /&gt;
:; Save&lt;br /&gt;
:: save the map fragment with the name it already has. If it is a new fragment, a name is asked first.&lt;br /&gt;
:; Save as&lt;br /&gt;
:: save the map fragment with a new name&lt;br /&gt;
:; Close&lt;br /&gt;
:: close the window. If the content is properly georeferenced, a popup is displayed to ask if the fragment should be included in the main window.&lt;br /&gt;
&lt;br /&gt;
=== Toolbar ===&lt;br /&gt;
Icons, from left to right, are :&lt;br /&gt;
&lt;br /&gt;
:; New&lt;br /&gt;
:: erase the content of the window to start over.&lt;br /&gt;
:; Open Fragment&lt;br /&gt;
:: open an XML file containing the reference to the image, the contour and the referencing informations&lt;br /&gt;
:; Open Image&lt;br /&gt;
:: open a JPEG file and set a default contour&lt;br /&gt;
:; Save&lt;br /&gt;
:: save the map fragment with the name it already has. If it is a new fragment, a name is asked first.&lt;br /&gt;
:; Marker mode&lt;br /&gt;
:: Put the program in marker insertion mode. Every click in the image add a new marker at the mouse position and open a dialog box to position details&lt;br /&gt;
:; Contour mode &lt;br /&gt;
:: Put the program in Contour mode. The magenta contour is then editable. Contour nodes can be moved with the mouse, added or removed&lt;br /&gt;
:; Rotate image 90 degrees counter-clockwise&lt;br /&gt;
:; Rotate image 90 degrees clockwise&lt;br /&gt;
:: Orient the image to correct disoriented scan&lt;br /&gt;
:; Zoom slider&lt;br /&gt;
:: Zoom in or zoom out by moving the slider cursor. Zooming in increase the positioning precision.&lt;br /&gt;
&lt;br /&gt;
=== Marker mode ===&lt;br /&gt;
&lt;br /&gt;
When the marker button is activated, every click in the image pops up the dialog box below :&lt;br /&gt;
&lt;br /&gt;
[[File:fgsd-wiki-marker.jpg]]&lt;br /&gt;
&lt;br /&gt;
Its purpose is to enter real world position of the click. This can be done in several ways, depending on the data available on the map/image being georeferenced. First one have to choose a coordinate system between :&lt;br /&gt;
&lt;br /&gt;
* WGS-84&lt;br /&gt;
* Lambert I&lt;br /&gt;
* Lambert II&lt;br /&gt;
* Lambert II extended&lt;br /&gt;
* Lambert III&lt;br /&gt;
* Lambert IV&lt;br /&gt;
* OSGB 36&lt;br /&gt;
* Universal Transverse Mercator&lt;br /&gt;
&lt;br /&gt;
The first one allows to enter position directly in degrees for longitude and latitude. The others need eastings and northings in meters.&lt;br /&gt;
&lt;br /&gt;
=== Contour mode ===&lt;br /&gt;
&lt;br /&gt;
This mode is used to move contour nodes, add new nodes or remove existing one.&lt;br /&gt;
&lt;br /&gt;
Moving is done by dragging the node.&lt;br /&gt;
To add a new node, first select an edge that should become cyan, and the CTRL-click where new point should be added.&lt;br /&gt;
To remove an existing node, right-click on the node and select 'Remove point' in the context menu that pops up.&lt;br /&gt;
&lt;br /&gt;
The contour should stay a non-intersecting loop, so the program controls that moves or modifications in the number of nodes are legal.&lt;br /&gt;
&lt;br /&gt;
=== terraserver-usa.com images download window ===&lt;br /&gt;
&lt;br /&gt;
This dialog box is displayed when the 'Fetch terraserver-usa.com' is choosen from the file menu, or the 'Fetch terraserver-usa.com from here' popup menu option is choosen in the context menu of the main window. In the latter case, the location is the one under the mouse when choosing the option. Otherwise, this is the last location entered. The first location proposed is the one of KSFO, the San Francisco airport.&lt;br /&gt;
&lt;br /&gt;
[[File:fgsd-wiki-terraserver.jpg]]&lt;br /&gt;
&lt;br /&gt;
It allows one to connect to the server to get the aerial image centered at the location entered in the first line. The radius is the minimum distance between the center and an edge of the image, and can be a bit more due to the fact that image elements are 200x200 pixel square. Initially, the vertical 'radius' ( right field ) is set with the same value that is entered in the horizontal one. It is possible to change it to retrieve a non squared image.&lt;br /&gt;
&lt;br /&gt;
There are 3 types of images available and several resolutions. An estimate of the size and the weight of the download is given before starting it.&lt;br /&gt;
&lt;br /&gt;
During download, a progress bar is shown in the window status bar with a button to cancel the acquisition.&lt;br /&gt;
&lt;br /&gt;
When acquisition is completed, markers are positioned at the image corners, and a contour is set around the image. It is then possible to save both image and fragment to files, and import them in the main project.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Object library window ==&lt;br /&gt;
&lt;br /&gt;
'''How to organize 3D object models'''&lt;br /&gt;
&lt;br /&gt;
The Object library window is used to organize, display and select 3D object models.&lt;br /&gt;
&lt;br /&gt;
[[File:fgsd-wiki-objlib.jpg]]&lt;br /&gt;
&lt;br /&gt;
The window has a tree of models and folders at its left. The right part displays in 3D the model selected in the tree. The top hosts a toolbar to manage the tree.&lt;br /&gt;
&lt;br /&gt;
In the toolbar, the entry field at the left is used whenever a name is required by the subsequent button action. It must be pre-filled before one click on the button.&lt;br /&gt;
&lt;br /&gt;
The '''Af''' button adds a new folder as a child of the current folder (initially, only Root exists ). The name is found in the entry field at the time of the click.&lt;br /&gt;
&lt;br /&gt;
The '''Rf''' button renames the current folder. Again, the new name is the content of the field at the time of the click.&lt;br /&gt;
&lt;br /&gt;
The '''Cut''' button removes the folder subtree or the model. It is left in a paste buffer and is not immediately destroyed.&lt;br /&gt;
&lt;br /&gt;
The ''Pst''' button pastes the content of the paste buffer as a child of the current folder.&lt;br /&gt;
&lt;br /&gt;
The '''Am'' button adds a new model in the current folder. A file selection window is displayed and the user must select a model file supported by PLIB.&lt;br /&gt;
&lt;br /&gt;
The '''Rm''' button is used to rename the model. The path remain unchanged&lt;br /&gt;
&lt;br /&gt;
The '''At''' button is used to reference an additional file, for instance, a texture image file.&lt;br /&gt;
&lt;br /&gt;
The '''Sm''' button stops or resumes model spinning in the 3D view.&lt;br /&gt;
&lt;br /&gt;
The '''Select''' button is used when adding a static object in the scenery. It is grayed when the window is displayed from the menu.&lt;br /&gt;
&lt;br /&gt;
The '''Quit''' is used to close the window. When a selection is prompted, this button cancel the selection.&lt;br /&gt;
&lt;br /&gt;
It is possible to drag the mouse to change the camera position in the 3D view. Dragging with left mouse button rotates the model around its axis. Dragging the middle button rotates the camera around the model. Dragging vertically the right button change the distance between the camera and the model ( zoom ).&lt;br /&gt;
&lt;br /&gt;
The object library is stored in an XML file named ~/.fgsdobjlib&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Airport selection dialog ==&lt;br /&gt;
&lt;br /&gt;
'''How to load airports and specify additional parameters'''&lt;br /&gt;
&lt;br /&gt;
The airport selection dialog lists all the airport found in the database that can fit in the terrain loaded in the current project. If some of these are already loaded in the project, current parameters for them are displayed and reused. The dialog looks like :&lt;br /&gt;
&lt;br /&gt;
[[File:fgsd-wiki-aptwin.jpg]]&lt;br /&gt;
&lt;br /&gt;
The first column is the ICAO code.&lt;br /&gt;
&lt;br /&gt;
The second is the name found in the apt.dat.gz file.&lt;br /&gt;
&lt;br /&gt;
The third column ( titled 'Zero' ) tells if the labeling of runways with number less than ten takes a zero at the first place ( 09 vs 9 ).&lt;br /&gt;
&lt;br /&gt;
The fourth column is the distance ( in meters ) between taxiways and runways and the airport boundary.&lt;br /&gt;
&lt;br /&gt;
The fifth column is the path to an alternate description of the airport. The requested file must be in X-Plane format ( .dat file ). This is the kind of files can be created by TaxiDraw. The buttons pops a file selection dialog up.&lt;br /&gt;
&lt;br /&gt;
== Export dialog ==&lt;br /&gt;
&lt;br /&gt;
'''How to export the current project to files suitable for FlightGear'''&lt;br /&gt;
&lt;br /&gt;
[[File:fgsd-wiki-export.jpg]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Software]]&lt;/div&gt;</summary>
		<author><name>AlbertBickford</name></author>
	</entry>
	<entry>
		<id>https://wiki.flightgear.org/w/index.php?title=FlightGear_Scenery_Designer&amp;diff=30381</id>
		<title>FlightGear Scenery Designer</title>
		<link rel="alternate" type="text/html" href="https://wiki.flightgear.org/w/index.php?title=FlightGear_Scenery_Designer&amp;diff=30381"/>
		<updated>2011-03-18T00:58:44Z</updated>

		<summary type="html">&lt;p&gt;AlbertBickford: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[File:fgsd-wiki-title.jpg]]&lt;br /&gt;
&lt;br /&gt;
FlightGear Scenery Designer ( aka fgsd ) is a tool to design and create custom-made scenery tiles suitable to FlightGear.  It performs a similar function to [[TerraGear]], but in a different way.  TerraGear is intended for batch processing of large numbers of files, and thus is used to produce the global scenery distributed with [[FlightGear]] and via [[TerraSync]]; fgsd is intended more for small-scale fine-tuning of a few tiles through a graphical interface.&lt;br /&gt;
&lt;br /&gt;
As of March 2011, it does not appear that fgsd is being actively developed.&lt;br /&gt;
&lt;br /&gt;
== Documentation ==&lt;br /&gt;
&lt;br /&gt;
Documentation for fgsd is thin and hard to find.  Besides this wiki page, you may want find the following helpful:&lt;br /&gt;
&lt;br /&gt;
* [[Howto: Make an airport]]&lt;br /&gt;
* The [http://fgsd.sourceforge.net/doc.html documentation page] of the [fgsd http://fgsd.sourceforge.net/ Sourceforge] website.  This includes a four-part video tutorial/demonstration (no sound) illustrating many steps in using fgsd, and instructions on placing static objects.&lt;br /&gt;
* The FlightGear Forum, in the scenery section.  This seems to be the most current information, but information can be hard to find.&lt;br /&gt;
&lt;br /&gt;
If you find more helpful bits of information, please add it here to make it easier to find.&lt;br /&gt;
&lt;br /&gt;
== History and Philosophy ==&lt;br /&gt;
&lt;br /&gt;
''How fgsd works and what are the ideas that drive its design''&lt;br /&gt;
&lt;br /&gt;
The initial purpose of fgsd was to edit existing scenery because of the lack, at that time, of a decent free elevation model outside the USA. Releases up to 0.3.1 had capabilities to hand-edit part of the terrain. But it appeared to be cumbersome to edit triangles one at a time, and very frustrating as the work done on one tile was obsoleted every time a new global scenery was released. Moreover, editing the result of the [[TerraGear]] process proved to be non-trivial because of hidden gotchas on the topological quality of the tiles.&lt;br /&gt;
Finally, NASA and others released the SRTM digital elevation model that offers a more refined elevation dataset for most of the world, lessening the need to edit elevations manually.&lt;br /&gt;
&lt;br /&gt;
From release 0.4.0 ( to be released ) ( and its pre-releases 0.3.9x - Win32 binaries available [ftp://ftp.ihg.uni-duisburg.de/FlightGear/Win32 here] - Other systems, use CVS ), fgsd no longer offers the ability to edit already made scenery tiles. Instead, it works interactively, using the same workflow as [[TerraGear]]. This workflow can be summarized as follow :&lt;br /&gt;
&lt;br /&gt;
* load raw elevations&lt;br /&gt;
* simplify elevation model&lt;br /&gt;
* prepare land cover contour&lt;br /&gt;
* project land cover contour on terrain&lt;br /&gt;
* prepare airport layout&lt;br /&gt;
* project airport layout on terrain&lt;br /&gt;
* export terrain to fgfs scenery tiles&lt;br /&gt;
&lt;br /&gt;
additionally, 3D object models can be placed here and there to add verticality to this somewhat horizontal world.&lt;br /&gt;
&lt;br /&gt;
One side benefit of this approach is that modified land cover contours can be exported to a format that TerraGear can use. A centralized database of contours is setup for that ( see http://www.custom-scenery.org ). This way collaborative changes to the global scenery can be consolidated and the next round of global scenery generation will include submitted individual changes.&lt;br /&gt;
Of course, import from the landcover database is possible in fgsd.&lt;br /&gt;
&lt;br /&gt;
Airports are loaded from the airport database file located in the FlightGear base package. It is not possible to edit an airport, but a new definition of an individual airport can be loaded from a file in X-Plane format. This kind of file are typically produced by the Taxidraw airport editor.&lt;br /&gt;
&lt;br /&gt;
== What you need to run fgsd ==&lt;br /&gt;
&lt;br /&gt;
PLEASE ADD TO THIS LIST OTHER PLACES WHERE THESE THINGS CAN BE FOUND.&lt;br /&gt;
&lt;br /&gt;
* fgsd itself.  &lt;br /&gt;
** Source code from [http://sourceforge.net/projects/fgsd/files/ SourceForge]&lt;br /&gt;
** Windows binaries available [ftp://ftp.ihg.uni-duisburg.de/FlightGear/Win32 here]&lt;br /&gt;
* Elevation data from the SRTM ([http://www2.jpl.nasa.gov/srtm/ Shuttle Radio Topography Mission]), in .hgt file format, at either SRTM-3 or SRTM-1 resolution.  Some possible sources are listed here.  Please note that if you want your work to eventually be incorporated back into FlightGear, you have to be careful to use elevation data sets that are compatible with the GNU Public License.&lt;br /&gt;
** [http://dds.cr.usgs.gov/srtm/ http://dds.cr.usgs.gov/srtm/]&lt;br /&gt;
* Surface landuse data from the [http://mapserver.flightgear.org/ FlightGear Mapserver]&lt;br /&gt;
* Aerial photographs that are keyed to latitude and longitude&lt;br /&gt;
&lt;br /&gt;
== Main window ==&lt;br /&gt;
&lt;br /&gt;
=== Menu ===&lt;br /&gt;
&lt;br /&gt;
==== File ====&lt;br /&gt;
&lt;br /&gt;
:''' New '''&lt;br /&gt;
:: Clears the current work area ready for a new project.&lt;br /&gt;
:'''Open'''&lt;br /&gt;
::'''Project''' &lt;br /&gt;
::: Opens an existing project file.&lt;br /&gt;
::'''Tile'''&lt;br /&gt;
::: Opens an existing tile. This is mainly used to place static objects. Editing a tile is not supported anymore.&lt;br /&gt;
:: '''File'''&lt;br /&gt;
::: Opens an existing file. It can be an elevation file or a fragment file. Elevation files contain raw elevation data and provide the basis for a project.&lt;br /&gt;
:; Recent Files &lt;br /&gt;
:: Opens recently opened files. These may be tiles or elevation files.&lt;br /&gt;
:; Recent Projects &lt;br /&gt;
:: FGSD saves work in *.FGSD files. These files contain references to map fragments as well as any land cover that might have been added. Various other pieces of information regarding the environment used to create that work are also saved.&lt;br /&gt;
:; Save Project&lt;br /&gt;
:: Saves the current environment. If the project has already been given a name, that names is used to save the work, otherwise you will be prompted to provide a new name&lt;br /&gt;
:; Save Project As&lt;br /&gt;
:: Saves the current environment under name that is prompted for.&lt;br /&gt;
:; Export&lt;br /&gt;
:: Exports the project to tile format. The results of the export process may be used in FGFS to view the progress of a project.&lt;br /&gt;
:; Quit&lt;br /&gt;
:: Exits FGSD&lt;br /&gt;
&lt;br /&gt;
==== Edit ====&lt;br /&gt;
&lt;br /&gt;
: '''Undo'''&lt;br /&gt;
:: Undo last action&lt;br /&gt;
:; Redo&lt;br /&gt;
:: Redo last undone action&lt;br /&gt;
&lt;br /&gt;
==== Scenery ====&lt;br /&gt;
&lt;br /&gt;
: '''Simplify Terrain'''&lt;br /&gt;
:; Strip Raw Elevations&lt;br /&gt;
:; Embed Curves&lt;br /&gt;
:; Embed Airports&lt;br /&gt;
&lt;br /&gt;
==== Tools ====&lt;br /&gt;
&lt;br /&gt;
: '''Object Library'''&lt;br /&gt;
:: Displays the Object library window&lt;br /&gt;
:; Map Fragments&lt;br /&gt;
:: Displays the Map fragment window&lt;br /&gt;
:; Import Curves&lt;br /&gt;
:; Select Airports&lt;br /&gt;
:; Chop HGT Files&lt;br /&gt;
:; Options&lt;br /&gt;
:: Displays the Options window&lt;br /&gt;
&lt;br /&gt;
=== Toolbars ===&lt;br /&gt;
&lt;br /&gt;
==== Main toolbar ====&lt;br /&gt;
[[File:fgsd-wiki-maintb.png]]&lt;br /&gt;
&lt;br /&gt;
==== Curves toolbar ====&lt;br /&gt;
[[File:fgsd-wiki-curvetb.png]]&lt;br /&gt;
&lt;br /&gt;
==== Scenery toolbar ====&lt;br /&gt;
[[File:fgsd-wiki-scenerytb.png]]&lt;br /&gt;
&lt;br /&gt;
==== Static objects toolbar ====&lt;br /&gt;
[[File:fgsd-wiki-statobjtb.png]]&lt;br /&gt;
&lt;br /&gt;
==== Airports toolbar ====&lt;br /&gt;
[[File:fgsd-wiki-apttb.png]]&lt;br /&gt;
&lt;br /&gt;
=== Main area ===&lt;br /&gt;
&lt;br /&gt;
=== Status bar ===&lt;br /&gt;
&lt;br /&gt;
== Options window ==&lt;br /&gt;
&lt;br /&gt;
''How to set general options and preferences''&lt;br /&gt;
&lt;br /&gt;
This window has 4 tabs :&lt;br /&gt;
* General&lt;br /&gt;
* Flightgear&lt;br /&gt;
* LandcoverDB&lt;br /&gt;
* View&lt;br /&gt;
&lt;br /&gt;
All parameters are saved in an [[XML]] file named ~/.fgsdrc&lt;br /&gt;
&lt;br /&gt;
All path are in Unix convention : directories and names are separated by '/' ( slash ) character. Under Windows, the path may begin with :&lt;br /&gt;
&lt;br /&gt;
=== General ===&lt;br /&gt;
&lt;br /&gt;
:;Output path &lt;br /&gt;
:: this path will be used at export time. It can be overriden in the export window.&lt;br /&gt;
:;Project history length &lt;br /&gt;
:: number of project file names proposed in the File &amp;gt; Recent projects menu&lt;br /&gt;
:; File history length &lt;br /&gt;
:: number of file names proposed in the File &amp;gt; Recent files menu&lt;br /&gt;
:; Display position in decimal &lt;br /&gt;
:: choose the format of the longitude and latitude displayed in the status bar&lt;br /&gt;
&lt;br /&gt;
=== FlightGear ===&lt;br /&gt;
&lt;br /&gt;
:;FlightGear data path &lt;br /&gt;
::the path to the FG_ROOT directory. This path is used to find the Airports/apt.dat.gz database, the materials.xml material database, and the Textures/ directory.&lt;br /&gt;
:;FlightGear scenery path &lt;br /&gt;
:: collection of path to scenery folders. These paths contain 'Terrain' and optionally 'Objects' subfolders. They are separated by ';' ( semi colon ) under Window, and by ':' ( colon ) under Unix.&lt;br /&gt;
&lt;br /&gt;
=== LandcoverDB ===&lt;br /&gt;
&lt;br /&gt;
:; Shapefile directory &lt;br /&gt;
:: a path to a local directory containing shapefiles representing landcover contours&lt;br /&gt;
:; Database hostname &lt;br /&gt;
:: a hostname to a Post-GIS server&lt;br /&gt;
:; Layers &lt;br /&gt;
:: list all .shp files discovered in the Shapefile directory and their assigned FlightGear area type. The 'Use' checkbox shows if the layer is used.&lt;br /&gt;
&lt;br /&gt;
=== View ===&lt;br /&gt;
&lt;br /&gt;
:; Show constrained edges &lt;br /&gt;
:: if checked, tile boundaries and material boundaries are drawn in red&lt;br /&gt;
:;Show vertices &lt;br /&gt;
:: if checked, terrain vertices are drawn with a blue square&lt;br /&gt;
:;Show infinite edges &lt;br /&gt;
:: ( used mainly for debug ) infinite edges are edges that connect the terrain hull vertices to an infinite vertex. They are shown in white.&lt;br /&gt;
&lt;br /&gt;
== Map fragment window ==&lt;br /&gt;
&lt;br /&gt;
''How to import images and georeference them''&lt;br /&gt;
&lt;br /&gt;
his window is used to georeference images before import in the main window. fgsd uses a 3 points method to correct rotation and non uniform scaling as well as positionning. A fragment have a contour that is initially set to the image extents. Only the image within the contour is displayed in the main window ( to discard ugly legend, for instance ).&lt;br /&gt;
&lt;br /&gt;
[[File:fgsd-wiki-mapwin.jpg|Image of Alcatraz, courtesy of the USGS]]&lt;br /&gt;
&lt;br /&gt;
The referencing informations, as well as the contour and the image reference, are stored in an XML file.&lt;br /&gt;
&lt;br /&gt;
=== Menu ===&lt;br /&gt;
The File menu has the items below :&lt;br /&gt;
&lt;br /&gt;
:;New&lt;br /&gt;
::erase the content of the window to start over.&lt;br /&gt;
:; Open &lt;br /&gt;
:: '''Fragment'''&lt;br /&gt;
::: open an XML file containing the reference to the image, the contour and the referencing informations&lt;br /&gt;
:: '''Image'''&lt;br /&gt;
::: open a JPEG file and set a default contour&lt;br /&gt;
:; Fetch terraserver-usa.com&lt;br /&gt;
:: load an aerial image from terraserver-usa.com, add a contour and georeference the image. terraserver-usa.com provides images from the USGS. These images are free to use.&lt;br /&gt;
:; Save&lt;br /&gt;
:: save the map fragment with the name it already has. If it is a new fragment, a name is asked first.&lt;br /&gt;
:; Save as&lt;br /&gt;
:: save the map fragment with a new name&lt;br /&gt;
:; Close&lt;br /&gt;
:: close the window. If the content is properly georeferenced, a popup is displayed to ask if the fragment should be included in the main window.&lt;br /&gt;
&lt;br /&gt;
=== Toolbar ===&lt;br /&gt;
Icons, from left to right, are :&lt;br /&gt;
&lt;br /&gt;
:; New&lt;br /&gt;
:: erase the content of the window to start over.&lt;br /&gt;
:; Open Fragment&lt;br /&gt;
:: open an XML file containing the reference to the image, the contour and the referencing informations&lt;br /&gt;
:; Open Image&lt;br /&gt;
:: open a JPEG file and set a default contour&lt;br /&gt;
:; Save&lt;br /&gt;
:: save the map fragment with the name it already has. If it is a new fragment, a name is asked first.&lt;br /&gt;
:; Marker mode&lt;br /&gt;
:: Put the program in marker insertion mode. Every click in the image add a new marker at the mouse position and open a dialog box to position details&lt;br /&gt;
:; Contour mode &lt;br /&gt;
:: Put the program in Contour mode. The magenta contour is then editable. Contour nodes can be moved with the mouse, added or removed&lt;br /&gt;
:; Rotate image 90 degrees counter-clockwise&lt;br /&gt;
:; Rotate image 90 degrees clockwise&lt;br /&gt;
:: Orient the image to correct disoriented scan&lt;br /&gt;
:; Zoom slider&lt;br /&gt;
:: Zoom in or zoom out by moving the slider cursor. Zooming in increase the positioning precision.&lt;br /&gt;
&lt;br /&gt;
=== Marker mode ===&lt;br /&gt;
&lt;br /&gt;
When the marker button is activated, every click in the image pops up the dialog box below :&lt;br /&gt;
&lt;br /&gt;
[[File:fgsd-wiki-marker.jpg]]&lt;br /&gt;
&lt;br /&gt;
Its purpose is to enter real world position of the click. This can be done in several ways, depending on the data available on the map/image being georeferenced. First one have to choose a coordinate system between :&lt;br /&gt;
&lt;br /&gt;
* WGS-84&lt;br /&gt;
* Lambert I&lt;br /&gt;
* Lambert II&lt;br /&gt;
* Lambert II extended&lt;br /&gt;
* Lambert III&lt;br /&gt;
* Lambert IV&lt;br /&gt;
* OSGB 36&lt;br /&gt;
* Universal Transverse Mercator&lt;br /&gt;
&lt;br /&gt;
The first one allows to enter position directly in degrees for longitude and latitude. The others need eastings and northings in meters.&lt;br /&gt;
&lt;br /&gt;
=== Contour mode ===&lt;br /&gt;
&lt;br /&gt;
This mode is used to move contour nodes, add new nodes or remove existing one.&lt;br /&gt;
&lt;br /&gt;
Moving is done by dragging the node.&lt;br /&gt;
To add a new node, first select an edge that should become cyan, and the CTRL-click where new point should be added.&lt;br /&gt;
To remove an existing node, right-click on the node and select 'Remove point' in the context menu that pops up.&lt;br /&gt;
&lt;br /&gt;
The contour should stay a non-intersecting loop, so the program controls that moves or modifications in the number of nodes are legal.&lt;br /&gt;
&lt;br /&gt;
=== terraserver-usa.com images download window ===&lt;br /&gt;
&lt;br /&gt;
This dialog box is displayed when the 'Fetch terraserver-usa.com' is choosen from the file menu, or the 'Fetch terraserver-usa.com from here' popup menu option is choosen in the context menu of the main window. In the latter case, the location is the one under the mouse when choosing the option. Otherwise, this is the last location entered. The first location proposed is the one of KSFO, the San Francisco airport.&lt;br /&gt;
&lt;br /&gt;
[[File:fgsd-wiki-terraserver.jpg]]&lt;br /&gt;
&lt;br /&gt;
It allows one to connect to the server to get the aerial image centered at the location entered in the first line. The radius is the minimum distance between the center and an edge of the image, and can be a bit more due to the fact that image elements are 200x200 pixel square. Initially, the vertical 'radius' ( right field ) is set with the same value that is entered in the horizontal one. It is possible to change it to retrieve a non squared image.&lt;br /&gt;
&lt;br /&gt;
There are 3 types of images available and several resolutions. An estimate of the size and the weight of the download is given before starting it.&lt;br /&gt;
&lt;br /&gt;
During download, a progress bar is shown in the window status bar with a button to cancel the acquisition.&lt;br /&gt;
&lt;br /&gt;
When acquisition is completed, markers are positioned at the image corners, and a contour is set around the image. It is then possible to save both image and fragment to files, and import them in the main project.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Object library window ==&lt;br /&gt;
&lt;br /&gt;
'''How to organize 3D object models'''&lt;br /&gt;
&lt;br /&gt;
The Object library window is used to organize, display and select 3D object models.&lt;br /&gt;
&lt;br /&gt;
[[File:fgsd-wiki-objlib.jpg]]&lt;br /&gt;
&lt;br /&gt;
The window has a tree of models and folders at its left. The right part displays in 3D the model selected in the tree. The top hosts a toolbar to manage the tree.&lt;br /&gt;
&lt;br /&gt;
In the toolbar, the entry field at the left is used whenever a name is required by the subsequent button action. It must be pre-filled before one click on the button.&lt;br /&gt;
&lt;br /&gt;
The '''Af''' button adds a new folder as a child of the current folder (initially, only Root exists ). The name is found in the entry field at the time of the click.&lt;br /&gt;
&lt;br /&gt;
The '''Rf''' button renames the current folder. Again, the new name is the content of the field at the time of the click.&lt;br /&gt;
&lt;br /&gt;
The '''Cut''' button removes the folder subtree or the model. It is left in a paste buffer and is not immediately destroyed.&lt;br /&gt;
&lt;br /&gt;
The ''Pst''' button pastes the content of the paste buffer as a child of the current folder.&lt;br /&gt;
&lt;br /&gt;
The '''Am'' button adds a new model in the current folder. A file selection window is displayed and the user must select a model file supported by PLIB.&lt;br /&gt;
&lt;br /&gt;
The '''Rm''' button is used to rename the model. The path remain unchanged&lt;br /&gt;
&lt;br /&gt;
The '''At''' button is used to reference an additional file, for instance, a texture image file.&lt;br /&gt;
&lt;br /&gt;
The '''Sm''' button stops or resumes model spinning in the 3D view.&lt;br /&gt;
&lt;br /&gt;
The '''Select''' button is used when adding a static object in the scenery. It is grayed when the window is displayed from the menu.&lt;br /&gt;
&lt;br /&gt;
The '''Quit''' is used to close the window. When a selection is prompted, this button cancel the selection.&lt;br /&gt;
&lt;br /&gt;
It is possible to drag the mouse to change the camera position in the 3D view. Dragging with left mouse button rotates the model around its axis. Dragging the middle button rotates the camera around the model. Dragging vertically the right button change the distance between the camera and the model ( zoom ).&lt;br /&gt;
&lt;br /&gt;
The object library is stored in an XML file named ~/.fgsdobjlib&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Airport selection dialog ==&lt;br /&gt;
&lt;br /&gt;
'''How to load airports and specify additional parameters'''&lt;br /&gt;
&lt;br /&gt;
The airport selection dialog lists all the airport found in the database that can fit in the terrain loaded in the current project. If some of these are already loaded in the project, current parameters for them are displayed and reused. The dialog looks like :&lt;br /&gt;
&lt;br /&gt;
[[File:fgsd-wiki-aptwin.jpg]]&lt;br /&gt;
&lt;br /&gt;
The first column is the ICAO code.&lt;br /&gt;
&lt;br /&gt;
The second is the name found in the apt.dat.gz file.&lt;br /&gt;
&lt;br /&gt;
The third column ( titled 'Zero' ) tells if the labeling of runways with number less than ten takes a zero at the first place ( 09 vs 9 ).&lt;br /&gt;
&lt;br /&gt;
The fourth column is the distance ( in meters ) between taxiways and runways and the airport boundary.&lt;br /&gt;
&lt;br /&gt;
The fifth column is the path to an alternate description of the airport. The requested file must be in X-Plane format ( .dat file ). This is the kind of files can be created by TaxiDraw. The buttons pops a file selection dialog up.&lt;br /&gt;
&lt;br /&gt;
== Export dialog ==&lt;br /&gt;
&lt;br /&gt;
'''How to export the current project to files suitable for FlightGear'''&lt;br /&gt;
&lt;br /&gt;
[[File:fgsd-wiki-export.jpg]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Software]]&lt;/div&gt;</summary>
		<author><name>AlbertBickford</name></author>
	</entry>
	<entry>
		<id>https://wiki.flightgear.org/w/index.php?title=FlightGear_Scenery_Designer&amp;diff=30380</id>
		<title>FlightGear Scenery Designer</title>
		<link rel="alternate" type="text/html" href="https://wiki.flightgear.org/w/index.php?title=FlightGear_Scenery_Designer&amp;diff=30380"/>
		<updated>2011-03-18T00:48:05Z</updated>

		<summary type="html">&lt;p&gt;AlbertBickford: /* History and Philosophy */ Added new section on what is needed to run fgsd, with some sources&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[File:fgsd-wiki-title.jpg]]&lt;br /&gt;
&lt;br /&gt;
FlightGear Scenery Designer ( aka fgsd ) is a tool to design and create custom-made scenery tiles suitable to FlightGear.  It performs a similar function to [[TerraGear]], but in a different way.  TerraGear is intended for batch processing of large numbers of files, and thus is used to produce the global scenery distributed with [[FlightGear]] and via [[TerraSync]]; fgsd is intended more for small-scale fine-tuning of a few tiles through a graphical interface.&lt;br /&gt;
&lt;br /&gt;
== Documentation ==&lt;br /&gt;
&lt;br /&gt;
Documentation for fgsd is thin and hard to find.  Besides this wiki page, you may want find the following helpful:&lt;br /&gt;
&lt;br /&gt;
* [[Howto: Make an airport]]&lt;br /&gt;
* The [http://fgsd.sourceforge.net/doc.html documentation page] of the [fgsd http://fgsd.sourceforge.net/ Sourceforge] website.  This includes a four-part video tutorial/demonstration (no sound) illustrating many steps in using fgsd, and instructions on placing static objects.&lt;br /&gt;
* The FlightGear Forum, in the scenery section.  This seems to be the most current information, but information can be hard to find.&lt;br /&gt;
&lt;br /&gt;
If you find more helpful bits of information, please add it here to make it easier to find.&lt;br /&gt;
&lt;br /&gt;
== History and Philosophy ==&lt;br /&gt;
&lt;br /&gt;
''How fgsd works and what are the ideas that drive its design''&lt;br /&gt;
&lt;br /&gt;
The initial purpose of fgsd was to edit existing scenery because of the lack, at that time, of a decent free elevation model outside the USA. Releases up to 0.3.1 had capabilities to hand-edit part of the terrain. But it appeared to be cumbersome to edit triangles one at a time, and very frustrating as the work done on one tile was obsoleted every time a new global scenery was released. Moreover, editing the result of the [[TerraGear]] process proved to be non-trivial because of hidden gotchas on the topological quality of the tiles.&lt;br /&gt;
Finally, NASA and others released the SRTM digital elevation model that offers a more refined elevation dataset for most of the world, lessening the need to edit elevations manually.&lt;br /&gt;
&lt;br /&gt;
From release 0.4.0 ( to be released ) ( and its pre-releases 0.3.9x - Win32 binaries available [ftp://ftp.ihg.uni-duisburg.de/FlightGear/Win32 here] - Other systems, use CVS ), fgsd no longer offers the ability to edit already made scenery tiles. Instead, it works interactively, using the same workflow as [[TerraGear]]. This workflow can be summarized as follow :&lt;br /&gt;
&lt;br /&gt;
* load raw elevations&lt;br /&gt;
* simplify elevation model&lt;br /&gt;
* prepare land cover contour&lt;br /&gt;
* project land cover contour on terrain&lt;br /&gt;
* prepare airport layout&lt;br /&gt;
* project airport layout on terrain&lt;br /&gt;
* export terrain to fgfs scenery tiles&lt;br /&gt;
&lt;br /&gt;
additionally, 3D object models can be placed here and there to add verticality to this somewhat horizontal world.&lt;br /&gt;
&lt;br /&gt;
One side benefit of this approach is that modified land cover contours can be exported to a format that TerraGear can use. A centralized database of contours is setup for that ( see http://www.custom-scenery.org ). This way collaborative changes to the global scenery can be consolidated and the next round of global scenery generation will include submitted individual changes.&lt;br /&gt;
Of course, import from the landcover database is possible in fgsd.&lt;br /&gt;
&lt;br /&gt;
Airports are loaded from the airport database file located in the FlightGear base package. It is not possible to edit an airport, but a new definition of an individual airport can be loaded from a file in X-Plane format. This kind of file are typically produced by the Taxidraw airport editor.&lt;br /&gt;
&lt;br /&gt;
== What you need to run fgsd ==&lt;br /&gt;
&lt;br /&gt;
PLEASE ADD TO THIS LIST OTHER PLACES WHERE THESE THINGS CAN BE FOUND.&lt;br /&gt;
&lt;br /&gt;
* fgsd itself.  &lt;br /&gt;
** Source code from [http://sourceforge.net/projects/fgsd/files/ SourceForge]&lt;br /&gt;
** Windows binaries available [ftp://ftp.ihg.uni-duisburg.de/FlightGear/Win32 here]&lt;br /&gt;
* Elevation data from the SRTM ([http://www2.jpl.nasa.gov/srtm/ Shuttle Radio Topography Mission]), in .hgt file format, at either SRTM-3 or SRTM-1 resolution.  Some possible sources are listed here.  Please note that if you want your work to eventually be incorporated back into FlightGear, you have to be careful to use elevation data sets that are compatible with the GNU Public License.&lt;br /&gt;
** [http://dds.cr.usgs.gov/srtm/ http://dds.cr.usgs.gov/srtm/]&lt;br /&gt;
* Surface landuse data from the [http://mapserver.flightgear.org/ FlightGear Mapserver]&lt;br /&gt;
* Aerial photographs that are keyed to latitude and longitude&lt;br /&gt;
&lt;br /&gt;
== Main window ==&lt;br /&gt;
&lt;br /&gt;
=== Menu ===&lt;br /&gt;
&lt;br /&gt;
==== File ====&lt;br /&gt;
&lt;br /&gt;
:''' New '''&lt;br /&gt;
:: Clears the current work area ready for a new project.&lt;br /&gt;
:'''Open'''&lt;br /&gt;
::'''Project''' &lt;br /&gt;
::: Opens an existing project file.&lt;br /&gt;
::'''Tile'''&lt;br /&gt;
::: Opens an existing tile. This is mainly used to place static objects. Editing a tile is not supported anymore.&lt;br /&gt;
:: '''File'''&lt;br /&gt;
::: Opens an existing file. It can be an elevation file or a fragment file. Elevation files contain raw elevation data and provide the basis for a project.&lt;br /&gt;
:; Recent Files &lt;br /&gt;
:: Opens recently opened files. These may be tiles or elevation files.&lt;br /&gt;
:; Recent Projects &lt;br /&gt;
:: FGSD saves work in *.FGSD files. These files contain references to map fragments as well as any land cover that might have been added. Various other pieces of information regarding the environment used to create that work are also saved.&lt;br /&gt;
:; Save Project&lt;br /&gt;
:: Saves the current environment. If the project has already been given a name, that names is used to save the work, otherwise you will be prompted to provide a new name&lt;br /&gt;
:; Save Project As&lt;br /&gt;
:: Saves the current environment under name that is prompted for.&lt;br /&gt;
:; Export&lt;br /&gt;
:: Exports the project to tile format. The results of the export process may be used in FGFS to view the progress of a project.&lt;br /&gt;
:; Quit&lt;br /&gt;
:: Exits FGSD&lt;br /&gt;
&lt;br /&gt;
==== Edit ====&lt;br /&gt;
&lt;br /&gt;
: '''Undo'''&lt;br /&gt;
:: Undo last action&lt;br /&gt;
:; Redo&lt;br /&gt;
:: Redo last undone action&lt;br /&gt;
&lt;br /&gt;
==== Scenery ====&lt;br /&gt;
&lt;br /&gt;
: '''Simplify Terrain'''&lt;br /&gt;
:; Strip Raw Elevations&lt;br /&gt;
:; Embed Curves&lt;br /&gt;
:; Embed Airports&lt;br /&gt;
&lt;br /&gt;
==== Tools ====&lt;br /&gt;
&lt;br /&gt;
: '''Object Library'''&lt;br /&gt;
:: Displays the Object library window&lt;br /&gt;
:; Map Fragments&lt;br /&gt;
:: Displays the Map fragment window&lt;br /&gt;
:; Import Curves&lt;br /&gt;
:; Select Airports&lt;br /&gt;
:; Chop HGT Files&lt;br /&gt;
:; Options&lt;br /&gt;
:: Displays the Options window&lt;br /&gt;
&lt;br /&gt;
=== Toolbars ===&lt;br /&gt;
&lt;br /&gt;
==== Main toolbar ====&lt;br /&gt;
[[File:fgsd-wiki-maintb.png]]&lt;br /&gt;
&lt;br /&gt;
==== Curves toolbar ====&lt;br /&gt;
[[File:fgsd-wiki-curvetb.png]]&lt;br /&gt;
&lt;br /&gt;
==== Scenery toolbar ====&lt;br /&gt;
[[File:fgsd-wiki-scenerytb.png]]&lt;br /&gt;
&lt;br /&gt;
==== Static objects toolbar ====&lt;br /&gt;
[[File:fgsd-wiki-statobjtb.png]]&lt;br /&gt;
&lt;br /&gt;
==== Airports toolbar ====&lt;br /&gt;
[[File:fgsd-wiki-apttb.png]]&lt;br /&gt;
&lt;br /&gt;
=== Main area ===&lt;br /&gt;
&lt;br /&gt;
=== Status bar ===&lt;br /&gt;
&lt;br /&gt;
== Options window ==&lt;br /&gt;
&lt;br /&gt;
''How to set general options and preferences''&lt;br /&gt;
&lt;br /&gt;
This window has 4 tabs :&lt;br /&gt;
* General&lt;br /&gt;
* Flightgear&lt;br /&gt;
* LandcoverDB&lt;br /&gt;
* View&lt;br /&gt;
&lt;br /&gt;
All parameters are saved in an [[XML]] file named ~/.fgsdrc&lt;br /&gt;
&lt;br /&gt;
All path are in Unix convention : directories and names are separated by '/' ( slash ) character. Under Windows, the path may begin with :&lt;br /&gt;
&lt;br /&gt;
=== General ===&lt;br /&gt;
&lt;br /&gt;
:;Output path &lt;br /&gt;
:: this path will be used at export time. It can be overriden in the export window.&lt;br /&gt;
:;Project history length &lt;br /&gt;
:: number of project file names proposed in the File &amp;gt; Recent projects menu&lt;br /&gt;
:; File history length &lt;br /&gt;
:: number of file names proposed in the File &amp;gt; Recent files menu&lt;br /&gt;
:; Display position in decimal &lt;br /&gt;
:: choose the format of the longitude and latitude displayed in the status bar&lt;br /&gt;
&lt;br /&gt;
=== FlightGear ===&lt;br /&gt;
&lt;br /&gt;
:;FlightGear data path &lt;br /&gt;
::the path to the FG_ROOT directory. This path is used to find the Airports/apt.dat.gz database, the materials.xml material database, and the Textures/ directory.&lt;br /&gt;
:;FlightGear scenery path &lt;br /&gt;
:: collection of path to scenery folders. These paths contain 'Terrain' and optionally 'Objects' subfolders. They are separated by ';' ( semi colon ) under Window, and by ':' ( colon ) under Unix.&lt;br /&gt;
&lt;br /&gt;
=== LandcoverDB ===&lt;br /&gt;
&lt;br /&gt;
:; Shapefile directory &lt;br /&gt;
:: a path to a local directory containing shapefiles representing landcover contours&lt;br /&gt;
:; Database hostname &lt;br /&gt;
:: a hostname to a Post-GIS server&lt;br /&gt;
:; Layers &lt;br /&gt;
:: list all .shp files discovered in the Shapefile directory and their assigned FlightGear area type. The 'Use' checkbox shows if the layer is used.&lt;br /&gt;
&lt;br /&gt;
=== View ===&lt;br /&gt;
&lt;br /&gt;
:; Show constrained edges &lt;br /&gt;
:: if checked, tile boundaries and material boundaries are drawn in red&lt;br /&gt;
:;Show vertices &lt;br /&gt;
:: if checked, terrain vertices are drawn with a blue square&lt;br /&gt;
:;Show infinite edges &lt;br /&gt;
:: ( used mainly for debug ) infinite edges are edges that connect the terrain hull vertices to an infinite vertex. They are shown in white.&lt;br /&gt;
&lt;br /&gt;
== Map fragment window ==&lt;br /&gt;
&lt;br /&gt;
''How to import images and georeference them''&lt;br /&gt;
&lt;br /&gt;
his window is used to georeference images before import in the main window. fgsd uses a 3 points method to correct rotation and non uniform scaling as well as positionning. A fragment have a contour that is initially set to the image extents. Only the image within the contour is displayed in the main window ( to discard ugly legend, for instance ).&lt;br /&gt;
&lt;br /&gt;
[[File:fgsd-wiki-mapwin.jpg|Image of Alcatraz, courtesy of the USGS]]&lt;br /&gt;
&lt;br /&gt;
The referencing informations, as well as the contour and the image reference, are stored in an XML file.&lt;br /&gt;
&lt;br /&gt;
=== Menu ===&lt;br /&gt;
The File menu has the items below :&lt;br /&gt;
&lt;br /&gt;
:;New&lt;br /&gt;
::erase the content of the window to start over.&lt;br /&gt;
:; Open &lt;br /&gt;
:: '''Fragment'''&lt;br /&gt;
::: open an XML file containing the reference to the image, the contour and the referencing informations&lt;br /&gt;
:: '''Image'''&lt;br /&gt;
::: open a JPEG file and set a default contour&lt;br /&gt;
:; Fetch terraserver-usa.com&lt;br /&gt;
:: load an aerial image from terraserver-usa.com, add a contour and georeference the image. terraserver-usa.com provides images from the USGS. These images are free to use.&lt;br /&gt;
:; Save&lt;br /&gt;
:: save the map fragment with the name it already has. If it is a new fragment, a name is asked first.&lt;br /&gt;
:; Save as&lt;br /&gt;
:: save the map fragment with a new name&lt;br /&gt;
:; Close&lt;br /&gt;
:: close the window. If the content is properly georeferenced, a popup is displayed to ask if the fragment should be included in the main window.&lt;br /&gt;
&lt;br /&gt;
=== Toolbar ===&lt;br /&gt;
Icons, from left to right, are :&lt;br /&gt;
&lt;br /&gt;
:; New&lt;br /&gt;
:: erase the content of the window to start over.&lt;br /&gt;
:; Open Fragment&lt;br /&gt;
:: open an XML file containing the reference to the image, the contour and the referencing informations&lt;br /&gt;
:; Open Image&lt;br /&gt;
:: open a JPEG file and set a default contour&lt;br /&gt;
:; Save&lt;br /&gt;
:: save the map fragment with the name it already has. If it is a new fragment, a name is asked first.&lt;br /&gt;
:; Marker mode&lt;br /&gt;
:: Put the program in marker insertion mode. Every click in the image add a new marker at the mouse position and open a dialog box to position details&lt;br /&gt;
:; Contour mode &lt;br /&gt;
:: Put the program in Contour mode. The magenta contour is then editable. Contour nodes can be moved with the mouse, added or removed&lt;br /&gt;
:; Rotate image 90 degrees counter-clockwise&lt;br /&gt;
:; Rotate image 90 degrees clockwise&lt;br /&gt;
:: Orient the image to correct disoriented scan&lt;br /&gt;
:; Zoom slider&lt;br /&gt;
:: Zoom in or zoom out by moving the slider cursor. Zooming in increase the positioning precision.&lt;br /&gt;
&lt;br /&gt;
=== Marker mode ===&lt;br /&gt;
&lt;br /&gt;
When the marker button is activated, every click in the image pops up the dialog box below :&lt;br /&gt;
&lt;br /&gt;
[[File:fgsd-wiki-marker.jpg]]&lt;br /&gt;
&lt;br /&gt;
Its purpose is to enter real world position of the click. This can be done in several ways, depending on the data available on the map/image being georeferenced. First one have to choose a coordinate system between :&lt;br /&gt;
&lt;br /&gt;
* WGS-84&lt;br /&gt;
* Lambert I&lt;br /&gt;
* Lambert II&lt;br /&gt;
* Lambert II extended&lt;br /&gt;
* Lambert III&lt;br /&gt;
* Lambert IV&lt;br /&gt;
* OSGB 36&lt;br /&gt;
* Universal Transverse Mercator&lt;br /&gt;
&lt;br /&gt;
The first one allows to enter position directly in degrees for longitude and latitude. The others need eastings and northings in meters.&lt;br /&gt;
&lt;br /&gt;
=== Contour mode ===&lt;br /&gt;
&lt;br /&gt;
This mode is used to move contour nodes, add new nodes or remove existing one.&lt;br /&gt;
&lt;br /&gt;
Moving is done by dragging the node.&lt;br /&gt;
To add a new node, first select an edge that should become cyan, and the CTRL-click where new point should be added.&lt;br /&gt;
To remove an existing node, right-click on the node and select 'Remove point' in the context menu that pops up.&lt;br /&gt;
&lt;br /&gt;
The contour should stay a non-intersecting loop, so the program controls that moves or modifications in the number of nodes are legal.&lt;br /&gt;
&lt;br /&gt;
=== terraserver-usa.com images download window ===&lt;br /&gt;
&lt;br /&gt;
This dialog box is displayed when the 'Fetch terraserver-usa.com' is choosen from the file menu, or the 'Fetch terraserver-usa.com from here' popup menu option is choosen in the context menu of the main window. In the latter case, the location is the one under the mouse when choosing the option. Otherwise, this is the last location entered. The first location proposed is the one of KSFO, the San Francisco airport.&lt;br /&gt;
&lt;br /&gt;
[[File:fgsd-wiki-terraserver.jpg]]&lt;br /&gt;
&lt;br /&gt;
It allows one to connect to the server to get the aerial image centered at the location entered in the first line. The radius is the minimum distance between the center and an edge of the image, and can be a bit more due to the fact that image elements are 200x200 pixel square. Initially, the vertical 'radius' ( right field ) is set with the same value that is entered in the horizontal one. It is possible to change it to retrieve a non squared image.&lt;br /&gt;
&lt;br /&gt;
There are 3 types of images available and several resolutions. An estimate of the size and the weight of the download is given before starting it.&lt;br /&gt;
&lt;br /&gt;
During download, a progress bar is shown in the window status bar with a button to cancel the acquisition.&lt;br /&gt;
&lt;br /&gt;
When acquisition is completed, markers are positioned at the image corners, and a contour is set around the image. It is then possible to save both image and fragment to files, and import them in the main project.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Object library window ==&lt;br /&gt;
&lt;br /&gt;
'''How to organize 3D object models'''&lt;br /&gt;
&lt;br /&gt;
The Object library window is used to organize, display and select 3D object models.&lt;br /&gt;
&lt;br /&gt;
[[File:fgsd-wiki-objlib.jpg]]&lt;br /&gt;
&lt;br /&gt;
The window has a tree of models and folders at its left. The right part displays in 3D the model selected in the tree. The top hosts a toolbar to manage the tree.&lt;br /&gt;
&lt;br /&gt;
In the toolbar, the entry field at the left is used whenever a name is required by the subsequent button action. It must be pre-filled before one click on the button.&lt;br /&gt;
&lt;br /&gt;
The '''Af''' button adds a new folder as a child of the current folder (initially, only Root exists ). The name is found in the entry field at the time of the click.&lt;br /&gt;
&lt;br /&gt;
The '''Rf''' button renames the current folder. Again, the new name is the content of the field at the time of the click.&lt;br /&gt;
&lt;br /&gt;
The '''Cut''' button removes the folder subtree or the model. It is left in a paste buffer and is not immediately destroyed.&lt;br /&gt;
&lt;br /&gt;
The ''Pst''' button pastes the content of the paste buffer as a child of the current folder.&lt;br /&gt;
&lt;br /&gt;
The '''Am'' button adds a new model in the current folder. A file selection window is displayed and the user must select a model file supported by PLIB.&lt;br /&gt;
&lt;br /&gt;
The '''Rm''' button is used to rename the model. The path remain unchanged&lt;br /&gt;
&lt;br /&gt;
The '''At''' button is used to reference an additional file, for instance, a texture image file.&lt;br /&gt;
&lt;br /&gt;
The '''Sm''' button stops or resumes model spinning in the 3D view.&lt;br /&gt;
&lt;br /&gt;
The '''Select''' button is used when adding a static object in the scenery. It is grayed when the window is displayed from the menu.&lt;br /&gt;
&lt;br /&gt;
The '''Quit''' is used to close the window. When a selection is prompted, this button cancel the selection.&lt;br /&gt;
&lt;br /&gt;
It is possible to drag the mouse to change the camera position in the 3D view. Dragging with left mouse button rotates the model around its axis. Dragging the middle button rotates the camera around the model. Dragging vertically the right button change the distance between the camera and the model ( zoom ).&lt;br /&gt;
&lt;br /&gt;
The object library is stored in an XML file named ~/.fgsdobjlib&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Airport selection dialog ==&lt;br /&gt;
&lt;br /&gt;
'''How to load airports and specify additional parameters'''&lt;br /&gt;
&lt;br /&gt;
The airport selection dialog lists all the airport found in the database that can fit in the terrain loaded in the current project. If some of these are already loaded in the project, current parameters for them are displayed and reused. The dialog looks like :&lt;br /&gt;
&lt;br /&gt;
[[File:fgsd-wiki-aptwin.jpg]]&lt;br /&gt;
&lt;br /&gt;
The first column is the ICAO code.&lt;br /&gt;
&lt;br /&gt;
The second is the name found in the apt.dat.gz file.&lt;br /&gt;
&lt;br /&gt;
The third column ( titled 'Zero' ) tells if the labeling of runways with number less than ten takes a zero at the first place ( 09 vs 9 ).&lt;br /&gt;
&lt;br /&gt;
The fourth column is the distance ( in meters ) between taxiways and runways and the airport boundary.&lt;br /&gt;
&lt;br /&gt;
The fifth column is the path to an alternate description of the airport. The requested file must be in X-Plane format ( .dat file ). This is the kind of files can be created by TaxiDraw. The buttons pops a file selection dialog up.&lt;br /&gt;
&lt;br /&gt;
== Export dialog ==&lt;br /&gt;
&lt;br /&gt;
'''How to export the current project to files suitable for FlightGear'''&lt;br /&gt;
&lt;br /&gt;
[[File:fgsd-wiki-export.jpg]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Software]]&lt;/div&gt;</summary>
		<author><name>AlbertBickford</name></author>
	</entry>
	<entry>
		<id>https://wiki.flightgear.org/w/index.php?title=FlightGear_Scenery_Designer&amp;diff=30379</id>
		<title>FlightGear Scenery Designer</title>
		<link rel="alternate" type="text/html" href="https://wiki.flightgear.org/w/index.php?title=FlightGear_Scenery_Designer&amp;diff=30379"/>
		<updated>2011-03-18T00:32:52Z</updated>

		<summary type="html">&lt;p&gt;AlbertBickford: /* Documentation */  further refinement of this new section.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[File:fgsd-wiki-title.jpg]]&lt;br /&gt;
&lt;br /&gt;
FlightGear Scenery Designer ( aka fgsd ) is a tool to design and create custom-made scenery tiles suitable to FlightGear.  It performs a similar function to [[TerraGear]], but in a different way.  TerraGear is intended for batch processing of large numbers of files, and thus is used to produce the global scenery distributed with [[FlightGear]] and via [[TerraSync]]; fgsd is intended more for small-scale fine-tuning of a few tiles through a graphical interface.&lt;br /&gt;
&lt;br /&gt;
== Documentation ==&lt;br /&gt;
&lt;br /&gt;
Documentation for fgsd is thin and hard to find.  Besides this wiki page, you may want find the following helpful:&lt;br /&gt;
&lt;br /&gt;
* [[Howto: Make an airport]]&lt;br /&gt;
* The [http://fgsd.sourceforge.net/doc.html documentation page] of the [fgsd http://fgsd.sourceforge.net/ Sourceforge] website.  This includes a four-part video tutorial/demonstration (no sound) illustrating many steps in using fgsd, and instructions on placing static objects.&lt;br /&gt;
* The FlightGear Forum, in the scenery section.  This seems to be the most current information, but information can be hard to find.&lt;br /&gt;
&lt;br /&gt;
If you find more helpful bits of information, please add it here to make it easier to find.&lt;br /&gt;
&lt;br /&gt;
== History and Philosophy ==&lt;br /&gt;
&lt;br /&gt;
''How fgsd works and what are the ideas that drive its design''&lt;br /&gt;
&lt;br /&gt;
The initial purpose of fgsd was to edit existing scenery because of the lack, at that time, of a decent free elevation model outside the USA. Releases up to 0.3.1 had capabilities to hand-edit part of the terrain. But it appeared to be cumbersome to edit triangles one at a time, and very frustrating as the work done on one tile was obsoleted every time a new global scenery was released. Moreover, editing the result of the [[TerraGear]] process proved to be non-trivial because of hidden gotchas on the topological quality of the tiles.&lt;br /&gt;
Finally, NASA and others released the SRTM digital elevation model that offers a more refined elevation dataset for most of the world, lessening the need to edit elevations manually.&lt;br /&gt;
&lt;br /&gt;
From release 0.4.0 ( to be released ) ( and its pre-releases 0.3.9x - Win32 binaries available [ftp://ftp.ihg.uni-duisburg.de/FlightGear/Win32 here] - Other systems, use CVS ), fgsd no longer offers the ability to edit already made scenery tiles. Instead, it works interactively, using the same workflow as [[TerraGear]]. This workflow can be summarized as follow :&lt;br /&gt;
&lt;br /&gt;
* load raw elevations&lt;br /&gt;
* simplify elevation model&lt;br /&gt;
* prepare land cover contour&lt;br /&gt;
* project land cover contour on terrain&lt;br /&gt;
* prepare airport layout&lt;br /&gt;
* project airport layout on terrain&lt;br /&gt;
* export terrain to fgfs scenery tiles&lt;br /&gt;
&lt;br /&gt;
additionally, 3D object models can be placed here and there to add verticality to this somewhat horizontal world.&lt;br /&gt;
&lt;br /&gt;
One side benefit of this approach is that modified land cover contours can be exported to a format that TerraGear can use. A centralized database of contours is setup for that ( see http://www.custom-scenery.org ). This way collaborative changes to the global scenery can be consolidated and the next round of global scenery generation will include submitted individual changes.&lt;br /&gt;
Of course, import from the landcover database is possible in fgsd.&lt;br /&gt;
&lt;br /&gt;
Airports are loaded from the airport database file located in the FlightGear base package. It is not possible to edit an airport, but a new definition of an individual airport can be loaded from a file in X-Plane format. This kind of file are typically produced by the Taxidraw airport editor.&lt;br /&gt;
&lt;br /&gt;
== Main window ==&lt;br /&gt;
&lt;br /&gt;
=== Menu ===&lt;br /&gt;
&lt;br /&gt;
==== File ====&lt;br /&gt;
&lt;br /&gt;
:''' New '''&lt;br /&gt;
:: Clears the current work area ready for a new project.&lt;br /&gt;
:'''Open'''&lt;br /&gt;
::'''Project''' &lt;br /&gt;
::: Opens an existing project file.&lt;br /&gt;
::'''Tile'''&lt;br /&gt;
::: Opens an existing tile. This is mainly used to place static objects. Editing a tile is not supported anymore.&lt;br /&gt;
:: '''File'''&lt;br /&gt;
::: Opens an existing file. It can be an elevation file or a fragment file. Elevation files contain raw elevation data and provide the basis for a project.&lt;br /&gt;
:; Recent Files &lt;br /&gt;
:: Opens recently opened files. These may be tiles or elevation files.&lt;br /&gt;
:; Recent Projects &lt;br /&gt;
:: FGSD saves work in *.FGSD files. These files contain references to map fragments as well as any land cover that might have been added. Various other pieces of information regarding the environment used to create that work are also saved.&lt;br /&gt;
:; Save Project&lt;br /&gt;
:: Saves the current environment. If the project has already been given a name, that names is used to save the work, otherwise you will be prompted to provide a new name&lt;br /&gt;
:; Save Project As&lt;br /&gt;
:: Saves the current environment under name that is prompted for.&lt;br /&gt;
:; Export&lt;br /&gt;
:: Exports the project to tile format. The results of the export process may be used in FGFS to view the progress of a project.&lt;br /&gt;
:; Quit&lt;br /&gt;
:: Exits FGSD&lt;br /&gt;
&lt;br /&gt;
==== Edit ====&lt;br /&gt;
&lt;br /&gt;
: '''Undo'''&lt;br /&gt;
:: Undo last action&lt;br /&gt;
:; Redo&lt;br /&gt;
:: Redo last undone action&lt;br /&gt;
&lt;br /&gt;
==== Scenery ====&lt;br /&gt;
&lt;br /&gt;
: '''Simplify Terrain'''&lt;br /&gt;
:; Strip Raw Elevations&lt;br /&gt;
:; Embed Curves&lt;br /&gt;
:; Embed Airports&lt;br /&gt;
&lt;br /&gt;
==== Tools ====&lt;br /&gt;
&lt;br /&gt;
: '''Object Library'''&lt;br /&gt;
:: Displays the Object library window&lt;br /&gt;
:; Map Fragments&lt;br /&gt;
:: Displays the Map fragment window&lt;br /&gt;
:; Import Curves&lt;br /&gt;
:; Select Airports&lt;br /&gt;
:; Chop HGT Files&lt;br /&gt;
:; Options&lt;br /&gt;
:: Displays the Options window&lt;br /&gt;
&lt;br /&gt;
=== Toolbars ===&lt;br /&gt;
&lt;br /&gt;
==== Main toolbar ====&lt;br /&gt;
[[File:fgsd-wiki-maintb.png]]&lt;br /&gt;
&lt;br /&gt;
==== Curves toolbar ====&lt;br /&gt;
[[File:fgsd-wiki-curvetb.png]]&lt;br /&gt;
&lt;br /&gt;
==== Scenery toolbar ====&lt;br /&gt;
[[File:fgsd-wiki-scenerytb.png]]&lt;br /&gt;
&lt;br /&gt;
==== Static objects toolbar ====&lt;br /&gt;
[[File:fgsd-wiki-statobjtb.png]]&lt;br /&gt;
&lt;br /&gt;
==== Airports toolbar ====&lt;br /&gt;
[[File:fgsd-wiki-apttb.png]]&lt;br /&gt;
&lt;br /&gt;
=== Main area ===&lt;br /&gt;
&lt;br /&gt;
=== Status bar ===&lt;br /&gt;
&lt;br /&gt;
== Options window ==&lt;br /&gt;
&lt;br /&gt;
''How to set general options and preferences''&lt;br /&gt;
&lt;br /&gt;
This window has 4 tabs :&lt;br /&gt;
* General&lt;br /&gt;
* Flightgear&lt;br /&gt;
* LandcoverDB&lt;br /&gt;
* View&lt;br /&gt;
&lt;br /&gt;
All parameters are saved in an [[XML]] file named ~/.fgsdrc&lt;br /&gt;
&lt;br /&gt;
All path are in Unix convention : directories and names are separated by '/' ( slash ) character. Under Windows, the path may begin with :&lt;br /&gt;
&lt;br /&gt;
=== General ===&lt;br /&gt;
&lt;br /&gt;
:;Output path &lt;br /&gt;
:: this path will be used at export time. It can be overriden in the export window.&lt;br /&gt;
:;Project history length &lt;br /&gt;
:: number of project file names proposed in the File &amp;gt; Recent projects menu&lt;br /&gt;
:; File history length &lt;br /&gt;
:: number of file names proposed in the File &amp;gt; Recent files menu&lt;br /&gt;
:; Display position in decimal &lt;br /&gt;
:: choose the format of the longitude and latitude displayed in the status bar&lt;br /&gt;
&lt;br /&gt;
=== FlightGear ===&lt;br /&gt;
&lt;br /&gt;
:;FlightGear data path &lt;br /&gt;
::the path to the FG_ROOT directory. This path is used to find the Airports/apt.dat.gz database, the materials.xml material database, and the Textures/ directory.&lt;br /&gt;
:;FlightGear scenery path &lt;br /&gt;
:: collection of path to scenery folders. These paths contain 'Terrain' and optionally 'Objects' subfolders. They are separated by ';' ( semi colon ) under Window, and by ':' ( colon ) under Unix.&lt;br /&gt;
&lt;br /&gt;
=== LandcoverDB ===&lt;br /&gt;
&lt;br /&gt;
:; Shapefile directory &lt;br /&gt;
:: a path to a local directory containing shapefiles representing landcover contours&lt;br /&gt;
:; Database hostname &lt;br /&gt;
:: a hostname to a Post-GIS server&lt;br /&gt;
:; Layers &lt;br /&gt;
:: list all .shp files discovered in the Shapefile directory and their assigned FlightGear area type. The 'Use' checkbox shows if the layer is used.&lt;br /&gt;
&lt;br /&gt;
=== View ===&lt;br /&gt;
&lt;br /&gt;
:; Show constrained edges &lt;br /&gt;
:: if checked, tile boundaries and material boundaries are drawn in red&lt;br /&gt;
:;Show vertices &lt;br /&gt;
:: if checked, terrain vertices are drawn with a blue square&lt;br /&gt;
:;Show infinite edges &lt;br /&gt;
:: ( used mainly for debug ) infinite edges are edges that connect the terrain hull vertices to an infinite vertex. They are shown in white.&lt;br /&gt;
&lt;br /&gt;
== Map fragment window ==&lt;br /&gt;
&lt;br /&gt;
''How to import images and georeference them''&lt;br /&gt;
&lt;br /&gt;
his window is used to georeference images before import in the main window. fgsd uses a 3 points method to correct rotation and non uniform scaling as well as positionning. A fragment have a contour that is initially set to the image extents. Only the image within the contour is displayed in the main window ( to discard ugly legend, for instance ).&lt;br /&gt;
&lt;br /&gt;
[[File:fgsd-wiki-mapwin.jpg|Image of Alcatraz, courtesy of the USGS]]&lt;br /&gt;
&lt;br /&gt;
The referencing informations, as well as the contour and the image reference, are stored in an XML file.&lt;br /&gt;
&lt;br /&gt;
=== Menu ===&lt;br /&gt;
The File menu has the items below :&lt;br /&gt;
&lt;br /&gt;
:;New&lt;br /&gt;
::erase the content of the window to start over.&lt;br /&gt;
:; Open &lt;br /&gt;
:: '''Fragment'''&lt;br /&gt;
::: open an XML file containing the reference to the image, the contour and the referencing informations&lt;br /&gt;
:: '''Image'''&lt;br /&gt;
::: open a JPEG file and set a default contour&lt;br /&gt;
:; Fetch terraserver-usa.com&lt;br /&gt;
:: load an aerial image from terraserver-usa.com, add a contour and georeference the image. terraserver-usa.com provides images from the USGS. These images are free to use.&lt;br /&gt;
:; Save&lt;br /&gt;
:: save the map fragment with the name it already has. If it is a new fragment, a name is asked first.&lt;br /&gt;
:; Save as&lt;br /&gt;
:: save the map fragment with a new name&lt;br /&gt;
:; Close&lt;br /&gt;
:: close the window. If the content is properly georeferenced, a popup is displayed to ask if the fragment should be included in the main window.&lt;br /&gt;
&lt;br /&gt;
=== Toolbar ===&lt;br /&gt;
Icons, from left to right, are :&lt;br /&gt;
&lt;br /&gt;
:; New&lt;br /&gt;
:: erase the content of the window to start over.&lt;br /&gt;
:; Open Fragment&lt;br /&gt;
:: open an XML file containing the reference to the image, the contour and the referencing informations&lt;br /&gt;
:; Open Image&lt;br /&gt;
:: open a JPEG file and set a default contour&lt;br /&gt;
:; Save&lt;br /&gt;
:: save the map fragment with the name it already has. If it is a new fragment, a name is asked first.&lt;br /&gt;
:; Marker mode&lt;br /&gt;
:: Put the program in marker insertion mode. Every click in the image add a new marker at the mouse position and open a dialog box to position details&lt;br /&gt;
:; Contour mode &lt;br /&gt;
:: Put the program in Contour mode. The magenta contour is then editable. Contour nodes can be moved with the mouse, added or removed&lt;br /&gt;
:; Rotate image 90 degrees counter-clockwise&lt;br /&gt;
:; Rotate image 90 degrees clockwise&lt;br /&gt;
:: Orient the image to correct disoriented scan&lt;br /&gt;
:; Zoom slider&lt;br /&gt;
:: Zoom in or zoom out by moving the slider cursor. Zooming in increase the positioning precision.&lt;br /&gt;
&lt;br /&gt;
=== Marker mode ===&lt;br /&gt;
&lt;br /&gt;
When the marker button is activated, every click in the image pops up the dialog box below :&lt;br /&gt;
&lt;br /&gt;
[[File:fgsd-wiki-marker.jpg]]&lt;br /&gt;
&lt;br /&gt;
Its purpose is to enter real world position of the click. This can be done in several ways, depending on the data available on the map/image being georeferenced. First one have to choose a coordinate system between :&lt;br /&gt;
&lt;br /&gt;
* WGS-84&lt;br /&gt;
* Lambert I&lt;br /&gt;
* Lambert II&lt;br /&gt;
* Lambert II extended&lt;br /&gt;
* Lambert III&lt;br /&gt;
* Lambert IV&lt;br /&gt;
* OSGB 36&lt;br /&gt;
* Universal Transverse Mercator&lt;br /&gt;
&lt;br /&gt;
The first one allows to enter position directly in degrees for longitude and latitude. The others need eastings and northings in meters.&lt;br /&gt;
&lt;br /&gt;
=== Contour mode ===&lt;br /&gt;
&lt;br /&gt;
This mode is used to move contour nodes, add new nodes or remove existing one.&lt;br /&gt;
&lt;br /&gt;
Moving is done by dragging the node.&lt;br /&gt;
To add a new node, first select an edge that should become cyan, and the CTRL-click where new point should be added.&lt;br /&gt;
To remove an existing node, right-click on the node and select 'Remove point' in the context menu that pops up.&lt;br /&gt;
&lt;br /&gt;
The contour should stay a non-intersecting loop, so the program controls that moves or modifications in the number of nodes are legal.&lt;br /&gt;
&lt;br /&gt;
=== terraserver-usa.com images download window ===&lt;br /&gt;
&lt;br /&gt;
This dialog box is displayed when the 'Fetch terraserver-usa.com' is choosen from the file menu, or the 'Fetch terraserver-usa.com from here' popup menu option is choosen in the context menu of the main window. In the latter case, the location is the one under the mouse when choosing the option. Otherwise, this is the last location entered. The first location proposed is the one of KSFO, the San Francisco airport.&lt;br /&gt;
&lt;br /&gt;
[[File:fgsd-wiki-terraserver.jpg]]&lt;br /&gt;
&lt;br /&gt;
It allows one to connect to the server to get the aerial image centered at the location entered in the first line. The radius is the minimum distance between the center and an edge of the image, and can be a bit more due to the fact that image elements are 200x200 pixel square. Initially, the vertical 'radius' ( right field ) is set with the same value that is entered in the horizontal one. It is possible to change it to retrieve a non squared image.&lt;br /&gt;
&lt;br /&gt;
There are 3 types of images available and several resolutions. An estimate of the size and the weight of the download is given before starting it.&lt;br /&gt;
&lt;br /&gt;
During download, a progress bar is shown in the window status bar with a button to cancel the acquisition.&lt;br /&gt;
&lt;br /&gt;
When acquisition is completed, markers are positioned at the image corners, and a contour is set around the image. It is then possible to save both image and fragment to files, and import them in the main project.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Object library window ==&lt;br /&gt;
&lt;br /&gt;
'''How to organize 3D object models'''&lt;br /&gt;
&lt;br /&gt;
The Object library window is used to organize, display and select 3D object models.&lt;br /&gt;
&lt;br /&gt;
[[File:fgsd-wiki-objlib.jpg]]&lt;br /&gt;
&lt;br /&gt;
The window has a tree of models and folders at its left. The right part displays in 3D the model selected in the tree. The top hosts a toolbar to manage the tree.&lt;br /&gt;
&lt;br /&gt;
In the toolbar, the entry field at the left is used whenever a name is required by the subsequent button action. It must be pre-filled before one click on the button.&lt;br /&gt;
&lt;br /&gt;
The '''Af''' button adds a new folder as a child of the current folder (initially, only Root exists ). The name is found in the entry field at the time of the click.&lt;br /&gt;
&lt;br /&gt;
The '''Rf''' button renames the current folder. Again, the new name is the content of the field at the time of the click.&lt;br /&gt;
&lt;br /&gt;
The '''Cut''' button removes the folder subtree or the model. It is left in a paste buffer and is not immediately destroyed.&lt;br /&gt;
&lt;br /&gt;
The ''Pst''' button pastes the content of the paste buffer as a child of the current folder.&lt;br /&gt;
&lt;br /&gt;
The '''Am'' button adds a new model in the current folder. A file selection window is displayed and the user must select a model file supported by PLIB.&lt;br /&gt;
&lt;br /&gt;
The '''Rm''' button is used to rename the model. The path remain unchanged&lt;br /&gt;
&lt;br /&gt;
The '''At''' button is used to reference an additional file, for instance, a texture image file.&lt;br /&gt;
&lt;br /&gt;
The '''Sm''' button stops or resumes model spinning in the 3D view.&lt;br /&gt;
&lt;br /&gt;
The '''Select''' button is used when adding a static object in the scenery. It is grayed when the window is displayed from the menu.&lt;br /&gt;
&lt;br /&gt;
The '''Quit''' is used to close the window. When a selection is prompted, this button cancel the selection.&lt;br /&gt;
&lt;br /&gt;
It is possible to drag the mouse to change the camera position in the 3D view. Dragging with left mouse button rotates the model around its axis. Dragging the middle button rotates the camera around the model. Dragging vertically the right button change the distance between the camera and the model ( zoom ).&lt;br /&gt;
&lt;br /&gt;
The object library is stored in an XML file named ~/.fgsdobjlib&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Airport selection dialog ==&lt;br /&gt;
&lt;br /&gt;
'''How to load airports and specify additional parameters'''&lt;br /&gt;
&lt;br /&gt;
The airport selection dialog lists all the airport found in the database that can fit in the terrain loaded in the current project. If some of these are already loaded in the project, current parameters for them are displayed and reused. The dialog looks like :&lt;br /&gt;
&lt;br /&gt;
[[File:fgsd-wiki-aptwin.jpg]]&lt;br /&gt;
&lt;br /&gt;
The first column is the ICAO code.&lt;br /&gt;
&lt;br /&gt;
The second is the name found in the apt.dat.gz file.&lt;br /&gt;
&lt;br /&gt;
The third column ( titled 'Zero' ) tells if the labeling of runways with number less than ten takes a zero at the first place ( 09 vs 9 ).&lt;br /&gt;
&lt;br /&gt;
The fourth column is the distance ( in meters ) between taxiways and runways and the airport boundary.&lt;br /&gt;
&lt;br /&gt;
The fifth column is the path to an alternate description of the airport. The requested file must be in X-Plane format ( .dat file ). This is the kind of files can be created by TaxiDraw. The buttons pops a file selection dialog up.&lt;br /&gt;
&lt;br /&gt;
== Export dialog ==&lt;br /&gt;
&lt;br /&gt;
'''How to export the current project to files suitable for FlightGear'''&lt;br /&gt;
&lt;br /&gt;
[[File:fgsd-wiki-export.jpg]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Software]]&lt;/div&gt;</summary>
		<author><name>AlbertBickford</name></author>
	</entry>
	<entry>
		<id>https://wiki.flightgear.org/w/index.php?title=FlightGear_Scenery_Designer&amp;diff=30378</id>
		<title>FlightGear Scenery Designer</title>
		<link rel="alternate" type="text/html" href="https://wiki.flightgear.org/w/index.php?title=FlightGear_Scenery_Designer&amp;diff=30378"/>
		<updated>2011-03-18T00:30:21Z</updated>

		<summary type="html">&lt;p&gt;AlbertBickford: Added information on where to find documentation&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[File:fgsd-wiki-title.jpg]]&lt;br /&gt;
&lt;br /&gt;
FlightGear Scenery Designer ( aka fgsd ) is a tool to design and create custom-made scenery tiles suitable to FlightGear.  It performs a similar function to [[TerraGear]], but in a different way.  TerraGear is intended for batch processing of large numbers of files, and thus is used to produce the global scenery distributed with [[FlightGear]] and via [[TerraSync]]; fgsd is intended more for small-scale fine-tuning of a few tiles through a graphical interface.&lt;br /&gt;
&lt;br /&gt;
== Documentation ==&lt;br /&gt;
&lt;br /&gt;
Documentation on fgsd is thin and hard to find.  Besides this wiki page, you may want to read the following:&lt;br /&gt;
&lt;br /&gt;
* [[Howto: Make an airport]]&lt;br /&gt;
* The [http://fgsd.sourceforge.net/doc.html documentation page] of the [fgsd http://fgsd.sourceforge.net/ Sourceforge] website.&lt;br /&gt;
* A four-part video tutorial/demonstration&lt;br /&gt;
* The FlightGear Forum, in the scenery section.  This seems to be the most current information, but information can be hard to find.&lt;br /&gt;
&lt;br /&gt;
== History and Philosophy ==&lt;br /&gt;
&lt;br /&gt;
''How fgsd works and what are the ideas that drive its design''&lt;br /&gt;
&lt;br /&gt;
The initial purpose of fgsd was to edit existing scenery because of the lack, at that time, of a decent free elevation model outside the USA. Releases up to 0.3.1 had capabilities to hand-edit part of the terrain. But it appeared to be cumbersome to edit triangles one at a time, and very frustrating as the work done on one tile was obsoleted every time a new global scenery was released. Moreover, editing the result of the [[TerraGear]] process proved to be non-trivial because of hidden gotchas on the topological quality of the tiles.&lt;br /&gt;
Finally, NASA and others released the SRTM digital elevation model that offers a more refined elevation dataset for most of the world, lessening the need to edit elevations manually.&lt;br /&gt;
&lt;br /&gt;
From release 0.4.0 ( to be released ) ( and its pre-releases 0.3.9x - Win32 binaries available [ftp://ftp.ihg.uni-duisburg.de/FlightGear/Win32 here] - Other systems, use CVS ), fgsd no longer offers the ability to edit already made scenery tiles. Instead, it works interactively, using the same workflow as [[TerraGear]]. This workflow can be summarized as follow :&lt;br /&gt;
&lt;br /&gt;
* load raw elevations&lt;br /&gt;
* simplify elevation model&lt;br /&gt;
* prepare land cover contour&lt;br /&gt;
* project land cover contour on terrain&lt;br /&gt;
* prepare airport layout&lt;br /&gt;
* project airport layout on terrain&lt;br /&gt;
* export terrain to fgfs scenery tiles&lt;br /&gt;
&lt;br /&gt;
additionally, 3D object models can be placed here and there to add verticality to this somewhat horizontal world.&lt;br /&gt;
&lt;br /&gt;
One side benefit of this approach is that modified land cover contours can be exported to a format that TerraGear can use. A centralized database of contours is setup for that ( see http://www.custom-scenery.org ). This way collaborative changes to the global scenery can be consolidated and the next round of global scenery generation will include submitted individual changes.&lt;br /&gt;
Of course, import from the landcover database is possible in fgsd.&lt;br /&gt;
&lt;br /&gt;
Airports are loaded from the airport database file located in the FlightGear base package. It is not possible to edit an airport, but a new definition of an individual airport can be loaded from a file in X-Plane format. This kind of file are typically produced by the Taxidraw airport editor.&lt;br /&gt;
&lt;br /&gt;
== Main window ==&lt;br /&gt;
&lt;br /&gt;
=== Menu ===&lt;br /&gt;
&lt;br /&gt;
==== File ====&lt;br /&gt;
&lt;br /&gt;
:''' New '''&lt;br /&gt;
:: Clears the current work area ready for a new project.&lt;br /&gt;
:'''Open'''&lt;br /&gt;
::'''Project''' &lt;br /&gt;
::: Opens an existing project file.&lt;br /&gt;
::'''Tile'''&lt;br /&gt;
::: Opens an existing tile. This is mainly used to place static objects. Editing a tile is not supported anymore.&lt;br /&gt;
:: '''File'''&lt;br /&gt;
::: Opens an existing file. It can be an elevation file or a fragment file. Elevation files contain raw elevation data and provide the basis for a project.&lt;br /&gt;
:; Recent Files &lt;br /&gt;
:: Opens recently opened files. These may be tiles or elevation files.&lt;br /&gt;
:; Recent Projects &lt;br /&gt;
:: FGSD saves work in *.FGSD files. These files contain references to map fragments as well as any land cover that might have been added. Various other pieces of information regarding the environment used to create that work are also saved.&lt;br /&gt;
:; Save Project&lt;br /&gt;
:: Saves the current environment. If the project has already been given a name, that names is used to save the work, otherwise you will be prompted to provide a new name&lt;br /&gt;
:; Save Project As&lt;br /&gt;
:: Saves the current environment under name that is prompted for.&lt;br /&gt;
:; Export&lt;br /&gt;
:: Exports the project to tile format. The results of the export process may be used in FGFS to view the progress of a project.&lt;br /&gt;
:; Quit&lt;br /&gt;
:: Exits FGSD&lt;br /&gt;
&lt;br /&gt;
==== Edit ====&lt;br /&gt;
&lt;br /&gt;
: '''Undo'''&lt;br /&gt;
:: Undo last action&lt;br /&gt;
:; Redo&lt;br /&gt;
:: Redo last undone action&lt;br /&gt;
&lt;br /&gt;
==== Scenery ====&lt;br /&gt;
&lt;br /&gt;
: '''Simplify Terrain'''&lt;br /&gt;
:; Strip Raw Elevations&lt;br /&gt;
:; Embed Curves&lt;br /&gt;
:; Embed Airports&lt;br /&gt;
&lt;br /&gt;
==== Tools ====&lt;br /&gt;
&lt;br /&gt;
: '''Object Library'''&lt;br /&gt;
:: Displays the Object library window&lt;br /&gt;
:; Map Fragments&lt;br /&gt;
:: Displays the Map fragment window&lt;br /&gt;
:; Import Curves&lt;br /&gt;
:; Select Airports&lt;br /&gt;
:; Chop HGT Files&lt;br /&gt;
:; Options&lt;br /&gt;
:: Displays the Options window&lt;br /&gt;
&lt;br /&gt;
=== Toolbars ===&lt;br /&gt;
&lt;br /&gt;
==== Main toolbar ====&lt;br /&gt;
[[File:fgsd-wiki-maintb.png]]&lt;br /&gt;
&lt;br /&gt;
==== Curves toolbar ====&lt;br /&gt;
[[File:fgsd-wiki-curvetb.png]]&lt;br /&gt;
&lt;br /&gt;
==== Scenery toolbar ====&lt;br /&gt;
[[File:fgsd-wiki-scenerytb.png]]&lt;br /&gt;
&lt;br /&gt;
==== Static objects toolbar ====&lt;br /&gt;
[[File:fgsd-wiki-statobjtb.png]]&lt;br /&gt;
&lt;br /&gt;
==== Airports toolbar ====&lt;br /&gt;
[[File:fgsd-wiki-apttb.png]]&lt;br /&gt;
&lt;br /&gt;
=== Main area ===&lt;br /&gt;
&lt;br /&gt;
=== Status bar ===&lt;br /&gt;
&lt;br /&gt;
== Options window ==&lt;br /&gt;
&lt;br /&gt;
''How to set general options and preferences''&lt;br /&gt;
&lt;br /&gt;
This window has 4 tabs :&lt;br /&gt;
* General&lt;br /&gt;
* Flightgear&lt;br /&gt;
* LandcoverDB&lt;br /&gt;
* View&lt;br /&gt;
&lt;br /&gt;
All parameters are saved in an [[XML]] file named ~/.fgsdrc&lt;br /&gt;
&lt;br /&gt;
All path are in Unix convention : directories and names are separated by '/' ( slash ) character. Under Windows, the path may begin with :&lt;br /&gt;
&lt;br /&gt;
=== General ===&lt;br /&gt;
&lt;br /&gt;
:;Output path &lt;br /&gt;
:: this path will be used at export time. It can be overriden in the export window.&lt;br /&gt;
:;Project history length &lt;br /&gt;
:: number of project file names proposed in the File &amp;gt; Recent projects menu&lt;br /&gt;
:; File history length &lt;br /&gt;
:: number of file names proposed in the File &amp;gt; Recent files menu&lt;br /&gt;
:; Display position in decimal &lt;br /&gt;
:: choose the format of the longitude and latitude displayed in the status bar&lt;br /&gt;
&lt;br /&gt;
=== FlightGear ===&lt;br /&gt;
&lt;br /&gt;
:;FlightGear data path &lt;br /&gt;
::the path to the FG_ROOT directory. This path is used to find the Airports/apt.dat.gz database, the materials.xml material database, and the Textures/ directory.&lt;br /&gt;
:;FlightGear scenery path &lt;br /&gt;
:: collection of path to scenery folders. These paths contain 'Terrain' and optionally 'Objects' subfolders. They are separated by ';' ( semi colon ) under Window, and by ':' ( colon ) under Unix.&lt;br /&gt;
&lt;br /&gt;
=== LandcoverDB ===&lt;br /&gt;
&lt;br /&gt;
:; Shapefile directory &lt;br /&gt;
:: a path to a local directory containing shapefiles representing landcover contours&lt;br /&gt;
:; Database hostname &lt;br /&gt;
:: a hostname to a Post-GIS server&lt;br /&gt;
:; Layers &lt;br /&gt;
:: list all .shp files discovered in the Shapefile directory and their assigned FlightGear area type. The 'Use' checkbox shows if the layer is used.&lt;br /&gt;
&lt;br /&gt;
=== View ===&lt;br /&gt;
&lt;br /&gt;
:; Show constrained edges &lt;br /&gt;
:: if checked, tile boundaries and material boundaries are drawn in red&lt;br /&gt;
:;Show vertices &lt;br /&gt;
:: if checked, terrain vertices are drawn with a blue square&lt;br /&gt;
:;Show infinite edges &lt;br /&gt;
:: ( used mainly for debug ) infinite edges are edges that connect the terrain hull vertices to an infinite vertex. They are shown in white.&lt;br /&gt;
&lt;br /&gt;
== Map fragment window ==&lt;br /&gt;
&lt;br /&gt;
''How to import images and georeference them''&lt;br /&gt;
&lt;br /&gt;
his window is used to georeference images before import in the main window. fgsd uses a 3 points method to correct rotation and non uniform scaling as well as positionning. A fragment have a contour that is initially set to the image extents. Only the image within the contour is displayed in the main window ( to discard ugly legend, for instance ).&lt;br /&gt;
&lt;br /&gt;
[[File:fgsd-wiki-mapwin.jpg|Image of Alcatraz, courtesy of the USGS]]&lt;br /&gt;
&lt;br /&gt;
The referencing informations, as well as the contour and the image reference, are stored in an XML file.&lt;br /&gt;
&lt;br /&gt;
=== Menu ===&lt;br /&gt;
The File menu has the items below :&lt;br /&gt;
&lt;br /&gt;
:;New&lt;br /&gt;
::erase the content of the window to start over.&lt;br /&gt;
:; Open &lt;br /&gt;
:: '''Fragment'''&lt;br /&gt;
::: open an XML file containing the reference to the image, the contour and the referencing informations&lt;br /&gt;
:: '''Image'''&lt;br /&gt;
::: open a JPEG file and set a default contour&lt;br /&gt;
:; Fetch terraserver-usa.com&lt;br /&gt;
:: load an aerial image from terraserver-usa.com, add a contour and georeference the image. terraserver-usa.com provides images from the USGS. These images are free to use.&lt;br /&gt;
:; Save&lt;br /&gt;
:: save the map fragment with the name it already has. If it is a new fragment, a name is asked first.&lt;br /&gt;
:; Save as&lt;br /&gt;
:: save the map fragment with a new name&lt;br /&gt;
:; Close&lt;br /&gt;
:: close the window. If the content is properly georeferenced, a popup is displayed to ask if the fragment should be included in the main window.&lt;br /&gt;
&lt;br /&gt;
=== Toolbar ===&lt;br /&gt;
Icons, from left to right, are :&lt;br /&gt;
&lt;br /&gt;
:; New&lt;br /&gt;
:: erase the content of the window to start over.&lt;br /&gt;
:; Open Fragment&lt;br /&gt;
:: open an XML file containing the reference to the image, the contour and the referencing informations&lt;br /&gt;
:; Open Image&lt;br /&gt;
:: open a JPEG file and set a default contour&lt;br /&gt;
:; Save&lt;br /&gt;
:: save the map fragment with the name it already has. If it is a new fragment, a name is asked first.&lt;br /&gt;
:; Marker mode&lt;br /&gt;
:: Put the program in marker insertion mode. Every click in the image add a new marker at the mouse position and open a dialog box to position details&lt;br /&gt;
:; Contour mode &lt;br /&gt;
:: Put the program in Contour mode. The magenta contour is then editable. Contour nodes can be moved with the mouse, added or removed&lt;br /&gt;
:; Rotate image 90 degrees counter-clockwise&lt;br /&gt;
:; Rotate image 90 degrees clockwise&lt;br /&gt;
:: Orient the image to correct disoriented scan&lt;br /&gt;
:; Zoom slider&lt;br /&gt;
:: Zoom in or zoom out by moving the slider cursor. Zooming in increase the positioning precision.&lt;br /&gt;
&lt;br /&gt;
=== Marker mode ===&lt;br /&gt;
&lt;br /&gt;
When the marker button is activated, every click in the image pops up the dialog box below :&lt;br /&gt;
&lt;br /&gt;
[[File:fgsd-wiki-marker.jpg]]&lt;br /&gt;
&lt;br /&gt;
Its purpose is to enter real world position of the click. This can be done in several ways, depending on the data available on the map/image being georeferenced. First one have to choose a coordinate system between :&lt;br /&gt;
&lt;br /&gt;
* WGS-84&lt;br /&gt;
* Lambert I&lt;br /&gt;
* Lambert II&lt;br /&gt;
* Lambert II extended&lt;br /&gt;
* Lambert III&lt;br /&gt;
* Lambert IV&lt;br /&gt;
* OSGB 36&lt;br /&gt;
* Universal Transverse Mercator&lt;br /&gt;
&lt;br /&gt;
The first one allows to enter position directly in degrees for longitude and latitude. The others need eastings and northings in meters.&lt;br /&gt;
&lt;br /&gt;
=== Contour mode ===&lt;br /&gt;
&lt;br /&gt;
This mode is used to move contour nodes, add new nodes or remove existing one.&lt;br /&gt;
&lt;br /&gt;
Moving is done by dragging the node.&lt;br /&gt;
To add a new node, first select an edge that should become cyan, and the CTRL-click where new point should be added.&lt;br /&gt;
To remove an existing node, right-click on the node and select 'Remove point' in the context menu that pops up.&lt;br /&gt;
&lt;br /&gt;
The contour should stay a non-intersecting loop, so the program controls that moves or modifications in the number of nodes are legal.&lt;br /&gt;
&lt;br /&gt;
=== terraserver-usa.com images download window ===&lt;br /&gt;
&lt;br /&gt;
This dialog box is displayed when the 'Fetch terraserver-usa.com' is choosen from the file menu, or the 'Fetch terraserver-usa.com from here' popup menu option is choosen in the context menu of the main window. In the latter case, the location is the one under the mouse when choosing the option. Otherwise, this is the last location entered. The first location proposed is the one of KSFO, the San Francisco airport.&lt;br /&gt;
&lt;br /&gt;
[[File:fgsd-wiki-terraserver.jpg]]&lt;br /&gt;
&lt;br /&gt;
It allows one to connect to the server to get the aerial image centered at the location entered in the first line. The radius is the minimum distance between the center and an edge of the image, and can be a bit more due to the fact that image elements are 200x200 pixel square. Initially, the vertical 'radius' ( right field ) is set with the same value that is entered in the horizontal one. It is possible to change it to retrieve a non squared image.&lt;br /&gt;
&lt;br /&gt;
There are 3 types of images available and several resolutions. An estimate of the size and the weight of the download is given before starting it.&lt;br /&gt;
&lt;br /&gt;
During download, a progress bar is shown in the window status bar with a button to cancel the acquisition.&lt;br /&gt;
&lt;br /&gt;
When acquisition is completed, markers are positioned at the image corners, and a contour is set around the image. It is then possible to save both image and fragment to files, and import them in the main project.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Object library window ==&lt;br /&gt;
&lt;br /&gt;
'''How to organize 3D object models'''&lt;br /&gt;
&lt;br /&gt;
The Object library window is used to organize, display and select 3D object models.&lt;br /&gt;
&lt;br /&gt;
[[File:fgsd-wiki-objlib.jpg]]&lt;br /&gt;
&lt;br /&gt;
The window has a tree of models and folders at its left. The right part displays in 3D the model selected in the tree. The top hosts a toolbar to manage the tree.&lt;br /&gt;
&lt;br /&gt;
In the toolbar, the entry field at the left is used whenever a name is required by the subsequent button action. It must be pre-filled before one click on the button.&lt;br /&gt;
&lt;br /&gt;
The '''Af''' button adds a new folder as a child of the current folder (initially, only Root exists ). The name is found in the entry field at the time of the click.&lt;br /&gt;
&lt;br /&gt;
The '''Rf''' button renames the current folder. Again, the new name is the content of the field at the time of the click.&lt;br /&gt;
&lt;br /&gt;
The '''Cut''' button removes the folder subtree or the model. It is left in a paste buffer and is not immediately destroyed.&lt;br /&gt;
&lt;br /&gt;
The ''Pst''' button pastes the content of the paste buffer as a child of the current folder.&lt;br /&gt;
&lt;br /&gt;
The '''Am'' button adds a new model in the current folder. A file selection window is displayed and the user must select a model file supported by PLIB.&lt;br /&gt;
&lt;br /&gt;
The '''Rm''' button is used to rename the model. The path remain unchanged&lt;br /&gt;
&lt;br /&gt;
The '''At''' button is used to reference an additional file, for instance, a texture image file.&lt;br /&gt;
&lt;br /&gt;
The '''Sm''' button stops or resumes model spinning in the 3D view.&lt;br /&gt;
&lt;br /&gt;
The '''Select''' button is used when adding a static object in the scenery. It is grayed when the window is displayed from the menu.&lt;br /&gt;
&lt;br /&gt;
The '''Quit''' is used to close the window. When a selection is prompted, this button cancel the selection.&lt;br /&gt;
&lt;br /&gt;
It is possible to drag the mouse to change the camera position in the 3D view. Dragging with left mouse button rotates the model around its axis. Dragging the middle button rotates the camera around the model. Dragging vertically the right button change the distance between the camera and the model ( zoom ).&lt;br /&gt;
&lt;br /&gt;
The object library is stored in an XML file named ~/.fgsdobjlib&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Airport selection dialog ==&lt;br /&gt;
&lt;br /&gt;
'''How to load airports and specify additional parameters'''&lt;br /&gt;
&lt;br /&gt;
The airport selection dialog lists all the airport found in the database that can fit in the terrain loaded in the current project. If some of these are already loaded in the project, current parameters for them are displayed and reused. The dialog looks like :&lt;br /&gt;
&lt;br /&gt;
[[File:fgsd-wiki-aptwin.jpg]]&lt;br /&gt;
&lt;br /&gt;
The first column is the ICAO code.&lt;br /&gt;
&lt;br /&gt;
The second is the name found in the apt.dat.gz file.&lt;br /&gt;
&lt;br /&gt;
The third column ( titled 'Zero' ) tells if the labeling of runways with number less than ten takes a zero at the first place ( 09 vs 9 ).&lt;br /&gt;
&lt;br /&gt;
The fourth column is the distance ( in meters ) between taxiways and runways and the airport boundary.&lt;br /&gt;
&lt;br /&gt;
The fifth column is the path to an alternate description of the airport. The requested file must be in X-Plane format ( .dat file ). This is the kind of files can be created by TaxiDraw. The buttons pops a file selection dialog up.&lt;br /&gt;
&lt;br /&gt;
== Export dialog ==&lt;br /&gt;
&lt;br /&gt;
'''How to export the current project to files suitable for FlightGear'''&lt;br /&gt;
&lt;br /&gt;
[[File:fgsd-wiki-export.jpg]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Software]]&lt;/div&gt;</summary>
		<author><name>AlbertBickford</name></author>
	</entry>
	<entry>
		<id>https://wiki.flightgear.org/w/index.php?title=Howto:Add_shared_models_manually&amp;diff=30300</id>
		<title>Howto:Add shared models manually</title>
		<link rel="alternate" type="text/html" href="https://wiki.flightgear.org/w/index.php?title=Howto:Add_shared_models_manually&amp;diff=30300"/>
		<updated>2011-03-15T14:30:03Z</updated>

		<summary type="html">&lt;p&gt;AlbertBickford: Moved most detals on .stg file format to the STG section, added links&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;You can add objects to FlightGear's world by making use of &amp;quot;models&amp;quot; of those objects.  This howto explains one way to do so, especially with the shared models that are distributed with FlightGear.  These models are called &amp;quot;shared&amp;quot; because they are used to define many objects in different places.  (There are also &amp;quot;static models&amp;quot; which represent unique objects, such as famous buildings, that only exist in one place, but we won't have much to say about them.)  Shared models are stored in the &amp;lt;code&amp;gt;[[$FG_ROOT]]/Models&amp;lt;/code&amp;gt; directory.&lt;br /&gt;
&lt;br /&gt;
You can also create your own models; see [[Modeling - Getting Started]].  Most Flightgear models are in the .ac (AC3D) format.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Using Shared Models to Add Objects to FlightGear's World ==&lt;br /&gt;
&lt;br /&gt;
=== Step 1 ===&lt;br /&gt;
If you plan to use one of the standard FG shared models, skip to step 4.&lt;br /&gt;
&lt;br /&gt;
If you have created your own model, create a new directory for it under &amp;lt;code&amp;gt;[[$FG_ROOT]]/Models&amp;lt;/code&amp;gt; (to keep your models separate from the standard ones).  We'll use &amp;lt;code&amp;gt;$FG_ROOT/Models/MyModels&amp;lt;/code&amp;gt; as an example.&lt;br /&gt;
&lt;br /&gt;
=== Step 2 ===&lt;br /&gt;
Copy the file (usually has an .ac extension) containing your model into the &amp;lt;code&amp;gt;$FG_ROOT/Models/MyModels&amp;lt;/code&amp;gt; directory. We'll use &amp;lt;code&amp;gt;MyModel.ac&amp;lt;/code&amp;gt; as the name of that file.&lt;br /&gt;
&lt;br /&gt;
=== Step 3 (optional) ===&lt;br /&gt;
If you intend to include animation, create an XML file called &amp;lt;code&amp;gt;MyModel.xml&amp;lt;/code&amp;gt; inside the &amp;lt;code&amp;gt;$FG_ROOT/Models/MyModels&amp;lt;/code&amp;gt; directory with the following contents:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;?xml version=&amp;quot;1.0&amp;quot;?&amp;gt;&lt;br /&gt;
 &amp;lt;PropertyList&amp;gt;&lt;br /&gt;
  &amp;lt;path&amp;gt;MyModel.ac&amp;lt;/path&amp;gt;&lt;br /&gt;
  &amp;lt;animation&amp;gt;&lt;br /&gt;
   &amp;lt;type&amp;gt;range&amp;lt;/type&amp;gt;&lt;br /&gt;
   &amp;lt;min-m&amp;gt;0&amp;lt;/min-m&amp;gt;&lt;br /&gt;
   &amp;lt;max-m&amp;gt;20000&amp;lt;/max-m&amp;gt;&lt;br /&gt;
  &amp;lt;/animation&amp;gt;&lt;br /&gt;
 &amp;lt;/PropertyList&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This file references the .ac model file and tells FlightGear that it must be visible from 0 meters up to 20 km.&lt;br /&gt;
&lt;br /&gt;
An XML file is only necessary if you are intending to include animation; it is not required to render a model at a fixed location in FlightGear. &lt;br /&gt;
&lt;br /&gt;
=== Step 4 ===&lt;br /&gt;
Next, you have to determine where to place your object in FG's world.&lt;br /&gt;
&lt;br /&gt;
Useful resources at this stage are websites that allow you to get the coordinates of a point from aerial photographs.  One such is [http://itouchmap.com/ itouchmap.com], which relies on Google Maps.  Enter a street name, city, and state. When you get a good photo of your feature, click on map to place a marker there, then read the displayed coordinates.  Google Earth is also a good way to obtain position information, and there are other websites that will provide it also, or you can get it from a GPS.  (Coordinates of real-world locations are not copyrightable, so there is no legal problem with using these tools to find coordinates, but don't copy other content, such as images or models.)&lt;br /&gt;
&lt;br /&gt;
Once you've got at least a rough idea of the coordinates, you need to place the object visually. &lt;br /&gt;
&lt;br /&gt;
One easy way do this is with the [[UFO]]. In addition to making it easy to move around (or hover), it allows you to place objects and see what they look like there.  See [[Howto: Place 3D objects with the UFO]].  Another easy way is with the [[FlightGear Scenery Designer]].  Both tools calculate the positioning details for you and write them out in the correct format.  &lt;br /&gt;
&lt;br /&gt;
Here, though, we'll continue by describing a manual way to do it, for people who may need or want to know the inside details.  &lt;br /&gt;
&lt;br /&gt;
Start FG and fly to the location where you want to place the object (or use [[command line options]] to start in that location). Open up the property browser in FG (File-&amp;gt;Browse Internal Properties), and the &amp;lt;code&amp;gt;/position&amp;lt;/code&amp;gt; key.  Check that the values for &amp;lt;code&amp;gt;latitude-deg&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;longitude-deg&amp;lt;/code&amp;gt; are what you want, or write them down if you're positioning things visually, and also note the &amp;lt;code&amp;gt;ground-elev-m&amp;lt;/code&amp;gt;. If you want to place the object above ground level (or partially bury it), then adjust the number appropriately.  Then, go to the &amp;lt;code&amp;gt;/environment&amp;lt;/code&amp;gt; key and write down the tile number (current-tile-id) for that location.&lt;br /&gt;
&lt;br /&gt;
=== Step 5 ===&lt;br /&gt;
Locate a .stg file into which you will place a reference to the object's model and its location and orientation. &lt;br /&gt;
&lt;br /&gt;
The .stg files are named according to tile number and stored under the scenery directories.  The default installation places a limited amount of scenery (for the area around San Francisco) in &amp;lt;code&amp;gt;[[$FG_ROOT]]/Scenery&amp;lt;/code&amp;gt; but you may have scenery in other directories and listed in the scenery path (&amp;lt;code&amp;gt;[[$FG_SCENERY]]&amp;lt;/code&amp;gt;; see [[Howto: Install scenery]]).  Under each scenery directory, you will find directories called &amp;lt;code&amp;gt;Objects&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;Terrain&amp;lt;/code&amp;gt;.  Objects associated with airports are usually listed in a .stg file under &amp;quot;Terrain&amp;quot;; other objects are put under &amp;quot;Objects&amp;quot;.  The files under Objects and Terrain are organized in directories that group tiles into larger and smaller quadrants.  Thus, if the tile number is 942058, you will find a file called &amp;lt;code&amp;gt;942058.stg&amp;lt;/code&amp;gt; in the directory &amp;lt;code&amp;gt;$FG_Root/Scenery/Objects/w130n30/w123n37/&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
There is generally more than one .stg file for a given tile, in different directories, because scenery can be stored in more than one place.  It's important to describe your new object in a .stg file that will actually be read by flightgear (see [[#STG files|below]]).  It is recommended that you create a personal customized scenery directory separate from the standard installed scenery.  That way, when you upgrade FG your customizations won't get overwritten.  If you create such a directory, list it first in &amp;lt;code&amp;gt;[[$FG_SCENERY]]&amp;lt;/code&amp;gt;, create a directory structure inside it parallel to the one in the standard scenery directory, and create a .stg file in the appropriate place. Similarly, it is best not to edit the .stg files in the folder where [[TerraSync]] stores the scenery it has fetched, since TerraSync may overwrite them with newer versions.&lt;br /&gt;
&lt;br /&gt;
=== Step 6 ===&lt;br /&gt;
Add a line like the following to the .stg file you've chosen, replacing the parameters with your own :&lt;br /&gt;
&lt;br /&gt;
 OBJECT_SHARED Models/MyModels/MyModel.xml -55.5 30.3 1000.0 0.00 &lt;br /&gt;
&lt;br /&gt;
In brief, the format is :&lt;br /&gt;
 type path longitude latitude elevation heading&lt;br /&gt;
&lt;br /&gt;
There are more details on the .stg file format [[#STG files|below]].&lt;br /&gt;
&lt;br /&gt;
=== Step 7 ===&lt;br /&gt;
Restart FG and fly to where you added the model (or use [[command line options]] to start it with that location as the initial location); it should be there.  Check its location and orientation, make any necessary changes in the .stg file, then exit and restart FG to check it again.&lt;br /&gt;
&lt;br /&gt;
== STG files ==&lt;br /&gt;
There is documention for the .stg files used by FlightGear in &amp;lt;code&amp;gt;$FG_ROOT/Docs/README.scenery&amp;lt;/code&amp;gt;.  Only information relevant for placing shared objects is included here.&lt;br /&gt;
&lt;br /&gt;
Scenery files are loaded by default from &amp;lt;code&amp;gt;[[$FG_ROOT]]/Scenery&amp;lt;/code&amp;gt;.  Alternate locations (a &amp;quot;scenery path&amp;quot;) can be specified in &amp;lt;code&amp;gt;[[$FG_SCENERY]]&amp;lt;/code&amp;gt; (or from the command line); the first-named directories have highest priority.  Thus, if you create a local directory for storing custom scenery you create, include it first in the scenery path.&lt;br /&gt;
&lt;br /&gt;
Lines in a .stg file which describe shared objects look like this:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;prettytable&amp;quot; border=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; bordercolor=&amp;quot;black&amp;quot;&amp;gt;&lt;br /&gt;
|OBJECT_SHARED&lt;br /&gt;
|Models/Misc/trigpoint.xml &lt;br /&gt;
|&amp;lt;nowiki&amp;gt;-122.377127&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
|37.71570833&lt;br /&gt;
|1.756719854&lt;br /&gt;
|20&lt;br /&gt;
|- &lt;br /&gt;
|type&lt;br /&gt;
|filename path&lt;br /&gt;
|longitude&lt;br /&gt;
|latitude&lt;br /&gt;
|elevation&lt;br /&gt;
|heading&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
* Most of the time you'll use OBJECT_SHARED for a shared model.  (If you have a one-of-a-kind object, you should use OBJECT_STATIC instead; see an explanation of it in &amp;lt;code&amp;gt;$FG_ROOT/Docs/README.scenery&amp;lt;/code&amp;gt;.)&lt;br /&gt;
* The filename path points to the file that contains the model; for the OBJECT_SHARED type, this is relative to the $FG_ROOT directory. Specify the XML file for the model if there is one, otherwise the .ac file.  &lt;br /&gt;
* Latitude and longitude are expressed as decimal numbers (not degrees/minutes/seconds), with negative values representing west and south.&lt;br /&gt;
* Elevation is in meters above mean sea level ('''not''' feet, as is stated in some other places in the wiki)&lt;br /&gt;
* Rotation is '''counter-clockwise''' from north (not clockwise as in the rest of FG).&lt;br /&gt;
&lt;br /&gt;
Some more examples:&lt;br /&gt;
&lt;br /&gt;
 OBJECT_SHARED Models/MidAtl/cape-may-light.ac   -74.959970 38.933332 -93.0 0.00&lt;br /&gt;
 OBJECT_SHARED Models/Airport/windsock.xml -122.360843 37.613877 1 0&lt;br /&gt;
 OBJECT_SHARED Models/Structures/vordme.xml -122.37389 37.61948 -0.404 0&lt;br /&gt;
&lt;br /&gt;
== XML files ==&lt;br /&gt;
Alternately, there is a way to specify this same information in XML configuration files that are loaded at runtime; see [[Howto: Place 3D objects with the UFO]] or &amp;lt;code&amp;gt;$FG_ROOT/Docs/README.scenery&amp;lt;/code&amp;gt; for more details.  This approach has the advantage of keeping your new scenery clearly separate from the standard scenery files without having to create your own custom scenery directory structure.  Further, you can then manually control whether or not to load it at run-time, using the --config option on the command line. You can also include it in one of the standard startup files (such as [[Fgfsrc|.fgfsrc]]) but this will load it into memory every time you start FG, whether or not you are flying in the area.  If you place the scenery information in .stg files, it is only loaded into memory when needed.&lt;br /&gt;
&lt;br /&gt;
[[Category:Howto|Add shared models manually]]&lt;br /&gt;
[[Category:Scenery enhancement|Add shared models manually]]&lt;/div&gt;</summary>
		<author><name>AlbertBickford</name></author>
	</entry>
	<entry>
		<id>https://wiki.flightgear.org/w/index.php?title=Howto:Add_shared_models_manually&amp;diff=30299</id>
		<title>Howto:Add shared models manually</title>
		<link rel="alternate" type="text/html" href="https://wiki.flightgear.org/w/index.php?title=Howto:Add_shared_models_manually&amp;diff=30299"/>
		<updated>2011-03-15T14:05:19Z</updated>

		<summary type="html">&lt;p&gt;AlbertBickford: /* Step 5 */ misc rewording&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;You can add objects to FlightGear's world by making use of &amp;quot;models&amp;quot; of those objects.  This howto explains one way to do so, especially with the shared models that are distributed with FlightGear.  These models are called &amp;quot;shared&amp;quot; because they are used to define many objects in different places.  (There are also &amp;quot;static models&amp;quot; which represent unique objects, such as famous buildings, that only exist in one place, but we won't have much to say about them.)  Shared models are stored in the &amp;lt;code&amp;gt;[[$FG_ROOT]]/Models&amp;lt;/code&amp;gt; directory.&lt;br /&gt;
&lt;br /&gt;
You can also create your own models; see [[Modeling - Getting Started]].  Most Flightgear models are in the .ac (AC3D) format.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Using Shared Models to Add Objects to FlightGear's World ==&lt;br /&gt;
&lt;br /&gt;
=== Step 1 ===&lt;br /&gt;
If you plan to use one of the standard FG shared models, skip to step 4.&lt;br /&gt;
&lt;br /&gt;
If you have created your own model, create a new directory for it under &amp;lt;code&amp;gt;[[$FG_ROOT]]/Models&amp;lt;/code&amp;gt; (to keep your models separate from the standard ones).  We'll use &amp;lt;code&amp;gt;$FG_ROOT/Models/MyModels&amp;lt;/code&amp;gt; as an example.&lt;br /&gt;
&lt;br /&gt;
=== Step 2 ===&lt;br /&gt;
Copy the file (usually has an .ac extension) containing your model into the &amp;lt;code&amp;gt;$FG_ROOT/Models/MyModels&amp;lt;/code&amp;gt; directory. We'll use &amp;lt;code&amp;gt;MyModel.ac&amp;lt;/code&amp;gt; as the name of that file.&lt;br /&gt;
&lt;br /&gt;
=== Step 3 (optional) ===&lt;br /&gt;
If you intend to include animation, create an XML file called &amp;lt;code&amp;gt;MyModel.xml&amp;lt;/code&amp;gt; inside the &amp;lt;code&amp;gt;$FG_ROOT/Models/MyModels&amp;lt;/code&amp;gt; directory with the following contents:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;?xml version=&amp;quot;1.0&amp;quot;?&amp;gt;&lt;br /&gt;
 &amp;lt;PropertyList&amp;gt;&lt;br /&gt;
  &amp;lt;path&amp;gt;MyModel.ac&amp;lt;/path&amp;gt;&lt;br /&gt;
  &amp;lt;animation&amp;gt;&lt;br /&gt;
   &amp;lt;type&amp;gt;range&amp;lt;/type&amp;gt;&lt;br /&gt;
   &amp;lt;min-m&amp;gt;0&amp;lt;/min-m&amp;gt;&lt;br /&gt;
   &amp;lt;max-m&amp;gt;20000&amp;lt;/max-m&amp;gt;&lt;br /&gt;
  &amp;lt;/animation&amp;gt;&lt;br /&gt;
 &amp;lt;/PropertyList&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This file references the .ac model file and tells FlightGear that it must be visible from 0 meters up to 20 km.&lt;br /&gt;
&lt;br /&gt;
An XML file is only necessary if you are intending to include animation; it is not required to render a model at a fixed location in FlightGear. &lt;br /&gt;
&lt;br /&gt;
=== Step 4 ===&lt;br /&gt;
Next, you have to determine where to place your object in FG's world.&lt;br /&gt;
&lt;br /&gt;
Useful resources at this stage are websites that allow you to get the coordinates of a point from aerial photographs.  One such is [http://itouchmap.com/ itouchmap.com], which relies on Google Maps.  Enter a street name, city, and state. When you get a good photo of your feature, click on map to place a marker there, then read the displayed coordinates.  Google Earth is also a good way to obtain position information, and there are other websites that will provide it also, or you can get it from a GPS.  (Coordinates of real-world locations are not copyrightable, so there is no legal problem with using these tools to find coordinates, but don't copy other content, such as images or models.)&lt;br /&gt;
&lt;br /&gt;
Once you've got at least a rough idea of the coordinates, you need to place the object visually. &lt;br /&gt;
&lt;br /&gt;
One easy way do this is with the [[UFO]]. In addition to making it easy to move around (or hover), it allows you to place objects and see what they look like there.  See [[Howto: Place 3D objects with the UFO]].  Another easy way is with the [[FlightGear Scenery Designer]].  Both tools calculate the positioning details for you and write them out in the correct format.  &lt;br /&gt;
&lt;br /&gt;
Here, though, we'll continue by describing a manual way to do it, for people who may need or want to know the inside details.  &lt;br /&gt;
&lt;br /&gt;
Start FG and fly to the location where you want to place the object (or use [[command line options]] to start in that location). Open up the property browser in FG (File-&amp;gt;Browse Internal Properties), and the &amp;lt;code&amp;gt;/position&amp;lt;/code&amp;gt; key.  Check that the values for &amp;lt;code&amp;gt;latitude-deg&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;longitude-deg&amp;lt;/code&amp;gt; are what you want, or write them down if you're positioning things visually, and also note the &amp;lt;code&amp;gt;ground-elev-m&amp;lt;/code&amp;gt;. If you want to place the object above ground level (or partially bury it), then adjust the number appropriately.  Then, go to the &amp;lt;code&amp;gt;/environment&amp;lt;/code&amp;gt; key and write down the tile number (current-tile-id) for that location.&lt;br /&gt;
&lt;br /&gt;
=== Step 5 ===&lt;br /&gt;
Locate a .stg file into which you will place a reference to the object's model and its location and orientation. &lt;br /&gt;
&lt;br /&gt;
The .stg files are named according to tile number and stored under the scenery directories.  The default installation places a limited amount of scenery (for the area around San Francisco) in &amp;lt;code&amp;gt;[[$FG_ROOT]]/Scenery&amp;lt;/code&amp;gt; but you may have scenery in other directories, as described in &amp;lt;code&amp;gt;[[$FG_SCENERY]]&amp;lt;/code&amp;gt;.  (See [[Howto: Install scenery]].)  Under each scenery directory, you will find directories called &amp;lt;code&amp;gt;Objects&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;Terrain&amp;lt;/code&amp;gt;.  Objects associated with airports are usually put into a .stg file under the &amp;quot;Terrain&amp;quot; directory; other objects are put under &amp;quot;Objects&amp;quot;.  Under Objects and Terrain, there are directories that group tiles into larger and smaller quadrants.  Thus, if the tile number is 942058, you will find a file called &amp;lt;code&amp;gt;942058.stg&amp;lt;/code&amp;gt; in the directory &amp;lt;code&amp;gt;$FG_Root/Scenery/Objects/w130n30/w123n37/&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
There is generally more than one .stg file for a given tile, in different directories, because scenery can be stored in more than one place.  It's important to edit a .stg file that will actually be read by flightgear (see below).  One thing you can do is create a personal customized scenery directory separate from the standard installed scenery.  That way, when you upgrade FG your customizations won't get overwritten.  If you create such a directory, list it first in &amp;lt;code&amp;gt;[[$FG_SCENERY]]&amp;lt;/code&amp;gt;, create a directory structure inside it parallel to the one in the standard scenery directory, and create a .stg file in the appropriate place. Similarly, it is best not to edit the .stg files in the folder where [[TerraSync]] stores the scenery it has fetched, since TerraSync may overwrite them with newer versions.&lt;br /&gt;
&lt;br /&gt;
=== Step 6 ===&lt;br /&gt;
Add the following lines to the stg file you've chosen, replacing the parameters with your own :&lt;br /&gt;
&lt;br /&gt;
 OBJECT_SHARED Models/MyModels/MyModel.xml -55.5 30.3 1000.0 0.00 &lt;br /&gt;
&lt;br /&gt;
In brief, the format is :&lt;br /&gt;
 type path longitude latitude altitude rotation&lt;br /&gt;
&lt;br /&gt;
* Most of the time you'll use OBJECT_SHARED as the type; this is for models that are used over and over again in many places, and are normally fetched from &amp;lt;code&amp;gt;$FG_ROOT/Models&amp;lt;/code&amp;gt;.  (If you have a one-of-a-kind object, you might want to use OBJECT_STATIC instead; see an explanation of it in &amp;lt;code&amp;gt;$FG_ROOT/Docs/README.scenery&amp;lt;/code&amp;gt;.)&lt;br /&gt;
* The path points to the file that contains the model, relative to the $FG_ROOT directory. If you have an XML file for the model, specify it here, otherwise specify the .ac file.  &lt;br /&gt;
* Latitude and longitude are in decimal degrees.&lt;br /&gt;
* Altitude is in meters above mean sea level.  &lt;br /&gt;
* Rotation is '''counter-clockwise''' from north (not clockwise as in the rest of FG).&lt;br /&gt;
&lt;br /&gt;
There are more details on the .stg file format below.&lt;br /&gt;
&lt;br /&gt;
=== Step 7 ===&lt;br /&gt;
Restart FG and fly to where you added the model (or use [[command line|command-line options]] to start it with that location as the initial location); it should be there.  Check it's location and orientation, make any necessary changes in the .stg file, then exit and restart FG to check it again.&lt;br /&gt;
&lt;br /&gt;
== STG file format ==&lt;br /&gt;
There is documention for the .stg files used by FlightGear in &amp;lt;code&amp;gt;$FG_ROOT/Docs/README.scenery&amp;lt;/code&amp;gt;.  Only information relevant for placing shared objects is included here.&lt;br /&gt;
&lt;br /&gt;
Scenery files are loaded by default from &amp;lt;code&amp;gt;[[$FG_ROOT]]/Scenery&amp;lt;/code&amp;gt;.  Alternate locations (a &amp;quot;scenery path&amp;quot;) can be specified in &amp;lt;code&amp;gt;[[$FG_SCENERY]]&amp;lt;/code&amp;gt; (or from the command line); the first-named directories have highest priority.  Thus, if you create a local directory for storing custom scenery you create, include it first in the scenery path.&lt;br /&gt;
&lt;br /&gt;
Lines for shared objects in the .stg file look like this:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;prettytable&amp;quot; border=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; bordercolor=&amp;quot;black&amp;quot;&amp;gt;&lt;br /&gt;
|OBJECT_SHARED&lt;br /&gt;
|Models/Misc/trigpoint.xml &lt;br /&gt;
|&amp;lt;nowiki&amp;gt;-122.377127&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
|37.71570833&lt;br /&gt;
|1.756719854&lt;br /&gt;
|20&lt;br /&gt;
|- &lt;br /&gt;
|Type&lt;br /&gt;
|filename path&lt;br /&gt;
|Longitude&lt;br /&gt;
|Latitude&lt;br /&gt;
|Elevation&lt;br /&gt;
|Heading&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The filename path is relative to &amp;lt;code&amp;gt;$FG_ROOT&amp;lt;/code&amp;gt;.  Longitude and latitude are expressed as decimal numbers (not degrees/minutes/seconds), with negative values representing west and south.  Elevation is in meters above mean sea-level.  Heading is in degrees, '''counter-clockwise''' from North as 0.0 (i.e. when looking from above).  Note that this is opposite from headings in other places in FlightGear, which are clockwise.&lt;br /&gt;
&lt;br /&gt;
Some more examples:&lt;br /&gt;
&lt;br /&gt;
 OBJECT_SHARED Models/MidAtl/cape-may-light.ac   -74.959970 38.933332 -93.0 0.00&lt;br /&gt;
 OBJECT_SHARED Models/Airport/windsock.xml -122.360843 37.613877 1 0&lt;br /&gt;
 OBJECT_SHARED Models/Structures/vordme.xml -122.37389 37.61948 -0.404 0&lt;br /&gt;
&lt;br /&gt;
== XML file format ==&lt;br /&gt;
Alternately, there is a way to include this same information in XML configuration files that are loaded at runtime; see [[Howto: Place 3D objects with the UFO]] or &amp;lt;code&amp;gt;$FG_ROOT/Docs/README.scenery&amp;lt;/code&amp;gt; for more details.  This approach has the advantage of keeping your new scenery clearly separate from the standard scenery files without having to create your own custom scenery directory structure.  Further, you can then manually control whether or not to load it at run-time, using the --config option on the command line. You can also include it in one of the standard startup files (such as [[Fgfsrc|.fgfsrc]]) but this will load it into memory every time you start FG, whether or not you are flying in the area.  If you place the scenery information in .stg files, it is only loaded into memory when needed.&lt;br /&gt;
&lt;br /&gt;
[[Category:Howto|Add shared models manually]]&lt;br /&gt;
[[Category:Scenery enhancement|Add shared models manually]]&lt;/div&gt;</summary>
		<author><name>AlbertBickford</name></author>
	</entry>
	<entry>
		<id>https://wiki.flightgear.org/w/index.php?title=Howto:Add_shared_models_manually&amp;diff=30298</id>
		<title>Howto:Add shared models manually</title>
		<link rel="alternate" type="text/html" href="https://wiki.flightgear.org/w/index.php?title=Howto:Add_shared_models_manually&amp;diff=30298"/>
		<updated>2011-03-15T13:55:35Z</updated>

		<summary type="html">&lt;p&gt;AlbertBickford: replace &amp;lt;tt&amp;gt; with &amp;lt;code&amp;gt;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;You can add objects to FlightGear's world by making use of &amp;quot;models&amp;quot; of those objects.  This howto explains one way to do so, especially with the shared models that are distributed with FlightGear.  These models are called &amp;quot;shared&amp;quot; because they are used to define many objects in different places.  (There are also &amp;quot;static models&amp;quot; which represent unique objects, such as famous buildings, that only exist in one place, but we won't have much to say about them.)  Shared models are stored in the &amp;lt;code&amp;gt;[[$FG_ROOT]]/Models&amp;lt;/code&amp;gt; directory.&lt;br /&gt;
&lt;br /&gt;
You can also create your own models; see [[Modeling - Getting Started]].  Most Flightgear models are in the .ac (AC3D) format.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Using Shared Models to Add Objects to FlightGear's World ==&lt;br /&gt;
&lt;br /&gt;
=== Step 1 ===&lt;br /&gt;
If you plan to use one of the standard FG shared models, skip to step 4.&lt;br /&gt;
&lt;br /&gt;
If you have created your own model, create a new directory for it under &amp;lt;code&amp;gt;[[$FG_ROOT]]/Models&amp;lt;/code&amp;gt; (to keep your models separate from the standard ones).  We'll use &amp;lt;code&amp;gt;$FG_ROOT/Models/MyModels&amp;lt;/code&amp;gt; as an example.&lt;br /&gt;
&lt;br /&gt;
=== Step 2 ===&lt;br /&gt;
Copy the file (usually has an .ac extension) containing your model into the &amp;lt;code&amp;gt;$FG_ROOT/Models/MyModels&amp;lt;/code&amp;gt; directory. We'll use &amp;lt;code&amp;gt;MyModel.ac&amp;lt;/code&amp;gt; as the name of that file.&lt;br /&gt;
&lt;br /&gt;
=== Step 3 (optional) ===&lt;br /&gt;
If you intend to include animation, create an XML file called &amp;lt;code&amp;gt;MyModel.xml&amp;lt;/code&amp;gt; inside the &amp;lt;code&amp;gt;$FG_ROOT/Models/MyModels&amp;lt;/code&amp;gt; directory with the following contents:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;?xml version=&amp;quot;1.0&amp;quot;?&amp;gt;&lt;br /&gt;
 &amp;lt;PropertyList&amp;gt;&lt;br /&gt;
  &amp;lt;path&amp;gt;MyModel.ac&amp;lt;/path&amp;gt;&lt;br /&gt;
  &amp;lt;animation&amp;gt;&lt;br /&gt;
   &amp;lt;type&amp;gt;range&amp;lt;/type&amp;gt;&lt;br /&gt;
   &amp;lt;min-m&amp;gt;0&amp;lt;/min-m&amp;gt;&lt;br /&gt;
   &amp;lt;max-m&amp;gt;20000&amp;lt;/max-m&amp;gt;&lt;br /&gt;
  &amp;lt;/animation&amp;gt;&lt;br /&gt;
 &amp;lt;/PropertyList&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This file references the .ac model file and tells FlightGear that it must be visible from 0 meters up to 20 km.&lt;br /&gt;
&lt;br /&gt;
An XML file is only necessary if you are intending to include animation; it is not required to render a model at a fixed location in FlightGear. &lt;br /&gt;
&lt;br /&gt;
=== Step 4 ===&lt;br /&gt;
Next, you have to determine where to place your object in FG's world.&lt;br /&gt;
&lt;br /&gt;
Useful resources at this stage are websites that allow you to get the coordinates of a point from aerial photographs.  One such is [http://itouchmap.com/ itouchmap.com], which relies on Google Maps.  Enter a street name, city, and state. When you get a good photo of your feature, click on map to place a marker there, then read the displayed coordinates.  Google Earth is also a good way to obtain position information, and there are other websites that will provide it also, or you can get it from a GPS.  (Coordinates of real-world locations are not copyrightable, so there is no legal problem with using these tools to find coordinates, but don't copy other content, such as images or models.)&lt;br /&gt;
&lt;br /&gt;
Once you've got at least a rough idea of the coordinates, you need to place the object visually. &lt;br /&gt;
&lt;br /&gt;
One easy way do this is with the [[UFO]]. In addition to making it easy to move around (or hover), it allows you to place objects and see what they look like there.  See [[Howto: Place 3D objects with the UFO]].  Another easy way is with the [[FlightGear Scenery Designer]].  Both tools calculate the positioning details for you and write them out in the correct format.  &lt;br /&gt;
&lt;br /&gt;
Here, though, we'll continue by describing a manual way to do it, for people who may need or want to know the inside details.  &lt;br /&gt;
&lt;br /&gt;
Start FG and fly to the location where you want to place the object (or use [[command line options]] to start in that location). Open up the property browser in FG (File-&amp;gt;Browse Internal Properties), and the &amp;lt;code&amp;gt;/position&amp;lt;/code&amp;gt; key.  Check that the values for &amp;lt;code&amp;gt;latitude-deg&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;longitude-deg&amp;lt;/code&amp;gt; are what you want, or write them down if you're positioning things visually, and also note the &amp;lt;code&amp;gt;ground-elev-m&amp;lt;/code&amp;gt;. If you want to place the object above ground level (or partially bury it), then adjust the number appropriately.  Then, go to the &amp;lt;code&amp;gt;/environment&amp;lt;/code&amp;gt; key and write down the tile number (current-tile-id) for that location.&lt;br /&gt;
&lt;br /&gt;
=== Step 5 ===&lt;br /&gt;
Next, locate a .stg file into which you will place a reference to the object's model and its position. &lt;br /&gt;
&lt;br /&gt;
The .stg files are named according to tile number and stored under the scenery directories.  The default installation places a limited amount of scenery (for the area around San Francisco) in &amp;lt;code&amp;gt;[[$FG_ROOT]]/scenery&amp;lt;/code&amp;gt; but you may have scenery in other directories, as specified in &amp;lt;code&amp;gt;[[$FG_SCENERY]]&amp;lt;/code&amp;gt;.  (See [[Howto: Install scenery]].)  Under each scenery directory, you will find directories called &amp;lt;code&amp;gt;Objects&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;Terrain&amp;lt;/code&amp;gt;, and under them directories that group tiles into larger and smaller quadrants.  Thus, if the tile number is 942058, you will find &amp;lt;code&amp;gt;942058.stg&amp;lt;/code&amp;gt; under &amp;lt;code&amp;gt;$FG_ROOT&amp;lt;/code&amp;gt; as &amp;lt;code&amp;gt;$FG_Root/Scenery/Objects/w130n30/w123n37/942058.stg&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
There is generally more than one .stg file for a given tile, in different directories.  It's important to edit one that will actually be read by flightgear (see below).  One thing you can do is create a personal customized scenery directory separate from the standard installation.  That way, if you upgrade FG your customizations won't get overwritten.  If you create such a directory, list it first in &amp;lt;code&amp;gt;[[$FG_SCENERY]]&amp;lt;/code&amp;gt;, create a directory structure inside it parallel to the one in the standard scenery story, and create a .stg file in the appropriate place. Similarly, it is best not to edit the .stg files in the folder where [[TerraSync]] stores the scenery it has fetched, since TerraSync may overwrite them with newer versions.  Objects associated with airports are usually put into a .stg file under a &amp;quot;Terrain&amp;quot; directory; other objects are put under &amp;quot;Objects&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
=== Step 6 ===&lt;br /&gt;
Add the following lines to the stg file you've chosen, replacing the parameters with your own :&lt;br /&gt;
&lt;br /&gt;
 OBJECT_SHARED Models/MyModels/MyModel.xml -55.5 30.3 1000.0 0.00 &lt;br /&gt;
&lt;br /&gt;
In brief, the format is :&lt;br /&gt;
 type path longitude latitude altitude rotation&lt;br /&gt;
&lt;br /&gt;
* Most of the time you'll use OBJECT_SHARED as the type; this is for models that are used over and over again in many places, and are normally fetched from &amp;lt;code&amp;gt;$FG_ROOT/Models&amp;lt;/code&amp;gt;.  (If you have a one-of-a-kind object, you might want to use OBJECT_STATIC instead; see an explanation of it in &amp;lt;code&amp;gt;$FG_ROOT/Docs/README.scenery&amp;lt;/code&amp;gt;.)&lt;br /&gt;
* The path points to the file that contains the model, relative to the $FG_ROOT directory. If you have an XML file for the model, specify it here, otherwise specify the .ac file.  &lt;br /&gt;
* Latitude and longitude are in decimal degrees.&lt;br /&gt;
* Altitude is in meters above mean sea level.  &lt;br /&gt;
* Rotation is '''counter-clockwise''' from north (not clockwise as in the rest of FG).&lt;br /&gt;
&lt;br /&gt;
There are more details on the .stg file format below.&lt;br /&gt;
&lt;br /&gt;
=== Step 7 ===&lt;br /&gt;
Restart FG and fly to where you added the model (or use [[command line|command-line options]] to start it with that location as the initial location); it should be there.  Check it's location and orientation, make any necessary changes in the .stg file, then exit and restart FG to check it again.&lt;br /&gt;
&lt;br /&gt;
== STG file format ==&lt;br /&gt;
There is documention for the .stg files used by FlightGear in &amp;lt;code&amp;gt;$FG_ROOT/Docs/README.scenery&amp;lt;/code&amp;gt;.  Only information relevant for placing shared objects is included here.&lt;br /&gt;
&lt;br /&gt;
Scenery files are loaded by default from &amp;lt;code&amp;gt;[[$FG_ROOT]]/Scenery&amp;lt;/code&amp;gt;.  Alternate locations (a &amp;quot;scenery path&amp;quot;) can be specified in &amp;lt;code&amp;gt;[[$FG_SCENERY]]&amp;lt;/code&amp;gt; (or from the command line); the first-named directories have highest priority.  Thus, if you create a local directory for storing custom scenery you create, include it first in the scenery path.&lt;br /&gt;
&lt;br /&gt;
Lines for shared objects in the .stg file look like this:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;prettytable&amp;quot; border=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; bordercolor=&amp;quot;black&amp;quot;&amp;gt;&lt;br /&gt;
|OBJECT_SHARED&lt;br /&gt;
|Models/Misc/trigpoint.xml &lt;br /&gt;
|&amp;lt;nowiki&amp;gt;-122.377127&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
|37.71570833&lt;br /&gt;
|1.756719854&lt;br /&gt;
|20&lt;br /&gt;
|- &lt;br /&gt;
|Type&lt;br /&gt;
|filename path&lt;br /&gt;
|Longitude&lt;br /&gt;
|Latitude&lt;br /&gt;
|Elevation&lt;br /&gt;
|Heading&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The filename path is relative to &amp;lt;code&amp;gt;$FG_ROOT&amp;lt;/code&amp;gt;.  Longitude and latitude are expressed as decimal numbers (not degrees/minutes/seconds), with negative values representing west and south.  Elevation is in meters above mean sea-level.  Heading is in degrees, '''counter-clockwise''' from North as 0.0 (i.e. when looking from above).  Note that this is opposite from headings in other places in FlightGear, which are clockwise.&lt;br /&gt;
&lt;br /&gt;
Some more examples:&lt;br /&gt;
&lt;br /&gt;
 OBJECT_SHARED Models/MidAtl/cape-may-light.ac   -74.959970 38.933332 -93.0 0.00&lt;br /&gt;
 OBJECT_SHARED Models/Airport/windsock.xml -122.360843 37.613877 1 0&lt;br /&gt;
 OBJECT_SHARED Models/Structures/vordme.xml -122.37389 37.61948 -0.404 0&lt;br /&gt;
&lt;br /&gt;
== XML file format ==&lt;br /&gt;
Alternately, there is a way to include this same information in XML configuration files that are loaded at runtime; see [[Howto: Place 3D objects with the UFO]] or &amp;lt;code&amp;gt;$FG_ROOT/Docs/README.scenery&amp;lt;/code&amp;gt; for more details.  This approach has the advantage of keeping your new scenery clearly separate from the standard scenery files without having to create your own custom scenery directory structure.  Further, you can then manually control whether or not to load it at run-time, using the --config option on the command line. You can also include it in one of the standard startup files (such as [[Fgfsrc|.fgfsrc]]) but this will load it into memory every time you start FG, whether or not you are flying in the area.  If you place the scenery information in .stg files, it is only loaded into memory when needed.&lt;br /&gt;
&lt;br /&gt;
[[Category:Howto|Add shared models manually]]&lt;br /&gt;
[[Category:Scenery enhancement|Add shared models manually]]&lt;/div&gt;</summary>
		<author><name>AlbertBickford</name></author>
	</entry>
	<entry>
		<id>https://wiki.flightgear.org/w/index.php?title=Howto:Add_shared_models_manually&amp;diff=30297</id>
		<title>Howto:Add shared models manually</title>
		<link rel="alternate" type="text/html" href="https://wiki.flightgear.org/w/index.php?title=Howto:Add_shared_models_manually&amp;diff=30297"/>
		<updated>2011-03-15T13:49:00Z</updated>

		<summary type="html">&lt;p&gt;AlbertBickford: /* Step 4 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;You can add objects to FlightGear's world by making use of &amp;quot;models&amp;quot; of those objects.  This howto explains one way to do so, especially with the shared models that are distributed with FlightGear.  These models are called &amp;quot;shared&amp;quot; because they are used to define many objects in different places.  (There are also &amp;quot;static models&amp;quot; which represent unique objects, such as famous buildings, that only exist in one place, but we won't have much to say about them.)  Shared models are stored in the &amp;lt;tt&amp;gt;[[$FG_ROOT]]/Models&amp;lt;/tt&amp;gt; directory.&lt;br /&gt;
&lt;br /&gt;
You can also create your own models; see [[Modeling - Getting Started]].  Most Flightgear models are in the .ac (AC3D) format.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Using Shared Models to Add Objects to FlightGear's World ==&lt;br /&gt;
&lt;br /&gt;
=== Step 1 ===&lt;br /&gt;
If you plan to use one of the standard FG shared models, skip to step 4.&lt;br /&gt;
&lt;br /&gt;
If you have created your own model, create a new directory for it under &amp;lt;tt&amp;gt;[[$FG_ROOT]]/Models&amp;lt;/tt&amp;gt; (to keep your models separate from the standard ones).  We'll use &amp;lt;tt&amp;gt;$FG_ROOT/Models/MyModels&amp;lt;/tt&amp;gt; as an example.&lt;br /&gt;
&lt;br /&gt;
=== Step 2 ===&lt;br /&gt;
Copy the file (usually has an .ac extension) containing your model into the &amp;lt;tt&amp;gt;$FG_ROOT/Models/MyModels&amp;lt;/tt&amp;gt; directory. We'll use &amp;lt;tt&amp;gt;MyModel.ac&amp;lt;/tt&amp;gt; as the name of that file.&lt;br /&gt;
&lt;br /&gt;
=== Step 3 (optional) ===&lt;br /&gt;
If you intend to include animation, create an XML file called &amp;lt;tt&amp;gt;MyModel.xml&amp;lt;/tt&amp;gt; inside the &amp;lt;tt&amp;gt;$FG_ROOT/Models/MyModels&amp;lt;/tt&amp;gt; directory with the following contents:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;?xml version=&amp;quot;1.0&amp;quot;?&amp;gt;&lt;br /&gt;
 &amp;lt;PropertyList&amp;gt;&lt;br /&gt;
  &amp;lt;path&amp;gt;MyModel.ac&amp;lt;/path&amp;gt;&lt;br /&gt;
  &amp;lt;animation&amp;gt;&lt;br /&gt;
   &amp;lt;type&amp;gt;range&amp;lt;/type&amp;gt;&lt;br /&gt;
   &amp;lt;min-m&amp;gt;0&amp;lt;/min-m&amp;gt;&lt;br /&gt;
   &amp;lt;max-m&amp;gt;20000&amp;lt;/max-m&amp;gt;&lt;br /&gt;
  &amp;lt;/animation&amp;gt;&lt;br /&gt;
 &amp;lt;/PropertyList&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This file references the .ac model file and tells FlightGear that it must be visible from 0 meters up to 20 km.&lt;br /&gt;
&lt;br /&gt;
An XML file is only necessary if you are intending to include animation; it is not required to render a model at a fixed location in FlightGear. &lt;br /&gt;
&lt;br /&gt;
=== Step 4 ===&lt;br /&gt;
Next, you have to determine where to place your object in FG's world.&lt;br /&gt;
&lt;br /&gt;
Useful resources at this stage are websites that allow you to get the coordinates of a point from aerial photographs.  One such is [http://itouchmap.com/ itouchmap.com], which relies on Google Maps.  Enter a street name, city, and state. When you get a good photo of your feature, click on map to place a marker there, then read the displayed coordinates.  Google Earth is also a good way to obtain position information, and there are other websites that will provide it also, or you can get it from a GPS.  (Coordinates of real-world locations are not copyrightable, so there is no legal problem with using these tools to find coordinates, but don't copy other content, such as images or models.)&lt;br /&gt;
&lt;br /&gt;
Once you've got at least a rough idea of the coordinates, you need to place the object visually. &lt;br /&gt;
&lt;br /&gt;
One easy way do this is with the [[UFO]]. In addition to making it easy to move around (or hover), it allows you to place objects and see what they look like there.  See [[Howto: Place 3D objects with the UFO]].  Another easy way is with the [[FlightGear Scenery Designer]].  Both tools calculate the positioning details for you and write them out in the correct format.  &lt;br /&gt;
&lt;br /&gt;
Here, though, we'll continue by describing a manual way to do it, for people who may need or want to know the inside details.  &lt;br /&gt;
&lt;br /&gt;
Start FG and fly to the location where you want to place the object (or use [[command line options]] to start in that location). Open up the property browser in FG (File-&amp;gt;Browse Internal Properties), and the &amp;lt;tt&amp;gt;/position&amp;lt;/tt&amp;gt; key.  Check that the values for &amp;lt;tt&amp;gt;latitude-deg&amp;lt;/tt&amp;gt; and &amp;lt;tt&amp;gt;longitude-deg&amp;lt;/tt&amp;gt; are what you want, or write them down if you're positioning things visually, and also note the &amp;lt;tt&amp;gt;ground-elev-m&amp;lt;/tt&amp;gt;. If you want to place the object above ground level (or partially bury it), then adjust the number appropriately.  Then, go to the &amp;lt;tt&amp;gt;/environment&amp;lt;/tt&amp;gt; key and write down the tile number (current-tile-id) for that location.&lt;br /&gt;
&lt;br /&gt;
=== Step 5 ===&lt;br /&gt;
Next, locate a .stg file into which you will place a reference to the object's model and its position. &lt;br /&gt;
&lt;br /&gt;
The .stg files are named according to tile number and stored under the scenery directories.  The default installation places a limited amount of scenery (for the area around San Francisco) in &amp;lt;tt&amp;gt;[[$FG_ROOT]]/scenery&amp;lt;/tt&amp;gt; but you may have scenery in other directories, as specified in &amp;lt;tt&amp;gt;[[$FG_SCENERY]]&amp;lt;/tt&amp;gt;.  (See [[Howto: Install scenery]].)  Under each scenery directory, you will find directories called &amp;lt;tt&amp;gt;Objects&amp;lt;/tt&amp;gt; and &amp;lt;tt&amp;gt;Terrain&amp;lt;/tt&amp;gt;, and under them directories that group tiles into larger and smaller quadrants.  Thus, if the tile number is 942058, you will find &amp;lt;tt&amp;gt;942058.stg&amp;lt;/tt&amp;gt; under &amp;lt;tt&amp;gt;$FG_ROOT&amp;lt;/tt&amp;gt; as &amp;lt;tt&amp;gt;$FG_Root/Scenery/Objects/w130n30/w123n37/942058.stg&amp;lt;/tt&amp;gt; (and possibly elsewhere).&lt;br /&gt;
&lt;br /&gt;
There is generally more than one .stg file for a given tile, in different directories.  It's important to edit one that will actually be read by flightgear (see below).  One thing you can do is create a personal customized scenery directory separate from the standard installation.  That way, if you upgrade FG your customizations won't get overwritten.  If you create such a directory, list it first in &amp;lt;tt&amp;gt;[[$FG_SCENERY]]&amp;lt;/tt&amp;gt;, create a directory structure inside it parallel to the one in the standard scenery story, and create a .stg file in the appropriate place. Similarly, it is best not to edit the .stg files in the folder where [[TerraSync]] stores the scenery it has fetched, since TerraSync may overwrite them with newer versions.  Objects associated with airports are usually put into a .stg file under a &amp;quot;Terrain&amp;quot; directory; other objects are put under &amp;quot;Objects&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
=== Step 6 ===&lt;br /&gt;
Add the following lines to the stg file you've chosen, replacing the parameters with your own :&lt;br /&gt;
&lt;br /&gt;
 OBJECT_SHARED Models/MyModels/MyModel.xml -55.5 30.3 1000.0 0.00 &lt;br /&gt;
&lt;br /&gt;
In brief, the format is :&lt;br /&gt;
 type path longitude latitude altitude rotation&lt;br /&gt;
&lt;br /&gt;
* Most of the time you'll use OBJECT_SHARED as the type; this is for models that are used over and over again in many places, and are normally fetched from &amp;lt;tt&amp;gt;$FG_ROOT/Models&amp;lt;/tt&amp;gt;.  (If you have a one-of-a-kind object, you might want to use OBJECT_STATIC instead; see an explanation of it in &amp;lt;tt&amp;gt;$FG_ROOT/Docs/README.scenery&amp;lt;/tt&amp;gt;.)&lt;br /&gt;
* The path points to the file that contains the model, relative to the $FG_ROOT directory. If you have an XML file for the model, specify it here, otherwise specify the .ac file.  &lt;br /&gt;
* Latitude and longitude are in decimal degrees.&lt;br /&gt;
* Altitude is in meters above mean sea level.  &lt;br /&gt;
* Rotation is '''counter-clockwise''' from north (not clockwise as in the rest of FG).&lt;br /&gt;
&lt;br /&gt;
There are more details on the .stg file format below.&lt;br /&gt;
&lt;br /&gt;
=== Step 7 ===&lt;br /&gt;
Restart FG and fly to where you added the model (or use [[command line|command-line options]] to start it with that location as the initial location); it should be there.  Check it's location and orientation, make any necessary changes in the .stg file, then exit and restart FG to check it again.&lt;br /&gt;
&lt;br /&gt;
== STG file format ==&lt;br /&gt;
There is documention for the .stg files used by FlightGear in &amp;lt;tt&amp;gt;$FG_ROOT/Docs/README.scenery&amp;lt;/tt&amp;gt;.  Only information relevant for placing shared objects is included here.&lt;br /&gt;
&lt;br /&gt;
Scenery files are loaded by default from &amp;lt;tt&amp;gt;[[$FG_ROOT]]/Scenery&amp;lt;/tt&amp;gt;.  Alternate locations (a &amp;quot;scenery path&amp;quot;) can be specified in &amp;lt;tt&amp;gt;[[$FG_SCENERY]]&amp;lt;/tt&amp;gt; (or from the command line); the first-named directories have highest priority.  Thus, if you create a local directory for storing custom scenery you create, include it first in the scenery path.&lt;br /&gt;
&lt;br /&gt;
Lines for shared objects in the .stg file look like this:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;prettytable&amp;quot; border=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; bordercolor=&amp;quot;black&amp;quot;&amp;gt;&lt;br /&gt;
|OBJECT_SHARED&lt;br /&gt;
|Models/Misc/trigpoint.xml &lt;br /&gt;
|&amp;lt;nowiki&amp;gt;-122.377127&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
|37.71570833&lt;br /&gt;
|1.756719854&lt;br /&gt;
|20&lt;br /&gt;
|- &lt;br /&gt;
|Type&lt;br /&gt;
|filename path&lt;br /&gt;
|Longitude&lt;br /&gt;
|Latitude&lt;br /&gt;
|Elevation&lt;br /&gt;
|Heading&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The filename path is relative to &amp;lt;tt&amp;gt;$FG_ROOT&amp;lt;/tt&amp;gt;.  Longitude and latitude are expressed as decimal numbers (not degrees/minutes/seconds), with negative values representing west and south.  Elevation is in meters above mean sea-level.  Heading is in degrees, '''counter-clockwise''' from North as 0.0 (i.e. when looking from above).  Note that this is opposite from headings in other places in FlightGear, which are clockwise.&lt;br /&gt;
&lt;br /&gt;
Some more examples:&lt;br /&gt;
&lt;br /&gt;
 OBJECT_SHARED Models/MidAtl/cape-may-light.ac   -74.959970 38.933332 -93.0 0.00&lt;br /&gt;
 OBJECT_SHARED Models/Airport/windsock.xml -122.360843 37.613877 1 0&lt;br /&gt;
 OBJECT_SHARED Models/Structures/vordme.xml -122.37389 37.61948 -0.404 0&lt;br /&gt;
&lt;br /&gt;
== XML file format ==&lt;br /&gt;
Alternately, there is a way to include this same information in XML configuration files that are loaded at runtime; see [[Howto: Place 3D objects with the UFO]] or &amp;lt;tt&amp;gt;$FG_ROOT/Docs/README.scenery&amp;lt;/tt&amp;gt; for more details.  This approach has the advantage of keeping your new scenery clearly separate from the standard scenery files without having to create your own custom scenery directory structure.  Further, you can then manually control whether or not to load it at run-time, using the --config option on the command line. You can also include it in one of the standard startup files (such as [[Fgfsrc|.fgfsrc]]) but this will load it into memory every time you start FG, whether or not you are flying in the area.  If you place the scenery information in .stg files, it is only loaded into memory when needed.&lt;br /&gt;
&lt;br /&gt;
[[Category:Howto|Add shared models manually]]&lt;br /&gt;
[[Category:Scenery enhancement|Add shared models manually]]&lt;/div&gt;</summary>
		<author><name>AlbertBickford</name></author>
	</entry>
	<entry>
		<id>https://wiki.flightgear.org/w/index.php?title=Howto:Add_shared_models_manually&amp;diff=30296</id>
		<title>Howto:Add shared models manually</title>
		<link rel="alternate" type="text/html" href="https://wiki.flightgear.org/w/index.php?title=Howto:Add_shared_models_manually&amp;diff=30296"/>
		<updated>2011-03-15T13:47:58Z</updated>

		<summary type="html">&lt;p&gt;AlbertBickford: /* Step 4 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;You can add objects to FlightGear's world by making use of &amp;quot;models&amp;quot; of those objects.  This howto explains one way to do so, especially with the shared models that are distributed with FlightGear.  These models are called &amp;quot;shared&amp;quot; because they are used to define many objects in different places.  (There are also &amp;quot;static models&amp;quot; which represent unique objects, such as famous buildings, that only exist in one place, but we won't have much to say about them.)  Shared models are stored in the &amp;lt;tt&amp;gt;[[$FG_ROOT]]/Models&amp;lt;/tt&amp;gt; directory.&lt;br /&gt;
&lt;br /&gt;
You can also create your own models; see [[Modeling - Getting Started]].  Most Flightgear models are in the .ac (AC3D) format.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Using Shared Models to Add Objects to FlightGear's World ==&lt;br /&gt;
&lt;br /&gt;
=== Step 1 ===&lt;br /&gt;
If you plan to use one of the standard FG shared models, skip to step 4.&lt;br /&gt;
&lt;br /&gt;
If you have created your own model, create a new directory for it under &amp;lt;tt&amp;gt;[[$FG_ROOT]]/Models&amp;lt;/tt&amp;gt; (to keep your models separate from the standard ones).  We'll use &amp;lt;tt&amp;gt;$FG_ROOT/Models/MyModels&amp;lt;/tt&amp;gt; as an example.&lt;br /&gt;
&lt;br /&gt;
=== Step 2 ===&lt;br /&gt;
Copy the file (usually has an .ac extension) containing your model into the &amp;lt;tt&amp;gt;$FG_ROOT/Models/MyModels&amp;lt;/tt&amp;gt; directory. We'll use &amp;lt;tt&amp;gt;MyModel.ac&amp;lt;/tt&amp;gt; as the name of that file.&lt;br /&gt;
&lt;br /&gt;
=== Step 3 (optional) ===&lt;br /&gt;
If you intend to include animation, create an XML file called &amp;lt;tt&amp;gt;MyModel.xml&amp;lt;/tt&amp;gt; inside the &amp;lt;tt&amp;gt;$FG_ROOT/Models/MyModels&amp;lt;/tt&amp;gt; directory with the following contents:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;?xml version=&amp;quot;1.0&amp;quot;?&amp;gt;&lt;br /&gt;
 &amp;lt;PropertyList&amp;gt;&lt;br /&gt;
  &amp;lt;path&amp;gt;MyModel.ac&amp;lt;/path&amp;gt;&lt;br /&gt;
  &amp;lt;animation&amp;gt;&lt;br /&gt;
   &amp;lt;type&amp;gt;range&amp;lt;/type&amp;gt;&lt;br /&gt;
   &amp;lt;min-m&amp;gt;0&amp;lt;/min-m&amp;gt;&lt;br /&gt;
   &amp;lt;max-m&amp;gt;20000&amp;lt;/max-m&amp;gt;&lt;br /&gt;
  &amp;lt;/animation&amp;gt;&lt;br /&gt;
 &amp;lt;/PropertyList&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This file references the .ac model file and tells FlightGear that it must be visible from 0 meters up to 20 km.&lt;br /&gt;
&lt;br /&gt;
An XML file is only necessary if you are intending to include animation; it is not required to render a model at a fixed location in FlightGear. &lt;br /&gt;
&lt;br /&gt;
=== Step 4 ===&lt;br /&gt;
Next, you have to determine where to place your object (an instance of the model) in FG's world.&lt;br /&gt;
&lt;br /&gt;
Useful resources at this stage are websites that allow you to get the coordinates of a point from aerial photographs.  One such is [http://itouchmap.com/ itouchmap.com], which relies on Google Maps.  Enter a street name, city, and state. When you get a good photo of your feature, click on map to place a marker there, then read the displayed coordinates.  Google Earth is also a good way to obtain position information, and there are other websites that will provide it also, or you can get it from a GPS.  (Coordinates of real-world locations are not copyrightable, so there is no legal problem with using these tools to find coordinates, but don't copy other content, such as images or models.)&lt;br /&gt;
&lt;br /&gt;
Once you've got at least a rough idea of the coordinates, you need to place the object visually. &lt;br /&gt;
&lt;br /&gt;
One easy way do this is with the [[UFO]]. In addition to making it easy to move around (or hover), it allows you to place objects and see what they look like there.  See [[Howto: Place 3D objects with the UFO]].  Another easy way is with the [[FlightGear Scenery Designer]].  Both tools calculate the positioning details for you and write them out in the correct format.  &lt;br /&gt;
&lt;br /&gt;
Here, though, we'll continue by describing a manual way to do it, for people who may need or want to know the inside details.  &lt;br /&gt;
&lt;br /&gt;
Start FG and fly to the location where you want to place the object (or use [[command line options]] to start in that location). Open up the property browser in FG (File-&amp;gt;Browse Internal Properties), and the &amp;lt;tt&amp;gt;/position&amp;lt;/tt&amp;gt; key.  Check that the values for &amp;lt;tt&amp;gt;latitude-deg&amp;lt;/tt&amp;gt; and &amp;lt;tt&amp;gt;longitude-deg&amp;lt;/tt&amp;gt; are what you want, or write them down if you're positioning things visually, and also note the &amp;lt;tt&amp;gt;ground-elev-m&amp;lt;/tt&amp;gt;. If you want to place the object above ground level (or partially bury it), then adjust the number appropriately.  Then, go to the &amp;lt;tt&amp;gt;/environment&amp;lt;/tt&amp;gt; key and write down the tile number (current-tile-id) for that location.&lt;br /&gt;
&lt;br /&gt;
=== Step 5 ===&lt;br /&gt;
Next, locate a .stg file into which you will place a reference to the object's model and its position. &lt;br /&gt;
&lt;br /&gt;
The .stg files are named according to tile number and stored under the scenery directories.  The default installation places a limited amount of scenery (for the area around San Francisco) in &amp;lt;tt&amp;gt;[[$FG_ROOT]]/scenery&amp;lt;/tt&amp;gt; but you may have scenery in other directories, as specified in &amp;lt;tt&amp;gt;[[$FG_SCENERY]]&amp;lt;/tt&amp;gt;.  (See [[Howto: Install scenery]].)  Under each scenery directory, you will find directories called &amp;lt;tt&amp;gt;Objects&amp;lt;/tt&amp;gt; and &amp;lt;tt&amp;gt;Terrain&amp;lt;/tt&amp;gt;, and under them directories that group tiles into larger and smaller quadrants.  Thus, if the tile number is 942058, you will find &amp;lt;tt&amp;gt;942058.stg&amp;lt;/tt&amp;gt; under &amp;lt;tt&amp;gt;$FG_ROOT&amp;lt;/tt&amp;gt; as &amp;lt;tt&amp;gt;$FG_Root/Scenery/Objects/w130n30/w123n37/942058.stg&amp;lt;/tt&amp;gt; (and possibly elsewhere).&lt;br /&gt;
&lt;br /&gt;
There is generally more than one .stg file for a given tile, in different directories.  It's important to edit one that will actually be read by flightgear (see below).  One thing you can do is create a personal customized scenery directory separate from the standard installation.  That way, if you upgrade FG your customizations won't get overwritten.  If you create such a directory, list it first in &amp;lt;tt&amp;gt;[[$FG_SCENERY]]&amp;lt;/tt&amp;gt;, create a directory structure inside it parallel to the one in the standard scenery story, and create a .stg file in the appropriate place. Similarly, it is best not to edit the .stg files in the folder where [[TerraSync]] stores the scenery it has fetched, since TerraSync may overwrite them with newer versions.  Objects associated with airports are usually put into a .stg file under a &amp;quot;Terrain&amp;quot; directory; other objects are put under &amp;quot;Objects&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
=== Step 6 ===&lt;br /&gt;
Add the following lines to the stg file you've chosen, replacing the parameters with your own :&lt;br /&gt;
&lt;br /&gt;
 OBJECT_SHARED Models/MyModels/MyModel.xml -55.5 30.3 1000.0 0.00 &lt;br /&gt;
&lt;br /&gt;
In brief, the format is :&lt;br /&gt;
 type path longitude latitude altitude rotation&lt;br /&gt;
&lt;br /&gt;
* Most of the time you'll use OBJECT_SHARED as the type; this is for models that are used over and over again in many places, and are normally fetched from &amp;lt;tt&amp;gt;$FG_ROOT/Models&amp;lt;/tt&amp;gt;.  (If you have a one-of-a-kind object, you might want to use OBJECT_STATIC instead; see an explanation of it in &amp;lt;tt&amp;gt;$FG_ROOT/Docs/README.scenery&amp;lt;/tt&amp;gt;.)&lt;br /&gt;
* The path points to the file that contains the model, relative to the $FG_ROOT directory. If you have an XML file for the model, specify it here, otherwise specify the .ac file.  &lt;br /&gt;
* Latitude and longitude are in decimal degrees.&lt;br /&gt;
* Altitude is in meters above mean sea level.  &lt;br /&gt;
* Rotation is '''counter-clockwise''' from north (not clockwise as in the rest of FG).&lt;br /&gt;
&lt;br /&gt;
There are more details on the .stg file format below.&lt;br /&gt;
&lt;br /&gt;
=== Step 7 ===&lt;br /&gt;
Restart FG and fly to where you added the model (or use [[command line|command-line options]] to start it with that location as the initial location); it should be there.  Check it's location and orientation, make any necessary changes in the .stg file, then exit and restart FG to check it again.&lt;br /&gt;
&lt;br /&gt;
== STG file format ==&lt;br /&gt;
There is documention for the .stg files used by FlightGear in &amp;lt;tt&amp;gt;$FG_ROOT/Docs/README.scenery&amp;lt;/tt&amp;gt;.  Only information relevant for placing shared objects is included here.&lt;br /&gt;
&lt;br /&gt;
Scenery files are loaded by default from &amp;lt;tt&amp;gt;[[$FG_ROOT]]/Scenery&amp;lt;/tt&amp;gt;.  Alternate locations (a &amp;quot;scenery path&amp;quot;) can be specified in &amp;lt;tt&amp;gt;[[$FG_SCENERY]]&amp;lt;/tt&amp;gt; (or from the command line); the first-named directories have highest priority.  Thus, if you create a local directory for storing custom scenery you create, include it first in the scenery path.&lt;br /&gt;
&lt;br /&gt;
Lines for shared objects in the .stg file look like this:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;prettytable&amp;quot; border=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; bordercolor=&amp;quot;black&amp;quot;&amp;gt;&lt;br /&gt;
|OBJECT_SHARED&lt;br /&gt;
|Models/Misc/trigpoint.xml &lt;br /&gt;
|&amp;lt;nowiki&amp;gt;-122.377127&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
|37.71570833&lt;br /&gt;
|1.756719854&lt;br /&gt;
|20&lt;br /&gt;
|- &lt;br /&gt;
|Type&lt;br /&gt;
|filename path&lt;br /&gt;
|Longitude&lt;br /&gt;
|Latitude&lt;br /&gt;
|Elevation&lt;br /&gt;
|Heading&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The filename path is relative to &amp;lt;tt&amp;gt;$FG_ROOT&amp;lt;/tt&amp;gt;.  Longitude and latitude are expressed as decimal numbers (not degrees/minutes/seconds), with negative values representing west and south.  Elevation is in meters above mean sea-level.  Heading is in degrees, '''counter-clockwise''' from North as 0.0 (i.e. when looking from above).  Note that this is opposite from headings in other places in FlightGear, which are clockwise.&lt;br /&gt;
&lt;br /&gt;
Some more examples:&lt;br /&gt;
&lt;br /&gt;
 OBJECT_SHARED Models/MidAtl/cape-may-light.ac   -74.959970 38.933332 -93.0 0.00&lt;br /&gt;
 OBJECT_SHARED Models/Airport/windsock.xml -122.360843 37.613877 1 0&lt;br /&gt;
 OBJECT_SHARED Models/Structures/vordme.xml -122.37389 37.61948 -0.404 0&lt;br /&gt;
&lt;br /&gt;
== XML file format ==&lt;br /&gt;
Alternately, there is a way to include this same information in XML configuration files that are loaded at runtime; see [[Howto: Place 3D objects with the UFO]] or &amp;lt;tt&amp;gt;$FG_ROOT/Docs/README.scenery&amp;lt;/tt&amp;gt; for more details.  This approach has the advantage of keeping your new scenery clearly separate from the standard scenery files without having to create your own custom scenery directory structure.  Further, you can then manually control whether or not to load it at run-time, using the --config option on the command line. You can also include it in one of the standard startup files (such as [[Fgfsrc|.fgfsrc]]) but this will load it into memory every time you start FG, whether or not you are flying in the area.  If you place the scenery information in .stg files, it is only loaded into memory when needed.&lt;br /&gt;
&lt;br /&gt;
[[Category:Howto|Add shared models manually]]&lt;br /&gt;
[[Category:Scenery enhancement|Add shared models manually]]&lt;/div&gt;</summary>
		<author><name>AlbertBickford</name></author>
	</entry>
	<entry>
		<id>https://wiki.flightgear.org/w/index.php?title=List_of_file_formats&amp;diff=30295</id>
		<title>List of file formats</title>
		<link rel="alternate" type="text/html" href="https://wiki.flightgear.org/w/index.php?title=List_of_file_formats&amp;diff=30295"/>
		<updated>2011-03-15T13:43:14Z</updated>

		<summary type="html">&lt;p&gt;AlbertBickford: /* *.stg */ added anchor to section&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== *.ac ==&lt;br /&gt;
This is the native format for 3D graphics written by the [http://www.ac3d.org/ AC3D] application (payware with free trial version). These files contains meshes, UV-mappings, texture paths and material definitions. The format is FlightGear's preferred (i.e. best supported) format. It's ASCII text and easy to edit by hand or via scripts. Many applications are able to import and/or export this format:&lt;br /&gt;
&lt;br /&gt;
=== [http://www.blender3d.org/ Blender] ===&lt;br /&gt;
See File-&amp;gt;Import/Export-&amp;gt;AC3d (*.ac). [[Blender]] is a free and very powerful (some say: too powerful) 3D editor.&lt;br /&gt;
&lt;br /&gt;
=== [http://www.openscenegraph.org/ Open Scenegraph Library] ===&lt;br /&gt;
The &amp;lt;tt&amp;gt;osgviewer&amp;lt;/tt&amp;gt; demo is very useful for quickly looking at models.&lt;br /&gt;
&lt;br /&gt;
=== [http://prettypoly.sourceforge.net/ ppe] ===&lt;br /&gt;
This is an unmaintained object editor that uses the same graphics library as FlightGear (plib). This has the advantage that objects look very much like in FlightGear (minus shader effects and shadows). Compiling ppe may be a challenge, though, and it's only useful for viewing, but hardly for editing objects.&lt;br /&gt;
&lt;br /&gt;
=== threedconvert ===&lt;br /&gt;
This is a converter for all plib supported 3D formats and comes with FlightGear (see utils/Modeller/3dconvert.cxx). It can read and write &amp;lt;tt&amp;gt;*.ac&amp;lt;/tt&amp;gt; files, but a written file may lack UV mapping or have other defects.&lt;br /&gt;
&lt;br /&gt;
== *.rgb ==&lt;br /&gt;
These files are texture files in [http://en.wikipedia.org/wiki/Silicon_Graphics SGI] Image Format. This format supports multiple layers, transparency, compression, indexed colors, 8 bits and 16 bits per plane. Files of this format use different extensions, often to indicate the image properties, but in fact it's always the same format. The &amp;quot;official&amp;quot; extensions is &amp;lt;tt&amp;gt;*.sgi&amp;lt;/tt&amp;gt;. Images with one layer are usually black/white (&amp;lt;tt&amp;gt;*.bw&amp;lt;/tt&amp;gt;) or a mere alpha layer (&amp;lt;tt&amp;gt;*.a&amp;lt;/tt&amp;gt;), with two layers black/white with alpha, with three layers red/green/blue (&amp;lt;tt&amp;gt;*.rgb&amp;lt;/tt&amp;gt;), and with four layers red/green/blue/alpha (&amp;lt;tt&amp;gt;*.rgba&amp;lt;/tt&amp;gt;). This, however, is only a convention and not mandated by the SGI image specification. SGI images can be uncompressed or [http://en.wikipedia.org/wiki/Run-length_encoding RLE-compressed], which is a lossless compression method.&lt;br /&gt;
&lt;br /&gt;
FlightGear uses [http://plib.sourceforge.net/ plib] to read SGI images. They must not use 16 bits per plane and must have side lengths of 2&amp;lt;sup&amp;gt;n&amp;lt;/sup&amp;gt;x2&amp;lt;sup&amp;gt;m&amp;lt;/sup&amp;gt; (powers of 2), the size must be at least 4 pixels when using compressed textures (automatic feature in the osg branch). For example: 64x64, 256x256 or 128x2048 (but textures have '''square''' size inside the graphic card so a 16x1024 texture is really a 1024x1024 texture). Note that other sizes will '''not''' work, and FlightGear will use a red/white chequered texture instead! FlightGear textures ''shall'' be RLE-compressed, and as 'aggressively' as possible.&lt;br /&gt;
&lt;br /&gt;
All better graphics applications should be able to read and write the format, but often they load SGI images without problems, but only write them properly when the &amp;lt;tt&amp;gt;*.sgi&amp;lt;/tt&amp;gt; extension is used. Here are some free applications that create SGI images, along with some usage notes:&lt;br /&gt;
&lt;br /&gt;
=== [http://www.gimp.org/ GIMP] ===&lt;br /&gt;
Either save the image with extension &amp;lt;tt&amp;gt;*.sgi&amp;lt;/tt&amp;gt; and rename it afterwards, or choose in the file dialog &amp;quot;Select Filetype&amp;quot; -&amp;gt; &amp;quot;Silicon Graphics IRIS image&amp;quot;. Save with &amp;quot;Aggressive RLE&amp;quot;. (The remark about SGI not supporting that is wrong. This is compliant with the file specification from SGI itself.)&lt;br /&gt;
&lt;br /&gt;
=== krita/kolourpaint ([http://www.kde.org/ KDE]) ===&lt;br /&gt;
KDE supports reading and writing of SGI images on the base library level, so ''all'' applications that can read/write images in general can also read/write SGI images. They are automatically saved in highest possible compression (more aggressive than GIMP :-)&lt;br /&gt;
&lt;br /&gt;
=== convert ([http://www.imagemagick.org/ ImageMagick]/[http://www.graphicsmagick.org/ GraphicsMagick]) ===&lt;br /&gt;
Like with [[GIMP]], it's necessary to either call the target file &amp;lt;tt&amp;gt;*.sgi&amp;lt;/tt&amp;gt; or to specify the file type explicitly via &amp;lt;tt&amp;gt;sgi:&amp;lt;/tt&amp;gt; prefix:&lt;br /&gt;
&lt;br /&gt;
 $ convert foo.png foo.sgi      # RIGHT&lt;br /&gt;
 $ convert foo.png sgi:foo.rgb  # RIGHT&lt;br /&gt;
 $ convert foo.png foo.rgb      # WRONG! This doesn't create an SGI image!&lt;br /&gt;
&lt;br /&gt;
This creates SGI images with RLE compression by default.&lt;br /&gt;
&lt;br /&gt;
Here is a bash script that you can run in the ./FlightGear/Aircraft directory to generate SGI image files for all of the PNG format files you have:&lt;br /&gt;
&lt;br /&gt;
 #!/bin/sh&lt;br /&gt;
 for PNG in $(find -name '*.png')&lt;br /&gt;
   do&lt;br /&gt;
   SUBDIR=$(dirname $PNG)&lt;br /&gt;
   FILEBASE=$(echo $PNG |awk -F / '{s=$(NF); n=split(s, sa, &amp;quot;.&amp;quot;); delete sa[n];  for(sk in sa) {printf(&amp;quot;%s.&amp;quot;,sa[sk])}}')&lt;br /&gt;
   RGB=&amp;quot;$SUBDIR/${FILEBASE}rgb&amp;quot;&lt;br /&gt;
   if [ ! -f $RGB ]&lt;br /&gt;
       then&lt;br /&gt;
       convert $PNG sgi:$RGB&lt;br /&gt;
   fi&lt;br /&gt;
 done&lt;br /&gt;
&lt;br /&gt;
== *.stg ==&lt;br /&gt;
&amp;lt;div id=&amp;quot;STG&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
This entry is copied from $FG_ROOT/Docs/README.scenery, which is part of FlightGear &amp;gt;0.9.10.&lt;br /&gt;
&lt;br /&gt;
stg files (&amp;quot;static terragear&amp;quot;) define the static elements of a scenery &amp;quot;tile&amp;quot;, including the terrain elevation data, airport geometry, and all static objects placed on this tile. Four of the available key words are followed by a string and four numbers. The meaning of these numbers is always the same and described under OBJECT_SHARED.&lt;br /&gt;
&lt;br /&gt;
=== OBJECT_BASE ===&lt;br /&gt;
specifies the terrain elevation data file. These files are generated by the [http://www.terragear.org/ TerraGear] using the [[BTG File Format|BTG file format]], and have file extension &amp;quot;.btg&amp;quot; (&amp;quot;binary terragear&amp;quot;; there used to be an &amp;quot;*.atg&amp;quot; file, too, where&lt;br /&gt;
the 'a' stood for ASCII). &lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&lt;br /&gt;
 OBJECT_BASE 942050.btg&lt;br /&gt;
&lt;br /&gt;
The entry may be anywhere in the 942050.stg file, on a separate line.&lt;br /&gt;
&lt;br /&gt;
=== OBJECT ===&lt;br /&gt;
specifies an airport geometry 'drop-in' file. The scenery elevation file has cut out holes for airports, that are filled with such objects. They are usually called after the airport ICAO id:&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&lt;br /&gt;
 OBJECT KSFO.btg&lt;br /&gt;
&lt;br /&gt;
These files are, again, created by TerraGear tools and are usually gzipped, so you'll find that file stored as KSFO.btg.gz.&lt;br /&gt;
&lt;br /&gt;
=== OBJECT_SHARED ===&lt;br /&gt;
add static object to the tile.&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&lt;br /&gt;
  OBJECT_SHARED Models/Airport/tower.xml -122.501090 37.514830 15.5 0.00&lt;br /&gt;
&lt;br /&gt;
Syntax:&lt;br /&gt;
&lt;br /&gt;
  OBJECT_SHARED &amp;lt;object-path&amp;gt; &amp;lt;longitude&amp;gt; &amp;lt;latitude&amp;gt; &amp;lt;elevation-m&amp;gt; &amp;lt;heading-deg&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;object-path&amp;gt; is relative to the data directory (FG_ROOT). &amp;lt;elevation-m&amp;gt; is in meter and relative to mean sea-level (in the fgfs world). &amp;lt;heading-deg&amp;gt; is in degree, counter-clockwise with North being 0.0. Note&lt;br /&gt;
that this differs from about every other place in FlightGear, most notably the /orientation/heading-deg entry in the property system, which is clockwise. OBJECT_SHARED models are cached and reused. They are only once in memory and never freed. (See also the next section.)&lt;br /&gt;
&lt;br /&gt;
=== OBJECT_STATIC ===&lt;br /&gt;
add static objects to the tile, just like OBJECT_SHARED. There are three differences to OBJECT_SHARED (apart from the name):&lt;br /&gt;
&lt;br /&gt;
* the path is relative to the tile directory where the *.stg file with this entry is located. For example, relative to 130n30/w123n37/. This usually means that all 3D object files, textures, and XML animation files are in this tile directory, too.&lt;br /&gt;
&lt;br /&gt;
* these objects are *not* cached and kept loaded, but rather freed with the tile (that is, when you leave that area).&lt;br /&gt;
&lt;br /&gt;
* the animation XML files may contain Nasal blocks &amp;lt;nasal&amp;gt;&amp;lt;load&amp;gt; and &amp;lt;nasal&amp;gt;&amp;lt;unload&amp;gt; which are executed on loading/unloading.&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&lt;br /&gt;
  OBJECT_STATIC ggb-fb.xml -122.4760494 37.81876042 0 105&lt;br /&gt;
&lt;br /&gt;
=== OBJECT_SIGN ===&lt;br /&gt;
{{main article|Signs}}&lt;br /&gt;
defines taxiway or runway sign. The syntax is like that of OBJECT_SHARED entries, except that the path is replaced with a sign contents specification. This specification will probably be changed. Look at $FG_ROOT/Docs/README.scenery if you need to use this entry.&lt;br /&gt;
&lt;br /&gt;
=== OBJECT_RUNWAY_SIGN ===&lt;br /&gt;
are experimental entries. Don't use them!&lt;br /&gt;
&lt;br /&gt;
== apt.dat ==&lt;br /&gt;
See [http://data.x-plane.com/file_specs/Apt810.htm X-Plane data file definitions - Airport data (apt.dat) 810 version]&lt;br /&gt;
&lt;br /&gt;
[[Category:List]]&lt;br /&gt;
[[Category:Software]]&lt;/div&gt;</summary>
		<author><name>AlbertBickford</name></author>
	</entry>
	<entry>
		<id>https://wiki.flightgear.org/w/index.php?title=Howto:Add_shared_models_manually&amp;diff=30294</id>
		<title>Howto:Add shared models manually</title>
		<link rel="alternate" type="text/html" href="https://wiki.flightgear.org/w/index.php?title=Howto:Add_shared_models_manually&amp;diff=30294"/>
		<updated>2011-03-15T13:38:59Z</updated>

		<summary type="html">&lt;p&gt;AlbertBickford: /* Step 4 */ added reference to fgsd, other minor rewording&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;You can add objects to FlightGear's world by making use of &amp;quot;models&amp;quot; of those objects.  This howto explains one way to do so, especially with the shared models that are distributed with FlightGear.  These models are called &amp;quot;shared&amp;quot; because they are used to define many objects in different places.  (There are also &amp;quot;static models&amp;quot; which represent unique objects, such as famous buildings, that only exist in one place, but we won't have much to say about them.)  Shared models are stored in the &amp;lt;tt&amp;gt;[[$FG_ROOT]]/Models&amp;lt;/tt&amp;gt; directory.&lt;br /&gt;
&lt;br /&gt;
You can also create your own models; see [[Modeling - Getting Started]].  Most Flightgear models are in the .ac (AC3D) format.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Using Shared Models to Add Objects to FlightGear's World ==&lt;br /&gt;
&lt;br /&gt;
=== Step 1 ===&lt;br /&gt;
If you plan to use one of the standard FG shared models, skip to step 4.&lt;br /&gt;
&lt;br /&gt;
If you have created your own model, create a new directory for it under &amp;lt;tt&amp;gt;[[$FG_ROOT]]/Models&amp;lt;/tt&amp;gt; (to keep your models separate from the standard ones).  We'll use &amp;lt;tt&amp;gt;$FG_ROOT/Models/MyModels&amp;lt;/tt&amp;gt; as an example.&lt;br /&gt;
&lt;br /&gt;
=== Step 2 ===&lt;br /&gt;
Copy the file (usually has an .ac extension) containing your model into the &amp;lt;tt&amp;gt;$FG_ROOT/Models/MyModels&amp;lt;/tt&amp;gt; directory. We'll use &amp;lt;tt&amp;gt;MyModel.ac&amp;lt;/tt&amp;gt; as the name of that file.&lt;br /&gt;
&lt;br /&gt;
=== Step 3 (optional) ===&lt;br /&gt;
If you intend to include animation, create an XML file called &amp;lt;tt&amp;gt;MyModel.xml&amp;lt;/tt&amp;gt; inside the &amp;lt;tt&amp;gt;$FG_ROOT/Models/MyModels&amp;lt;/tt&amp;gt; directory with the following contents:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;?xml version=&amp;quot;1.0&amp;quot;?&amp;gt;&lt;br /&gt;
 &amp;lt;PropertyList&amp;gt;&lt;br /&gt;
  &amp;lt;path&amp;gt;MyModel.ac&amp;lt;/path&amp;gt;&lt;br /&gt;
  &amp;lt;animation&amp;gt;&lt;br /&gt;
   &amp;lt;type&amp;gt;range&amp;lt;/type&amp;gt;&lt;br /&gt;
   &amp;lt;min-m&amp;gt;0&amp;lt;/min-m&amp;gt;&lt;br /&gt;
   &amp;lt;max-m&amp;gt;20000&amp;lt;/max-m&amp;gt;&lt;br /&gt;
  &amp;lt;/animation&amp;gt;&lt;br /&gt;
 &amp;lt;/PropertyList&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This file references the .ac model file and tells FlightGear that it must be visible from 0 meters up to 20 km.&lt;br /&gt;
&lt;br /&gt;
An XML file is only necessary if you are intending to include animation; it is not required to render a model at a fixed location in FlightGear. &lt;br /&gt;
&lt;br /&gt;
=== Step 4 ===&lt;br /&gt;
Next, you have to determine where to place an instance of the object in FG's world.&lt;br /&gt;
&lt;br /&gt;
A useful resource at this stage are websites that allow you to get the coordinates of a point from aerial photographs.  One such is [http://itouchmap.com/ itouchmap.com], which relies on Google Maps.  Enter a street name, city, and state. When you get a good photo of your feature, click on map to place a marker there, then read the displayed coordinates.  Google Earth is also a good way to obtain position information, and there are other websites that will provide it also, or you can get it from a GPS.  (Coordinates of real-world locations are not copyrightable, so there is no legal problem with using these tools, but don't copy other content, such as images or models!)&lt;br /&gt;
&lt;br /&gt;
Once you've got at least a rough idea of the coordinates, you need to place the object visually. &lt;br /&gt;
&lt;br /&gt;
One easy way do this is with the [[UFO]]. In addition to making it easy to move around (or hover), it allows you to place objects and see what they look like there.  See [[Howto: Place 3D objects with the UFO]].  Another easy way is with the [[FlightGear Scenery Designer]].  Both tools calculate the positioning details for you and write them out in the correct format.  &lt;br /&gt;
&lt;br /&gt;
Here, though, we'll continue by describing a manual way to do it, for people who may need or want to know the inside details.  &lt;br /&gt;
&lt;br /&gt;
Start FG and fly to the location where you want to place the object (or use [[command line options]] to start in that location). Open up the property browser in FG (File-&amp;gt;Browse Internal Properties), and the &amp;lt;tt&amp;gt;/position&amp;lt;/tt&amp;gt; key.  Check that the values for &amp;lt;tt&amp;gt;latitude-deg&amp;lt;/tt&amp;gt; and &amp;lt;tt&amp;gt;longitude-deg&amp;lt;/tt&amp;gt; are what you want, or write them down if you're positioning things visually, and also note the &amp;lt;tt&amp;gt;ground-elev-m&amp;lt;/tt&amp;gt;. If you want to place the object above ground level (or partially bury it), then adjust the number appropriately.  Then, go to the &amp;lt;tt&amp;gt;/environment&amp;lt;/tt&amp;gt; key and write down the tile number (current-tile-id) for that location.&lt;br /&gt;
&lt;br /&gt;
=== Step 5 ===&lt;br /&gt;
Next, locate a .stg file into which you will place a reference to the object's model and its position. &lt;br /&gt;
&lt;br /&gt;
The .stg files are named according to tile number and stored under the scenery directories.  The default installation places a limited amount of scenery (for the area around San Francisco) in &amp;lt;tt&amp;gt;[[$FG_ROOT]]/scenery&amp;lt;/tt&amp;gt; but you may have scenery in other directories, as specified in &amp;lt;tt&amp;gt;[[$FG_SCENERY]]&amp;lt;/tt&amp;gt;.  (See [[Howto: Install scenery]].)  Under each scenery directory, you will find directories called &amp;lt;tt&amp;gt;Objects&amp;lt;/tt&amp;gt; and &amp;lt;tt&amp;gt;Terrain&amp;lt;/tt&amp;gt;, and under them directories that group tiles into larger and smaller quadrants.  Thus, if the tile number is 942058, you will find &amp;lt;tt&amp;gt;942058.stg&amp;lt;/tt&amp;gt; under &amp;lt;tt&amp;gt;$FG_ROOT&amp;lt;/tt&amp;gt; as &amp;lt;tt&amp;gt;$FG_Root/Scenery/Objects/w130n30/w123n37/942058.stg&amp;lt;/tt&amp;gt; (and possibly elsewhere).&lt;br /&gt;
&lt;br /&gt;
There is generally more than one .stg file for a given tile, in different directories.  It's important to edit one that will actually be read by flightgear (see below).  One thing you can do is create a personal customized scenery directory separate from the standard installation.  That way, if you upgrade FG your customizations won't get overwritten.  If you create such a directory, list it first in &amp;lt;tt&amp;gt;[[$FG_SCENERY]]&amp;lt;/tt&amp;gt;, create a directory structure inside it parallel to the one in the standard scenery story, and create a .stg file in the appropriate place. Similarly, it is best not to edit the .stg files in the folder where [[TerraSync]] stores the scenery it has fetched, since TerraSync may overwrite them with newer versions.  Objects associated with airports are usually put into a .stg file under a &amp;quot;Terrain&amp;quot; directory; other objects are put under &amp;quot;Objects&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
=== Step 6 ===&lt;br /&gt;
Add the following lines to the stg file you've chosen, replacing the parameters with your own :&lt;br /&gt;
&lt;br /&gt;
 OBJECT_SHARED Models/MyModels/MyModel.xml -55.5 30.3 1000.0 0.00 &lt;br /&gt;
&lt;br /&gt;
In brief, the format is :&lt;br /&gt;
 type path longitude latitude altitude rotation&lt;br /&gt;
&lt;br /&gt;
* Most of the time you'll use OBJECT_SHARED as the type; this is for models that are used over and over again in many places, and are normally fetched from &amp;lt;tt&amp;gt;$FG_ROOT/Models&amp;lt;/tt&amp;gt;.  (If you have a one-of-a-kind object, you might want to use OBJECT_STATIC instead; see an explanation of it in &amp;lt;tt&amp;gt;$FG_ROOT/Docs/README.scenery&amp;lt;/tt&amp;gt;.)&lt;br /&gt;
* The path points to the file that contains the model, relative to the $FG_ROOT directory. If you have an XML file for the model, specify it here, otherwise specify the .ac file.  &lt;br /&gt;
* Latitude and longitude are in decimal degrees.&lt;br /&gt;
* Altitude is in meters above mean sea level.  &lt;br /&gt;
* Rotation is '''counter-clockwise''' from north (not clockwise as in the rest of FG).&lt;br /&gt;
&lt;br /&gt;
There are more details on the .stg file format below.&lt;br /&gt;
&lt;br /&gt;
=== Step 7 ===&lt;br /&gt;
Restart FG and fly to where you added the model (or use [[command line|command-line options]] to start it with that location as the initial location); it should be there.  Check it's location and orientation, make any necessary changes in the .stg file, then exit and restart FG to check it again.&lt;br /&gt;
&lt;br /&gt;
== STG file format ==&lt;br /&gt;
There is documention for the .stg files used by FlightGear in &amp;lt;tt&amp;gt;$FG_ROOT/Docs/README.scenery&amp;lt;/tt&amp;gt;.  Only information relevant for placing shared objects is included here.&lt;br /&gt;
&lt;br /&gt;
Scenery files are loaded by default from &amp;lt;tt&amp;gt;[[$FG_ROOT]]/Scenery&amp;lt;/tt&amp;gt;.  Alternate locations (a &amp;quot;scenery path&amp;quot;) can be specified in &amp;lt;tt&amp;gt;[[$FG_SCENERY]]&amp;lt;/tt&amp;gt; (or from the command line); the first-named directories have highest priority.  Thus, if you create a local directory for storing custom scenery you create, include it first in the scenery path.&lt;br /&gt;
&lt;br /&gt;
Lines for shared objects in the .stg file look like this:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;prettytable&amp;quot; border=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; bordercolor=&amp;quot;black&amp;quot;&amp;gt;&lt;br /&gt;
|OBJECT_SHARED&lt;br /&gt;
|Models/Misc/trigpoint.xml &lt;br /&gt;
|&amp;lt;nowiki&amp;gt;-122.377127&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
|37.71570833&lt;br /&gt;
|1.756719854&lt;br /&gt;
|20&lt;br /&gt;
|- &lt;br /&gt;
|Type&lt;br /&gt;
|filename path&lt;br /&gt;
|Longitude&lt;br /&gt;
|Latitude&lt;br /&gt;
|Elevation&lt;br /&gt;
|Heading&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The filename path is relative to &amp;lt;tt&amp;gt;$FG_ROOT&amp;lt;/tt&amp;gt;.  Longitude and latitude are expressed as decimal numbers (not degrees/minutes/seconds), with negative values representing west and south.  Elevation is in meters above mean sea-level.  Heading is in degrees, '''counter-clockwise''' from North as 0.0 (i.e. when looking from above).  Note that this is opposite from headings in other places in FlightGear, which are clockwise.&lt;br /&gt;
&lt;br /&gt;
Some more examples:&lt;br /&gt;
&lt;br /&gt;
 OBJECT_SHARED Models/MidAtl/cape-may-light.ac   -74.959970 38.933332 -93.0 0.00&lt;br /&gt;
 OBJECT_SHARED Models/Airport/windsock.xml -122.360843 37.613877 1 0&lt;br /&gt;
 OBJECT_SHARED Models/Structures/vordme.xml -122.37389 37.61948 -0.404 0&lt;br /&gt;
&lt;br /&gt;
== XML file format ==&lt;br /&gt;
Alternately, there is a way to include this same information in XML configuration files that are loaded at runtime; see [[Howto: Place 3D objects with the UFO]] or &amp;lt;tt&amp;gt;$FG_ROOT/Docs/README.scenery&amp;lt;/tt&amp;gt; for more details.  This approach has the advantage of keeping your new scenery clearly separate from the standard scenery files without having to create your own custom scenery directory structure.  Further, you can then manually control whether or not to load it at run-time, using the --config option on the command line. You can also include it in one of the standard startup files (such as [[Fgfsrc|.fgfsrc]]) but this will load it into memory every time you start FG, whether or not you are flying in the area.  If you place the scenery information in .stg files, it is only loaded into memory when needed.&lt;br /&gt;
&lt;br /&gt;
[[Category:Howto|Add shared models manually]]&lt;br /&gt;
[[Category:Scenery enhancement|Add shared models manually]]&lt;/div&gt;</summary>
		<author><name>AlbertBickford</name></author>
	</entry>
	<entry>
		<id>https://wiki.flightgear.org/w/index.php?title=Howto:Add_shared_models_manually&amp;diff=30293</id>
		<title>Howto:Add shared models manually</title>
		<link rel="alternate" type="text/html" href="https://wiki.flightgear.org/w/index.php?title=Howto:Add_shared_models_manually&amp;diff=30293"/>
		<updated>2011-03-15T13:32:56Z</updated>

		<summary type="html">&lt;p&gt;AlbertBickford: /* Step 4 */ another example of content not to copy: models&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;You can add objects to FlightGear's world by making use of &amp;quot;models&amp;quot; of those objects.  This howto explains one way to do so, especially with the shared models that are distributed with FlightGear.  These models are called &amp;quot;shared&amp;quot; because they are used to define many objects in different places.  (There are also &amp;quot;static models&amp;quot; which represent unique objects, such as famous buildings, that only exist in one place, but we won't have much to say about them.)  Shared models are stored in the &amp;lt;tt&amp;gt;[[$FG_ROOT]]/Models&amp;lt;/tt&amp;gt; directory.&lt;br /&gt;
&lt;br /&gt;
You can also create your own models; see [[Modeling - Getting Started]].  Most Flightgear models are in the .ac (AC3D) format.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Using Shared Models to Add Objects to FlightGear's World ==&lt;br /&gt;
&lt;br /&gt;
=== Step 1 ===&lt;br /&gt;
If you plan to use one of the standard FG shared models, skip to step 4.&lt;br /&gt;
&lt;br /&gt;
If you have created your own model, create a new directory for it under &amp;lt;tt&amp;gt;[[$FG_ROOT]]/Models&amp;lt;/tt&amp;gt; (to keep your models separate from the standard ones).  We'll use &amp;lt;tt&amp;gt;$FG_ROOT/Models/MyModels&amp;lt;/tt&amp;gt; as an example.&lt;br /&gt;
&lt;br /&gt;
=== Step 2 ===&lt;br /&gt;
Copy the file (usually has an .ac extension) containing your model into the &amp;lt;tt&amp;gt;$FG_ROOT/Models/MyModels&amp;lt;/tt&amp;gt; directory. We'll use &amp;lt;tt&amp;gt;MyModel.ac&amp;lt;/tt&amp;gt; as the name of that file.&lt;br /&gt;
&lt;br /&gt;
=== Step 3 (optional) ===&lt;br /&gt;
If you intend to include animation, create an XML file called &amp;lt;tt&amp;gt;MyModel.xml&amp;lt;/tt&amp;gt; inside the &amp;lt;tt&amp;gt;$FG_ROOT/Models/MyModels&amp;lt;/tt&amp;gt; directory with the following contents:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;?xml version=&amp;quot;1.0&amp;quot;?&amp;gt;&lt;br /&gt;
 &amp;lt;PropertyList&amp;gt;&lt;br /&gt;
  &amp;lt;path&amp;gt;MyModel.ac&amp;lt;/path&amp;gt;&lt;br /&gt;
  &amp;lt;animation&amp;gt;&lt;br /&gt;
   &amp;lt;type&amp;gt;range&amp;lt;/type&amp;gt;&lt;br /&gt;
   &amp;lt;min-m&amp;gt;0&amp;lt;/min-m&amp;gt;&lt;br /&gt;
   &amp;lt;max-m&amp;gt;20000&amp;lt;/max-m&amp;gt;&lt;br /&gt;
  &amp;lt;/animation&amp;gt;&lt;br /&gt;
 &amp;lt;/PropertyList&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This file references the .ac model file and tells FlightGear that it must be visible from 0 meters up to 20 km.&lt;br /&gt;
&lt;br /&gt;
An XML file is only necessary if you are intending to include animation; it is not required to render a model at a fixed location in FlightGear. &lt;br /&gt;
&lt;br /&gt;
=== Step 4 ===&lt;br /&gt;
Next, you have to determine where to place an instance of the object in FG's world.&lt;br /&gt;
&lt;br /&gt;
A useful resource at this stage are websites that allow you to get the coordinates of a point from aerial photographs.  One such is [http://itouchmap.com/ itouchmap.com], which relies on Google Maps.  Enter a street name, city, and state. When you get a good photo of your feature, click on map to place a marker there, then read the displayed coordinates.  Google Earth is also a good way to obtain position information, and there are other websites that will provide it also, or you can get it from a GPS.  (Coordinates of real-world locations are not copyrightable, so there is no legal problem with using these tools, but don't copy other content, such as images or models!)&lt;br /&gt;
&lt;br /&gt;
Once you've got at least a rough idea of the coordinates, you need to place the object visually. An easy way do this is with the [[UFO]] &amp;quot;airplane&amp;quot;. In addition to making it easy to move around (or hover), it allows you to place objects and see what they look like there.  It calculates the positioning details for you and writes them out in the correct format.  See [[Howto: Place 3D objects with the UFO]].  Here, though, we'll continue by describing a manual way to do it, for people who may need or want to know the inside details.  &lt;br /&gt;
&lt;br /&gt;
Start FG and fly to the location where you want to place the object. Open up the property browser in FG (File-&amp;gt;Browse Internal Properties), and the &amp;lt;tt&amp;gt;/position&amp;lt;/tt&amp;gt; key.  Check that the values for &amp;lt;tt&amp;gt;latitude-deg&amp;lt;/tt&amp;gt; and &amp;lt;tt&amp;gt;longitude-deg&amp;lt;/tt&amp;gt; are what you want, or write them down if you're positioning things visually, and also note the &amp;lt;tt&amp;gt;ground-elev-m&amp;lt;/tt&amp;gt;. If you want to place the object above ground level, then add the appropriate number of meters.  Then, go to the &amp;lt;tt&amp;gt;/environment&amp;lt;/tt&amp;gt; key and write down the tile number (current-tile-id).&lt;br /&gt;
&lt;br /&gt;
=== Step 5 ===&lt;br /&gt;
Next, locate a .stg file into which you will place a reference to the object's model and its position. &lt;br /&gt;
&lt;br /&gt;
The .stg files are named according to tile number and stored under the scenery directories.  The default installation places a limited amount of scenery (for the area around San Francisco) in &amp;lt;tt&amp;gt;[[$FG_ROOT]]/scenery&amp;lt;/tt&amp;gt; but you may have scenery in other directories, as specified in &amp;lt;tt&amp;gt;[[$FG_SCENERY]]&amp;lt;/tt&amp;gt;.  (See [[Howto: Install scenery]].)  Under each scenery directory, you will find directories called &amp;lt;tt&amp;gt;Objects&amp;lt;/tt&amp;gt; and &amp;lt;tt&amp;gt;Terrain&amp;lt;/tt&amp;gt;, and under them directories that group tiles into larger and smaller quadrants.  Thus, if the tile number is 942058, you will find &amp;lt;tt&amp;gt;942058.stg&amp;lt;/tt&amp;gt; under &amp;lt;tt&amp;gt;$FG_ROOT&amp;lt;/tt&amp;gt; as &amp;lt;tt&amp;gt;$FG_Root/Scenery/Objects/w130n30/w123n37/942058.stg&amp;lt;/tt&amp;gt; (and possibly elsewhere).&lt;br /&gt;
&lt;br /&gt;
There is generally more than one .stg file for a given tile, in different directories.  It's important to edit one that will actually be read by flightgear (see below).  One thing you can do is create a personal customized scenery directory separate from the standard installation.  That way, if you upgrade FG your customizations won't get overwritten.  If you create such a directory, list it first in &amp;lt;tt&amp;gt;[[$FG_SCENERY]]&amp;lt;/tt&amp;gt;, create a directory structure inside it parallel to the one in the standard scenery story, and create a .stg file in the appropriate place. Similarly, it is best not to edit the .stg files in the folder where [[TerraSync]] stores the scenery it has fetched, since TerraSync may overwrite them with newer versions.  Objects associated with airports are usually put into a .stg file under a &amp;quot;Terrain&amp;quot; directory; other objects are put under &amp;quot;Objects&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
=== Step 6 ===&lt;br /&gt;
Add the following lines to the stg file you've chosen, replacing the parameters with your own :&lt;br /&gt;
&lt;br /&gt;
 OBJECT_SHARED Models/MyModels/MyModel.xml -55.5 30.3 1000.0 0.00 &lt;br /&gt;
&lt;br /&gt;
In brief, the format is :&lt;br /&gt;
 type path longitude latitude altitude rotation&lt;br /&gt;
&lt;br /&gt;
* Most of the time you'll use OBJECT_SHARED as the type; this is for models that are used over and over again in many places, and are normally fetched from &amp;lt;tt&amp;gt;$FG_ROOT/Models&amp;lt;/tt&amp;gt;.  (If you have a one-of-a-kind object, you might want to use OBJECT_STATIC instead; see an explanation of it in &amp;lt;tt&amp;gt;$FG_ROOT/Docs/README.scenery&amp;lt;/tt&amp;gt;.)&lt;br /&gt;
* The path points to the file that contains the model, relative to the $FG_ROOT directory. If you have an XML file for the model, specify it here, otherwise specify the .ac file.  &lt;br /&gt;
* Latitude and longitude are in decimal degrees.&lt;br /&gt;
* Altitude is in meters above mean sea level.  &lt;br /&gt;
* Rotation is '''counter-clockwise''' from north (not clockwise as in the rest of FG).&lt;br /&gt;
&lt;br /&gt;
There are more details on the .stg file format below.&lt;br /&gt;
&lt;br /&gt;
=== Step 7 ===&lt;br /&gt;
Restart FG and fly to where you added the model (or use [[command line|command-line options]] to start it with that location as the initial location); it should be there.  Check it's location and orientation, make any necessary changes in the .stg file, then exit and restart FG to check it again.&lt;br /&gt;
&lt;br /&gt;
== STG file format ==&lt;br /&gt;
There is documention for the .stg files used by FlightGear in &amp;lt;tt&amp;gt;$FG_ROOT/Docs/README.scenery&amp;lt;/tt&amp;gt;.  Only information relevant for placing shared objects is included here.&lt;br /&gt;
&lt;br /&gt;
Scenery files are loaded by default from &amp;lt;tt&amp;gt;[[$FG_ROOT]]/Scenery&amp;lt;/tt&amp;gt;.  Alternate locations (a &amp;quot;scenery path&amp;quot;) can be specified in &amp;lt;tt&amp;gt;[[$FG_SCENERY]]&amp;lt;/tt&amp;gt; (or from the command line); the first-named directories have highest priority.  Thus, if you create a local directory for storing custom scenery you create, include it first in the scenery path.&lt;br /&gt;
&lt;br /&gt;
Lines for shared objects in the .stg file look like this:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;prettytable&amp;quot; border=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; bordercolor=&amp;quot;black&amp;quot;&amp;gt;&lt;br /&gt;
|OBJECT_SHARED&lt;br /&gt;
|Models/Misc/trigpoint.xml &lt;br /&gt;
|&amp;lt;nowiki&amp;gt;-122.377127&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
|37.71570833&lt;br /&gt;
|1.756719854&lt;br /&gt;
|20&lt;br /&gt;
|- &lt;br /&gt;
|Type&lt;br /&gt;
|filename path&lt;br /&gt;
|Longitude&lt;br /&gt;
|Latitude&lt;br /&gt;
|Elevation&lt;br /&gt;
|Heading&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The filename path is relative to &amp;lt;tt&amp;gt;$FG_ROOT&amp;lt;/tt&amp;gt;.  Longitude and latitude are expressed as decimal numbers (not degrees/minutes/seconds), with negative values representing west and south.  Elevation is in meters above mean sea-level.  Heading is in degrees, '''counter-clockwise''' from North as 0.0 (i.e. when looking from above).  Note that this is opposite from headings in other places in FlightGear, which are clockwise.&lt;br /&gt;
&lt;br /&gt;
Some more examples:&lt;br /&gt;
&lt;br /&gt;
 OBJECT_SHARED Models/MidAtl/cape-may-light.ac   -74.959970 38.933332 -93.0 0.00&lt;br /&gt;
 OBJECT_SHARED Models/Airport/windsock.xml -122.360843 37.613877 1 0&lt;br /&gt;
 OBJECT_SHARED Models/Structures/vordme.xml -122.37389 37.61948 -0.404 0&lt;br /&gt;
&lt;br /&gt;
== XML file format ==&lt;br /&gt;
Alternately, there is a way to include this same information in XML configuration files that are loaded at runtime; see [[Howto: Place 3D objects with the UFO]] or &amp;lt;tt&amp;gt;$FG_ROOT/Docs/README.scenery&amp;lt;/tt&amp;gt; for more details.  This approach has the advantage of keeping your new scenery clearly separate from the standard scenery files without having to create your own custom scenery directory structure.  Further, you can then manually control whether or not to load it at run-time, using the --config option on the command line. You can also include it in one of the standard startup files (such as [[Fgfsrc|.fgfsrc]]) but this will load it into memory every time you start FG, whether or not you are flying in the area.  If you place the scenery information in .stg files, it is only loaded into memory when needed.&lt;br /&gt;
&lt;br /&gt;
[[Category:Howto|Add shared models manually]]&lt;br /&gt;
[[Category:Scenery enhancement|Add shared models manually]]&lt;/div&gt;</summary>
		<author><name>AlbertBickford</name></author>
	</entry>
	<entry>
		<id>https://wiki.flightgear.org/w/index.php?title=Howto:Add_shared_models_manually&amp;diff=30292</id>
		<title>Howto:Add shared models manually</title>
		<link rel="alternate" type="text/html" href="https://wiki.flightgear.org/w/index.php?title=Howto:Add_shared_models_manually&amp;diff=30292"/>
		<updated>2011-03-15T13:31:21Z</updated>

		<summary type="html">&lt;p&gt;AlbertBickford: Clarifications about AC3D file format&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;You can add objects to FlightGear's world by making use of &amp;quot;models&amp;quot; of those objects.  This howto explains one way to do so, especially with the shared models that are distributed with FlightGear.  These models are called &amp;quot;shared&amp;quot; because they are used to define many objects in different places.  (There are also &amp;quot;static models&amp;quot; which represent unique objects, such as famous buildings, that only exist in one place, but we won't have much to say about them.)  Shared models are stored in the &amp;lt;tt&amp;gt;[[$FG_ROOT]]/Models&amp;lt;/tt&amp;gt; directory.&lt;br /&gt;
&lt;br /&gt;
You can also create your own models; see [[Modeling - Getting Started]].  Most Flightgear models are in the .ac (AC3D) format.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Using Shared Models to Add Objects to FlightGear's World ==&lt;br /&gt;
&lt;br /&gt;
=== Step 1 ===&lt;br /&gt;
If you plan to use one of the standard FG shared models, skip to step 4.&lt;br /&gt;
&lt;br /&gt;
If you have created your own model, create a new directory for it under &amp;lt;tt&amp;gt;[[$FG_ROOT]]/Models&amp;lt;/tt&amp;gt; (to keep your models separate from the standard ones).  We'll use &amp;lt;tt&amp;gt;$FG_ROOT/Models/MyModels&amp;lt;/tt&amp;gt; as an example.&lt;br /&gt;
&lt;br /&gt;
=== Step 2 ===&lt;br /&gt;
Copy the file (usually has an .ac extension) containing your model into the &amp;lt;tt&amp;gt;$FG_ROOT/Models/MyModels&amp;lt;/tt&amp;gt; directory. We'll use &amp;lt;tt&amp;gt;MyModel.ac&amp;lt;/tt&amp;gt; as the name of that file.&lt;br /&gt;
&lt;br /&gt;
=== Step 3 (optional) ===&lt;br /&gt;
If you intend to include animation, create an XML file called &amp;lt;tt&amp;gt;MyModel.xml&amp;lt;/tt&amp;gt; inside the &amp;lt;tt&amp;gt;$FG_ROOT/Models/MyModels&amp;lt;/tt&amp;gt; directory with the following contents:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;?xml version=&amp;quot;1.0&amp;quot;?&amp;gt;&lt;br /&gt;
 &amp;lt;PropertyList&amp;gt;&lt;br /&gt;
  &amp;lt;path&amp;gt;MyModel.ac&amp;lt;/path&amp;gt;&lt;br /&gt;
  &amp;lt;animation&amp;gt;&lt;br /&gt;
   &amp;lt;type&amp;gt;range&amp;lt;/type&amp;gt;&lt;br /&gt;
   &amp;lt;min-m&amp;gt;0&amp;lt;/min-m&amp;gt;&lt;br /&gt;
   &amp;lt;max-m&amp;gt;20000&amp;lt;/max-m&amp;gt;&lt;br /&gt;
  &amp;lt;/animation&amp;gt;&lt;br /&gt;
 &amp;lt;/PropertyList&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This file references the .ac model file and tells FlightGear that it must be visible from 0 meters up to 20 km.&lt;br /&gt;
&lt;br /&gt;
An XML file is only necessary if you are intending to include animation; it is not required to render a model at a fixed location in FlightGear. &lt;br /&gt;
&lt;br /&gt;
=== Step 4 ===&lt;br /&gt;
Next, you have to determine where to place an instance of the object in FG's world.&lt;br /&gt;
&lt;br /&gt;
A useful resource at this stage are websites that allow you to get the coordinates of a point from aerial photographs.  One such is [http://itouchmap.com/ itouchmap.com], which relies on Google Maps.  Enter a street name, city, and state. When you get a good photo of your feature, click on map to place a marker there, then read the displayed coordinates.  Google Earth is also a good way to obtain position information, and there are other websites that will provide it also, or you can get it from a GPS.  (Coordinates of real-world locations are not copyrightable, so there is no legal problem with using these tools, but don't copy their other content, such as images!)&lt;br /&gt;
&lt;br /&gt;
Once you've got at least a rough idea of the coordinates, you need to place the object visually. An easy way do this is with the [[UFO]] &amp;quot;airplane&amp;quot;. In addition to making it easy to move around (or hover), it allows you to place objects and see what they look like there.  It calculates the positioning details for you and writes them out in the correct format.  See [[Howto: Place 3D objects with the UFO]].  Here, though, we'll continue by describing a manual way to do it, for people who may need or want to know the inside details.  &lt;br /&gt;
&lt;br /&gt;
Start FG and fly to the location where you want to place the object. Open up the property browser in FG (File-&amp;gt;Browse Internal Properties), and the &amp;lt;tt&amp;gt;/position&amp;lt;/tt&amp;gt; key.  Check that the values for &amp;lt;tt&amp;gt;latitude-deg&amp;lt;/tt&amp;gt; and &amp;lt;tt&amp;gt;longitude-deg&amp;lt;/tt&amp;gt; are what you want, or write them down if you're positioning things visually, and also note the &amp;lt;tt&amp;gt;ground-elev-m&amp;lt;/tt&amp;gt;. If you want to place the object above ground level, then add the appropriate number of meters.  Then, go to the &amp;lt;tt&amp;gt;/environment&amp;lt;/tt&amp;gt; key and write down the tile number (current-tile-id).&lt;br /&gt;
&lt;br /&gt;
=== Step 5 ===&lt;br /&gt;
Next, locate a .stg file into which you will place a reference to the object's model and its position. &lt;br /&gt;
&lt;br /&gt;
The .stg files are named according to tile number and stored under the scenery directories.  The default installation places a limited amount of scenery (for the area around San Francisco) in &amp;lt;tt&amp;gt;[[$FG_ROOT]]/scenery&amp;lt;/tt&amp;gt; but you may have scenery in other directories, as specified in &amp;lt;tt&amp;gt;[[$FG_SCENERY]]&amp;lt;/tt&amp;gt;.  (See [[Howto: Install scenery]].)  Under each scenery directory, you will find directories called &amp;lt;tt&amp;gt;Objects&amp;lt;/tt&amp;gt; and &amp;lt;tt&amp;gt;Terrain&amp;lt;/tt&amp;gt;, and under them directories that group tiles into larger and smaller quadrants.  Thus, if the tile number is 942058, you will find &amp;lt;tt&amp;gt;942058.stg&amp;lt;/tt&amp;gt; under &amp;lt;tt&amp;gt;$FG_ROOT&amp;lt;/tt&amp;gt; as &amp;lt;tt&amp;gt;$FG_Root/Scenery/Objects/w130n30/w123n37/942058.stg&amp;lt;/tt&amp;gt; (and possibly elsewhere).&lt;br /&gt;
&lt;br /&gt;
There is generally more than one .stg file for a given tile, in different directories.  It's important to edit one that will actually be read by flightgear (see below).  One thing you can do is create a personal customized scenery directory separate from the standard installation.  That way, if you upgrade FG your customizations won't get overwritten.  If you create such a directory, list it first in &amp;lt;tt&amp;gt;[[$FG_SCENERY]]&amp;lt;/tt&amp;gt;, create a directory structure inside it parallel to the one in the standard scenery story, and create a .stg file in the appropriate place. Similarly, it is best not to edit the .stg files in the folder where [[TerraSync]] stores the scenery it has fetched, since TerraSync may overwrite them with newer versions.  Objects associated with airports are usually put into a .stg file under a &amp;quot;Terrain&amp;quot; directory; other objects are put under &amp;quot;Objects&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
=== Step 6 ===&lt;br /&gt;
Add the following lines to the stg file you've chosen, replacing the parameters with your own :&lt;br /&gt;
&lt;br /&gt;
 OBJECT_SHARED Models/MyModels/MyModel.xml -55.5 30.3 1000.0 0.00 &lt;br /&gt;
&lt;br /&gt;
In brief, the format is :&lt;br /&gt;
 type path longitude latitude altitude rotation&lt;br /&gt;
&lt;br /&gt;
* Most of the time you'll use OBJECT_SHARED as the type; this is for models that are used over and over again in many places, and are normally fetched from &amp;lt;tt&amp;gt;$FG_ROOT/Models&amp;lt;/tt&amp;gt;.  (If you have a one-of-a-kind object, you might want to use OBJECT_STATIC instead; see an explanation of it in &amp;lt;tt&amp;gt;$FG_ROOT/Docs/README.scenery&amp;lt;/tt&amp;gt;.)&lt;br /&gt;
* The path points to the file that contains the model, relative to the $FG_ROOT directory. If you have an XML file for the model, specify it here, otherwise specify the .ac file.  &lt;br /&gt;
* Latitude and longitude are in decimal degrees.&lt;br /&gt;
* Altitude is in meters above mean sea level.  &lt;br /&gt;
* Rotation is '''counter-clockwise''' from north (not clockwise as in the rest of FG).&lt;br /&gt;
&lt;br /&gt;
There are more details on the .stg file format below.&lt;br /&gt;
&lt;br /&gt;
=== Step 7 ===&lt;br /&gt;
Restart FG and fly to where you added the model (or use [[command line|command-line options]] to start it with that location as the initial location); it should be there.  Check it's location and orientation, make any necessary changes in the .stg file, then exit and restart FG to check it again.&lt;br /&gt;
&lt;br /&gt;
== STG file format ==&lt;br /&gt;
There is documention for the .stg files used by FlightGear in &amp;lt;tt&amp;gt;$FG_ROOT/Docs/README.scenery&amp;lt;/tt&amp;gt;.  Only information relevant for placing shared objects is included here.&lt;br /&gt;
&lt;br /&gt;
Scenery files are loaded by default from &amp;lt;tt&amp;gt;[[$FG_ROOT]]/Scenery&amp;lt;/tt&amp;gt;.  Alternate locations (a &amp;quot;scenery path&amp;quot;) can be specified in &amp;lt;tt&amp;gt;[[$FG_SCENERY]]&amp;lt;/tt&amp;gt; (or from the command line); the first-named directories have highest priority.  Thus, if you create a local directory for storing custom scenery you create, include it first in the scenery path.&lt;br /&gt;
&lt;br /&gt;
Lines for shared objects in the .stg file look like this:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;prettytable&amp;quot; border=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; bordercolor=&amp;quot;black&amp;quot;&amp;gt;&lt;br /&gt;
|OBJECT_SHARED&lt;br /&gt;
|Models/Misc/trigpoint.xml &lt;br /&gt;
|&amp;lt;nowiki&amp;gt;-122.377127&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
|37.71570833&lt;br /&gt;
|1.756719854&lt;br /&gt;
|20&lt;br /&gt;
|- &lt;br /&gt;
|Type&lt;br /&gt;
|filename path&lt;br /&gt;
|Longitude&lt;br /&gt;
|Latitude&lt;br /&gt;
|Elevation&lt;br /&gt;
|Heading&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The filename path is relative to &amp;lt;tt&amp;gt;$FG_ROOT&amp;lt;/tt&amp;gt;.  Longitude and latitude are expressed as decimal numbers (not degrees/minutes/seconds), with negative values representing west and south.  Elevation is in meters above mean sea-level.  Heading is in degrees, '''counter-clockwise''' from North as 0.0 (i.e. when looking from above).  Note that this is opposite from headings in other places in FlightGear, which are clockwise.&lt;br /&gt;
&lt;br /&gt;
Some more examples:&lt;br /&gt;
&lt;br /&gt;
 OBJECT_SHARED Models/MidAtl/cape-may-light.ac   -74.959970 38.933332 -93.0 0.00&lt;br /&gt;
 OBJECT_SHARED Models/Airport/windsock.xml -122.360843 37.613877 1 0&lt;br /&gt;
 OBJECT_SHARED Models/Structures/vordme.xml -122.37389 37.61948 -0.404 0&lt;br /&gt;
&lt;br /&gt;
== XML file format ==&lt;br /&gt;
Alternately, there is a way to include this same information in XML configuration files that are loaded at runtime; see [[Howto: Place 3D objects with the UFO]] or &amp;lt;tt&amp;gt;$FG_ROOT/Docs/README.scenery&amp;lt;/tt&amp;gt; for more details.  This approach has the advantage of keeping your new scenery clearly separate from the standard scenery files without having to create your own custom scenery directory structure.  Further, you can then manually control whether or not to load it at run-time, using the --config option on the command line. You can also include it in one of the standard startup files (such as [[Fgfsrc|.fgfsrc]]) but this will load it into memory every time you start FG, whether or not you are flying in the area.  If you place the scenery information in .stg files, it is only loaded into memory when needed.&lt;br /&gt;
&lt;br /&gt;
[[Category:Howto|Add shared models manually]]&lt;br /&gt;
[[Category:Scenery enhancement|Add shared models manually]]&lt;/div&gt;</summary>
		<author><name>AlbertBickford</name></author>
	</entry>
	<entry>
		<id>https://wiki.flightgear.org/w/index.php?title=TerraSync&amp;diff=30275</id>
		<title>TerraSync</title>
		<link rel="alternate" type="text/html" href="https://wiki.flightgear.org/w/index.php?title=TerraSync&amp;diff=30275"/>
		<updated>2011-03-15T04:34:28Z</updated>

		<summary type="html">&lt;p&gt;AlbertBickford: Expanded discussion of shared/static models, brought description up-to-date RE shared model downloads&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;To see the terrain below your aircraft, you have to install the respective [[scenery]]. This can happen by downloading certain bits of scenery before flying as described in the article [[Installing Scenery]]. &lt;br /&gt;
&lt;br /&gt;
Alternatively, if you have a steady and reasonably fast internet connection, you can use '''TerraSync'''. It is a utility that automatically downloads the newest version of the needed [[FlightGear]] [[scenery]] while the simulator is running. TerraSync runs in the background in a separate process, monitors your position, and downloads (or updates) the latest greatest scenery from the master scenery server &amp;quot;just in time&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
The master repository for terrasync, i.e. the online resource from which TerraSync downloads its files, is synchronized with the [http://scenemodels.flightgear.org/ FlightGear Scenery Database] once a day. So when using TerraSync, you will always have 1) the latest [[File Formats#.2A.stg|.stg-files]], which tell FlightGear where to place an object and 2) the latest '''static''' models for objects. (Static models define unique objects that exist in one place only, such as famous buildings or landmarks.) &lt;br /&gt;
&lt;br /&gt;
As of March 2011, TerraSync also downloads '''shared''' models, at least when it first runs.  (Shared models are generic models used more than once in different places, each can represent many different objects, like generic houses or ships.)  It does not, however, install the shared models, and until they are installed in the right place, you won't see any objects that are based on them.  You will need to copy all the files from the Models directory inside your TerraSync directory to &amp;lt;code&amp;gt;[[$FG_ROOT]]/Models&amp;lt;/code&amp;gt;, replacing the files that are already there.  (If for some reason you suspect your models are not up-to-date, you can also manually download the newest [http://scenemodels.flightgear.org/download/SharedModels.tgz '''shared''' models archive] from the [http://scenemodels.flightgear.org/ FlightGear Scenery Database].  Unpack it to &amp;lt;code&amp;gt;$FG_ROOT/Models&amp;lt;/code&amp;gt;.  See also: [[Howto: Animated jetways#Usage]].)&lt;br /&gt;
&lt;br /&gt;
It is recommended to use a separate scenery directory for TerraSync (i.e. do not run have it store its downloaded files in your main scenery directory) because network interruptions may upset the synchronization protocol and garble what is stored there.  If/when that happens the easiest solution is to delete the affected subdirectory and let terrasync download it again.&lt;br /&gt;
&lt;br /&gt;
=== Usage example (for POSIX compliant [[command line]] shell) ===&lt;br /&gt;
&lt;br /&gt;
Start terrasync:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;code&amp;gt;% nice terrasync -p 5500 -S -d &amp;quot;$HOME/fgfsScenery&amp;quot;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The -S option tells terrasync to use the SVN protocol to fetch data. If you omit it terrasync will use the rsync program instead (which has to be installed on your system).&lt;br /&gt;
&lt;br /&gt;
Start FlightGear:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;code&amp;gt;% fgfs --atlas=socket,out,1,localhost,5500,udp --fg-scenery=&amp;quot;$FG_ROOT/Scenery/:$HOME/fgfsScenery&amp;quot;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The full documentation and source for TerraSync is located in the FlightGear source distribution (in &amp;lt;code&amp;gt;utils/TerraSync/&amp;lt;/code&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
=== Start TerraSync from fgrun.exe (Wizard in Windows) in FlightGear 1.9.1 ===&lt;br /&gt;
&lt;br /&gt;
1. Make sure you are in the first screen where you can set up directories. To get there, start fgrun.exe. You'll first be in the Aircraft selection screen, then hit &amp;quot;Back&amp;quot;. You are now here:&lt;br /&gt;
&lt;br /&gt;
[[File:TerraSync 1.png]]&lt;br /&gt;
&lt;br /&gt;
2. Select the destination folder for all files downloaded by terrasync. Usually the folder &amp;lt;code&amp;gt;[FG_ROOT]\terrasync&amp;lt;/code&amp;gt; already exists and you only have to add it to the list (as in the above example). Insure that it is positioned '''above''' your standard scenery folder (here that is &amp;lt;code&amp;gt;FlightGear191\scenery&amp;lt;/code&amp;gt;) and all other directories over which the terrasync folder is supposed to have priority. When two directories contain information for the same region, FlightGear will take the information from the directory higher in the list. On Linux make sure the directory does not only to have a T, but also is the topmost folder.&lt;br /&gt;
&lt;br /&gt;
3. For TerraSync to know where to deposit the downloaded files, you have to tell the program which folder is the destination folder. In the above example, it is the 3&amp;lt;sup&amp;gt;rd&amp;lt;/sup&amp;gt; in the list.&lt;br /&gt;
&lt;br /&gt;
4. Finally, go to the last screen. There you have to activate TerraSync as in the following screenshot. Now TerraSync should work.&lt;br /&gt;
&lt;br /&gt;
[[File:TerraSync 2.png]]&lt;br /&gt;
&lt;br /&gt;
''Note: Expect your firewall to block it the first time you run it; just tell the firewall to allow TerraSync to use the port.''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
See [[Installing Scenery]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Software]]&lt;/div&gt;</summary>
		<author><name>AlbertBickford</name></author>
	</entry>
	<entry>
		<id>https://wiki.flightgear.org/w/index.php?title=Howto:Add_shared_models_manually&amp;diff=30274</id>
		<title>Howto:Add shared models manually</title>
		<link rel="alternate" type="text/html" href="https://wiki.flightgear.org/w/index.php?title=Howto:Add_shared_models_manually&amp;diff=30274"/>
		<updated>2011-03-15T04:05:02Z</updated>

		<summary type="html">&lt;p&gt;AlbertBickford: clarified distinction between shared and static models, and between objects and models&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;You can add objects, known as &amp;quot;models&amp;quot; to FlightGear's world.  This howto explains one way to do so, especially with the shared models that are distributed with FlightGear and stored in the &amp;lt;tt&amp;gt;[[$FG_ROOT]]/Models&amp;lt;/tt&amp;gt; directory.  These models are called &amp;quot;shared&amp;quot; because they are used to define many objects in different places.  (There are also &amp;quot;static models&amp;quot; which represent unique objects, such as famous buildings, that only exist in one place, but we won't have much to say about them.)&lt;br /&gt;
&lt;br /&gt;
You can also create your own models using a suitable modeling program such as [http://www.blender.org/ blender].  The most common file format used is .ac, but you can use any format that PLIB supports, such as AC3D.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Using Shared Models to Add Objects to FlightGear's World ==&lt;br /&gt;
&lt;br /&gt;
=== Step 1 ===&lt;br /&gt;
If you plan to use one of the standard FG shared models, skip to step 4.&lt;br /&gt;
&lt;br /&gt;
If you have created your own model, create a new directory for it under &amp;lt;tt&amp;gt;[[$FG_ROOT]]/Models&amp;lt;/tt&amp;gt; (to keep your models separate from the standard ones).  We'll use &amp;lt;tt&amp;gt;$FG_ROOT/Models/MyModels&amp;lt;/tt&amp;gt; as an example.&lt;br /&gt;
&lt;br /&gt;
=== Step 2 ===&lt;br /&gt;
Copy your .ac file containing the model into the &amp;lt;tt&amp;gt;$FG_ROOT/Models/MyModels&amp;lt;/tt&amp;gt; directory. We'll use &amp;lt;tt&amp;gt;MyModel.ac&amp;lt;/tt&amp;gt; as the name of that file.&lt;br /&gt;
&lt;br /&gt;
=== Step 3 (optional) ===&lt;br /&gt;
If you intend to include animation, create an XML file called &amp;lt;tt&amp;gt;MyModel.xml&amp;lt;/tt&amp;gt; inside the &amp;lt;tt&amp;gt;$FG_ROOT/Models/MyModels&amp;lt;/tt&amp;gt; directory with the following contents:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;?xml version=&amp;quot;1.0&amp;quot;?&amp;gt;&lt;br /&gt;
 &amp;lt;PropertyList&amp;gt;&lt;br /&gt;
  &amp;lt;path&amp;gt;MyModel.ac&amp;lt;/path&amp;gt;&lt;br /&gt;
  &amp;lt;animation&amp;gt;&lt;br /&gt;
   &amp;lt;type&amp;gt;range&amp;lt;/type&amp;gt;&lt;br /&gt;
   &amp;lt;min-m&amp;gt;0&amp;lt;/min-m&amp;gt;&lt;br /&gt;
   &amp;lt;max-m&amp;gt;20000&amp;lt;/max-m&amp;gt;&lt;br /&gt;
  &amp;lt;/animation&amp;gt;&lt;br /&gt;
 &amp;lt;/PropertyList&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This file references the .ac model file and tells FlightGear that it must be visible from 0 meters up to 20 km.&lt;br /&gt;
&lt;br /&gt;
An XML file is only necessary if you are intending to include animation; it is not required to render a model at a fixed location in FlightGear. &lt;br /&gt;
&lt;br /&gt;
=== Step 4 ===&lt;br /&gt;
Next, you have to determine where to place an instance of the object in FG's world.&lt;br /&gt;
&lt;br /&gt;
A useful resource at this stage are websites that allow you to get the coordinates of a point from aerial photographs.  One such is [http://itouchmap.com/ itouchmap.com], which relies on Google Maps.  Enter a street name, city, and state. When you get a good photo of your feature, click on map to place a marker there, then read the displayed coordinates.  Google Earth is also a good way to obtain position information, and there are other websites that will provide it also, or you can get it from a GPS.  (Coordinates of real-world locations are not copyrightable, so there is no legal problem with using these tools, but don't copy their other content, such as images!)&lt;br /&gt;
&lt;br /&gt;
Once you've got at least a rough idea of the coordinates, you need to place the object visually. An easy way do this is with the [[UFO]] &amp;quot;airplane&amp;quot;. In addition to making it easy to move around (or hover), it allows you to place objects and see what they look like there.  It calculates the positioning details for you and writes them out in the correct format.  See [[Howto: Place 3D objects with the UFO]].  Here, though, we'll continue by describing a manual way to do it, for people who may need or want to know the inside details.  &lt;br /&gt;
&lt;br /&gt;
Start FG and fly to the location where you want to place the object. Open up the property browser in FG (File-&amp;gt;Browse Internal Properties), and the &amp;lt;tt&amp;gt;/position&amp;lt;/tt&amp;gt; key.  Check that the values for &amp;lt;tt&amp;gt;latitude-deg&amp;lt;/tt&amp;gt; and &amp;lt;tt&amp;gt;longitude-deg&amp;lt;/tt&amp;gt; are what you want, or write them down if you're positioning things visually, and also note the &amp;lt;tt&amp;gt;ground-elev-m&amp;lt;/tt&amp;gt;. If you want to place the object above ground level, then add the appropriate number of meters.  Then, go to the &amp;lt;tt&amp;gt;/environment&amp;lt;/tt&amp;gt; key and write down the tile number (current-tile-id).&lt;br /&gt;
&lt;br /&gt;
=== Step 5 ===&lt;br /&gt;
Next, locate a .stg file into which you will place a reference to the object's model and its position. &lt;br /&gt;
&lt;br /&gt;
The .stg files are named according to tile number and stored under the scenery directories.  The default installation places a limited amount of scenery (for the area around San Francisco) in &amp;lt;tt&amp;gt;[[$FG_ROOT]]/scenery&amp;lt;/tt&amp;gt; but you may have scenery in other directories, as specified in &amp;lt;tt&amp;gt;[[$FG_SCENERY]]&amp;lt;/tt&amp;gt;.  (See [[Howto: Install scenery]].)  Under each scenery directory, you will find directories called &amp;lt;tt&amp;gt;Objects&amp;lt;/tt&amp;gt; and &amp;lt;tt&amp;gt;Terrain&amp;lt;/tt&amp;gt;, and under them directories that group tiles into larger and smaller quadrants.  Thus, if the tile number is 942058, you will find &amp;lt;tt&amp;gt;942058.stg&amp;lt;/tt&amp;gt; under &amp;lt;tt&amp;gt;$FG_ROOT&amp;lt;/tt&amp;gt; as &amp;lt;tt&amp;gt;$FG_Root/Scenery/Objects/w130n30/w123n37/942058.stg&amp;lt;/tt&amp;gt; (and possibly elsewhere).&lt;br /&gt;
&lt;br /&gt;
There is generally more than one .stg file for a given tile, in different directories.  It's important to edit one that will actually be read by flightgear (see below).  One thing you can do is create a personal customized scenery directory separate from the standard installation.  That way, if you upgrade FG your customizations won't get overwritten.  If you create such a directory, list it first in &amp;lt;tt&amp;gt;[[$FG_SCENERY]]&amp;lt;/tt&amp;gt;, create a directory structure inside it parallel to the one in the standard scenery story, and create a .stg file in the appropriate place. Similarly, it is best not to edit the .stg files in the folder where [[TerraSync]] stores the scenery it has fetched, since TerraSync may overwrite them with newer versions.  Objects associated with airports are usually put into a .stg file under a &amp;quot;Terrain&amp;quot; directory; other objects are put under &amp;quot;Objects&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
=== Step 6 ===&lt;br /&gt;
Add the following lines to the stg file you've chosen, replacing the parameters with your own :&lt;br /&gt;
&lt;br /&gt;
 OBJECT_SHARED Models/MyModels/MyModel.xml -55.5 30.3 1000.0 0.00 &lt;br /&gt;
&lt;br /&gt;
In brief, the format is :&lt;br /&gt;
 type path longitude latitude altitude rotation&lt;br /&gt;
&lt;br /&gt;
* Most of the time you'll use OBJECT_SHARED as the type; this is for models that are used over and over again in many places, and are normally fetched from &amp;lt;tt&amp;gt;$FG_ROOT/Models&amp;lt;/tt&amp;gt;.  (If you have a one-of-a-kind object, you might want to use OBJECT_STATIC instead; see an explanation of it in &amp;lt;tt&amp;gt;$FG_ROOT/Docs/README.scenery&amp;lt;/tt&amp;gt;.)&lt;br /&gt;
* The path points to the file that contains the model, relative to the $FG_ROOT directory. If you have an XML file for the model, specify it here, otherwise specify the .ac file.  &lt;br /&gt;
* Latitude and longitude are in decimal degrees.&lt;br /&gt;
* Altitude is in meters above mean sea level.  &lt;br /&gt;
* Rotation is '''counter-clockwise''' from north (not clockwise as in the rest of FG).&lt;br /&gt;
&lt;br /&gt;
There are more details on the .stg file format below.&lt;br /&gt;
&lt;br /&gt;
=== Step 7 ===&lt;br /&gt;
Restart FG and fly to where you added the model (or use [[command line|command-line options]] to start it with that location as the initial location); it should be there.  Check it's location and orientation, make any necessary changes in the .stg file, then exit and restart FG to check it again.&lt;br /&gt;
&lt;br /&gt;
== STG file format ==&lt;br /&gt;
There is documention for the .stg files used by FlightGear in &amp;lt;tt&amp;gt;$FG_ROOT/Docs/README.scenery&amp;lt;/tt&amp;gt;.  Only information relevant for placing shared objects is included here.&lt;br /&gt;
&lt;br /&gt;
Scenery files are loaded by default from &amp;lt;tt&amp;gt;[[$FG_ROOT]]/Scenery&amp;lt;/tt&amp;gt;.  Alternate locations (a &amp;quot;scenery path&amp;quot;) can be specified in &amp;lt;tt&amp;gt;[[$FG_SCENERY]]&amp;lt;/tt&amp;gt; (or from the command line); the first-named directories have highest priority.  Thus, if you create a local directory for storing custom scenery you create, include it first in the scenery path.&lt;br /&gt;
&lt;br /&gt;
Lines for shared objects in the .stg file look like this:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;prettytable&amp;quot; border=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; bordercolor=&amp;quot;black&amp;quot;&amp;gt;&lt;br /&gt;
|OBJECT_SHARED&lt;br /&gt;
|Models/Misc/trigpoint.xml &lt;br /&gt;
|&amp;lt;nowiki&amp;gt;-122.377127&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
|37.71570833&lt;br /&gt;
|1.756719854&lt;br /&gt;
|20&lt;br /&gt;
|- &lt;br /&gt;
|Type&lt;br /&gt;
|filename path&lt;br /&gt;
|Longitude&lt;br /&gt;
|Latitude&lt;br /&gt;
|Elevation&lt;br /&gt;
|Heading&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The filename path is relative to &amp;lt;tt&amp;gt;$FG_ROOT&amp;lt;/tt&amp;gt;.  Longitude and latitude are expressed as decimal numbers (not degrees/minutes/seconds), with negative values representing west and south.  Elevation is in meters above mean sea-level.  Heading is in degrees, '''counter-clockwise''' from North as 0.0 (i.e. when looking from above).  Note that this is opposite from headings in other places in FlightGear, which are clockwise.&lt;br /&gt;
&lt;br /&gt;
Some more examples:&lt;br /&gt;
&lt;br /&gt;
 OBJECT_SHARED Models/MidAtl/cape-may-light.ac   -74.959970 38.933332 -93.0 0.00&lt;br /&gt;
 OBJECT_SHARED Models/Airport/windsock.xml -122.360843 37.613877 1 0&lt;br /&gt;
 OBJECT_SHARED Models/Structures/vordme.xml -122.37389 37.61948 -0.404 0&lt;br /&gt;
&lt;br /&gt;
== XML file format ==&lt;br /&gt;
Alternately, there is a way to include this same information in XML configuration files that are loaded at runtime; see [[Howto: Place 3D objects with the UFO]] or &amp;lt;tt&amp;gt;$FG_ROOT/Docs/README.scenery&amp;lt;/tt&amp;gt; for more details.  This approach has the advantage of keeping your new scenery clearly separate from the standard scenery files without having to create your own custom scenery directory structure.  Further, you can then manually control whether or not to load it at run-time, using the --config option on the command line. You can also include it in one of the standard startup files (such as [[Fgfsrc|.fgfsrc]]) but this will load it into memory every time you start FG, whether or not you are flying in the area.  If you place the scenery information in .stg files, it is only loaded into memory when needed.&lt;br /&gt;
&lt;br /&gt;
[[Category:Howto|Add shared models manually]]&lt;br /&gt;
[[Category:Scenery enhancement|Add shared models manually]]&lt;/div&gt;</summary>
		<author><name>AlbertBickford</name></author>
	</entry>
	<entry>
		<id>https://wiki.flightgear.org/w/index.php?title=User:AlbertBickford&amp;diff=30248</id>
		<title>User:AlbertBickford</title>
		<link rel="alternate" type="text/html" href="https://wiki.flightgear.org/w/index.php?title=User:AlbertBickford&amp;diff=30248"/>
		<updated>2011-03-14T15:15:53Z</updated>

		<summary type="html">&lt;p&gt;AlbertBickford: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Real name: Albert Bickford&lt;br /&gt;
&lt;br /&gt;
Linguist by profession, musician and virtual aviator by avocation.  Flying FlightGear since early 2011.&lt;/div&gt;</summary>
		<author><name>AlbertBickford</name></author>
	</entry>
	<entry>
		<id>https://wiki.flightgear.org/w/index.php?title=User:AlbertBickford&amp;diff=30247</id>
		<title>User:AlbertBickford</title>
		<link rel="alternate" type="text/html" href="https://wiki.flightgear.org/w/index.php?title=User:AlbertBickford&amp;diff=30247"/>
		<updated>2011-03-14T15:15:24Z</updated>

		<summary type="html">&lt;p&gt;AlbertBickford: Created page with &amp;quot;Real name: Albert Bickford  Linguist by profession, musician and virtual aviator by avocation.&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Real name: Albert Bickford&lt;br /&gt;
&lt;br /&gt;
Linguist by profession, musician and virtual aviator by avocation.&lt;/div&gt;</summary>
		<author><name>AlbertBickford</name></author>
	</entry>
	<entry>
		<id>https://wiki.flightgear.org/w/index.php?title=Howto:Add_shared_models_manually&amp;diff=30246</id>
		<title>Howto:Add shared models manually</title>
		<link rel="alternate" type="text/html" href="https://wiki.flightgear.org/w/index.php?title=Howto:Add_shared_models_manually&amp;diff=30246"/>
		<updated>2011-03-14T15:13:56Z</updated>

		<summary type="html">&lt;p&gt;AlbertBickford: /* Step 7 */ Added check and revise location if necessary; use command-line options to start in that location&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;You can add your own objects, known as &amp;quot;shared models&amp;quot; to FlightGear's world.  This howto explains one way to do so.  It assumes that you already have a model for the object. There are many that come standard with FG; they are stored in the &amp;lt;tt&amp;gt;[[$FG_ROOT]]/Models&amp;lt;/tt&amp;gt; directory.  &lt;br /&gt;
&lt;br /&gt;
You can also create one using a suitable modeling program such as [http://www.blender.org/ blender].  The most common file format used is .ac, but you can use any format that PLIB supports, such as AC3D.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Adding Shared Models to FlightGear's World ==&lt;br /&gt;
&lt;br /&gt;
=== Step 1 ===&lt;br /&gt;
If you plan to use one of the standard FG models, skip to step 4.&lt;br /&gt;
&lt;br /&gt;
If you have created your own model, create a new directory for it under &amp;lt;tt&amp;gt;[[$FG_ROOT]]/Models&amp;lt;/tt&amp;gt; (to keep your models separate from the standard ones).  We'll use &amp;lt;tt&amp;gt;$FG_ROOT/Models/MyModels&amp;lt;/tt&amp;gt; as an example.&lt;br /&gt;
&lt;br /&gt;
=== Step 2 ===&lt;br /&gt;
Copy your .ac file containing the model into the &amp;lt;tt&amp;gt;$FG_ROOT/Models/MyModels&amp;lt;/tt&amp;gt; directory. We'll use &amp;lt;tt&amp;gt;MyModel.ac&amp;lt;/tt&amp;gt; as the name of that file.&lt;br /&gt;
&lt;br /&gt;
=== Step 3 (optional) ===&lt;br /&gt;
If you intend to include animation, create an XML file called &amp;lt;tt&amp;gt;MyModel.xml&amp;lt;/tt&amp;gt; inside the &amp;lt;tt&amp;gt;$FG_ROOT/Models/MyModels&amp;lt;/tt&amp;gt; directory with the following contents:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;?xml version=&amp;quot;1.0&amp;quot;?&amp;gt;&lt;br /&gt;
 &amp;lt;PropertyList&amp;gt;&lt;br /&gt;
  &amp;lt;path&amp;gt;MyModel.ac&amp;lt;/path&amp;gt;&lt;br /&gt;
  &amp;lt;animation&amp;gt;&lt;br /&gt;
   &amp;lt;type&amp;gt;range&amp;lt;/type&amp;gt;&lt;br /&gt;
   &amp;lt;min-m&amp;gt;0&amp;lt;/min-m&amp;gt;&lt;br /&gt;
   &amp;lt;max-m&amp;gt;20000&amp;lt;/max-m&amp;gt;&lt;br /&gt;
  &amp;lt;/animation&amp;gt;&lt;br /&gt;
 &amp;lt;/PropertyList&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This file references the .ac model file and tells FlightGear that it must be visible from 0 meters up to 20 km.&lt;br /&gt;
&lt;br /&gt;
An XML file is only necessary if you are intending to include animation; it is not required to render a model at a fixed location in FlightGear. &lt;br /&gt;
&lt;br /&gt;
=== Step 4 ===&lt;br /&gt;
Next, you have to determine where to place the model in FG's world.&lt;br /&gt;
&lt;br /&gt;
A useful resource at this stage are websites that allow you to get the coordinates of a point from aerial photographs.  One such is [http://itouchmap.com/ itouchmap.com], which relies on Google Maps.  Enter a street name, city, and state. When you get a good photo of your feature, click on map to place a marker there, then read the displayed coordinates.  Google Earth is also a good way to obtain position information, and there are other websites that will provide it also, or you can get it from a GPS.  (Coordinates of real-world locations are not copyrightable, so there is no legal problem with using these tools, but don't copy their other content, such as images!)&lt;br /&gt;
&lt;br /&gt;
Once you've got at least a rough idea of the coordinates, you need to place the object visually. An easy way do this is with the [[UFO]] &amp;quot;airplane&amp;quot;. In addition to making it easy to move around (or hover), it allows you to place objects and see what they look like there.  It calculates the positioning details for you and writes them out in the correct format.  See [[Howto: Place 3D objects with the UFO]].  Here, though, we'll continue by describing a manual way to do it, for people who may need or want to know the inside details.  &lt;br /&gt;
&lt;br /&gt;
Start FG and fly to the location where you want to place the object. Open up the property browser in FG (File-&amp;gt;Browse Internal Properties), and the &amp;lt;tt&amp;gt;/position&amp;lt;/tt&amp;gt; key.  Check that the values for &amp;lt;tt&amp;gt;latitude-deg&amp;lt;/tt&amp;gt; and &amp;lt;tt&amp;gt;longitude-deg&amp;lt;/tt&amp;gt; are what you want, or write them down if you're positioning things visually, and also note the &amp;lt;tt&amp;gt;ground-elev-m&amp;lt;/tt&amp;gt;. If you want to place the object above ground level, then add the appropriate number of meters.  Then, go to the &amp;lt;tt&amp;gt;/environment&amp;lt;/tt&amp;gt; key and write down the tile number (current-tile-id).&lt;br /&gt;
&lt;br /&gt;
=== Step 5 ===&lt;br /&gt;
Next, locate a .stg file into which you will place a reference to the object's model and its position. &lt;br /&gt;
&lt;br /&gt;
The .stg files are named according to tile number and stored under the scenery directories.  The default installation places a limited amount of scenery (for the area around San Francisco) in &amp;lt;tt&amp;gt;[[$FG_ROOT]]/scenery&amp;lt;/tt&amp;gt; but you may have scenery in other directories, as specified in &amp;lt;tt&amp;gt;[[$FG_SCENERY]]&amp;lt;/tt&amp;gt;.  (See [[Howto: Install scenery]].)  Under each scenery directory, you will find directories called &amp;lt;tt&amp;gt;Objects&amp;lt;/tt&amp;gt; and &amp;lt;tt&amp;gt;Terrain&amp;lt;/tt&amp;gt;, and under them directories that group tiles into larger and smaller quadrants.  Thus, if the tile number is 942058, you will find &amp;lt;tt&amp;gt;942058.stg&amp;lt;/tt&amp;gt; under &amp;lt;tt&amp;gt;$FG_ROOT&amp;lt;/tt&amp;gt; as &amp;lt;tt&amp;gt;$FG_Root/Scenery/Objects/w130n30/w123n37/942058.stg&amp;lt;/tt&amp;gt; (and possibly elsewhere).&lt;br /&gt;
&lt;br /&gt;
There is generally more than one .stg file for a given tile, in different directories.  It's important to edit one that will actually be read by flightgear (see below).  One thing you can do is create a personal customized scenery directory separate from the standard installation.  That way, if you upgrade FG your customizations won't get overwritten.  If you create such a directory, list it first in &amp;lt;tt&amp;gt;[[$FG_SCENERY]]&amp;lt;/tt&amp;gt;, create a directory structure inside it parallel to the one in the standard scenery story, and create a .stg file in the appropriate place. Similarly, it is best not to edit the .stg files in the folder where [[TerraSync]] stores the scenery it has fetched, since TerraSync may overwrite them with newer versions.  Objects associated with airports are usually put into a .stg file under a &amp;quot;Terrain&amp;quot; directory; other objects are put under &amp;quot;Objects&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
=== Step 6 ===&lt;br /&gt;
Add the following lines to the stg file you've chosen, replacing the parameters with your own :&lt;br /&gt;
&lt;br /&gt;
 OBJECT_SHARED Models/MyModels/MyModel.xml -55.5 30.3 1000.0 0.00 &lt;br /&gt;
&lt;br /&gt;
In brief, the format is :&lt;br /&gt;
 OBJECT_SHARED path longitude latitude altitude rotation&lt;br /&gt;
&lt;br /&gt;
The path is relative to the $FG_ROOT directory. If you have an XML file for the model, specify it here, otherwise specify the .ac file.  Altitude is in meters above mean sea level.  Rotation is '''counter-clockwise''' from north (not clockwise as in the rest of FG).&lt;br /&gt;
&lt;br /&gt;
There are more details on the .stg file format below.&lt;br /&gt;
&lt;br /&gt;
=== Step 7 ===&lt;br /&gt;
Restart FG and fly to where you added the model (or use [[command line|command-line options]] to start it with that location as the initial location); it should be there.  Check it's location and orientation, make any necessary changes in the .stg file, then exit and restart FG to check it again.&lt;br /&gt;
&lt;br /&gt;
== STG file format ==&lt;br /&gt;
There is documention for the .stg files used by FlightGear in &amp;lt;tt&amp;gt;$FG_ROOT/Docs/README.scenery&amp;lt;/tt&amp;gt;.  Only information relevant for placing shared objects is included here.&lt;br /&gt;
&lt;br /&gt;
Scenery files are loaded by default from &amp;lt;tt&amp;gt;[[$FG_ROOT]]/Scenery&amp;lt;/tt&amp;gt;.  Alternate locations (a &amp;quot;scenery path&amp;quot;) can be specified in &amp;lt;tt&amp;gt;[[$FG_SCENERY]]&amp;lt;/tt&amp;gt; (or from the command line); the first-named directories have highest priority.  Thus, if you create a local directory for storing custom scenery you create, include it first in the scenery path.&lt;br /&gt;
&lt;br /&gt;
Lines for shared objects in the .stg file look like this:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;prettytable&amp;quot; border=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; bordercolor=&amp;quot;black&amp;quot;&amp;gt;&lt;br /&gt;
|OBJECT_SHARED&lt;br /&gt;
|Models/Misc/trigpoint.xml &lt;br /&gt;
|&amp;lt;nowiki&amp;gt;-122.377127&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
|37.71570833&lt;br /&gt;
|1.756719854&lt;br /&gt;
|20&lt;br /&gt;
|- &lt;br /&gt;
|Type&lt;br /&gt;
|filename path&lt;br /&gt;
|Longitude&lt;br /&gt;
|Latitude&lt;br /&gt;
|Elevation&lt;br /&gt;
|Heading&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The filename path is relative to &amp;lt;tt&amp;gt;$FG_ROOT&amp;lt;/tt&amp;gt;.  Longitude and latitude are expressed as decimal numbers (not degrees/minutes/seconds), with negative values representing west and south.  Elevation is in meters above mean sea-level.  Heading is in degrees, '''counter-clockwise''' from North as 0.0 (i.e. when looking from above).  Note that this is opposite from headings in other places in FlightGear, which are clockwise.&lt;br /&gt;
&lt;br /&gt;
Some more examples:&lt;br /&gt;
&lt;br /&gt;
 OBJECT_SHARED Models/MidAtl/cape-may-light.ac   -74.959970 38.933332 -93.0 0.00&lt;br /&gt;
 OBJECT_SHARED Models/Airport/windsock.xml -122.360843 37.613877 1 0&lt;br /&gt;
 OBJECT_SHARED Models/Structures/vordme.xml -122.37389 37.61948 -0.404 0&lt;br /&gt;
&lt;br /&gt;
== XML file format ==&lt;br /&gt;
Alternately, there is a way to include this same information in XML configuration files that are loaded at runtime; see [[Howto: Place 3D objects with the UFO]] or &amp;lt;tt&amp;gt;$FG_ROOT/Docs/README.scenery&amp;lt;/tt&amp;gt; for more details.  This approach has the advantage of keeping your new scenery clearly separate from the standard scenery files without having to create your own custom scenery directory structure.  Further, you can then manually control whether or not to load it at run-time, using the --config option on the command line. You can also include it in one of the standard startup files (such as [[Fgfsrc|.fgfsrc]]) but this will load it into memory every time you start FG, whether or not you are flying in the area.  If you place the scenery information in .stg files, it is only loaded into memory when needed.&lt;br /&gt;
&lt;br /&gt;
[[Category:Howto|Add shared models manually]]&lt;br /&gt;
[[Category:Scenery enhancement|Add shared models manually]]&lt;/div&gt;</summary>
		<author><name>AlbertBickford</name></author>
	</entry>
	<entry>
		<id>https://wiki.flightgear.org/w/index.php?title=Howto:Add_shared_models_manually&amp;diff=30245</id>
		<title>Howto:Add shared models manually</title>
		<link rel="alternate" type="text/html" href="https://wiki.flightgear.org/w/index.php?title=Howto:Add_shared_models_manually&amp;diff=30245"/>
		<updated>2011-03-14T06:55:51Z</updated>

		<summary type="html">&lt;p&gt;AlbertBickford: /* Step 4 */  added caution about copyright&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;You can add your own objects, known as &amp;quot;shared models&amp;quot; to FlightGear's world.  This howto explains one way to do so.  It assumes that you already have a model for the object. There are many that come standard with FG; they are stored in the &amp;lt;tt&amp;gt;[[$FG_ROOT]]/Models&amp;lt;/tt&amp;gt; directory.  &lt;br /&gt;
&lt;br /&gt;
You can also create one using a suitable modeling program such as [http://www.blender.org/ blender].  The most common file format used is .ac, but you can use any format that PLIB supports, such as AC3D.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Adding Shared Models to FlightGear's World ==&lt;br /&gt;
&lt;br /&gt;
=== Step 1 ===&lt;br /&gt;
If you plan to use one of the standard FG models, skip to step 4.&lt;br /&gt;
&lt;br /&gt;
If you have created your own model, create a new directory for it under &amp;lt;tt&amp;gt;[[$FG_ROOT]]/Models&amp;lt;/tt&amp;gt; (to keep your models separate from the standard ones).  We'll use &amp;lt;tt&amp;gt;$FG_ROOT/Models/MyModels&amp;lt;/tt&amp;gt; as an example.&lt;br /&gt;
&lt;br /&gt;
=== Step 2 ===&lt;br /&gt;
Copy your .ac file containing the model into the &amp;lt;tt&amp;gt;$FG_ROOT/Models/MyModels&amp;lt;/tt&amp;gt; directory. We'll use &amp;lt;tt&amp;gt;MyModel.ac&amp;lt;/tt&amp;gt; as the name of that file.&lt;br /&gt;
&lt;br /&gt;
=== Step 3 (optional) ===&lt;br /&gt;
If you intend to include animation, create an XML file called &amp;lt;tt&amp;gt;MyModel.xml&amp;lt;/tt&amp;gt; inside the &amp;lt;tt&amp;gt;$FG_ROOT/Models/MyModels&amp;lt;/tt&amp;gt; directory with the following contents:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;?xml version=&amp;quot;1.0&amp;quot;?&amp;gt;&lt;br /&gt;
 &amp;lt;PropertyList&amp;gt;&lt;br /&gt;
  &amp;lt;path&amp;gt;MyModel.ac&amp;lt;/path&amp;gt;&lt;br /&gt;
  &amp;lt;animation&amp;gt;&lt;br /&gt;
   &amp;lt;type&amp;gt;range&amp;lt;/type&amp;gt;&lt;br /&gt;
   &amp;lt;min-m&amp;gt;0&amp;lt;/min-m&amp;gt;&lt;br /&gt;
   &amp;lt;max-m&amp;gt;20000&amp;lt;/max-m&amp;gt;&lt;br /&gt;
  &amp;lt;/animation&amp;gt;&lt;br /&gt;
 &amp;lt;/PropertyList&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This file references the .ac model file and tells FlightGear that it must be visible from 0 meters up to 20 km.&lt;br /&gt;
&lt;br /&gt;
An XML file is only necessary if you are intending to include animation; it is not required to render a model at a fixed location in FlightGear. &lt;br /&gt;
&lt;br /&gt;
=== Step 4 ===&lt;br /&gt;
Next, you have to determine where to place the model in FG's world.&lt;br /&gt;
&lt;br /&gt;
A useful resource at this stage are websites that allow you to get the coordinates of a point from aerial photographs.  One such is [http://itouchmap.com/ itouchmap.com], which relies on Google Maps.  Enter a street name, city, and state. When you get a good photo of your feature, click on map to place a marker there, then read the displayed coordinates.  Google Earth is also a good way to obtain position information, and there are other websites that will provide it also, or you can get it from a GPS.  (Coordinates of real-world locations are not copyrightable, so there is no legal problem with using these tools, but don't copy their other content, such as images!)&lt;br /&gt;
&lt;br /&gt;
Once you've got at least a rough idea of the coordinates, you need to place the object visually. An easy way do this is with the [[UFO]] &amp;quot;airplane&amp;quot;. In addition to making it easy to move around (or hover), it allows you to place objects and see what they look like there.  It calculates the positioning details for you and writes them out in the correct format.  See [[Howto: Place 3D objects with the UFO]].  Here, though, we'll continue by describing a manual way to do it, for people who may need or want to know the inside details.  &lt;br /&gt;
&lt;br /&gt;
Start FG and fly to the location where you want to place the object. Open up the property browser in FG (File-&amp;gt;Browse Internal Properties), and the &amp;lt;tt&amp;gt;/position&amp;lt;/tt&amp;gt; key.  Check that the values for &amp;lt;tt&amp;gt;latitude-deg&amp;lt;/tt&amp;gt; and &amp;lt;tt&amp;gt;longitude-deg&amp;lt;/tt&amp;gt; are what you want, or write them down if you're positioning things visually, and also note the &amp;lt;tt&amp;gt;ground-elev-m&amp;lt;/tt&amp;gt;. If you want to place the object above ground level, then add the appropriate number of meters.  Then, go to the &amp;lt;tt&amp;gt;/environment&amp;lt;/tt&amp;gt; key and write down the tile number (current-tile-id).&lt;br /&gt;
&lt;br /&gt;
=== Step 5 ===&lt;br /&gt;
Next, locate a .stg file into which you will place a reference to the object's model and its position. &lt;br /&gt;
&lt;br /&gt;
The .stg files are named according to tile number and stored under the scenery directories.  The default installation places a limited amount of scenery (for the area around San Francisco) in &amp;lt;tt&amp;gt;[[$FG_ROOT]]/scenery&amp;lt;/tt&amp;gt; but you may have scenery in other directories, as specified in &amp;lt;tt&amp;gt;[[$FG_SCENERY]]&amp;lt;/tt&amp;gt;.  (See [[Howto: Install scenery]].)  Under each scenery directory, you will find directories called &amp;lt;tt&amp;gt;Objects&amp;lt;/tt&amp;gt; and &amp;lt;tt&amp;gt;Terrain&amp;lt;/tt&amp;gt;, and under them directories that group tiles into larger and smaller quadrants.  Thus, if the tile number is 942058, you will find &amp;lt;tt&amp;gt;942058.stg&amp;lt;/tt&amp;gt; under &amp;lt;tt&amp;gt;$FG_ROOT&amp;lt;/tt&amp;gt; as &amp;lt;tt&amp;gt;$FG_Root/Scenery/Objects/w130n30/w123n37/942058.stg&amp;lt;/tt&amp;gt; (and possibly elsewhere).&lt;br /&gt;
&lt;br /&gt;
There is generally more than one .stg file for a given tile, in different directories.  It's important to edit one that will actually be read by flightgear (see below).  One thing you can do is create a personal customized scenery directory separate from the standard installation.  That way, if you upgrade FG your customizations won't get overwritten.  If you create such a directory, list it first in &amp;lt;tt&amp;gt;[[$FG_SCENERY]]&amp;lt;/tt&amp;gt;, create a directory structure inside it parallel to the one in the standard scenery story, and create a .stg file in the appropriate place. Similarly, it is best not to edit the .stg files in the folder where [[TerraSync]] stores the scenery it has fetched, since TerraSync may overwrite them with newer versions.  Objects associated with airports are usually put into a .stg file under a &amp;quot;Terrain&amp;quot; directory; other objects are put under &amp;quot;Objects&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
=== Step 6 ===&lt;br /&gt;
Add the following lines to the stg file you've chosen, replacing the parameters with your own :&lt;br /&gt;
&lt;br /&gt;
 OBJECT_SHARED Models/MyModels/MyModel.xml -55.5 30.3 1000.0 0.00 &lt;br /&gt;
&lt;br /&gt;
In brief, the format is :&lt;br /&gt;
 OBJECT_SHARED path longitude latitude altitude rotation&lt;br /&gt;
&lt;br /&gt;
The path is relative to the $FG_ROOT directory. If you have an XML file for the model, specify it here, otherwise specify the .ac file.  Altitude is in meters above mean sea level.  Rotation is '''counter-clockwise''' from north (not clockwise as in the rest of FG).&lt;br /&gt;
&lt;br /&gt;
There are more details on the .stg file format below.&lt;br /&gt;
&lt;br /&gt;
=== Step 7 ===&lt;br /&gt;
Restart FG and fly to where you added the model; it should be there.&lt;br /&gt;
&lt;br /&gt;
== STG file format ==&lt;br /&gt;
There is documention for the .stg files used by FlightGear in &amp;lt;tt&amp;gt;$FG_ROOT/Docs/README.scenery&amp;lt;/tt&amp;gt;.  Only information relevant for placing shared objects is included here.&lt;br /&gt;
&lt;br /&gt;
Scenery files are loaded by default from &amp;lt;tt&amp;gt;[[$FG_ROOT]]/Scenery&amp;lt;/tt&amp;gt;.  Alternate locations (a &amp;quot;scenery path&amp;quot;) can be specified in &amp;lt;tt&amp;gt;[[$FG_SCENERY]]&amp;lt;/tt&amp;gt; (or from the command line); the first-named directories have highest priority.  Thus, if you create a local directory for storing custom scenery you create, include it first in the scenery path.&lt;br /&gt;
&lt;br /&gt;
Lines for shared objects in the .stg file look like this:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;prettytable&amp;quot; border=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; bordercolor=&amp;quot;black&amp;quot;&amp;gt;&lt;br /&gt;
|OBJECT_SHARED&lt;br /&gt;
|Models/Misc/trigpoint.xml &lt;br /&gt;
|&amp;lt;nowiki&amp;gt;-122.377127&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
|37.71570833&lt;br /&gt;
|1.756719854&lt;br /&gt;
|20&lt;br /&gt;
|- &lt;br /&gt;
|Type&lt;br /&gt;
|filename path&lt;br /&gt;
|Longitude&lt;br /&gt;
|Latitude&lt;br /&gt;
|Elevation&lt;br /&gt;
|Heading&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The filename path is relative to &amp;lt;tt&amp;gt;$FG_ROOT&amp;lt;/tt&amp;gt;.  Longitude and latitude are expressed as decimal numbers (not degrees/minutes/seconds), with negative values representing west and south.  Elevation is in meters above mean sea-level.  Heading is in degrees, '''counter-clockwise''' from North as 0.0 (i.e. when looking from above).  Note that this is opposite from headings in other places in FlightGear, which are clockwise.&lt;br /&gt;
&lt;br /&gt;
Some more examples:&lt;br /&gt;
&lt;br /&gt;
 OBJECT_SHARED Models/MidAtl/cape-may-light.ac   -74.959970 38.933332 -93.0 0.00&lt;br /&gt;
 OBJECT_SHARED Models/Airport/windsock.xml -122.360843 37.613877 1 0&lt;br /&gt;
 OBJECT_SHARED Models/Structures/vordme.xml -122.37389 37.61948 -0.404 0&lt;br /&gt;
&lt;br /&gt;
== XML file format ==&lt;br /&gt;
Alternately, there is a way to include this same information in XML configuration files that are loaded at runtime; see [[Howto: Place 3D objects with the UFO]] or &amp;lt;tt&amp;gt;$FG_ROOT/Docs/README.scenery&amp;lt;/tt&amp;gt; for more details.  This approach has the advantage of keeping your new scenery clearly separate from the standard scenery files without having to create your own custom scenery directory structure.  Further, you can then manually control whether or not to load it at run-time, using the --config option on the command line. You can also include it in one of the standard startup files (such as [[Fgfsrc|.fgfsrc]]) but this will load it into memory every time you start FG, whether or not you are flying in the area.  If you place the scenery information in .stg files, it is only loaded into memory when needed.&lt;br /&gt;
&lt;br /&gt;
[[Category:Howto|Add shared models manually]]&lt;br /&gt;
[[Category:Scenery enhancement|Add shared models manually]]&lt;/div&gt;</summary>
		<author><name>AlbertBickford</name></author>
	</entry>
	<entry>
		<id>https://wiki.flightgear.org/w/index.php?title=Howto:Place_3D_objects_with_the_UFO&amp;diff=30244</id>
		<title>Howto:Place 3D objects with the UFO</title>
		<link rel="alternate" type="text/html" href="https://wiki.flightgear.org/w/index.php?title=Howto:Place_3D_objects_with_the_UFO&amp;diff=30244"/>
		<updated>2011-03-14T06:54:04Z</updated>

		<summary type="html">&lt;p&gt;AlbertBickford: /* Choosing your object */  adjusted wording about Google licensing and copyright&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The [[UFO from the 'White Project' of the UNESCO|UFO]] aircraft is a superb tool for placing a new (or old) 3D object at any arbitrary location in the scenery with just a few clicks of the mouse.&lt;br /&gt;
&lt;br /&gt;
Placing objects in the scenery is a really easy way to contribute to the FlightGear project. It doesn't require any programming knowledge, and you can contribute something valuable in 15 minutes.&lt;br /&gt;
&lt;br /&gt;
Below is an overview of placing, editing, &amp;amp; saving objects using the UFO. You can get a brief overview of the movement and editing commands by pressing ''?'' while flying the UFO. &lt;br /&gt;
&lt;br /&gt;
== Choosing your object ==&lt;br /&gt;
The first thing you need is a 3d model to place in the scenery. The FlightGear Scenery Database ([http://scenemodels.flightgear.org/ http://scenemodels.flightgear.org/]) maintains a huge library of generic models, which will have been included in your FlightGear installation.&lt;br /&gt;
&lt;br /&gt;
If you have created your own model you should save it in a subdirectory of your FG root folder. Two options seem reasonable, although others are possible as well:&lt;br /&gt;
&lt;br /&gt;
a) Save it in the directory Flightgear/data/Models/. That is the standard directory where the UFO will go when you press the Space bar. Let's say you have created a CAT III marker, called catii-iii.xml. In this example, we create a subdirectory Flightgear/data/Models/Tabu/ and save our catii-iii.xml there. The downpoint: The directory Flightgear/data/Models/ is the place where all shared models from the FG Scenery Database are saved and as your universe of own models grows, you might confuse both. &lt;br /&gt;
&lt;br /&gt;
b) You can also save your own models in an other subdirectory like Flightgear/data/mymodels (or any other name). Or if they are shared models which have only one fixed position, like the KSFO terminal, you can save them in the respective subdirectory of the Scenery folder, e.g. Flightgear/data/Scenery/Objects/w130n30/w123n37/mymodels (or directly in w123n37). To browse objects anywhere on your computer, press ''l'' when using the UFO.&lt;br /&gt;
&lt;br /&gt;
If creating your own object, make sure it is the correct size! In Blender, units are meters and the Caliper script may help. Note that you should be careful about using Google Earth, due to restrictions in their license that might prevent submitting your work to the FG database. See [http://flightgear.org/forums/viewtopic.php?f=5&amp;amp;t=3356 here] and [http://flightgear.org/forums/viewtopic.php?f=5&amp;amp;t=3415 here].  (Just using coordinates should be okay, because coordinates of real-world objects are not copyrightable, but be careful of other content.)&lt;br /&gt;
&lt;br /&gt;
== Selecting the ufo ==&lt;br /&gt;
&lt;br /&gt;
[[File:Placing_objects_with_UFO_html_m49fbed81.jpg|400px]]&lt;br /&gt;
&lt;br /&gt;
Now start Flightgear, and choose UFO as your aircraft.&lt;br /&gt;
&lt;br /&gt;
== Placing objects ==&lt;br /&gt;
Once Flightgear has been started, fly with the UFO to the place you want the model to be positioned.&lt;br /&gt;
&lt;br /&gt;
Note that you should not use Google Earth to determine the correct position due to licensing problems. See [http://flightgear.org/forums/viewtopic.php?f=5&amp;amp;t=3356 here] and [http://flightgear.org/forums/viewtopic.php?f=5&amp;amp;t=3415 here].&lt;br /&gt;
&lt;br /&gt;
[[File:Placing_objects_with_UFO_html_5fa8d7b1.jpg|400px]]&lt;br /&gt;
&lt;br /&gt;
Let's say we want to position the catii-iii.xml object at the end of a taxiway. We stop the UFO just above this intersection and press the space key, a Select Model window will open up where the contents of the Flightgear/data/Models/ directory will be shown (or press &amp;quot;L&amp;quot; and you can go to any desired directory). Select your model from this list, then close the window. The selected model path/name will be display in green text at the bottom left of the FlightGear screen.&lt;br /&gt;
&lt;br /&gt;
[[File:Placing_objects_with_UFO_html_m184fb381.jpg|400px]]&lt;br /&gt;
&lt;br /&gt;
To place the object, simply left-click on the position that you want to place it. By default it is placed completely horizontal and rotated to point North. It will probably not have the correct orientation and it will be partly covered by the surrounding terrain, but we can adjust that.&lt;br /&gt;
&lt;br /&gt;
[[File:Placing_objects_with_UFO_html_12ee70a1.jpg|400px]]&lt;br /&gt;
&lt;br /&gt;
== Rotating objects ==&lt;br /&gt;
Fly closer to the ground with the UFO, so that you can see it better.&lt;br /&gt;
&lt;br /&gt;
Now press TAB (or Ctrl-I), and use the resulting sliders to adjust the latitude/longitude/elevation/heading of the model. NB: &amp;quot;Pitch&amp;quot; and &amp;quot;roll&amp;quot; will not be saved, so using them might be fun, but won't help eventually.&lt;br /&gt;
&lt;br /&gt;
[[File:Placing_objects_with_UFO_html_439816e9.jpg|400px]]&lt;br /&gt;
&lt;br /&gt;
See the [[UFO from the 'White Project' of the UNESCO]] page for more information on the UFO command keys and exported file locations, or press ? while in FlightGear.&lt;br /&gt;
&lt;br /&gt;
== Deleting objects ==&lt;br /&gt;
There are three different ways to three different situations in which which you want to delete an object:&lt;br /&gt;
&lt;br /&gt;
You want to delete the last object that you placed in this session:&lt;br /&gt;
: Press the [http://en.wikipedia.org/wiki/Backspace backspace button].&lt;br /&gt;
You want to delete an object that you placed in this session, but you have placed one or two models after it:&lt;br /&gt;
: That means that it is no longer active. Activate it by placing one more model '''on''' the object you want to delete, press the backspace button. Result: The model you want to delete starts blinking, which tells you that it is active.&lt;br /&gt;
You want to delete an object that is already saved in the corresponding .stg file and you don't know where it is:&lt;br /&gt;
: You don't know the filename: The model you want to delete is probably a shared model. You find it in the [http://scenemodels.flightgear.org/ scenery database]. Now you know the model's file name (e.g. [http://scenemodels.flightgear.org/modeledit.php?id=45 generic_skyscraper_01.ac] or [http://scenemodels.flightgear.org/modeledit.php?id=537 Office26x22.xml]).&lt;br /&gt;
: You still need to know where you find it. Place any model on that building and press ''d'' to know in which file you find it (see [[#Exporting the result|Exporting the result]] below). If there are several objects of that type and you want to delete only one of them, find the one closest to the coordinates of your model placed on top.&lt;br /&gt;
: Open the .stg file, delete the whole model entry (see [[#Exporting the result|Exporting the result]] below). Done.&lt;br /&gt;
&lt;br /&gt;
== Exporting the result ==&lt;br /&gt;
Now that the model is correctly positioned, press the ''d'' key to dump the model position data to the terminal. A few lines will be printed on the console, providing the necessary orientation data. &lt;br /&gt;
&lt;br /&gt;
[[File:Placing_objects_with_UFO_html_m4cf0cbf7.jpg]]&lt;br /&gt;
&lt;br /&gt;
The most important lines are the last ones:&lt;br /&gt;
&lt;br /&gt;
 # e000n50/e008n50/3089154.stg &lt;br /&gt;
 OBJECT_SHARED Models/Tabu/catii-iii.xml 8.57928135 50.03667992 105.9972 111.1&lt;br /&gt;
&lt;br /&gt;
The first line identified the location of the scenery file for the object. The OBJECT_SHARED line indicates the objects name, longitude, latitude, altitude and orientation. This can be read by FlightGear itself and can be ([http://scenemodels.flightgear.org/contribute.php submitted]) to the FlightGear Scenery Object Database. &lt;br /&gt;
&lt;br /&gt;
You can also save these coordinates into your own scenery file so that your changes will not be lost the next time you start FlightGear.&lt;br /&gt;
&lt;br /&gt;
== Saving the changes to your scenery ==&lt;br /&gt;
&lt;br /&gt;
In the terminal window, you get three sections printed out by the UFO with very detailed information about what's going on. We need the lines at the end.&lt;br /&gt;
&lt;br /&gt;
As noted above, the UFO helpfully exports the name of the scenery file where the object's coordinates have to be saved. In our example&lt;br /&gt;
&lt;br /&gt;
 e000n50/e008n50/3089154.stg &lt;br /&gt;
&lt;br /&gt;
The default location for scenery files is Flightgear/data/Scenery/Objects/. Simply open the referenced .stg file, add the OBJECT_SHARED line to the bottom and save the file. Now you have your object's position saved, and it will appear inside the scenery every time you start Flightgear!&lt;br /&gt;
&lt;br /&gt;
In our example we would open 3089154.stg in Flightgear/data/Scenery/Objects/e000n50/e008n50/ and add the following line.&lt;br /&gt;
&lt;br /&gt;
 OBJECT_SHARED Models/Tabu/catii-iii.xml 8.57928135 50.03667992 105.9972 111.1&lt;br /&gt;
&lt;br /&gt;
For a short video demonstrating the .stg method, see the following video:&lt;br /&gt;
{{#ev:youtube|i2BSUOMyiIg|400|This is an embedded video!}}&lt;br /&gt;
&lt;br /&gt;
== Saving to XML ==&lt;br /&gt;
&lt;br /&gt;
Alternatively, if you press the ''e'' key while developing scenery with Ufo, fgfs will generate an xml file with the dump of your current work in a &amp;quot;ufo-model-export.xml&amp;quot; file. &lt;br /&gt;
&lt;br /&gt;
Under Unix, the file is saved to directory ''~/.fgfs'' &lt;br /&gt;
&lt;br /&gt;
Under Windows it is saved to ''%APPDATA%\flightgear.org''. Under a typical Windows installation the file will look something like this:&lt;br /&gt;
&lt;br /&gt;
  C:\Documents and Settings\{YOURUSERNAME}\Application Data\flightgear.org&lt;br /&gt;
&lt;br /&gt;
(Note that some FlightGear 1.9.1 users have reported that pressing ''e'' gives an error message to the console and fails to save the XML file. The [http://www.flightgear.org/forums/viewtopic.php?f=2&amp;amp;t=3170&amp;amp;st=0&amp;amp;sk=t&amp;amp;sd=a&amp;amp;sid=a14a7a3a2f2084f44295880fca7e2932 problem is outlined here] and [http://www.flightgear.org/forums/viewtopic.php?f=2&amp;amp;t=3170&amp;amp;st=0&amp;amp;sk=t&amp;amp;sd=a&amp;amp;start=15 solution given here]--simply add a line to ~flightgear~/data/Nasal/IORules reading &amp;quot;WRITE ALLOW $FG_HOME/ufo-model-export.xml&amp;quot;.)&lt;br /&gt;
&lt;br /&gt;
== Loading the XML file as part of FlightGear scenery ==&lt;br /&gt;
You can later reload this XML file with --config= command-line parameter:&lt;br /&gt;
&lt;br /&gt;
Example for Linux:&lt;br /&gt;
 fgfs --config=$HOME/.fgfs/ufo-model-export.xml&lt;br /&gt;
&lt;br /&gt;
In Windows, this is done using the Advanced dialog, found on the last panel of the FG Run GUI. Click Advanced and, under General, click the double-dot button, browse to the ufo-model-export.xml file and click OK.&lt;br /&gt;
&lt;br /&gt;
[[Category:Howto|Place 3D objects with the UFO]]&lt;br /&gt;
[[Category:Scenery enhancement|Place 3D objects with the UFO]]&lt;/div&gt;</summary>
		<author><name>AlbertBickford</name></author>
	</entry>
	<entry>
		<id>https://wiki.flightgear.org/w/index.php?title=Howto:Place_3D_objects_with_the_UFO&amp;diff=30243</id>
		<title>Howto:Place 3D objects with the UFO</title>
		<link rel="alternate" type="text/html" href="https://wiki.flightgear.org/w/index.php?title=Howto:Place_3D_objects_with_the_UFO&amp;diff=30243"/>
		<updated>2011-03-14T06:51:32Z</updated>

		<summary type="html">&lt;p&gt;AlbertBickford: /* Choosing your object */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The [[UFO from the 'White Project' of the UNESCO|UFO]] aircraft is a superb tool for placing a new (or old) 3D object at any arbitrary location in the scenery with just a few clicks of the mouse.&lt;br /&gt;
&lt;br /&gt;
Placing objects in the scenery is a really easy way to contribute to the FlightGear project. It doesn't require any programming knowledge, and you can contribute something valuable in 15 minutes.&lt;br /&gt;
&lt;br /&gt;
Below is an overview of placing, editing, &amp;amp; saving objects using the UFO. You can get a brief overview of the movement and editing commands by pressing ''?'' while flying the UFO. &lt;br /&gt;
&lt;br /&gt;
== Choosing your object ==&lt;br /&gt;
The first thing you need is a 3d model to place in the scenery. The FlightGear Scenery Database ([http://scenemodels.flightgear.org/ http://scenemodels.flightgear.org/]) maintains a huge library of generic models, which will have been included in your FlightGear installation.&lt;br /&gt;
&lt;br /&gt;
If you have created your own model you should save it in a subdirectory of your FG root folder. Two options seem reasonable, although others are possible as well:&lt;br /&gt;
&lt;br /&gt;
a) Save it in the directory Flightgear/data/Models/. That is the standard directory where the UFO will go when you press the Space bar. Let's say you have created a CAT III marker, called catii-iii.xml. In this example, we create a subdirectory Flightgear/data/Models/Tabu/ and save our catii-iii.xml there. The downpoint: The directory Flightgear/data/Models/ is the place where all shared models from the FG Scenery Database are saved and as your universe of own models grows, you might confuse both. &lt;br /&gt;
&lt;br /&gt;
b) You can also save your own models in an other subdirectory like Flightgear/data/mymodels (or any other name). Or if they are shared models which have only one fixed position, like the KSFO terminal, you can save them in the respective subdirectory of the Scenery folder, e.g. Flightgear/data/Scenery/Objects/w130n30/w123n37/mymodels (or directly in w123n37). To browse objects anywhere on your computer, press ''l'' when using the UFO.&lt;br /&gt;
&lt;br /&gt;
If creating your own object, make sure it is the correct size! In Blender, units are meters and the Caliper script may help. Note that you should be careful about using Google Earth, due to possible licensing restrictions. See [http://flightgear.org/forums/viewtopic.php?f=5&amp;amp;t=3356 here] and [http://flightgear.org/forums/viewtopic.php?f=5&amp;amp;t=3415 here].&lt;br /&gt;
&lt;br /&gt;
== Selecting the ufo ==&lt;br /&gt;
&lt;br /&gt;
[[File:Placing_objects_with_UFO_html_m49fbed81.jpg|400px]]&lt;br /&gt;
&lt;br /&gt;
Now start Flightgear, and choose UFO as your aircraft.&lt;br /&gt;
&lt;br /&gt;
== Placing objects ==&lt;br /&gt;
Once Flightgear has been started, fly with the UFO to the place you want the model to be positioned.&lt;br /&gt;
&lt;br /&gt;
Note that you should not use Google Earth to determine the correct position due to licensing problems. See [http://flightgear.org/forums/viewtopic.php?f=5&amp;amp;t=3356 here] and [http://flightgear.org/forums/viewtopic.php?f=5&amp;amp;t=3415 here].&lt;br /&gt;
&lt;br /&gt;
[[File:Placing_objects_with_UFO_html_5fa8d7b1.jpg|400px]]&lt;br /&gt;
&lt;br /&gt;
Let's say we want to position the catii-iii.xml object at the end of a taxiway. We stop the UFO just above this intersection and press the space key, a Select Model window will open up where the contents of the Flightgear/data/Models/ directory will be shown (or press &amp;quot;L&amp;quot; and you can go to any desired directory). Select your model from this list, then close the window. The selected model path/name will be display in green text at the bottom left of the FlightGear screen.&lt;br /&gt;
&lt;br /&gt;
[[File:Placing_objects_with_UFO_html_m184fb381.jpg|400px]]&lt;br /&gt;
&lt;br /&gt;
To place the object, simply left-click on the position that you want to place it. By default it is placed completely horizontal and rotated to point North. It will probably not have the correct orientation and it will be partly covered by the surrounding terrain, but we can adjust that.&lt;br /&gt;
&lt;br /&gt;
[[File:Placing_objects_with_UFO_html_12ee70a1.jpg|400px]]&lt;br /&gt;
&lt;br /&gt;
== Rotating objects ==&lt;br /&gt;
Fly closer to the ground with the UFO, so that you can see it better.&lt;br /&gt;
&lt;br /&gt;
Now press TAB (or Ctrl-I), and use the resulting sliders to adjust the latitude/longitude/elevation/heading of the model. NB: &amp;quot;Pitch&amp;quot; and &amp;quot;roll&amp;quot; will not be saved, so using them might be fun, but won't help eventually.&lt;br /&gt;
&lt;br /&gt;
[[File:Placing_objects_with_UFO_html_439816e9.jpg|400px]]&lt;br /&gt;
&lt;br /&gt;
See the [[UFO from the 'White Project' of the UNESCO]] page for more information on the UFO command keys and exported file locations, or press ? while in FlightGear.&lt;br /&gt;
&lt;br /&gt;
== Deleting objects ==&lt;br /&gt;
There are three different ways to three different situations in which which you want to delete an object:&lt;br /&gt;
&lt;br /&gt;
You want to delete the last object that you placed in this session:&lt;br /&gt;
: Press the [http://en.wikipedia.org/wiki/Backspace backspace button].&lt;br /&gt;
You want to delete an object that you placed in this session, but you have placed one or two models after it:&lt;br /&gt;
: That means that it is no longer active. Activate it by placing one more model '''on''' the object you want to delete, press the backspace button. Result: The model you want to delete starts blinking, which tells you that it is active.&lt;br /&gt;
You want to delete an object that is already saved in the corresponding .stg file and you don't know where it is:&lt;br /&gt;
: You don't know the filename: The model you want to delete is probably a shared model. You find it in the [http://scenemodels.flightgear.org/ scenery database]. Now you know the model's file name (e.g. [http://scenemodels.flightgear.org/modeledit.php?id=45 generic_skyscraper_01.ac] or [http://scenemodels.flightgear.org/modeledit.php?id=537 Office26x22.xml]).&lt;br /&gt;
: You still need to know where you find it. Place any model on that building and press ''d'' to know in which file you find it (see [[#Exporting the result|Exporting the result]] below). If there are several objects of that type and you want to delete only one of them, find the one closest to the coordinates of your model placed on top.&lt;br /&gt;
: Open the .stg file, delete the whole model entry (see [[#Exporting the result|Exporting the result]] below). Done.&lt;br /&gt;
&lt;br /&gt;
== Exporting the result ==&lt;br /&gt;
Now that the model is correctly positioned, press the ''d'' key to dump the model position data to the terminal. A few lines will be printed on the console, providing the necessary orientation data. &lt;br /&gt;
&lt;br /&gt;
[[File:Placing_objects_with_UFO_html_m4cf0cbf7.jpg]]&lt;br /&gt;
&lt;br /&gt;
The most important lines are the last ones:&lt;br /&gt;
&lt;br /&gt;
 # e000n50/e008n50/3089154.stg &lt;br /&gt;
 OBJECT_SHARED Models/Tabu/catii-iii.xml 8.57928135 50.03667992 105.9972 111.1&lt;br /&gt;
&lt;br /&gt;
The first line identified the location of the scenery file for the object. The OBJECT_SHARED line indicates the objects name, longitude, latitude, altitude and orientation. This can be read by FlightGear itself and can be ([http://scenemodels.flightgear.org/contribute.php submitted]) to the FlightGear Scenery Object Database. &lt;br /&gt;
&lt;br /&gt;
You can also save these coordinates into your own scenery file so that your changes will not be lost the next time you start FlightGear.&lt;br /&gt;
&lt;br /&gt;
== Saving the changes to your scenery ==&lt;br /&gt;
&lt;br /&gt;
In the terminal window, you get three sections printed out by the UFO with very detailed information about what's going on. We need the lines at the end.&lt;br /&gt;
&lt;br /&gt;
As noted above, the UFO helpfully exports the name of the scenery file where the object's coordinates have to be saved. In our example&lt;br /&gt;
&lt;br /&gt;
 e000n50/e008n50/3089154.stg &lt;br /&gt;
&lt;br /&gt;
The default location for scenery files is Flightgear/data/Scenery/Objects/. Simply open the referenced .stg file, add the OBJECT_SHARED line to the bottom and save the file. Now you have your object's position saved, and it will appear inside the scenery every time you start Flightgear!&lt;br /&gt;
&lt;br /&gt;
In our example we would open 3089154.stg in Flightgear/data/Scenery/Objects/e000n50/e008n50/ and add the following line.&lt;br /&gt;
&lt;br /&gt;
 OBJECT_SHARED Models/Tabu/catii-iii.xml 8.57928135 50.03667992 105.9972 111.1&lt;br /&gt;
&lt;br /&gt;
For a short video demonstrating the .stg method, see the following video:&lt;br /&gt;
{{#ev:youtube|i2BSUOMyiIg|400|This is an embedded video!}}&lt;br /&gt;
&lt;br /&gt;
== Saving to XML ==&lt;br /&gt;
&lt;br /&gt;
Alternatively, if you press the ''e'' key while developing scenery with Ufo, fgfs will generate an xml file with the dump of your current work in a &amp;quot;ufo-model-export.xml&amp;quot; file. &lt;br /&gt;
&lt;br /&gt;
Under Unix, the file is saved to directory ''~/.fgfs'' &lt;br /&gt;
&lt;br /&gt;
Under Windows it is saved to ''%APPDATA%\flightgear.org''. Under a typical Windows installation the file will look something like this:&lt;br /&gt;
&lt;br /&gt;
  C:\Documents and Settings\{YOURUSERNAME}\Application Data\flightgear.org&lt;br /&gt;
&lt;br /&gt;
(Note that some FlightGear 1.9.1 users have reported that pressing ''e'' gives an error message to the console and fails to save the XML file. The [http://www.flightgear.org/forums/viewtopic.php?f=2&amp;amp;t=3170&amp;amp;st=0&amp;amp;sk=t&amp;amp;sd=a&amp;amp;sid=a14a7a3a2f2084f44295880fca7e2932 problem is outlined here] and [http://www.flightgear.org/forums/viewtopic.php?f=2&amp;amp;t=3170&amp;amp;st=0&amp;amp;sk=t&amp;amp;sd=a&amp;amp;start=15 solution given here]--simply add a line to ~flightgear~/data/Nasal/IORules reading &amp;quot;WRITE ALLOW $FG_HOME/ufo-model-export.xml&amp;quot;.)&lt;br /&gt;
&lt;br /&gt;
== Loading the XML file as part of FlightGear scenery ==&lt;br /&gt;
You can later reload this XML file with --config= command-line parameter:&lt;br /&gt;
&lt;br /&gt;
Example for Linux:&lt;br /&gt;
 fgfs --config=$HOME/.fgfs/ufo-model-export.xml&lt;br /&gt;
&lt;br /&gt;
In Windows, this is done using the Advanced dialog, found on the last panel of the FG Run GUI. Click Advanced and, under General, click the double-dot button, browse to the ufo-model-export.xml file and click OK.&lt;br /&gt;
&lt;br /&gt;
[[Category:Howto|Place 3D objects with the UFO]]&lt;br /&gt;
[[Category:Scenery enhancement|Place 3D objects with the UFO]]&lt;/div&gt;</summary>
		<author><name>AlbertBickford</name></author>
	</entry>
	<entry>
		<id>https://wiki.flightgear.org/w/index.php?title=Howto:Add_shared_models_manually&amp;diff=30242</id>
		<title>Howto:Add shared models manually</title>
		<link rel="alternate" type="text/html" href="https://wiki.flightgear.org/w/index.php?title=Howto:Add_shared_models_manually&amp;diff=30242"/>
		<updated>2011-03-14T05:36:15Z</updated>

		<summary type="html">&lt;p&gt;AlbertBickford: /* XML file format */ Fix link to Fgfsrc&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;You can add your own objects, known as &amp;quot;shared models&amp;quot; to FlightGear's world.  This howto explains one way to do so.  It assumes that you already have a model for the object. There are many that come standard with FG; they are stored in the &amp;lt;tt&amp;gt;[[$FG_ROOT]]/Models&amp;lt;/tt&amp;gt; directory.  &lt;br /&gt;
&lt;br /&gt;
You can also create one using a suitable modeling program such as [http://www.blender.org/ blender].  The most common file format used is .ac, but you can use any format that PLIB supports, such as AC3D.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Adding Shared Models to FlightGear's World ==&lt;br /&gt;
&lt;br /&gt;
=== Step 1 ===&lt;br /&gt;
If you plan to use one of the standard FG models, skip to step 4.&lt;br /&gt;
&lt;br /&gt;
If you have created your own model, create a new directory for it under &amp;lt;tt&amp;gt;[[$FG_ROOT]]/Models&amp;lt;/tt&amp;gt; (to keep your models separate from the standard ones).  We'll use &amp;lt;tt&amp;gt;$FG_ROOT/Models/MyModels&amp;lt;/tt&amp;gt; as an example.&lt;br /&gt;
&lt;br /&gt;
=== Step 2 ===&lt;br /&gt;
Copy your .ac file containing the model into the &amp;lt;tt&amp;gt;$FG_ROOT/Models/MyModels&amp;lt;/tt&amp;gt; directory. We'll use &amp;lt;tt&amp;gt;MyModel.ac&amp;lt;/tt&amp;gt; as the name of that file.&lt;br /&gt;
&lt;br /&gt;
=== Step 3 (optional) ===&lt;br /&gt;
If you intend to include animation, create an XML file called &amp;lt;tt&amp;gt;MyModel.xml&amp;lt;/tt&amp;gt; inside the &amp;lt;tt&amp;gt;$FG_ROOT/Models/MyModels&amp;lt;/tt&amp;gt; directory with the following contents:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;?xml version=&amp;quot;1.0&amp;quot;?&amp;gt;&lt;br /&gt;
 &amp;lt;PropertyList&amp;gt;&lt;br /&gt;
  &amp;lt;path&amp;gt;MyModel.ac&amp;lt;/path&amp;gt;&lt;br /&gt;
  &amp;lt;animation&amp;gt;&lt;br /&gt;
   &amp;lt;type&amp;gt;range&amp;lt;/type&amp;gt;&lt;br /&gt;
   &amp;lt;min-m&amp;gt;0&amp;lt;/min-m&amp;gt;&lt;br /&gt;
   &amp;lt;max-m&amp;gt;20000&amp;lt;/max-m&amp;gt;&lt;br /&gt;
  &amp;lt;/animation&amp;gt;&lt;br /&gt;
 &amp;lt;/PropertyList&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This file references the .ac model file and tells FlightGear that it must be visible from 0 meters up to 20 km.&lt;br /&gt;
&lt;br /&gt;
An XML file is only necessary if you are intending to include animation; it is not required to render a model at a fixed location in FlightGear. &lt;br /&gt;
&lt;br /&gt;
=== Step 4 ===&lt;br /&gt;
Next, you have to determine where to place the model in FG's world.&lt;br /&gt;
&lt;br /&gt;
A useful resource at this stage are websites that allow you to get the coordinates of a point from aerial photographs.  One such is [http://itouchmap.com/ itouchmap.com], which relies on Google Maps.  Enter a street name, city, and state. When you get a good photo of your feature, click on map to place a marker there, then read the displayed coordinates.  Google Earth is also a good way to obtain position information, and there are other websites that will provide it also, or you can get it from a GPS.&lt;br /&gt;
&lt;br /&gt;
Once you've got at least a rough idea of the coordinates, you need to place the object visually. An easy way do this is with the [[UFO]] &amp;quot;airplane&amp;quot;. In addition to making it easy to move around (or hover), it allows you to place objects and see what they look like there.  It calculates the positioning details for you and writes them out in the correct format.  See [[Howto: Place 3D objects with the UFO]].  Here, though, we'll continue by describing a manual way to do it, for people who may need or want to know the inside details.  &lt;br /&gt;
&lt;br /&gt;
Start FG and fly to the location where you want to place the object. Open up the property browser in FG (File-&amp;gt;Browse Internal Properties), and the &amp;lt;tt&amp;gt;/position&amp;lt;/tt&amp;gt; key.  Check that the values for &amp;lt;tt&amp;gt;latitude-deg&amp;lt;/tt&amp;gt; and &amp;lt;tt&amp;gt;longitude-deg&amp;lt;/tt&amp;gt; are what you want, or write them down if you're positioning things visually, and also note the &amp;lt;tt&amp;gt;ground-elev-m&amp;lt;/tt&amp;gt;. If you want to place the object above ground level, then add the appropriate number of meters.  Then, go to the &amp;lt;tt&amp;gt;/environment&amp;lt;/tt&amp;gt; key and write down the tile number (current-tile-id).&lt;br /&gt;
&lt;br /&gt;
=== Step 5 ===&lt;br /&gt;
Next, locate a .stg file into which you will place a reference to the object's model and its position. &lt;br /&gt;
&lt;br /&gt;
The .stg files are named according to tile number and stored under the scenery directories.  The default installation places a limited amount of scenery (for the area around San Francisco) in &amp;lt;tt&amp;gt;[[$FG_ROOT]]/scenery&amp;lt;/tt&amp;gt; but you may have scenery in other directories, as specified in &amp;lt;tt&amp;gt;[[$FG_SCENERY]]&amp;lt;/tt&amp;gt;.  (See [[Howto: Install scenery]].)  Under each scenery directory, you will find directories called &amp;lt;tt&amp;gt;Objects&amp;lt;/tt&amp;gt; and &amp;lt;tt&amp;gt;Terrain&amp;lt;/tt&amp;gt;, and under them directories that group tiles into larger and smaller quadrants.  Thus, if the tile number is 942058, you will find &amp;lt;tt&amp;gt;942058.stg&amp;lt;/tt&amp;gt; under &amp;lt;tt&amp;gt;$FG_ROOT&amp;lt;/tt&amp;gt; as &amp;lt;tt&amp;gt;$FG_Root/Scenery/Objects/w130n30/w123n37/942058.stg&amp;lt;/tt&amp;gt; (and possibly elsewhere).&lt;br /&gt;
&lt;br /&gt;
There is generally more than one .stg file for a given tile, in different directories.  It's important to edit one that will actually be read by flightgear (see below).  One thing you can do is create a personal customized scenery directory separate from the standard installation.  That way, if you upgrade FG your customizations won't get overwritten.  If you create such a directory, list it first in &amp;lt;tt&amp;gt;[[$FG_SCENERY]]&amp;lt;/tt&amp;gt;, create a directory structure inside it parallel to the one in the standard scenery story, and create a .stg file in the appropriate place. Similarly, it is best not to edit the .stg files in the folder where [[TerraSync]] stores the scenery it has fetched, since TerraSync may overwrite them with newer versions.  Objects associated with airports are usually put into a .stg file under a &amp;quot;Terrain&amp;quot; directory; other objects are put under &amp;quot;Objects&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
=== Step 6 ===&lt;br /&gt;
Add the following lines to the stg file you've chosen, replacing the parameters with your own :&lt;br /&gt;
&lt;br /&gt;
 OBJECT_SHARED Models/MyModels/MyModel.xml -55.5 30.3 1000.0 0.00 &lt;br /&gt;
&lt;br /&gt;
In brief, the format is :&lt;br /&gt;
 OBJECT_SHARED path longitude latitude altitude rotation&lt;br /&gt;
&lt;br /&gt;
The path is relative to the $FG_ROOT directory. If you have an XML file for the model, specify it here, otherwise specify the .ac file.  Altitude is in meters above mean sea level.  Rotation is '''counter-clockwise''' from north (not clockwise as in the rest of FG).&lt;br /&gt;
&lt;br /&gt;
There are more details on the .stg file format below.&lt;br /&gt;
&lt;br /&gt;
=== Step 7 ===&lt;br /&gt;
Restart FG and fly to where you added the model; it should be there.&lt;br /&gt;
&lt;br /&gt;
== STG file format ==&lt;br /&gt;
There is documention for the .stg files used by FlightGear in &amp;lt;tt&amp;gt;$FG_ROOT/Docs/README.scenery&amp;lt;/tt&amp;gt;.  Only information relevant for placing shared objects is included here.&lt;br /&gt;
&lt;br /&gt;
Scenery files are loaded by default from &amp;lt;tt&amp;gt;[[$FG_ROOT]]/Scenery&amp;lt;/tt&amp;gt;.  Alternate locations (a &amp;quot;scenery path&amp;quot;) can be specified in &amp;lt;tt&amp;gt;[[$FG_SCENERY]]&amp;lt;/tt&amp;gt; (or from the command line); the first-named directories have highest priority.  Thus, if you create a local directory for storing custom scenery you create, include it first in the scenery path.&lt;br /&gt;
&lt;br /&gt;
Lines for shared objects in the .stg file look like this:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;prettytable&amp;quot; border=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; bordercolor=&amp;quot;black&amp;quot;&amp;gt;&lt;br /&gt;
|OBJECT_SHARED&lt;br /&gt;
|Models/Misc/trigpoint.xml &lt;br /&gt;
|&amp;lt;nowiki&amp;gt;-122.377127&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
|37.71570833&lt;br /&gt;
|1.756719854&lt;br /&gt;
|20&lt;br /&gt;
|- &lt;br /&gt;
|Type&lt;br /&gt;
|filename path&lt;br /&gt;
|Longitude&lt;br /&gt;
|Latitude&lt;br /&gt;
|Elevation&lt;br /&gt;
|Heading&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The filename path is relative to &amp;lt;tt&amp;gt;$FG_ROOT&amp;lt;/tt&amp;gt;.  Longitude and latitude are expressed as decimal numbers (not degrees/minutes/seconds), with negative values representing west and south.  Elevation is in meters above mean sea-level.  Heading is in degrees, '''counter-clockwise''' from North as 0.0 (i.e. when looking from above).  Note that this is opposite from headings in other places in FlightGear, which are clockwise.&lt;br /&gt;
&lt;br /&gt;
Some more examples:&lt;br /&gt;
&lt;br /&gt;
 OBJECT_SHARED Models/MidAtl/cape-may-light.ac   -74.959970 38.933332 -93.0 0.00&lt;br /&gt;
 OBJECT_SHARED Models/Airport/windsock.xml -122.360843 37.613877 1 0&lt;br /&gt;
 OBJECT_SHARED Models/Structures/vordme.xml -122.37389 37.61948 -0.404 0&lt;br /&gt;
&lt;br /&gt;
== XML file format ==&lt;br /&gt;
Alternately, there is a way to include this same information in XML configuration files that are loaded at runtime; see [[Howto: Place 3D objects with the UFO]] or &amp;lt;tt&amp;gt;$FG_ROOT/Docs/README.scenery&amp;lt;/tt&amp;gt; for more details.  This approach has the advantage of keeping your new scenery clearly separate from the standard scenery files without having to create your own custom scenery directory structure.  Further, you can then manually control whether or not to load it at run-time, using the --config option on the command line. You can also include it in one of the standard startup files (such as [[Fgfsrc|.fgfsrc]]) but this will load it into memory every time you start FG, whether or not you are flying in the area.  If you place the scenery information in .stg files, it is only loaded into memory when needed.&lt;br /&gt;
&lt;br /&gt;
[[Category:Howto|Add shared models manually]]&lt;br /&gt;
[[Category:Scenery enhancement|Add shared models manually]]&lt;/div&gt;</summary>
		<author><name>AlbertBickford</name></author>
	</entry>
	<entry>
		<id>https://wiki.flightgear.org/w/index.php?title=Howto:Add_shared_models_manually&amp;diff=30241</id>
		<title>Howto:Add shared models manually</title>
		<link rel="alternate" type="text/html" href="https://wiki.flightgear.org/w/index.php?title=Howto:Add_shared_models_manually&amp;diff=30241"/>
		<updated>2011-03-14T05:34:44Z</updated>

		<summary type="html">&lt;p&gt;AlbertBickford: /* STG file format */ split section into two&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;You can add your own objects, known as &amp;quot;shared models&amp;quot; to FlightGear's world.  This howto explains one way to do so.  It assumes that you already have a model for the object. There are many that come standard with FG; they are stored in the &amp;lt;tt&amp;gt;[[$FG_ROOT]]/Models&amp;lt;/tt&amp;gt; directory.  &lt;br /&gt;
&lt;br /&gt;
You can also create one using a suitable modeling program such as [http://www.blender.org/ blender].  The most common file format used is .ac, but you can use any format that PLIB supports, such as AC3D.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Adding Shared Models to FlightGear's World ==&lt;br /&gt;
&lt;br /&gt;
=== Step 1 ===&lt;br /&gt;
If you plan to use one of the standard FG models, skip to step 4.&lt;br /&gt;
&lt;br /&gt;
If you have created your own model, create a new directory for it under &amp;lt;tt&amp;gt;[[$FG_ROOT]]/Models&amp;lt;/tt&amp;gt; (to keep your models separate from the standard ones).  We'll use &amp;lt;tt&amp;gt;$FG_ROOT/Models/MyModels&amp;lt;/tt&amp;gt; as an example.&lt;br /&gt;
&lt;br /&gt;
=== Step 2 ===&lt;br /&gt;
Copy your .ac file containing the model into the &amp;lt;tt&amp;gt;$FG_ROOT/Models/MyModels&amp;lt;/tt&amp;gt; directory. We'll use &amp;lt;tt&amp;gt;MyModel.ac&amp;lt;/tt&amp;gt; as the name of that file.&lt;br /&gt;
&lt;br /&gt;
=== Step 3 (optional) ===&lt;br /&gt;
If you intend to include animation, create an XML file called &amp;lt;tt&amp;gt;MyModel.xml&amp;lt;/tt&amp;gt; inside the &amp;lt;tt&amp;gt;$FG_ROOT/Models/MyModels&amp;lt;/tt&amp;gt; directory with the following contents:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;?xml version=&amp;quot;1.0&amp;quot;?&amp;gt;&lt;br /&gt;
 &amp;lt;PropertyList&amp;gt;&lt;br /&gt;
  &amp;lt;path&amp;gt;MyModel.ac&amp;lt;/path&amp;gt;&lt;br /&gt;
  &amp;lt;animation&amp;gt;&lt;br /&gt;
   &amp;lt;type&amp;gt;range&amp;lt;/type&amp;gt;&lt;br /&gt;
   &amp;lt;min-m&amp;gt;0&amp;lt;/min-m&amp;gt;&lt;br /&gt;
   &amp;lt;max-m&amp;gt;20000&amp;lt;/max-m&amp;gt;&lt;br /&gt;
  &amp;lt;/animation&amp;gt;&lt;br /&gt;
 &amp;lt;/PropertyList&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This file references the .ac model file and tells FlightGear that it must be visible from 0 meters up to 20 km.&lt;br /&gt;
&lt;br /&gt;
An XML file is only necessary if you are intending to include animation; it is not required to render a model at a fixed location in FlightGear. &lt;br /&gt;
&lt;br /&gt;
=== Step 4 ===&lt;br /&gt;
Next, you have to determine where to place the model in FG's world.&lt;br /&gt;
&lt;br /&gt;
A useful resource at this stage are websites that allow you to get the coordinates of a point from aerial photographs.  One such is [http://itouchmap.com/ itouchmap.com], which relies on Google Maps.  Enter a street name, city, and state. When you get a good photo of your feature, click on map to place a marker there, then read the displayed coordinates.  Google Earth is also a good way to obtain position information, and there are other websites that will provide it also, or you can get it from a GPS.&lt;br /&gt;
&lt;br /&gt;
Once you've got at least a rough idea of the coordinates, you need to place the object visually. An easy way do this is with the [[UFO]] &amp;quot;airplane&amp;quot;. In addition to making it easy to move around (or hover), it allows you to place objects and see what they look like there.  It calculates the positioning details for you and writes them out in the correct format.  See [[Howto: Place 3D objects with the UFO]].  Here, though, we'll continue by describing a manual way to do it, for people who may need or want to know the inside details.  &lt;br /&gt;
&lt;br /&gt;
Start FG and fly to the location where you want to place the object. Open up the property browser in FG (File-&amp;gt;Browse Internal Properties), and the &amp;lt;tt&amp;gt;/position&amp;lt;/tt&amp;gt; key.  Check that the values for &amp;lt;tt&amp;gt;latitude-deg&amp;lt;/tt&amp;gt; and &amp;lt;tt&amp;gt;longitude-deg&amp;lt;/tt&amp;gt; are what you want, or write them down if you're positioning things visually, and also note the &amp;lt;tt&amp;gt;ground-elev-m&amp;lt;/tt&amp;gt;. If you want to place the object above ground level, then add the appropriate number of meters.  Then, go to the &amp;lt;tt&amp;gt;/environment&amp;lt;/tt&amp;gt; key and write down the tile number (current-tile-id).&lt;br /&gt;
&lt;br /&gt;
=== Step 5 ===&lt;br /&gt;
Next, locate a .stg file into which you will place a reference to the object's model and its position. &lt;br /&gt;
&lt;br /&gt;
The .stg files are named according to tile number and stored under the scenery directories.  The default installation places a limited amount of scenery (for the area around San Francisco) in &amp;lt;tt&amp;gt;[[$FG_ROOT]]/scenery&amp;lt;/tt&amp;gt; but you may have scenery in other directories, as specified in &amp;lt;tt&amp;gt;[[$FG_SCENERY]]&amp;lt;/tt&amp;gt;.  (See [[Howto: Install scenery]].)  Under each scenery directory, you will find directories called &amp;lt;tt&amp;gt;Objects&amp;lt;/tt&amp;gt; and &amp;lt;tt&amp;gt;Terrain&amp;lt;/tt&amp;gt;, and under them directories that group tiles into larger and smaller quadrants.  Thus, if the tile number is 942058, you will find &amp;lt;tt&amp;gt;942058.stg&amp;lt;/tt&amp;gt; under &amp;lt;tt&amp;gt;$FG_ROOT&amp;lt;/tt&amp;gt; as &amp;lt;tt&amp;gt;$FG_Root/Scenery/Objects/w130n30/w123n37/942058.stg&amp;lt;/tt&amp;gt; (and possibly elsewhere).&lt;br /&gt;
&lt;br /&gt;
There is generally more than one .stg file for a given tile, in different directories.  It's important to edit one that will actually be read by flightgear (see below).  One thing you can do is create a personal customized scenery directory separate from the standard installation.  That way, if you upgrade FG your customizations won't get overwritten.  If you create such a directory, list it first in &amp;lt;tt&amp;gt;[[$FG_SCENERY]]&amp;lt;/tt&amp;gt;, create a directory structure inside it parallel to the one in the standard scenery story, and create a .stg file in the appropriate place. Similarly, it is best not to edit the .stg files in the folder where [[TerraSync]] stores the scenery it has fetched, since TerraSync may overwrite them with newer versions.  Objects associated with airports are usually put into a .stg file under a &amp;quot;Terrain&amp;quot; directory; other objects are put under &amp;quot;Objects&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
=== Step 6 ===&lt;br /&gt;
Add the following lines to the stg file you've chosen, replacing the parameters with your own :&lt;br /&gt;
&lt;br /&gt;
 OBJECT_SHARED Models/MyModels/MyModel.xml -55.5 30.3 1000.0 0.00 &lt;br /&gt;
&lt;br /&gt;
In brief, the format is :&lt;br /&gt;
 OBJECT_SHARED path longitude latitude altitude rotation&lt;br /&gt;
&lt;br /&gt;
The path is relative to the $FG_ROOT directory. If you have an XML file for the model, specify it here, otherwise specify the .ac file.  Altitude is in meters above mean sea level.  Rotation is '''counter-clockwise''' from north (not clockwise as in the rest of FG).&lt;br /&gt;
&lt;br /&gt;
There are more details on the .stg file format below.&lt;br /&gt;
&lt;br /&gt;
=== Step 7 ===&lt;br /&gt;
Restart FG and fly to where you added the model; it should be there.&lt;br /&gt;
&lt;br /&gt;
== STG file format ==&lt;br /&gt;
There is documention for the .stg files used by FlightGear in &amp;lt;tt&amp;gt;$FG_ROOT/Docs/README.scenery&amp;lt;/tt&amp;gt;.  Only information relevant for placing shared objects is included here.&lt;br /&gt;
&lt;br /&gt;
Scenery files are loaded by default from &amp;lt;tt&amp;gt;[[$FG_ROOT]]/Scenery&amp;lt;/tt&amp;gt;.  Alternate locations (a &amp;quot;scenery path&amp;quot;) can be specified in &amp;lt;tt&amp;gt;[[$FG_SCENERY]]&amp;lt;/tt&amp;gt; (or from the command line); the first-named directories have highest priority.  Thus, if you create a local directory for storing custom scenery you create, include it first in the scenery path.&lt;br /&gt;
&lt;br /&gt;
Lines for shared objects in the .stg file look like this:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;prettytable&amp;quot; border=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; bordercolor=&amp;quot;black&amp;quot;&amp;gt;&lt;br /&gt;
|OBJECT_SHARED&lt;br /&gt;
|Models/Misc/trigpoint.xml &lt;br /&gt;
|&amp;lt;nowiki&amp;gt;-122.377127&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
|37.71570833&lt;br /&gt;
|1.756719854&lt;br /&gt;
|20&lt;br /&gt;
|- &lt;br /&gt;
|Type&lt;br /&gt;
|filename path&lt;br /&gt;
|Longitude&lt;br /&gt;
|Latitude&lt;br /&gt;
|Elevation&lt;br /&gt;
|Heading&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The filename path is relative to &amp;lt;tt&amp;gt;$FG_ROOT&amp;lt;/tt&amp;gt;.  Longitude and latitude are expressed as decimal numbers (not degrees/minutes/seconds), with negative values representing west and south.  Elevation is in meters above mean sea-level.  Heading is in degrees, '''counter-clockwise''' from North as 0.0 (i.e. when looking from above).  Note that this is opposite from headings in other places in FlightGear, which are clockwise.&lt;br /&gt;
&lt;br /&gt;
Some more examples:&lt;br /&gt;
&lt;br /&gt;
 OBJECT_SHARED Models/MidAtl/cape-may-light.ac   -74.959970 38.933332 -93.0 0.00&lt;br /&gt;
 OBJECT_SHARED Models/Airport/windsock.xml -122.360843 37.613877 1 0&lt;br /&gt;
 OBJECT_SHARED Models/Structures/vordme.xml -122.37389 37.61948 -0.404 0&lt;br /&gt;
&lt;br /&gt;
== XML file format ==&lt;br /&gt;
Alternately, there is a way to include this same information in XML configuration files that are loaded at runtime; see [[Howto: Place 3D objects with the UFO]] or &amp;lt;tt&amp;gt;$FG_ROOT/Docs/README.scenery&amp;lt;/tt&amp;gt; for more details.  This approach has the advantage of keeping your new scenery clearly separate from the standard scenery files without having to create your own custom scenery directory structure.  Further, you can then manually control whether or not to load it at run-time, using the --config option on the command line. You can also include it in one of the standard startup files (such as [[.fgfsrc]]) but this will load it into memory every time you start FG, whether or not you are flying in the area.  If you place the scenery information in .stg files, it is only loaded into memory when needed.&lt;br /&gt;
&lt;br /&gt;
[[Category:Howto|Add shared models manually]]&lt;br /&gt;
[[Category:Scenery enhancement|Add shared models manually]]&lt;/div&gt;</summary>
		<author><name>AlbertBickford</name></author>
	</entry>
	<entry>
		<id>https://wiki.flightgear.org/w/index.php?title=Howto:Add_shared_models_manually&amp;diff=30240</id>
		<title>Howto:Add shared models manually</title>
		<link rel="alternate" type="text/html" href="https://wiki.flightgear.org/w/index.php?title=Howto:Add_shared_models_manually&amp;diff=30240"/>
		<updated>2011-03-14T05:33:20Z</updated>

		<summary type="html">&lt;p&gt;AlbertBickford: /* Step 4 */ fixed mistakes&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;You can add your own objects, known as &amp;quot;shared models&amp;quot; to FlightGear's world.  This howto explains one way to do so.  It assumes that you already have a model for the object. There are many that come standard with FG; they are stored in the &amp;lt;tt&amp;gt;[[$FG_ROOT]]/Models&amp;lt;/tt&amp;gt; directory.  &lt;br /&gt;
&lt;br /&gt;
You can also create one using a suitable modeling program such as [http://www.blender.org/ blender].  The most common file format used is .ac, but you can use any format that PLIB supports, such as AC3D.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Adding Shared Models to FlightGear's World ==&lt;br /&gt;
&lt;br /&gt;
=== Step 1 ===&lt;br /&gt;
If you plan to use one of the standard FG models, skip to step 4.&lt;br /&gt;
&lt;br /&gt;
If you have created your own model, create a new directory for it under &amp;lt;tt&amp;gt;[[$FG_ROOT]]/Models&amp;lt;/tt&amp;gt; (to keep your models separate from the standard ones).  We'll use &amp;lt;tt&amp;gt;$FG_ROOT/Models/MyModels&amp;lt;/tt&amp;gt; as an example.&lt;br /&gt;
&lt;br /&gt;
=== Step 2 ===&lt;br /&gt;
Copy your .ac file containing the model into the &amp;lt;tt&amp;gt;$FG_ROOT/Models/MyModels&amp;lt;/tt&amp;gt; directory. We'll use &amp;lt;tt&amp;gt;MyModel.ac&amp;lt;/tt&amp;gt; as the name of that file.&lt;br /&gt;
&lt;br /&gt;
=== Step 3 (optional) ===&lt;br /&gt;
If you intend to include animation, create an XML file called &amp;lt;tt&amp;gt;MyModel.xml&amp;lt;/tt&amp;gt; inside the &amp;lt;tt&amp;gt;$FG_ROOT/Models/MyModels&amp;lt;/tt&amp;gt; directory with the following contents:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;?xml version=&amp;quot;1.0&amp;quot;?&amp;gt;&lt;br /&gt;
 &amp;lt;PropertyList&amp;gt;&lt;br /&gt;
  &amp;lt;path&amp;gt;MyModel.ac&amp;lt;/path&amp;gt;&lt;br /&gt;
  &amp;lt;animation&amp;gt;&lt;br /&gt;
   &amp;lt;type&amp;gt;range&amp;lt;/type&amp;gt;&lt;br /&gt;
   &amp;lt;min-m&amp;gt;0&amp;lt;/min-m&amp;gt;&lt;br /&gt;
   &amp;lt;max-m&amp;gt;20000&amp;lt;/max-m&amp;gt;&lt;br /&gt;
  &amp;lt;/animation&amp;gt;&lt;br /&gt;
 &amp;lt;/PropertyList&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This file references the .ac model file and tells FlightGear that it must be visible from 0 meters up to 20 km.&lt;br /&gt;
&lt;br /&gt;
An XML file is only necessary if you are intending to include animation; it is not required to render a model at a fixed location in FlightGear. &lt;br /&gt;
&lt;br /&gt;
=== Step 4 ===&lt;br /&gt;
Next, you have to determine where to place the model in FG's world.&lt;br /&gt;
&lt;br /&gt;
A useful resource at this stage are websites that allow you to get the coordinates of a point from aerial photographs.  One such is [http://itouchmap.com/ itouchmap.com], which relies on Google Maps.  Enter a street name, city, and state. When you get a good photo of your feature, click on map to place a marker there, then read the displayed coordinates.  Google Earth is also a good way to obtain position information, and there are other websites that will provide it also, or you can get it from a GPS.&lt;br /&gt;
&lt;br /&gt;
Once you've got at least a rough idea of the coordinates, you need to place the object visually. An easy way do this is with the [[UFO]] &amp;quot;airplane&amp;quot;. In addition to making it easy to move around (or hover), it allows you to place objects and see what they look like there.  It calculates the positioning details for you and writes them out in the correct format.  See [[Howto: Place 3D objects with the UFO]].  Here, though, we'll continue by describing a manual way to do it, for people who may need or want to know the inside details.  &lt;br /&gt;
&lt;br /&gt;
Start FG and fly to the location where you want to place the object. Open up the property browser in FG (File-&amp;gt;Browse Internal Properties), and the &amp;lt;tt&amp;gt;/position&amp;lt;/tt&amp;gt; key.  Check that the values for &amp;lt;tt&amp;gt;latitude-deg&amp;lt;/tt&amp;gt; and &amp;lt;tt&amp;gt;longitude-deg&amp;lt;/tt&amp;gt; are what you want, or write them down if you're positioning things visually, and also note the &amp;lt;tt&amp;gt;ground-elev-m&amp;lt;/tt&amp;gt;. If you want to place the object above ground level, then add the appropriate number of meters.  Then, go to the &amp;lt;tt&amp;gt;/environment&amp;lt;/tt&amp;gt; key and write down the tile number (current-tile-id).&lt;br /&gt;
&lt;br /&gt;
=== Step 5 ===&lt;br /&gt;
Next, locate a .stg file into which you will place a reference to the object's model and its position. &lt;br /&gt;
&lt;br /&gt;
The .stg files are named according to tile number and stored under the scenery directories.  The default installation places a limited amount of scenery (for the area around San Francisco) in &amp;lt;tt&amp;gt;[[$FG_ROOT]]/scenery&amp;lt;/tt&amp;gt; but you may have scenery in other directories, as specified in &amp;lt;tt&amp;gt;[[$FG_SCENERY]]&amp;lt;/tt&amp;gt;.  (See [[Howto: Install scenery]].)  Under each scenery directory, you will find directories called &amp;lt;tt&amp;gt;Objects&amp;lt;/tt&amp;gt; and &amp;lt;tt&amp;gt;Terrain&amp;lt;/tt&amp;gt;, and under them directories that group tiles into larger and smaller quadrants.  Thus, if the tile number is 942058, you will find &amp;lt;tt&amp;gt;942058.stg&amp;lt;/tt&amp;gt; under &amp;lt;tt&amp;gt;$FG_ROOT&amp;lt;/tt&amp;gt; as &amp;lt;tt&amp;gt;$FG_Root/Scenery/Objects/w130n30/w123n37/942058.stg&amp;lt;/tt&amp;gt; (and possibly elsewhere).&lt;br /&gt;
&lt;br /&gt;
There is generally more than one .stg file for a given tile, in different directories.  It's important to edit one that will actually be read by flightgear (see below).  One thing you can do is create a personal customized scenery directory separate from the standard installation.  That way, if you upgrade FG your customizations won't get overwritten.  If you create such a directory, list it first in &amp;lt;tt&amp;gt;[[$FG_SCENERY]]&amp;lt;/tt&amp;gt;, create a directory structure inside it parallel to the one in the standard scenery story, and create a .stg file in the appropriate place. Similarly, it is best not to edit the .stg files in the folder where [[TerraSync]] stores the scenery it has fetched, since TerraSync may overwrite them with newer versions.  Objects associated with airports are usually put into a .stg file under a &amp;quot;Terrain&amp;quot; directory; other objects are put under &amp;quot;Objects&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
=== Step 6 ===&lt;br /&gt;
Add the following lines to the stg file you've chosen, replacing the parameters with your own :&lt;br /&gt;
&lt;br /&gt;
 OBJECT_SHARED Models/MyModels/MyModel.xml -55.5 30.3 1000.0 0.00 &lt;br /&gt;
&lt;br /&gt;
In brief, the format is :&lt;br /&gt;
 OBJECT_SHARED path longitude latitude altitude rotation&lt;br /&gt;
&lt;br /&gt;
The path is relative to the $FG_ROOT directory. If you have an XML file for the model, specify it here, otherwise specify the .ac file.  Altitude is in meters above mean sea level.  Rotation is '''counter-clockwise''' from north (not clockwise as in the rest of FG).&lt;br /&gt;
&lt;br /&gt;
There are more details on the .stg file format below.&lt;br /&gt;
&lt;br /&gt;
=== Step 7 ===&lt;br /&gt;
Restart FG and fly to where you added the model; it should be there.&lt;br /&gt;
&lt;br /&gt;
== STG file format ==&lt;br /&gt;
There is documention for the .stg files used by FlightGear in &amp;lt;tt&amp;gt;$FG_ROOT/Docs/README.scenery&amp;lt;/tt&amp;gt;.  Only information relevant for placing shared objects is included here.&lt;br /&gt;
&lt;br /&gt;
Scenery files are loaded by default from &amp;lt;tt&amp;gt;[[$FG_ROOT]]/Scenery&amp;lt;/tt&amp;gt;.  Alternate locations (a &amp;quot;scenery path&amp;quot;) can be specified in &amp;lt;tt&amp;gt;[[$FG_SCENERY]]&amp;lt;/tt&amp;gt; (or from the command line); the first-named directories have highest priority.  Thus, if you create a local directory for storing custom scenery you create, include it first in the scenery path.&lt;br /&gt;
&lt;br /&gt;
Lines for shared objects in the .stg file look like this:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;prettytable&amp;quot; border=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; bordercolor=&amp;quot;black&amp;quot;&amp;gt;&lt;br /&gt;
|OBJECT_SHARED&lt;br /&gt;
|Models/Misc/trigpoint.xml &lt;br /&gt;
|&amp;lt;nowiki&amp;gt;-122.377127&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
|37.71570833&lt;br /&gt;
|1.756719854&lt;br /&gt;
|20&lt;br /&gt;
|- &lt;br /&gt;
|Type&lt;br /&gt;
|filename path&lt;br /&gt;
|Longitude&lt;br /&gt;
|Latitude&lt;br /&gt;
|Elevation&lt;br /&gt;
|Heading&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The filename path is relative to &amp;lt;tt&amp;gt;$FG_ROOT&amp;lt;/tt&amp;gt;.  Longitude and latitude are expressed as decimal numbers (not degrees/minutes/seconds), with negative values representing west and south.  Elevation is in meters above mean sea-level.  Heading is in degrees, '''counter-clockwise''' from North as 0.0 (i.e. when looking from above).  Note that this is opposite from headings in other places in FlightGear, which are clockwise.&lt;br /&gt;
&lt;br /&gt;
Some more examples:&lt;br /&gt;
&lt;br /&gt;
 OBJECT_SHARED Models/MidAtl/cape-may-light.ac   -74.959970 38.933332 -93.0 0.00&lt;br /&gt;
 OBJECT_SHARED Models/Airport/windsock.xml -122.360843 37.613877 1 0&lt;br /&gt;
 OBJECT_SHARED Models/Structures/vordme.xml -122.37389 37.61948 -0.404 0&lt;br /&gt;
&lt;br /&gt;
Alternately, there is a way to include this same information in XML configuration files that are loaded at runtime; see [[Howto: Place 3D objects with the UFO]] or &amp;lt;tt&amp;gt;$FG_ROOT/Docs/README.scenery&amp;lt;/tt&amp;gt; for more details.  This approach has the advantage of keeping your new scenery clearly separate from the standard scenery files without having to create your own custom scenery directory structure.  Further, you can then manually control whether or not to load it at run-time, using the --config option on the command line. You can also include it in one of the standard startup files (such as [[.fgfsrc]]) but this will load it into memory every time you start FG, whether or not you are flying in the area.  If you place the scenery information in .stg files, it is only loaded into memory when needed.&lt;br /&gt;
&lt;br /&gt;
[[Category:Howto|Add shared models manually]]&lt;br /&gt;
[[Category:Scenery enhancement|Add shared models manually]]&lt;/div&gt;</summary>
		<author><name>AlbertBickford</name></author>
	</entry>
	<entry>
		<id>https://wiki.flightgear.org/w/index.php?title=Howto:Add_shared_models_manually&amp;diff=30239</id>
		<title>Howto:Add shared models manually</title>
		<link rel="alternate" type="text/html" href="https://wiki.flightgear.org/w/index.php?title=Howto:Add_shared_models_manually&amp;diff=30239"/>
		<updated>2011-03-14T05:31:24Z</updated>

		<summary type="html">&lt;p&gt;AlbertBickford: /* Step 4 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;You can add your own objects, known as &amp;quot;shared models&amp;quot; to FlightGear's world.  This howto explains one way to do so.  It assumes that you already have a model for the object. There are many that come standard with FG; they are stored in the &amp;lt;tt&amp;gt;[[$FG_ROOT]]/Models&amp;lt;/tt&amp;gt; directory.  &lt;br /&gt;
&lt;br /&gt;
You can also create one using a suitable modeling program such as [http://www.blender.org/ blender].  The most common file format used is .ac, but you can use any format that PLIB supports, such as AC3D.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Adding Shared Models to FlightGear's World ==&lt;br /&gt;
&lt;br /&gt;
=== Step 1 ===&lt;br /&gt;
If you plan to use one of the standard FG models, skip to step 4.&lt;br /&gt;
&lt;br /&gt;
If you have created your own model, create a new directory for it under &amp;lt;tt&amp;gt;[[$FG_ROOT]]/Models&amp;lt;/tt&amp;gt; (to keep your models separate from the standard ones).  We'll use &amp;lt;tt&amp;gt;$FG_ROOT/Models/MyModels&amp;lt;/tt&amp;gt; as an example.&lt;br /&gt;
&lt;br /&gt;
=== Step 2 ===&lt;br /&gt;
Copy your .ac file containing the model into the &amp;lt;tt&amp;gt;$FG_ROOT/Models/MyModels&amp;lt;/tt&amp;gt; directory. We'll use &amp;lt;tt&amp;gt;MyModel.ac&amp;lt;/tt&amp;gt; as the name of that file.&lt;br /&gt;
&lt;br /&gt;
=== Step 3 (optional) ===&lt;br /&gt;
If you intend to include animation, create an XML file called &amp;lt;tt&amp;gt;MyModel.xml&amp;lt;/tt&amp;gt; inside the &amp;lt;tt&amp;gt;$FG_ROOT/Models/MyModels&amp;lt;/tt&amp;gt; directory with the following contents:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;?xml version=&amp;quot;1.0&amp;quot;?&amp;gt;&lt;br /&gt;
 &amp;lt;PropertyList&amp;gt;&lt;br /&gt;
  &amp;lt;path&amp;gt;MyModel.ac&amp;lt;/path&amp;gt;&lt;br /&gt;
  &amp;lt;animation&amp;gt;&lt;br /&gt;
   &amp;lt;type&amp;gt;range&amp;lt;/type&amp;gt;&lt;br /&gt;
   &amp;lt;min-m&amp;gt;0&amp;lt;/min-m&amp;gt;&lt;br /&gt;
   &amp;lt;max-m&amp;gt;20000&amp;lt;/max-m&amp;gt;&lt;br /&gt;
  &amp;lt;/animation&amp;gt;&lt;br /&gt;
 &amp;lt;/PropertyList&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This file references the .ac model file and tells FlightGear that it must be visible from 0 meters up to 20 km.&lt;br /&gt;
&lt;br /&gt;
An XML file is only necessary if you are intending to include animation; it is not required to render a model at a fixed location in FlightGear. &lt;br /&gt;
&lt;br /&gt;
=== Step 4 ===&lt;br /&gt;
Next, you have to determine where to place the model in FG's world.&lt;br /&gt;
&lt;br /&gt;
A useful resource at this stage are websites that allow you to get the coordinates of a point from aerial photographs.  One such is [http://itouchmap.com/ itouchmap.com], which relies on Google Maps.  Enter a street name, city, and state. When you get a good photo of your feature, click on map to place a marker there, then read the displayed coordinates.  Google Earth is also a good way to obtain position information, and there are other websites that will provide it also, or you can get it from a GPS.&lt;br /&gt;
&lt;br /&gt;
Once, you need to place the object visually at this point. An easy way do this is with the [[UFO]] &amp;quot;airplane&amp;quot;. In addition to making it easy to move around (or not), it allows you to place objects and see what they look like there.  It calculates the positioning details for you and writes them out in the correct format.  See [[Howto: Place 3D objects with the UFO]].  Here, though, we'll continue by describing a manual way to do it, for people who may need or want to know the inside details.  &lt;br /&gt;
&lt;br /&gt;
Start FG and fly to the location where you want to place the object. Open up the property browser in FG (File-&amp;gt;Browse Internal Properties), and the &amp;lt;tt&amp;gt;/position&amp;lt;/tt&amp;gt; key.  Check that the values for &amp;lt;tt&amp;gt;latitude-deg&amp;lt;/tt&amp;gt; and &amp;lt;tt&amp;gt;longitude-deg&amp;lt;/tt&amp;gt; are what you want, and note the &amp;lt;tt&amp;gt;ground-elev-m&amp;lt;/tt&amp;gt;. If you want to place the object above ground level, then add the appropriate number of meters.  Then, go to the &amp;lt;tt&amp;gt;/environment&amp;lt;/tt&amp;gt; key and write down the tile number (current-tile-id).&lt;br /&gt;
&lt;br /&gt;
=== Step 5 ===&lt;br /&gt;
Next, locate a .stg file into which you will place a reference to the object's model and its position. &lt;br /&gt;
&lt;br /&gt;
The .stg files are named according to tile number and stored under the scenery directories.  The default installation places a limited amount of scenery (for the area around San Francisco) in &amp;lt;tt&amp;gt;[[$FG_ROOT]]/scenery&amp;lt;/tt&amp;gt; but you may have scenery in other directories, as specified in &amp;lt;tt&amp;gt;[[$FG_SCENERY]]&amp;lt;/tt&amp;gt;.  (See [[Howto: Install scenery]].)  Under each scenery directory, you will find directories called &amp;lt;tt&amp;gt;Objects&amp;lt;/tt&amp;gt; and &amp;lt;tt&amp;gt;Terrain&amp;lt;/tt&amp;gt;, and under them directories that group tiles into larger and smaller quadrants.  Thus, if the tile number is 942058, you will find &amp;lt;tt&amp;gt;942058.stg&amp;lt;/tt&amp;gt; under &amp;lt;tt&amp;gt;$FG_ROOT&amp;lt;/tt&amp;gt; as &amp;lt;tt&amp;gt;$FG_Root/Scenery/Objects/w130n30/w123n37/942058.stg&amp;lt;/tt&amp;gt; (and possibly elsewhere).&lt;br /&gt;
&lt;br /&gt;
There is generally more than one .stg file for a given tile, in different directories.  It's important to edit one that will actually be read by flightgear (see below).  One thing you can do is create a personal customized scenery directory separate from the standard installation.  That way, if you upgrade FG your customizations won't get overwritten.  If you create such a directory, list it first in &amp;lt;tt&amp;gt;[[$FG_SCENERY]]&amp;lt;/tt&amp;gt;, create a directory structure inside it parallel to the one in the standard scenery story, and create a .stg file in the appropriate place. Similarly, it is best not to edit the .stg files in the folder where [[TerraSync]] stores the scenery it has fetched, since TerraSync may overwrite them with newer versions.  Objects associated with airports are usually put into a .stg file under a &amp;quot;Terrain&amp;quot; directory; other objects are put under &amp;quot;Objects&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
=== Step 6 ===&lt;br /&gt;
Add the following lines to the stg file you've chosen, replacing the parameters with your own :&lt;br /&gt;
&lt;br /&gt;
 OBJECT_SHARED Models/MyModels/MyModel.xml -55.5 30.3 1000.0 0.00 &lt;br /&gt;
&lt;br /&gt;
In brief, the format is :&lt;br /&gt;
 OBJECT_SHARED path longitude latitude altitude rotation&lt;br /&gt;
&lt;br /&gt;
The path is relative to the $FG_ROOT directory. If you have an XML file for the model, specify it here, otherwise specify the .ac file.  Altitude is in meters above mean sea level.  Rotation is '''counter-clockwise''' from north (not clockwise as in the rest of FG).&lt;br /&gt;
&lt;br /&gt;
There are more details on the .stg file format below.&lt;br /&gt;
&lt;br /&gt;
=== Step 7 ===&lt;br /&gt;
Restart FG and fly to where you added the model; it should be there.&lt;br /&gt;
&lt;br /&gt;
== STG file format ==&lt;br /&gt;
There is documention for the .stg files used by FlightGear in &amp;lt;tt&amp;gt;$FG_ROOT/Docs/README.scenery&amp;lt;/tt&amp;gt;.  Only information relevant for placing shared objects is included here.&lt;br /&gt;
&lt;br /&gt;
Scenery files are loaded by default from &amp;lt;tt&amp;gt;[[$FG_ROOT]]/Scenery&amp;lt;/tt&amp;gt;.  Alternate locations (a &amp;quot;scenery path&amp;quot;) can be specified in &amp;lt;tt&amp;gt;[[$FG_SCENERY]]&amp;lt;/tt&amp;gt; (or from the command line); the first-named directories have highest priority.  Thus, if you create a local directory for storing custom scenery you create, include it first in the scenery path.&lt;br /&gt;
&lt;br /&gt;
Lines for shared objects in the .stg file look like this:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;prettytable&amp;quot; border=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; bordercolor=&amp;quot;black&amp;quot;&amp;gt;&lt;br /&gt;
|OBJECT_SHARED&lt;br /&gt;
|Models/Misc/trigpoint.xml &lt;br /&gt;
|&amp;lt;nowiki&amp;gt;-122.377127&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
|37.71570833&lt;br /&gt;
|1.756719854&lt;br /&gt;
|20&lt;br /&gt;
|- &lt;br /&gt;
|Type&lt;br /&gt;
|filename path&lt;br /&gt;
|Longitude&lt;br /&gt;
|Latitude&lt;br /&gt;
|Elevation&lt;br /&gt;
|Heading&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The filename path is relative to &amp;lt;tt&amp;gt;$FG_ROOT&amp;lt;/tt&amp;gt;.  Longitude and latitude are expressed as decimal numbers (not degrees/minutes/seconds), with negative values representing west and south.  Elevation is in meters above mean sea-level.  Heading is in degrees, '''counter-clockwise''' from North as 0.0 (i.e. when looking from above).  Note that this is opposite from headings in other places in FlightGear, which are clockwise.&lt;br /&gt;
&lt;br /&gt;
Some more examples:&lt;br /&gt;
&lt;br /&gt;
 OBJECT_SHARED Models/MidAtl/cape-may-light.ac   -74.959970 38.933332 -93.0 0.00&lt;br /&gt;
 OBJECT_SHARED Models/Airport/windsock.xml -122.360843 37.613877 1 0&lt;br /&gt;
 OBJECT_SHARED Models/Structures/vordme.xml -122.37389 37.61948 -0.404 0&lt;br /&gt;
&lt;br /&gt;
Alternately, there is a way to include this same information in XML configuration files that are loaded at runtime; see [[Howto: Place 3D objects with the UFO]] or &amp;lt;tt&amp;gt;$FG_ROOT/Docs/README.scenery&amp;lt;/tt&amp;gt; for more details.  This approach has the advantage of keeping your new scenery clearly separate from the standard scenery files without having to create your own custom scenery directory structure.  Further, you can then manually control whether or not to load it at run-time, using the --config option on the command line. You can also include it in one of the standard startup files (such as [[.fgfsrc]]) but this will load it into memory every time you start FG, whether or not you are flying in the area.  If you place the scenery information in .stg files, it is only loaded into memory when needed.&lt;br /&gt;
&lt;br /&gt;
[[Category:Howto|Add shared models manually]]&lt;br /&gt;
[[Category:Scenery enhancement|Add shared models manually]]&lt;/div&gt;</summary>
		<author><name>AlbertBickford</name></author>
	</entry>
	<entry>
		<id>https://wiki.flightgear.org/w/index.php?title=Howto:Add_shared_models_manually&amp;diff=30238</id>
		<title>Howto:Add shared models manually</title>
		<link rel="alternate" type="text/html" href="https://wiki.flightgear.org/w/index.php?title=Howto:Add_shared_models_manually&amp;diff=30238"/>
		<updated>2011-03-14T05:30:34Z</updated>

		<summary type="html">&lt;p&gt;AlbertBickford: /* Step 4 */ Removed reference to TerraServer, which no longer appears to be as useful as it was.  Replaced with itouchmap.com.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;You can add your own objects, known as &amp;quot;shared models&amp;quot; to FlightGear's world.  This howto explains one way to do so.  It assumes that you already have a model for the object. There are many that come standard with FG; they are stored in the &amp;lt;tt&amp;gt;[[$FG_ROOT]]/Models&amp;lt;/tt&amp;gt; directory.  &lt;br /&gt;
&lt;br /&gt;
You can also create one using a suitable modeling program such as [http://www.blender.org/ blender].  The most common file format used is .ac, but you can use any format that PLIB supports, such as AC3D.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Adding Shared Models to FlightGear's World ==&lt;br /&gt;
&lt;br /&gt;
=== Step 1 ===&lt;br /&gt;
If you plan to use one of the standard FG models, skip to step 4.&lt;br /&gt;
&lt;br /&gt;
If you have created your own model, create a new directory for it under &amp;lt;tt&amp;gt;[[$FG_ROOT]]/Models&amp;lt;/tt&amp;gt; (to keep your models separate from the standard ones).  We'll use &amp;lt;tt&amp;gt;$FG_ROOT/Models/MyModels&amp;lt;/tt&amp;gt; as an example.&lt;br /&gt;
&lt;br /&gt;
=== Step 2 ===&lt;br /&gt;
Copy your .ac file containing the model into the &amp;lt;tt&amp;gt;$FG_ROOT/Models/MyModels&amp;lt;/tt&amp;gt; directory. We'll use &amp;lt;tt&amp;gt;MyModel.ac&amp;lt;/tt&amp;gt; as the name of that file.&lt;br /&gt;
&lt;br /&gt;
=== Step 3 (optional) ===&lt;br /&gt;
If you intend to include animation, create an XML file called &amp;lt;tt&amp;gt;MyModel.xml&amp;lt;/tt&amp;gt; inside the &amp;lt;tt&amp;gt;$FG_ROOT/Models/MyModels&amp;lt;/tt&amp;gt; directory with the following contents:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;?xml version=&amp;quot;1.0&amp;quot;?&amp;gt;&lt;br /&gt;
 &amp;lt;PropertyList&amp;gt;&lt;br /&gt;
  &amp;lt;path&amp;gt;MyModel.ac&amp;lt;/path&amp;gt;&lt;br /&gt;
  &amp;lt;animation&amp;gt;&lt;br /&gt;
   &amp;lt;type&amp;gt;range&amp;lt;/type&amp;gt;&lt;br /&gt;
   &amp;lt;min-m&amp;gt;0&amp;lt;/min-m&amp;gt;&lt;br /&gt;
   &amp;lt;max-m&amp;gt;20000&amp;lt;/max-m&amp;gt;&lt;br /&gt;
  &amp;lt;/animation&amp;gt;&lt;br /&gt;
 &amp;lt;/PropertyList&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This file references the .ac model file and tells FlightGear that it must be visible from 0 meters up to 20 km.&lt;br /&gt;
&lt;br /&gt;
An XML file is only necessary if you are intending to include animation; it is not required to render a model at a fixed location in FlightGear. &lt;br /&gt;
&lt;br /&gt;
=== Step 4 ===&lt;br /&gt;
Next, you have to determine where to place the model in FG's world.&lt;br /&gt;
&lt;br /&gt;
A useful resource at this stage are websites that allow you to get the coordinates of a point from aerial photographs.  One such is [[http://itouchmap.com/]], which relies on Google Maps.  Enter a street name, city, and state. When you get a good photo of your feature, click on map to place a marker there, then read the displayed coordinates.  Google Earth is also a good way to obtain position information, and there are other websites that will provide it also, or you can get it from a GPS.&lt;br /&gt;
&lt;br /&gt;
Once, you need to place the object visually at this point. An easy way do this is with the [[UFO]] &amp;quot;airplane&amp;quot;. In addition to making it easy to move around (or not), it allows you to place objects and see what they look like there.  It calculates the positioning details for you and writes them out in the correct format.  See [[Howto: Place 3D objects with the UFO]].  Here, though, we'll continue by describing a manual way to do it, for people who may need or want to know the inside details.  &lt;br /&gt;
&lt;br /&gt;
Start FG and fly to the location where you want to place the object. Open up the property browser in FG (File-&amp;gt;Browse Internal Properties), and the &amp;lt;tt&amp;gt;/position&amp;lt;/tt&amp;gt; key.  Check that the values for &amp;lt;tt&amp;gt;latitude-deg&amp;lt;/tt&amp;gt; and &amp;lt;tt&amp;gt;longitude-deg&amp;lt;/tt&amp;gt; are what you want, and note the &amp;lt;tt&amp;gt;ground-elev-m&amp;lt;/tt&amp;gt;. If you want to place the object above ground level, then add the appropriate number of meters.  Then, go to the &amp;lt;tt&amp;gt;/environment&amp;lt;/tt&amp;gt; key and write down the tile number (current-tile-id).&lt;br /&gt;
&lt;br /&gt;
=== Step 5 ===&lt;br /&gt;
Next, locate a .stg file into which you will place a reference to the object's model and its position. &lt;br /&gt;
&lt;br /&gt;
The .stg files are named according to tile number and stored under the scenery directories.  The default installation places a limited amount of scenery (for the area around San Francisco) in &amp;lt;tt&amp;gt;[[$FG_ROOT]]/scenery&amp;lt;/tt&amp;gt; but you may have scenery in other directories, as specified in &amp;lt;tt&amp;gt;[[$FG_SCENERY]]&amp;lt;/tt&amp;gt;.  (See [[Howto: Install scenery]].)  Under each scenery directory, you will find directories called &amp;lt;tt&amp;gt;Objects&amp;lt;/tt&amp;gt; and &amp;lt;tt&amp;gt;Terrain&amp;lt;/tt&amp;gt;, and under them directories that group tiles into larger and smaller quadrants.  Thus, if the tile number is 942058, you will find &amp;lt;tt&amp;gt;942058.stg&amp;lt;/tt&amp;gt; under &amp;lt;tt&amp;gt;$FG_ROOT&amp;lt;/tt&amp;gt; as &amp;lt;tt&amp;gt;$FG_Root/Scenery/Objects/w130n30/w123n37/942058.stg&amp;lt;/tt&amp;gt; (and possibly elsewhere).&lt;br /&gt;
&lt;br /&gt;
There is generally more than one .stg file for a given tile, in different directories.  It's important to edit one that will actually be read by flightgear (see below).  One thing you can do is create a personal customized scenery directory separate from the standard installation.  That way, if you upgrade FG your customizations won't get overwritten.  If you create such a directory, list it first in &amp;lt;tt&amp;gt;[[$FG_SCENERY]]&amp;lt;/tt&amp;gt;, create a directory structure inside it parallel to the one in the standard scenery story, and create a .stg file in the appropriate place. Similarly, it is best not to edit the .stg files in the folder where [[TerraSync]] stores the scenery it has fetched, since TerraSync may overwrite them with newer versions.  Objects associated with airports are usually put into a .stg file under a &amp;quot;Terrain&amp;quot; directory; other objects are put under &amp;quot;Objects&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
=== Step 6 ===&lt;br /&gt;
Add the following lines to the stg file you've chosen, replacing the parameters with your own :&lt;br /&gt;
&lt;br /&gt;
 OBJECT_SHARED Models/MyModels/MyModel.xml -55.5 30.3 1000.0 0.00 &lt;br /&gt;
&lt;br /&gt;
In brief, the format is :&lt;br /&gt;
 OBJECT_SHARED path longitude latitude altitude rotation&lt;br /&gt;
&lt;br /&gt;
The path is relative to the $FG_ROOT directory. If you have an XML file for the model, specify it here, otherwise specify the .ac file.  Altitude is in meters above mean sea level.  Rotation is '''counter-clockwise''' from north (not clockwise as in the rest of FG).&lt;br /&gt;
&lt;br /&gt;
There are more details on the .stg file format below.&lt;br /&gt;
&lt;br /&gt;
=== Step 7 ===&lt;br /&gt;
Restart FG and fly to where you added the model; it should be there.&lt;br /&gt;
&lt;br /&gt;
== STG file format ==&lt;br /&gt;
There is documention for the .stg files used by FlightGear in &amp;lt;tt&amp;gt;$FG_ROOT/Docs/README.scenery&amp;lt;/tt&amp;gt;.  Only information relevant for placing shared objects is included here.&lt;br /&gt;
&lt;br /&gt;
Scenery files are loaded by default from &amp;lt;tt&amp;gt;[[$FG_ROOT]]/Scenery&amp;lt;/tt&amp;gt;.  Alternate locations (a &amp;quot;scenery path&amp;quot;) can be specified in &amp;lt;tt&amp;gt;[[$FG_SCENERY]]&amp;lt;/tt&amp;gt; (or from the command line); the first-named directories have highest priority.  Thus, if you create a local directory for storing custom scenery you create, include it first in the scenery path.&lt;br /&gt;
&lt;br /&gt;
Lines for shared objects in the .stg file look like this:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;prettytable&amp;quot; border=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; bordercolor=&amp;quot;black&amp;quot;&amp;gt;&lt;br /&gt;
|OBJECT_SHARED&lt;br /&gt;
|Models/Misc/trigpoint.xml &lt;br /&gt;
|&amp;lt;nowiki&amp;gt;-122.377127&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
|37.71570833&lt;br /&gt;
|1.756719854&lt;br /&gt;
|20&lt;br /&gt;
|- &lt;br /&gt;
|Type&lt;br /&gt;
|filename path&lt;br /&gt;
|Longitude&lt;br /&gt;
|Latitude&lt;br /&gt;
|Elevation&lt;br /&gt;
|Heading&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The filename path is relative to &amp;lt;tt&amp;gt;$FG_ROOT&amp;lt;/tt&amp;gt;.  Longitude and latitude are expressed as decimal numbers (not degrees/minutes/seconds), with negative values representing west and south.  Elevation is in meters above mean sea-level.  Heading is in degrees, '''counter-clockwise''' from North as 0.0 (i.e. when looking from above).  Note that this is opposite from headings in other places in FlightGear, which are clockwise.&lt;br /&gt;
&lt;br /&gt;
Some more examples:&lt;br /&gt;
&lt;br /&gt;
 OBJECT_SHARED Models/MidAtl/cape-may-light.ac   -74.959970 38.933332 -93.0 0.00&lt;br /&gt;
 OBJECT_SHARED Models/Airport/windsock.xml -122.360843 37.613877 1 0&lt;br /&gt;
 OBJECT_SHARED Models/Structures/vordme.xml -122.37389 37.61948 -0.404 0&lt;br /&gt;
&lt;br /&gt;
Alternately, there is a way to include this same information in XML configuration files that are loaded at runtime; see [[Howto: Place 3D objects with the UFO]] or &amp;lt;tt&amp;gt;$FG_ROOT/Docs/README.scenery&amp;lt;/tt&amp;gt; for more details.  This approach has the advantage of keeping your new scenery clearly separate from the standard scenery files without having to create your own custom scenery directory structure.  Further, you can then manually control whether or not to load it at run-time, using the --config option on the command line. You can also include it in one of the standard startup files (such as [[.fgfsrc]]) but this will load it into memory every time you start FG, whether or not you are flying in the area.  If you place the scenery information in .stg files, it is only loaded into memory when needed.&lt;br /&gt;
&lt;br /&gt;
[[Category:Howto|Add shared models manually]]&lt;br /&gt;
[[Category:Scenery enhancement|Add shared models manually]]&lt;/div&gt;</summary>
		<author><name>AlbertBickford</name></author>
	</entry>
	<entry>
		<id>https://wiki.flightgear.org/w/index.php?title=Howto:Add_shared_models_manually&amp;diff=30237</id>
		<title>Howto:Add shared models manually</title>
		<link rel="alternate" type="text/html" href="https://wiki.flightgear.org/w/index.php?title=Howto:Add_shared_models_manually&amp;diff=30237"/>
		<updated>2011-03-14T04:35:41Z</updated>

		<summary type="html">&lt;p&gt;AlbertBickford: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;You can add your own objects, known as &amp;quot;shared models&amp;quot; to FlightGear's world.  This howto explains one way to do so.  It assumes that you already have a model for the object. There are many that come standard with FG; they are stored in the &amp;lt;tt&amp;gt;[[$FG_ROOT]]/Models&amp;lt;/tt&amp;gt; directory.  &lt;br /&gt;
&lt;br /&gt;
You can also create one using a suitable modeling program such as [http://www.blender.org/ blender].  The most common file format used is .ac, but you can use any format that PLIB supports, such as AC3D.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Adding Shared Models to FlightGear's World ==&lt;br /&gt;
&lt;br /&gt;
=== Step 1 ===&lt;br /&gt;
If you plan to use one of the standard FG models, skip to step 4.&lt;br /&gt;
&lt;br /&gt;
If you have created your own model, create a new directory for it under &amp;lt;tt&amp;gt;[[$FG_ROOT]]/Models&amp;lt;/tt&amp;gt; (to keep your models separate from the standard ones).  We'll use &amp;lt;tt&amp;gt;$FG_ROOT/Models/MyModels&amp;lt;/tt&amp;gt; as an example.&lt;br /&gt;
&lt;br /&gt;
=== Step 2 ===&lt;br /&gt;
Copy your .ac file containing the model into the &amp;lt;tt&amp;gt;$FG_ROOT/Models/MyModels&amp;lt;/tt&amp;gt; directory. We'll use &amp;lt;tt&amp;gt;MyModel.ac&amp;lt;/tt&amp;gt; as the name of that file.&lt;br /&gt;
&lt;br /&gt;
=== Step 3 (optional) ===&lt;br /&gt;
If you intend to include animation, create an XML file called &amp;lt;tt&amp;gt;MyModel.xml&amp;lt;/tt&amp;gt; inside the &amp;lt;tt&amp;gt;$FG_ROOT/Models/MyModels&amp;lt;/tt&amp;gt; directory with the following contents:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;?xml version=&amp;quot;1.0&amp;quot;?&amp;gt;&lt;br /&gt;
 &amp;lt;PropertyList&amp;gt;&lt;br /&gt;
  &amp;lt;path&amp;gt;MyModel.ac&amp;lt;/path&amp;gt;&lt;br /&gt;
  &amp;lt;animation&amp;gt;&lt;br /&gt;
   &amp;lt;type&amp;gt;range&amp;lt;/type&amp;gt;&lt;br /&gt;
   &amp;lt;min-m&amp;gt;0&amp;lt;/min-m&amp;gt;&lt;br /&gt;
   &amp;lt;max-m&amp;gt;20000&amp;lt;/max-m&amp;gt;&lt;br /&gt;
  &amp;lt;/animation&amp;gt;&lt;br /&gt;
 &amp;lt;/PropertyList&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This file references the .ac model file and tells FlightGear that it must be visible from 0 meters up to 20 km.&lt;br /&gt;
&lt;br /&gt;
An XML file is only necessary if you are intending to include animation; it is not required to render a model at a fixed location in FlightGear. &lt;br /&gt;
&lt;br /&gt;
=== Step 4 ===&lt;br /&gt;
Next, you have to determine where to place the model in FG's world.&lt;br /&gt;
&lt;br /&gt;
A really useful resource at this stage is [http://www.terraserver.com TerraServer].  Enter a street name, city, and state. Then you can choose from several types of public-domain aerial photography from the US Geological Survey. When you get a good photo of your feature, click on the Info link. Your image will be broken into tiles with latitude and longitude of the edges of the tiles. This is good way to get close to the position you want. Google Earth is also a good way to obtain position information, and there are other websites that will provide it also, or you can get it from a GPS.&lt;br /&gt;
&lt;br /&gt;
Then, you need to place the object precisely. An easy way do this is with the [[UFO]] &amp;quot;airplane&amp;quot;. In addition to making it easy to move around (or not), it allows you to place objects and see what they look like there.  It calculates the positioning details for you and writes them out in the correct format.  See [[Howto: Place 3D objects with the UFO]].  Here, though, we'll continue by describing a manual way to do it, for people who may need or want to know the inside details.  &lt;br /&gt;
&lt;br /&gt;
Start FG and fly to the location where you want to place the object. Open up the property browser in FG (File-&amp;gt;Browse Internal Properties), and the &amp;lt;tt&amp;gt;/position&amp;lt;/tt&amp;gt; key.  Write down the values for &amp;lt;tt&amp;gt;latitude-deg&amp;lt;/tt&amp;gt;, &amp;lt;tt&amp;gt;longitude-deg&amp;lt;/tt&amp;gt;, and &amp;lt;tt&amp;gt;ground-elev-m&amp;lt;/tt&amp;gt;. If you want to place the object above ground level, then add the appropriate number of meters.  Then, go to the &amp;lt;tt&amp;gt;/environment&amp;lt;/tt&amp;gt; key and write down the tile number (current-tile-id). &lt;br /&gt;
&lt;br /&gt;
=== Step 5 ===&lt;br /&gt;
Next, locate a .stg file into which you will place a reference to the object's model and its position. &lt;br /&gt;
&lt;br /&gt;
The .stg files are named according to tile number and stored under the scenery directories.  The default installation places a limited amount of scenery (for the area around San Francisco) in &amp;lt;tt&amp;gt;[[$FG_ROOT]]/scenery&amp;lt;/tt&amp;gt; but you may have scenery in other directories, as specified in &amp;lt;tt&amp;gt;[[$FG_SCENERY]]&amp;lt;/tt&amp;gt;.  (See [[Howto: Install scenery]].)  Under each scenery directory, you will find directories called &amp;lt;tt&amp;gt;Objects&amp;lt;/tt&amp;gt; and &amp;lt;tt&amp;gt;Terrain&amp;lt;/tt&amp;gt;, and under them directories that group tiles into larger and smaller quadrants.  Thus, if the tile number is 942058, you will find &amp;lt;tt&amp;gt;942058.stg&amp;lt;/tt&amp;gt; under &amp;lt;tt&amp;gt;$FG_ROOT&amp;lt;/tt&amp;gt; as &amp;lt;tt&amp;gt;$FG_Root/Scenery/Objects/w130n30/w123n37/942058.stg&amp;lt;/tt&amp;gt; (and possibly elsewhere).&lt;br /&gt;
&lt;br /&gt;
There is generally more than one .stg file for a given tile, in different directories.  It's important to edit one that will actually be read by flightgear (see below).  One thing you can do is create a personal customized scenery directory separate from the standard installation.  That way, if you upgrade FG your customizations won't get overwritten.  If you create such a directory, list it first in &amp;lt;tt&amp;gt;[[$FG_SCENERY]]&amp;lt;/tt&amp;gt;, create a directory structure inside it parallel to the one in the standard scenery story, and create a .stg file in the appropriate place. Similarly, it is best not to edit the .stg files in the folder where [[TerraSync]] stores the scenery it has fetched, since TerraSync may overwrite them with newer versions.  Objects associated with airports are usually put into a .stg file under a &amp;quot;Terrain&amp;quot; directory; other objects are put under &amp;quot;Objects&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
=== Step 6 ===&lt;br /&gt;
Add the following lines to the stg file you've chosen, replacing the parameters with your own :&lt;br /&gt;
&lt;br /&gt;
 OBJECT_SHARED Models/MyModels/MyModel.xml -55.5 30.3 1000.0 0.00 &lt;br /&gt;
&lt;br /&gt;
In brief, the format is :&lt;br /&gt;
 OBJECT_SHARED path longitude latitude altitude rotation&lt;br /&gt;
&lt;br /&gt;
The path is relative to the $FG_ROOT directory. If you have an XML file for the model, specify it here, otherwise specify the .ac file.  Altitude is in meters above mean sea level.  Rotation is '''counter-clockwise''' from north (not clockwise as in the rest of FG).&lt;br /&gt;
&lt;br /&gt;
There are more details on the .stg file format below.&lt;br /&gt;
&lt;br /&gt;
=== Step 7 ===&lt;br /&gt;
Restart FG and fly to where you added the model; it should be there.&lt;br /&gt;
&lt;br /&gt;
== STG file format ==&lt;br /&gt;
There is documention for the .stg files used by FlightGear in &amp;lt;tt&amp;gt;$FG_ROOT/Docs/README.scenery&amp;lt;/tt&amp;gt;.  Only information relevant for placing shared objects is included here.&lt;br /&gt;
&lt;br /&gt;
Scenery files are loaded by default from &amp;lt;tt&amp;gt;[[$FG_ROOT]]/Scenery&amp;lt;/tt&amp;gt;.  Alternate locations (a &amp;quot;scenery path&amp;quot;) can be specified in &amp;lt;tt&amp;gt;[[$FG_SCENERY]]&amp;lt;/tt&amp;gt; (or from the command line); the first-named directories have highest priority.  Thus, if you create a local directory for storing custom scenery you create, include it first in the scenery path.&lt;br /&gt;
&lt;br /&gt;
Lines for shared objects in the .stg file look like this:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;prettytable&amp;quot; border=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; bordercolor=&amp;quot;black&amp;quot;&amp;gt;&lt;br /&gt;
|OBJECT_SHARED&lt;br /&gt;
|Models/Misc/trigpoint.xml &lt;br /&gt;
|&amp;lt;nowiki&amp;gt;-122.377127&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
|37.71570833&lt;br /&gt;
|1.756719854&lt;br /&gt;
|20&lt;br /&gt;
|- &lt;br /&gt;
|Type&lt;br /&gt;
|filename path&lt;br /&gt;
|Longitude&lt;br /&gt;
|Latitude&lt;br /&gt;
|Elevation&lt;br /&gt;
|Heading&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The filename path is relative to &amp;lt;tt&amp;gt;$FG_ROOT&amp;lt;/tt&amp;gt;.  Longitude and latitude are expressed as decimal numbers (not degrees/minutes/seconds), with negative values representing west and south.  Elevation is in meters above mean sea-level.  Heading is in degrees, '''counter-clockwise''' from North as 0.0 (i.e. when looking from above).  Note that this is opposite from headings in other places in FlightGear, which are clockwise.&lt;br /&gt;
&lt;br /&gt;
Some more examples:&lt;br /&gt;
&lt;br /&gt;
 OBJECT_SHARED Models/MidAtl/cape-may-light.ac   -74.959970 38.933332 -93.0 0.00&lt;br /&gt;
 OBJECT_SHARED Models/Airport/windsock.xml -122.360843 37.613877 1 0&lt;br /&gt;
 OBJECT_SHARED Models/Structures/vordme.xml -122.37389 37.61948 -0.404 0&lt;br /&gt;
&lt;br /&gt;
Alternately, there is a way to include this same information in XML configuration files that are loaded at runtime; see [[Howto: Place 3D objects with the UFO]] or &amp;lt;tt&amp;gt;$FG_ROOT/Docs/README.scenery&amp;lt;/tt&amp;gt; for more details.  This approach has the advantage of keeping your new scenery clearly separate from the standard scenery files without having to create your own custom scenery directory structure.  Further, you can then manually control whether or not to load it at run-time, using the --config option on the command line. You can also include it in one of the standard startup files (such as [[.fgfsrc]]) but this will load it into memory every time you start FG, whether or not you are flying in the area.  If you place the scenery information in .stg files, it is only loaded into memory when needed.&lt;br /&gt;
&lt;br /&gt;
[[Category:Howto|Add shared models manually]]&lt;br /&gt;
[[Category:Scenery enhancement|Add shared models manually]]&lt;/div&gt;</summary>
		<author><name>AlbertBickford</name></author>
	</entry>
	<entry>
		<id>https://wiki.flightgear.org/w/index.php?title=Howto:Add_shared_models_manually&amp;diff=30233</id>
		<title>Howto:Add shared models manually</title>
		<link rel="alternate" type="text/html" href="https://wiki.flightgear.org/w/index.php?title=Howto:Add_shared_models_manually&amp;diff=30233"/>
		<updated>2011-03-14T04:12:10Z</updated>

		<summary type="html">&lt;p&gt;AlbertBickford: /* Step 6 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;You can add your own objects, known as &amp;quot;shared models&amp;quot; to FlightGear's world.  This howto explains a few ways to do so.  It assumes that you already have a model. There are many that come standard with FG; they are stored in the &amp;lt;tt&amp;gt;[[$FG_ROOT]]/Models&amp;lt;/tt&amp;gt; directory.  &lt;br /&gt;
&lt;br /&gt;
You can also create one using a suitable modeling program such as [http://www.blender.org/ blender].  You may use any format that PLIB supports. Currently, this means in addition to the 3ds models mentioned below, you may use AC3D and other formats. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Adding Shared Models to FlightGear's World ==&lt;br /&gt;
&lt;br /&gt;
=== Step 1 ===&lt;br /&gt;
If you plan to use one of the standard FG models, skip to step 4.&lt;br /&gt;
&lt;br /&gt;
If you have created your own model, create a directory under &amp;lt;tt&amp;gt;[[$FG_ROOT]]/Models&amp;lt;/tt&amp;gt;. We'll use &amp;lt;tt&amp;gt;$FG_ROOT/Models/MyModels&amp;lt;/tt&amp;gt; as an example.&lt;br /&gt;
&lt;br /&gt;
=== Step 2 ===&lt;br /&gt;
Save your .ac file containing the model into the &amp;lt;tt&amp;gt;$FG_ROOT/Models/MyModels&amp;lt;/tt&amp;gt; directory. We'll use &amp;lt;tt&amp;gt;MyModel.ac&amp;lt;/tt&amp;gt; as the name of that file.&lt;br /&gt;
&lt;br /&gt;
=== Step 3 (optional) ===&lt;br /&gt;
If you intend to include animation, create an XML file called &amp;lt;tt&amp;gt;MyModel.xml&amp;lt;/tt&amp;gt; inside the &amp;lt;tt&amp;gt;$FG_ROOT/Models/MyModels&amp;lt;/tt&amp;gt; directory with the following contents:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;?xml version=&amp;quot;1.0&amp;quot;?&amp;gt;&lt;br /&gt;
 &amp;lt;PropertyList&amp;gt;&lt;br /&gt;
  &amp;lt;path&amp;gt;MyModel.ac&amp;lt;/path&amp;gt;&lt;br /&gt;
  &amp;lt;animation&amp;gt;&lt;br /&gt;
   &amp;lt;type&amp;gt;range&amp;lt;/type&amp;gt;&lt;br /&gt;
   &amp;lt;min-m&amp;gt;0&amp;lt;/min-m&amp;gt;&lt;br /&gt;
   &amp;lt;max-m&amp;gt;20000&amp;lt;/max-m&amp;gt;&lt;br /&gt;
  &amp;lt;/animation&amp;gt;&lt;br /&gt;
 &amp;lt;/PropertyList&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This xml file references the .ac model file and tells FlightGear that it must be visible from 0 meters up to 20 km.&lt;br /&gt;
&lt;br /&gt;
An XML file is only necessary if you are intending to include animation; it is not required to render a model at a fixed location in FlightGear. &lt;br /&gt;
&lt;br /&gt;
=== Step 4 ===&lt;br /&gt;
Next, you have to determine where to place the model in FG's world.&lt;br /&gt;
&lt;br /&gt;
A really useful resource at this stage is [http://www.terraserver.com TerraServer].  Enter a street name, city, and state. Then you can choose from several types of public-domain aerial photography from the US Geological Survey. When you get a good photo of your feature, click on the Info link. Your image will be broken into tiles with latitude and longitude of the edges of the tiles. This is good way to get close to the position you want. Google Earth is also a good way to obtain position information, and there are other websites that will provide it also.&lt;br /&gt;
&lt;br /&gt;
Then, you need to place the object precisely. An easy way do this is with the [[UFO]] model, which allows you to place objects and see what they look like there; see [[Howto: Place 3D objects with the UFO]].  It calculates the positioning details for you and writes them out in the correct format, but for completeness I'll continue by describing a manual way to do it, for people who may need or want to know the inside details.&lt;br /&gt;
&lt;br /&gt;
Start FG and fly to the location where you want to place the model. Open up the property browser in FG (File-&amp;gt;Browse Internal Properties), and the &amp;lt;tt&amp;gt;/position&amp;lt;/tt&amp;gt; key.  Write down the values for &amp;lt;tt&amp;gt;latitude-deg&amp;lt;/tt&amp;gt;, &amp;lt;tt&amp;gt;longitude-deg&amp;lt;/tt&amp;gt;, and &amp;lt;tt&amp;gt;ground-elev-m&amp;lt;/tt&amp;gt;. (If you want to place the object above ground level, then you'll have to add the appropriate number of meters yourself.)  Then, go to the &amp;lt;tt&amp;gt;/environment&amp;lt;/tt&amp;gt; key and write down the tile number (current-tile-id). &lt;br /&gt;
&lt;br /&gt;
An alternate way to get the tile number is with a perl program in [[Git]] called calc-tile.pl that works out what stg file a geodetic coordinate falls in. You can get it here if you don't feel like playing with Git and don't have the Git branch installed: http://gitorious.org/fg/flightgear/blobs/raw/next/scripts/perl/scenery/calc-tile.pl. Run the perl script in a terminal window, passing it the longitude and latitude that you wrote down in step 4. You'll probably have to install perl first if you run on a MS OS's. Example :&lt;br /&gt;
&lt;br /&gt;
 $ ''./calc-tile.pl -55.5 30.3''&lt;br /&gt;
 Longitude: -55.5&lt;br /&gt;
 Latitude: 30.3&lt;br /&gt;
 Tile: 2039314&lt;br /&gt;
 Path: &amp;quot;w060n30/w056n30/2039314.stg&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Finally, you can use FGSD for steps 4 to 6.&lt;br /&gt;
&lt;br /&gt;
=== Step 5 ===&lt;br /&gt;
Next locate a .stg file into which you will place a reference to the new model and its position. &lt;br /&gt;
&lt;br /&gt;
There is more information about .stg files, below, but in brief:  The .stg files are named according to tile number and stored under the scenery directories.  The default installation places a limited amount of scenery (for the area around San Francisco) in &amp;lt;tt&amp;gt;[[$FG_ROOT]]/scenery&amp;lt;/tt&amp;gt; but you may have scenery in other directories, as specified in &amp;lt;tt&amp;gt;[[$FG_SCENERY]]&amp;lt;/tt&amp;gt;.  (See [[Howto: Install scenery]].)  Under each scenery directory, you will find directories called &amp;lt;tt&amp;gt;Objects&amp;lt;/tt&amp;gt; and &amp;lt;tt&amp;gt;Terrain&amp;lt;/tt&amp;gt;, and under them directories that group tiles into larger and smaller quadrants.  Thus, if the tile number is 942058, you will find &amp;lt;tt&amp;gt;942058.stg&amp;lt;/tt&amp;gt; under &amp;lt;tt&amp;gt;$FG_ROOT&amp;lt;/tt&amp;gt; as &amp;lt;tt&amp;gt;$FG_Root/Scenery/Objects/w130n30/w123n37/942058.stg&amp;lt;/tt&amp;gt;.  &lt;br /&gt;
&lt;br /&gt;
There is generally more than one .stg file for a given tile, in different directories.  It's important to edit one that will actually be read by flightgear (see below).  One thing you can do is create a personal customized scenery directory separate from the standard installation.  That way, if you upgrade FG your customizations won't get overwritten.  (If you create such a directory, add it first in &amp;lt;tt&amp;gt;[[$FG_SCENERY]]&amp;lt;/tt&amp;gt;, create a directory structure inside it parallel to the one in the standard scenery story, and create a .stg file in the appropriate place.) For the same reason, it is best not to edit the .stg files in the folder where TerraSync stores the scenery it has fetched, since TerraSync may overwrite them with newer versions.  Objects associated with airports are usually put into a .stg file under a &amp;quot;Terrain&amp;quot; directory; other objects are put under &amp;quot;Objects&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
=== Step 6 ===&lt;br /&gt;
Add the following lines to the stg file you've chosen, replacing the parameters with your own :&lt;br /&gt;
&lt;br /&gt;
 OBJECT_SHARED Models/MyModels/MyModel.xml -55.5 30.3 1000.0 0.00 &lt;br /&gt;
&lt;br /&gt;
In brief,the format is :&lt;br /&gt;
 OBJECT_SHARED path longitude latitude altitude rotation&lt;br /&gt;
&lt;br /&gt;
The path is relative to the $FG_ROOT directory. If you have an XML file for the model, specify it here, otherwise specify the .ac file.  Altitude is in meters above mean sea level.  Rotation is *counter-clockwise* from north (not clockwise as in the rest of FG).&lt;br /&gt;
&lt;br /&gt;
There are more details on the .stg file format below.&lt;br /&gt;
&lt;br /&gt;
Alternately, there is a way to include this same information in XML configuration files that are loaded at runtime; see [[Howto: Place 3D objects with the UFO]] or &amp;lt;tt&amp;gt;$FG_ROOT/Docs/README.scenery&amp;lt;/tt&amp;gt; for more details.  This approach has the advantage of keeping your new scenery clearly separate from the standard scenery files without having to create your own custom scenery directory structure.  Further, you can then manually control whether or not to load it, using the --config option on the command line. You can also include it in one of the standard startup files (such as [[.fgfsrc]]) but this will load it into memory every time you start FG, whether or not you are flying in the area.  If you place the scenery information in .stg files, it is only loaded into memory when needed.&lt;br /&gt;
&lt;br /&gt;
=== Step 7 ===&lt;br /&gt;
Restart FG and fly to where you added the model; it should be there.&lt;br /&gt;
&lt;br /&gt;
== STG file format ==&lt;br /&gt;
There is documention for the .stg files used by FlightGear in &amp;lt;tt&amp;gt;$FG_ROOT/Docs/README.scenery&amp;lt;/tt&amp;gt;.  Only information relevant for placing shared objects is included here.&lt;br /&gt;
&lt;br /&gt;
Scenery files are loaded by default from &amp;lt;tt&amp;gt;[[$FG_ROOT]]/Scenery&amp;lt;/tt&amp;gt;.  Alternate locations (a &amp;quot;scenery path&amp;quot;) can be specified in &amp;lt;tt&amp;gt;[[$FG_SCENERY]]&amp;lt;/tt&amp;gt; (or from the command line); the first-named directories have highest priority.  Thus, if you create a local directory for storing custom scenery you create, include it first in the scenery path.&lt;br /&gt;
&lt;br /&gt;
Lines for shared objects in the STG file look like this:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;prettytable&amp;quot; border=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; bordercolor=&amp;quot;black&amp;quot;&amp;gt;&lt;br /&gt;
|OBJECT_SHARED&lt;br /&gt;
|Models/Misc/trigpoint.xml &lt;br /&gt;
|&amp;lt;nowiki&amp;gt;-122.377127&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
|37.71570833&lt;br /&gt;
|1.756719854&lt;br /&gt;
|20&lt;br /&gt;
|- &lt;br /&gt;
|Type&lt;br /&gt;
|filename path&lt;br /&gt;
|Longitude&lt;br /&gt;
|Latitude&lt;br /&gt;
|Elevation&lt;br /&gt;
|Heading&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The filename path is relative to &amp;lt;tt&amp;gt;$FG_ROOT&amp;lt;/tt&amp;gt;.  Longitude and latitude are expressed as decimal numbers (not degrees/minutes/seconds), with negative values representing west and south.  Elevation is in meters above mean sea-level.  Heading is in degrees, *counter-clockwise* from North as 0.0 (i.e. when looking from above).  Note that this is opposite from headings in other places in FlightGear, which are clockwise.&lt;br /&gt;
&lt;br /&gt;
Some examples:&lt;br /&gt;
&lt;br /&gt;
 OBJECT_SHARED Models/MidAtl/cape-may-light.ac   -74.959970 38.933332 -93.0 0.00&lt;br /&gt;
 OBJECT_SHARED Models/Airport/windsock.xml -122.360843 37.613877 1 0&lt;br /&gt;
 OBJECT_SHARED Models/Structures/vordme.xml -122.37389 37.61948 -0.404 0&lt;br /&gt;
&lt;br /&gt;
[[Category:Howto|Add shared models manually]]&lt;br /&gt;
[[Category:Scenery enhancement|Add shared models manually]]&lt;/div&gt;</summary>
		<author><name>AlbertBickford</name></author>
	</entry>
	<entry>
		<id>https://wiki.flightgear.org/w/index.php?title=Howto:Add_shared_models_manually&amp;diff=30230</id>
		<title>Howto:Add shared models manually</title>
		<link rel="alternate" type="text/html" href="https://wiki.flightgear.org/w/index.php?title=Howto:Add_shared_models_manually&amp;diff=30230"/>
		<updated>2011-03-14T04:00:50Z</updated>

		<summary type="html">&lt;p&gt;AlbertBickford: /* .STG file format */ Updates to be consistent with Docs/README.scenery&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;You can add your own objects, known as &amp;quot;shared models&amp;quot; to FlightGear's world.  This howto explains a few ways to do so.  It assumes that you already have a model. There are many that come standard with FG; they are stored in the &amp;lt;tt&amp;gt;[[$FG_ROOT]]/Models&amp;lt;/tt&amp;gt; directory.  &lt;br /&gt;
&lt;br /&gt;
You can also create one using a suitable modeling program such as [http://www.blender.org/ blender].  You may use any format that PLIB supports. Currently, this means in addition to the 3ds models mentioned below, you may use AC3D and other formats. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Adding Shared Models to FlightGear's World ==&lt;br /&gt;
&lt;br /&gt;
=== Step 1 ===&lt;br /&gt;
If you plan to use one of the standard FG models, skip to step 4.&lt;br /&gt;
&lt;br /&gt;
If you have created your own model, create a directory under &amp;lt;tt&amp;gt;[[$FG_ROOT]]/Models&amp;lt;/tt&amp;gt;. We'll use &amp;lt;tt&amp;gt;$FG_ROOT/Models/MyModels&amp;lt;/tt&amp;gt; as an example.&lt;br /&gt;
&lt;br /&gt;
=== Step 2 ===&lt;br /&gt;
Save your .ac file containing the model into the &amp;lt;tt&amp;gt;$FG_ROOT/Models/MyModels&amp;lt;/tt&amp;gt; directory. We'll use &amp;lt;tt&amp;gt;MyModel.ac&amp;lt;/tt&amp;gt; as the name of that file.&lt;br /&gt;
&lt;br /&gt;
=== Step 3 (optional) ===&lt;br /&gt;
If you intend to include animation, create an XML file called &amp;lt;tt&amp;gt;MyModel.xml&amp;lt;/tt&amp;gt; inside the &amp;lt;tt&amp;gt;$FG_ROOT/Models/MyModels&amp;lt;/tt&amp;gt; directory with the following contents:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;?xml version=&amp;quot;1.0&amp;quot;?&amp;gt;&lt;br /&gt;
 &amp;lt;PropertyList&amp;gt;&lt;br /&gt;
  &amp;lt;path&amp;gt;MyModel.ac&amp;lt;/path&amp;gt;&lt;br /&gt;
  &amp;lt;animation&amp;gt;&lt;br /&gt;
   &amp;lt;type&amp;gt;range&amp;lt;/type&amp;gt;&lt;br /&gt;
   &amp;lt;min-m&amp;gt;0&amp;lt;/min-m&amp;gt;&lt;br /&gt;
   &amp;lt;max-m&amp;gt;20000&amp;lt;/max-m&amp;gt;&lt;br /&gt;
  &amp;lt;/animation&amp;gt;&lt;br /&gt;
 &amp;lt;/PropertyList&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This xml file references the .ac model file and tells FlightGear that it must be visible from 0 meters up to 20 km.&lt;br /&gt;
&lt;br /&gt;
An XML file is only necessary if you are intending to include animation; it is not required to render a model at a fixed location in FlightGear. &lt;br /&gt;
&lt;br /&gt;
=== Step 4 ===&lt;br /&gt;
Next, you have to determine where to place the model in FG's world.&lt;br /&gt;
&lt;br /&gt;
A really useful resource at this stage is [http://www.terraserver.com TerraServer].  Enter a street name, city, and state. Then you can choose from several types of public-domain aerial photography from the US Geological Survey. When you get a good photo of your feature, click on the Info link. Your image will be broken into tiles with latitude and longitude of the edges of the tiles. This is good way to get close to the position you want. Google Earth is also a good way to obtain position information, and there are other websites that will provide it also.&lt;br /&gt;
&lt;br /&gt;
Then, you need to place the object precisely. An easy way do this is with the [[UFO]] model, which allows you to place objects and see what they look like there; see [[Howto: Place 3D objects with the UFO]].  It calculates the positioning details for you and writes them out in the correct format, but for completeness I'll continue by describing a manual way to do it, for people who may need or want to know the inside details.&lt;br /&gt;
&lt;br /&gt;
Start FG and fly to the location where you want to place the model. Open up the property browser in FG (File-&amp;gt;Browse Internal Properties), and the &amp;lt;tt&amp;gt;/position&amp;lt;/tt&amp;gt; key.  Write down the values for &amp;lt;tt&amp;gt;latitude-deg&amp;lt;/tt&amp;gt;, &amp;lt;tt&amp;gt;longitude-deg&amp;lt;/tt&amp;gt;, and &amp;lt;tt&amp;gt;ground-elev-m&amp;lt;/tt&amp;gt;. (If you want to place the object above ground level, then you'll have to add the appropriate number of meters yourself.)  Then, go to the &amp;lt;tt&amp;gt;/environment&amp;lt;/tt&amp;gt; key and write down the tile number (current-tile-id). &lt;br /&gt;
&lt;br /&gt;
An alternate way to get the tile number is with a perl program in [[Git]] called calc-tile.pl that works out what stg file a geodetic coordinate falls in. You can get it here if you don't feel like playing with Git and don't have the Git branch installed: http://gitorious.org/fg/flightgear/blobs/raw/next/scripts/perl/scenery/calc-tile.pl. Run the perl script in a terminal window, passing it the longitude and latitude that you wrote down in step 4. You'll probably have to install perl first if you run on a MS OS's. Example :&lt;br /&gt;
&lt;br /&gt;
 $ ''./calc-tile.pl -55.5 30.3''&lt;br /&gt;
 Longitude: -55.5&lt;br /&gt;
 Latitude: 30.3&lt;br /&gt;
 Tile: 2039314&lt;br /&gt;
 Path: &amp;quot;w060n30/w056n30/2039314.stg&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Finally, you can use FGSD for steps 4 to 6.&lt;br /&gt;
&lt;br /&gt;
=== Step 5 ===&lt;br /&gt;
Next locate a .stg file into which you will place a reference to the new model and its position. &lt;br /&gt;
&lt;br /&gt;
There is more information about .stg files, below, but in brief:  The .stg files are named according to tile number and stored under the scenery directories.  The default installation places a limited amount of scenery (for the area around San Francisco) in &amp;lt;tt&amp;gt;[[$FG_ROOT]]/scenery&amp;lt;/tt&amp;gt; but you may have scenery in other directories, as specified in &amp;lt;tt&amp;gt;[[$FG_SCENERY]]&amp;lt;/tt&amp;gt;.  (See [[Howto: Install scenery]].)  Under each scenery directory, you will find directories called &amp;lt;tt&amp;gt;Objects&amp;lt;/tt&amp;gt; and &amp;lt;tt&amp;gt;Terrain&amp;lt;/tt&amp;gt;, and under them directories that group tiles into larger and smaller quadrants.  Thus, if the tile number is 942058, you will find &amp;lt;tt&amp;gt;942058.stg&amp;lt;/tt&amp;gt; under &amp;lt;tt&amp;gt;$FG_ROOT&amp;lt;/tt&amp;gt; as &amp;lt;tt&amp;gt;$FG_Root/Scenery/Objects/w130n30/w123n37/942058.stg&amp;lt;/tt&amp;gt;.  &lt;br /&gt;
&lt;br /&gt;
There is generally more than one .stg file for a given tile, in different directories.  It's important to edit one that will actually be read by flightgear (see below).  One thing you can do is create a personal customized scenery directory separate from the standard installation.  That way, if you upgrade FG your customizations won't get overwritten.  (If you create such a directory, add it first in &amp;lt;tt&amp;gt;[[$FG_SCENERY]]&amp;lt;/tt&amp;gt;, create a directory structure inside it parallel to the one in the standard scenery story, and create a .stg file in the appropriate place.) For the same reason, it is best not to edit the .stg files in the folder where TerraSync stores the scenery it has fetched, since TerraSync may overwrite them with newer versions.  Objects associated with airports are usually put into a .stg file under a &amp;quot;Terrain&amp;quot; directory; other objects are put under &amp;quot;Objects&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
=== Step 6 ===&lt;br /&gt;
Add the following lines to the stg file you've chosen, replacing the parameters with your own :&lt;br /&gt;
&lt;br /&gt;
 OBJECT_SHARED Models/MyModels/MyModel.xml -55.5 30.3 1000.0 0.00 &lt;br /&gt;
&lt;br /&gt;
In brief,the format is :&lt;br /&gt;
 OBJECT_SHARED relative_path_to_model_file longitude latitude altitude_above_sea_level_(meters) ellipsoid_ROTATION&lt;br /&gt;
&lt;br /&gt;
The path is relative to the $FG_ROOT directory.  If you have an XML file for the model, specify it here, otherwise specify the .ac file.&lt;br /&gt;
&lt;br /&gt;
There are more details on the .stg file format below.&lt;br /&gt;
&lt;br /&gt;
Alternately, there is a way to include this same information in XML configuration files that are loaded at runtime; see [[Howto: Place 3D objects with the UFO]] for more details.  This approach has the advantage of keeping your new scenery clearly separate from the standard scenery files without having to create your own custom scenery directory structure.  However it requires either manually loading the config file from the command line or mentioning it in one of the standard startup files (such as [[.fgfsrc]]) and having it loaded every time you start FG, whether or not you are going to be flying in the area.  If you place the scenery information in .stg files, it is only loaded when needed.&lt;br /&gt;
&lt;br /&gt;
=== Step 7 ===&lt;br /&gt;
Restart FG and fly to where you added the model; it should be there.&lt;br /&gt;
&lt;br /&gt;
== STG file format ==&lt;br /&gt;
There is documention for the .stg files used by FlightGear in &amp;lt;tt&amp;gt;$FG_ROOT/Docs/README.scenery&amp;lt;/tt&amp;gt;.  Only information relevant for placing shared objects is included here.&lt;br /&gt;
&lt;br /&gt;
Scenery files are loaded by default from &amp;lt;tt&amp;gt;[[$FG_ROOT]]/Scenery&amp;lt;/tt&amp;gt;.  Alternate locations (a &amp;quot;scenery path&amp;quot;) can be specified in &amp;lt;tt&amp;gt;[[$FG_SCENERY]]&amp;lt;/tt&amp;gt; (or from the command line); the first-named directories have highest priority.  Thus, if you create a local directory for storing custom scenery you create, include it first in the scenery path.&lt;br /&gt;
&lt;br /&gt;
Lines for shared objects in the STG file look like this:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;prettytable&amp;quot; border=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; bordercolor=&amp;quot;black&amp;quot;&amp;gt;&lt;br /&gt;
|OBJECT_SHARED&lt;br /&gt;
|Models/Misc/trigpoint.xml &lt;br /&gt;
|&amp;lt;nowiki&amp;gt;-122.377127&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
|37.71570833&lt;br /&gt;
|1.756719854&lt;br /&gt;
|20&lt;br /&gt;
|- &lt;br /&gt;
|Type&lt;br /&gt;
|filename path&lt;br /&gt;
|Longitude&lt;br /&gt;
|Latitude&lt;br /&gt;
|Elevation&lt;br /&gt;
|Heading&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The filename path is relative to &amp;lt;tt&amp;gt;$FG_ROOT&amp;lt;/tt&amp;gt;.  Longitude and latitude are expressed as decimal numbers (not degrees/minutes/seconds), with negative values representing west and south.  Elevation is in meters above mean sea-level.  Heading is in degrees, *counter-clockwise* from North as 0.0 (i.e. when looking from above).  Note that this is opposite from headings in other places in FlightGear, which are clockwise.&lt;br /&gt;
&lt;br /&gt;
Some examples:&lt;br /&gt;
&lt;br /&gt;
 OBJECT_SHARED Models/MidAtl/cape-may-light.ac   -74.959970 38.933332 -93.0 0.00&lt;br /&gt;
 OBJECT_SHARED Models/Airport/windsock.xml -122.360843 37.613877 1 0&lt;br /&gt;
 OBJECT_SHARED Models/Structures/vordme.xml -122.37389 37.61948 -0.404 0&lt;br /&gt;
&lt;br /&gt;
[[Category:Howto|Add shared models manually]]&lt;br /&gt;
[[Category:Scenery enhancement|Add shared models manually]]&lt;/div&gt;</summary>
		<author><name>AlbertBickford</name></author>
	</entry>
	<entry>
		<id>https://wiki.flightgear.org/w/index.php?title=Howto:Add_shared_models_manually&amp;diff=30217</id>
		<title>Howto:Add shared models manually</title>
		<link rel="alternate" type="text/html" href="https://wiki.flightgear.org/w/index.php?title=Howto:Add_shared_models_manually&amp;diff=30217"/>
		<updated>2011-03-14T03:24:54Z</updated>

		<summary type="html">&lt;p&gt;AlbertBickford: /* .STG file format */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;You can add your own objects, known as &amp;quot;shared models&amp;quot; to FlightGear's world.  This howto explains a few ways to do so.  It assumes that you already have a model. There are many that come standard with FG; they are stored in the &amp;lt;tt&amp;gt;[[$FG_ROOT]]/Models&amp;lt;/tt&amp;gt; directory.  &lt;br /&gt;
&lt;br /&gt;
You can also create one using a suitable modeling program such as [http://www.blender.org/ blender].  You may use any format that PLIB supports. Currently, this means in addition to the 3ds models mentioned below, you may use AC3D and other formats. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Adding Shared Models to FlightGear's World ==&lt;br /&gt;
&lt;br /&gt;
=== Step 1 ===&lt;br /&gt;
If you plan to use one of the standard FG models, skip to step 4.&lt;br /&gt;
&lt;br /&gt;
If you have created your own model, create a directory under &amp;lt;tt&amp;gt;[[$FG_ROOT]]/Models&amp;lt;/tt&amp;gt;. We'll use &amp;lt;tt&amp;gt;$FG_ROOT/Models/MyModels&amp;lt;/tt&amp;gt; as an example.&lt;br /&gt;
&lt;br /&gt;
=== Step 2 ===&lt;br /&gt;
Save your .ac file containing the model into the &amp;lt;tt&amp;gt;$FG_ROOT/Models/MyModels&amp;lt;/tt&amp;gt; directory. We'll use &amp;lt;tt&amp;gt;MyModel.ac&amp;lt;/tt&amp;gt; as the name of that file.&lt;br /&gt;
&lt;br /&gt;
=== Step 3 (optional) ===&lt;br /&gt;
If you intend to include animation, create an XML file called &amp;lt;tt&amp;gt;MyModel.xml&amp;lt;/tt&amp;gt; inside the &amp;lt;tt&amp;gt;$FG_ROOT/Models/MyModels&amp;lt;/tt&amp;gt; directory with the following contents:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;?xml version=&amp;quot;1.0&amp;quot;?&amp;gt;&lt;br /&gt;
 &amp;lt;PropertyList&amp;gt;&lt;br /&gt;
  &amp;lt;path&amp;gt;MyModel.ac&amp;lt;/path&amp;gt;&lt;br /&gt;
  &amp;lt;animation&amp;gt;&lt;br /&gt;
   &amp;lt;type&amp;gt;range&amp;lt;/type&amp;gt;&lt;br /&gt;
   &amp;lt;min-m&amp;gt;0&amp;lt;/min-m&amp;gt;&lt;br /&gt;
   &amp;lt;max-m&amp;gt;20000&amp;lt;/max-m&amp;gt;&lt;br /&gt;
  &amp;lt;/animation&amp;gt;&lt;br /&gt;
 &amp;lt;/PropertyList&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This xml file references the .ac model file and tells FlightGear that it must be visible from 0 meters up to 20 km.&lt;br /&gt;
&lt;br /&gt;
An XML file is only necessary if you are intending to include animation; it is not required to render a model at a fixed location in FlightGear. &lt;br /&gt;
&lt;br /&gt;
=== Step 4 ===&lt;br /&gt;
Next, you have to determine where to place the model in FG's world.&lt;br /&gt;
&lt;br /&gt;
A really useful resource at this stage is [http://www.terraserver.com TerraServer].  Enter a street name, city, and state. Then you can choose from several types of public-domain aerial photography from the US Geological Survey. When you get a good photo of your feature, click on the Info link. Your image will be broken into tiles with latitude and longitude of the edges of the tiles. This is good way to get close to the position you want. Google Earth is also a good way to obtain position information, and there are other websites that will provide it also.&lt;br /&gt;
&lt;br /&gt;
Then, you need to place the object precisely. An easy way do this is with the [[UFO]] model, which allows you to place objects and see what they look like there; see [[Howto: Place 3D objects with the UFO]].  It calculates the positioning details for you and writes them out in the correct format, but for completeness I'll continue by describing a manual way to do it, for people who may need or want to know the inside details.&lt;br /&gt;
&lt;br /&gt;
Start FG and fly to the location where you want to place the model. Open up the property browser in FG (File-&amp;gt;Browse Internal Properties), and the &amp;lt;tt&amp;gt;/position&amp;lt;/tt&amp;gt; key.  Write down the values for &amp;lt;tt&amp;gt;latitude-deg&amp;lt;/tt&amp;gt;, &amp;lt;tt&amp;gt;longitude-deg&amp;lt;/tt&amp;gt;, and &amp;lt;tt&amp;gt;ground-elev-m&amp;lt;/tt&amp;gt;. (If you want to place the object above ground level, then you'll have to add the appropriate number of meters yourself.)  Then, go to the &amp;lt;tt&amp;gt;/environment&amp;lt;/tt&amp;gt; key and write down the tile number (current-tile-id). &lt;br /&gt;
&lt;br /&gt;
An alternate way to get the tile number is with a perl program in [[Git]] called calc-tile.pl that works out what stg file a geodetic coordinate falls in. You can get it here if you don't feel like playing with Git and don't have the Git branch installed: http://gitorious.org/fg/flightgear/blobs/raw/next/scripts/perl/scenery/calc-tile.pl. Run the perl script in a terminal window, passing it the longitude and latitude that you wrote down in step 4. You'll probably have to install perl first if you run on a MS OS's. Example :&lt;br /&gt;
&lt;br /&gt;
 $ ''./calc-tile.pl -55.5 30.3''&lt;br /&gt;
 Longitude: -55.5&lt;br /&gt;
 Latitude: 30.3&lt;br /&gt;
 Tile: 2039314&lt;br /&gt;
 Path: &amp;quot;w060n30/w056n30/2039314.stg&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Finally, you can use FGSD for steps 4 to 6.&lt;br /&gt;
&lt;br /&gt;
=== Step 5 ===&lt;br /&gt;
Next locate a .stg file into which you will place a reference to the new model and its position. &lt;br /&gt;
&lt;br /&gt;
There is more information about .stg files, below, but in brief:  The .stg files are named according to tile number and stored under the scenery directories.  The default installation places a limited amount of scenery (for the area around San Francisco) in &amp;lt;tt&amp;gt;[[$FG_ROOT]]/scenery&amp;lt;/tt&amp;gt; but you may have scenery in other directories, as specified in &amp;lt;tt&amp;gt;[[$FG_SCENERY]]&amp;lt;/tt&amp;gt;.  (See [[Howto: Install scenery]].)  Under each scenery directory, you will find directories called &amp;lt;tt&amp;gt;Objects&amp;lt;/tt&amp;gt; and &amp;lt;tt&amp;gt;Terrain&amp;lt;/tt&amp;gt;, and under them directories that group tiles into larger and smaller quadrants.  Thus, if the tile number is 942058, you will find &amp;lt;tt&amp;gt;942058.stg&amp;lt;/tt&amp;gt; under &amp;lt;tt&amp;gt;$FG_ROOT&amp;lt;/tt&amp;gt; as &amp;lt;tt&amp;gt;$FG_Root/Scenery/Objects/w130n30/w123n37/942058.stg&amp;lt;/tt&amp;gt;.  &lt;br /&gt;
&lt;br /&gt;
There is generally more than one .stg file for a given tile, in different directories.  It's important to edit one that will actually be read by flightgear (see below).  One thing you can do is create a personal customized scenery directory separate from the standard installation.  That way, if you upgrade FG your customizations won't get overwritten.  (If you create such a directory, add it first in &amp;lt;tt&amp;gt;[[$FG_SCENERY]]&amp;lt;/tt&amp;gt;, create a directory structure inside it parallel to the one in the standard scenery story, and create a .stg file in the appropriate place.) For the same reason, it is best not to edit the .stg files in the folder where TerraSync stores the scenery it has fetched, since TerraSync may overwrite them with newer versions.  Objects associated with airports are usually put into a .stg file under a &amp;quot;Terrain&amp;quot; directory; other objects are put under &amp;quot;Objects&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
=== Step 6 ===&lt;br /&gt;
Add the following lines to the stg file you've chosen, replacing the parameters with your own :&lt;br /&gt;
&lt;br /&gt;
 OBJECT_SHARED Models/MyModels/MyModel.xml -55.5 30.3 1000.0 0.00 &lt;br /&gt;
&lt;br /&gt;
In brief,the format is :&lt;br /&gt;
 OBJECT_SHARED relative_path_to_model_file longitude latitude altitude_above_sea_level_(meters) ellipsoid_ROTATION&lt;br /&gt;
&lt;br /&gt;
The path is relative to the $FG_ROOT directory.  If you have an XML file for the model, specify it here, otherwise specify the .ac file.&lt;br /&gt;
&lt;br /&gt;
There are more details on the .stg file format below.&lt;br /&gt;
&lt;br /&gt;
Alternately, there is a way to include this same information in XML configuration files that are loaded at runtime; see [[Howto: Place 3D objects with the UFO]] for more details.  This approach has the advantage of keeping your new scenery clearly separate from the standard scenery files without having to create your own custom scenery directory structure.  However it requires either manually loading the config file from the command line or mentioning it in one of the standard startup files (such as [[.fgfsrc]]) and having it loaded every time you start FG, whether or not you are going to be flying in the area.  If you place the scenery information in .stg files, it is only loaded when needed.&lt;br /&gt;
&lt;br /&gt;
=== Step 7 ===&lt;br /&gt;
Restart FG and fly to where you added the model; it should be there.&lt;br /&gt;
&lt;br /&gt;
== .STG file format ==&lt;br /&gt;
There is documention for the .stg files used by FlightGear in &amp;lt;tt&amp;gt;$FG_ROOT/Docs/README.scenery.  In particular, it describes the way that FlightGear searches the different scenery directories for .stg files.&lt;br /&gt;
&lt;br /&gt;
Here is a summary.&lt;br /&gt;
&lt;br /&gt;
Each line of the STG file has the following format:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;prettytable&amp;quot; border=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; bordercolor=&amp;quot;black&amp;quot;&amp;gt;&lt;br /&gt;
|OBJECT_STATIC&lt;br /&gt;
|KSFO-maint-1-fb.ac&lt;br /&gt;
|&amp;lt;nowiki&amp;gt;-122.377127&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
|37.71570833&lt;br /&gt;
|1.756719854&lt;br /&gt;
|20&lt;br /&gt;
|- &lt;br /&gt;
|Type&lt;br /&gt;
|Relative path&lt;br /&gt;
|Longitude&lt;br /&gt;
|Latitude&lt;br /&gt;
|Elevation&lt;br /&gt;
|Heading&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
About Altitude. Looking at the files shipped with FG, there are some strange, to me, figures for altitude. Some are negative numbers. That seems odd, since objects are being placed on the surface. It suggests that above surface may be negative on the Z axis. COMMENT: Much more likely these are objects which are purposely sunk into the terrain to adjust their height.&lt;br /&gt;
&lt;br /&gt;
I ran across a comment: 3D object need scenery to compute their height. This is why scenery must be associated with an existing land surface file (whatever you call it).&lt;br /&gt;
&lt;br /&gt;
This is what a line with an XML file specifying the model looks like.&lt;br /&gt;
&lt;br /&gt;
 OBJECT_SHARED Models/MidAtl/cape-may-light.xml   -74.959970 38.933332 -93.0 0.00&lt;br /&gt;
&lt;br /&gt;
This is what a line specifying the model file directly looks like.&lt;br /&gt;
&lt;br /&gt;
 OBJECT_SHARED Models/MidAtl/cape-may-light.ac   -74.959970 38.933332 -93.0 0.00&lt;br /&gt;
&lt;br /&gt;
A second example from the FlightGear KSFO scenery. Although taken from different STG files for the same area, you can see the mix of objects.&lt;br /&gt;
&lt;br /&gt;
 OBJECT_STATIC KSFO-terminal-fb.ac -122.3859635 37.61748958 3 90&lt;br /&gt;
 OBJECT_SHARED Models/Airport/windsock.xml -122.360843 37.613877 1 0&lt;br /&gt;
 OBJECT_SHARED Models/Structures/vordme.xml -122.37389 37.61948 -0.404 0&lt;br /&gt;
 OBJECT_STATIC KSFO-maint-1-fb.ac -122.377127 37.62647917 0.5 62&lt;br /&gt;
 OBJECT_STATIC candlestickpark-fb.xml -122.3838418 37.71570833 1.756719854 0&lt;br /&gt;
&lt;br /&gt;
[[Category:Howto|Add shared models manually]]&lt;br /&gt;
[[Category:Scenery enhancement|Add shared models manually]]&lt;/div&gt;</summary>
		<author><name>AlbertBickford</name></author>
	</entry>
	<entry>
		<id>https://wiki.flightgear.org/w/index.php?title=Howto:Add_shared_models_manually&amp;diff=30216</id>
		<title>Howto:Add shared models manually</title>
		<link rel="alternate" type="text/html" href="https://wiki.flightgear.org/w/index.php?title=Howto:Add_shared_models_manually&amp;diff=30216"/>
		<updated>2011-03-14T03:22:35Z</updated>

		<summary type="html">&lt;p&gt;AlbertBickford: /* Step 5 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;You can add your own objects, known as &amp;quot;shared models&amp;quot; to FlightGear's world.  This howto explains a few ways to do so.  It assumes that you already have a model. There are many that come standard with FG; they are stored in the &amp;lt;tt&amp;gt;[[$FG_ROOT]]/Models&amp;lt;/tt&amp;gt; directory.  &lt;br /&gt;
&lt;br /&gt;
You can also create one using a suitable modeling program such as [http://www.blender.org/ blender].  You may use any format that PLIB supports. Currently, this means in addition to the 3ds models mentioned below, you may use AC3D and other formats. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Adding Shared Models to FlightGear's World ==&lt;br /&gt;
&lt;br /&gt;
=== Step 1 ===&lt;br /&gt;
If you plan to use one of the standard FG models, skip to step 4.&lt;br /&gt;
&lt;br /&gt;
If you have created your own model, create a directory under &amp;lt;tt&amp;gt;[[$FG_ROOT]]/Models&amp;lt;/tt&amp;gt;. We'll use &amp;lt;tt&amp;gt;$FG_ROOT/Models/MyModels&amp;lt;/tt&amp;gt; as an example.&lt;br /&gt;
&lt;br /&gt;
=== Step 2 ===&lt;br /&gt;
Save your .ac file containing the model into the &amp;lt;tt&amp;gt;$FG_ROOT/Models/MyModels&amp;lt;/tt&amp;gt; directory. We'll use &amp;lt;tt&amp;gt;MyModel.ac&amp;lt;/tt&amp;gt; as the name of that file.&lt;br /&gt;
&lt;br /&gt;
=== Step 3 (optional) ===&lt;br /&gt;
If you intend to include animation, create an XML file called &amp;lt;tt&amp;gt;MyModel.xml&amp;lt;/tt&amp;gt; inside the &amp;lt;tt&amp;gt;$FG_ROOT/Models/MyModels&amp;lt;/tt&amp;gt; directory with the following contents:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;?xml version=&amp;quot;1.0&amp;quot;?&amp;gt;&lt;br /&gt;
 &amp;lt;PropertyList&amp;gt;&lt;br /&gt;
  &amp;lt;path&amp;gt;MyModel.ac&amp;lt;/path&amp;gt;&lt;br /&gt;
  &amp;lt;animation&amp;gt;&lt;br /&gt;
   &amp;lt;type&amp;gt;range&amp;lt;/type&amp;gt;&lt;br /&gt;
   &amp;lt;min-m&amp;gt;0&amp;lt;/min-m&amp;gt;&lt;br /&gt;
   &amp;lt;max-m&amp;gt;20000&amp;lt;/max-m&amp;gt;&lt;br /&gt;
  &amp;lt;/animation&amp;gt;&lt;br /&gt;
 &amp;lt;/PropertyList&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This xml file references the .ac model file and tells FlightGear that it must be visible from 0 meters up to 20 km.&lt;br /&gt;
&lt;br /&gt;
An XML file is only necessary if you are intending to include animation; it is not required to render a model at a fixed location in FlightGear. &lt;br /&gt;
&lt;br /&gt;
=== Step 4 ===&lt;br /&gt;
Next, you have to determine where to place the model in FG's world.&lt;br /&gt;
&lt;br /&gt;
A really useful resource at this stage is [http://www.terraserver.com TerraServer].  Enter a street name, city, and state. Then you can choose from several types of public-domain aerial photography from the US Geological Survey. When you get a good photo of your feature, click on the Info link. Your image will be broken into tiles with latitude and longitude of the edges of the tiles. This is good way to get close to the position you want. Google Earth is also a good way to obtain position information, and there are other websites that will provide it also.&lt;br /&gt;
&lt;br /&gt;
Then, you need to place the object precisely. An easy way do this is with the [[UFO]] model, which allows you to place objects and see what they look like there; see [[Howto: Place 3D objects with the UFO]].  It calculates the positioning details for you and writes them out in the correct format, but for completeness I'll continue by describing a manual way to do it, for people who may need or want to know the inside details.&lt;br /&gt;
&lt;br /&gt;
Start FG and fly to the location where you want to place the model. Open up the property browser in FG (File-&amp;gt;Browse Internal Properties), and the &amp;lt;tt&amp;gt;/position&amp;lt;/tt&amp;gt; key.  Write down the values for &amp;lt;tt&amp;gt;latitude-deg&amp;lt;/tt&amp;gt;, &amp;lt;tt&amp;gt;longitude-deg&amp;lt;/tt&amp;gt;, and &amp;lt;tt&amp;gt;ground-elev-m&amp;lt;/tt&amp;gt;. (If you want to place the object above ground level, then you'll have to add the appropriate number of meters yourself.)  Then, go to the &amp;lt;tt&amp;gt;/environment&amp;lt;/tt&amp;gt; key and write down the tile number (current-tile-id). &lt;br /&gt;
&lt;br /&gt;
An alternate way to get the tile number is with a perl program in [[Git]] called calc-tile.pl that works out what stg file a geodetic coordinate falls in. You can get it here if you don't feel like playing with Git and don't have the Git branch installed: http://gitorious.org/fg/flightgear/blobs/raw/next/scripts/perl/scenery/calc-tile.pl. Run the perl script in a terminal window, passing it the longitude and latitude that you wrote down in step 4. You'll probably have to install perl first if you run on a MS OS's. Example :&lt;br /&gt;
&lt;br /&gt;
 $ ''./calc-tile.pl -55.5 30.3''&lt;br /&gt;
 Longitude: -55.5&lt;br /&gt;
 Latitude: 30.3&lt;br /&gt;
 Tile: 2039314&lt;br /&gt;
 Path: &amp;quot;w060n30/w056n30/2039314.stg&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Finally, you can use FGSD for steps 4 to 6.&lt;br /&gt;
&lt;br /&gt;
=== Step 5 ===&lt;br /&gt;
Next locate a .stg file into which you will place a reference to the new model and its position. &lt;br /&gt;
&lt;br /&gt;
There is more information about .stg files, below, but in brief:  The .stg files are named according to tile number and stored under the scenery directories.  The default installation places a limited amount of scenery (for the area around San Francisco) in &amp;lt;tt&amp;gt;[[$FG_ROOT]]/scenery&amp;lt;/tt&amp;gt; but you may have scenery in other directories, as specified in &amp;lt;tt&amp;gt;[[$FG_SCENERY]]&amp;lt;/tt&amp;gt;.  (See [[Howto: Install scenery]].)  Under each scenery directory, you will find directories called &amp;lt;tt&amp;gt;Objects&amp;lt;/tt&amp;gt; and &amp;lt;tt&amp;gt;Terrain&amp;lt;/tt&amp;gt;, and under them directories that group tiles into larger and smaller quadrants.  Thus, if the tile number is 942058, you will find &amp;lt;tt&amp;gt;942058.stg&amp;lt;/tt&amp;gt; under &amp;lt;tt&amp;gt;$FG_ROOT&amp;lt;/tt&amp;gt; as &amp;lt;tt&amp;gt;$FG_Root/Scenery/Objects/w130n30/w123n37/942058.stg&amp;lt;/tt&amp;gt;.  &lt;br /&gt;
&lt;br /&gt;
There is generally more than one .stg file for a given tile, in different directories.  It's important to edit one that will actually be read by flightgear (see below).  One thing you can do is create a personal customized scenery directory separate from the standard installation.  That way, if you upgrade FG your customizations won't get overwritten.  (If you create such a directory, add it first in &amp;lt;tt&amp;gt;[[$FG_SCENERY]]&amp;lt;/tt&amp;gt;, create a directory structure inside it parallel to the one in the standard scenery story, and create a .stg file in the appropriate place.) For the same reason, it is best not to edit the .stg files in the folder where TerraSync stores the scenery it has fetched, since TerraSync may overwrite them with newer versions.  Objects associated with airports are usually put into a .stg file under a &amp;quot;Terrain&amp;quot; directory; other objects are put under &amp;quot;Objects&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
=== Step 6 ===&lt;br /&gt;
Add the following lines to the stg file you've chosen, replacing the parameters with your own :&lt;br /&gt;
&lt;br /&gt;
 OBJECT_SHARED Models/MyModels/MyModel.xml -55.5 30.3 1000.0 0.00 &lt;br /&gt;
&lt;br /&gt;
In brief,the format is :&lt;br /&gt;
 OBJECT_SHARED relative_path_to_model_file longitude latitude altitude_above_sea_level_(meters) ellipsoid_ROTATION&lt;br /&gt;
&lt;br /&gt;
The path is relative to the $FG_ROOT directory.  If you have an XML file for the model, specify it here, otherwise specify the .ac file.&lt;br /&gt;
&lt;br /&gt;
There are more details on the .stg file format below.&lt;br /&gt;
&lt;br /&gt;
Alternately, there is a way to include this same information in XML configuration files that are loaded at runtime; see [[Howto: Place 3D objects with the UFO]] for more details.  This approach has the advantage of keeping your new scenery clearly separate from the standard scenery files without having to create your own custom scenery directory structure.  However it requires either manually loading the config file from the command line or mentioning it in one of the standard startup files (such as [[.fgfsrc]]) and having it loaded every time you start FG, whether or not you are going to be flying in the area.  If you place the scenery information in .stg files, it is only loaded when needed.&lt;br /&gt;
&lt;br /&gt;
=== Step 7 ===&lt;br /&gt;
Restart FG and fly to where you added the model; it should be there.&lt;br /&gt;
&lt;br /&gt;
== .STG file format ==&lt;br /&gt;
Currently, no documention exists for the .stg files used by FlightGear other than this. There is none in the 'mini-docs' folder bundled with the source.&lt;br /&gt;
&lt;br /&gt;
Each line of the STG file has the following format:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;prettytable&amp;quot; border=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; bordercolor=&amp;quot;black&amp;quot;&amp;gt;&lt;br /&gt;
|OBJECT_STATIC&lt;br /&gt;
|KSFO-maint-1-fb.ac&lt;br /&gt;
|&amp;lt;nowiki&amp;gt;-122.377127&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
|37.71570833&lt;br /&gt;
|1.756719854&lt;br /&gt;
|20&lt;br /&gt;
|- &lt;br /&gt;
|Type&lt;br /&gt;
|Relative path&lt;br /&gt;
|Longitude&lt;br /&gt;
|Latitude&lt;br /&gt;
|Elevation&lt;br /&gt;
|Heading&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
About Altitude. Looking at the files shipped with FG, there are some strange, to me, figures for altitude. Some are negative numbers. That seems odd, since objects are being placed on the surface. It suggests that above surface may be negative on the Z axis. COMMENT: Much more likely these are objects which are purposely sunk into the terrain to adjust their height.&lt;br /&gt;
&lt;br /&gt;
I ran across a comment: 3D object need scenery to compute their height. This is why scenery must be associated with an existing land surface file (whatever you call it).&lt;br /&gt;
&lt;br /&gt;
This is what a line with an XML file specifying the model looks like.&lt;br /&gt;
&lt;br /&gt;
 OBJECT_SHARED Models/MidAtl/cape-may-light.xml   -74.959970 38.933332 -93.0 0.00&lt;br /&gt;
&lt;br /&gt;
This is what a line specifying the model file directly looks like.&lt;br /&gt;
&lt;br /&gt;
 OBJECT_SHARED Models/MidAtl/cape-may-light.ac   -74.959970 38.933332 -93.0 0.00&lt;br /&gt;
&lt;br /&gt;
A second example from the FlightGear KSFO scenery. Although taken from different STG files for the same area, you can see the mix of objects.&lt;br /&gt;
&lt;br /&gt;
 OBJECT_STATIC KSFO-terminal-fb.ac -122.3859635 37.61748958 3 90&lt;br /&gt;
 OBJECT_SHARED Models/Airport/windsock.xml -122.360843 37.613877 1 0&lt;br /&gt;
 OBJECT_SHARED Models/Structures/vordme.xml -122.37389 37.61948 -0.404 0&lt;br /&gt;
 OBJECT_STATIC KSFO-maint-1-fb.ac -122.377127 37.62647917 0.5 62&lt;br /&gt;
 OBJECT_STATIC candlestickpark-fb.xml -122.3838418 37.71570833 1.756719854 0&lt;br /&gt;
&lt;br /&gt;
[[Category:Howto|Add shared models manually]]&lt;br /&gt;
[[Category:Scenery enhancement|Add shared models manually]]&lt;/div&gt;</summary>
		<author><name>AlbertBickford</name></author>
	</entry>
	<entry>
		<id>https://wiki.flightgear.org/w/index.php?title=Howto:Add_shared_models_manually&amp;diff=30215</id>
		<title>Howto:Add shared models manually</title>
		<link rel="alternate" type="text/html" href="https://wiki.flightgear.org/w/index.php?title=Howto:Add_shared_models_manually&amp;diff=30215"/>
		<updated>2011-03-14T03:00:23Z</updated>

		<summary type="html">&lt;p&gt;AlbertBickford: General cleanup&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;You can add your own objects, known as &amp;quot;shared models&amp;quot; to FlightGear's world.  This howto explains a few ways to do so.  It assumes that you already have a model. There are many that come standard with FG; they are stored in the &amp;lt;tt&amp;gt;[[$FG_ROOT]]/Models&amp;lt;/tt&amp;gt; directory.  &lt;br /&gt;
&lt;br /&gt;
You can also create one using a suitable modeling program such as [http://www.blender.org/ blender].  You may use any format that PLIB supports. Currently, this means in addition to the 3ds models mentioned below, you may use AC3D and other formats. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Adding Shared Models to FlightGear's World ==&lt;br /&gt;
&lt;br /&gt;
=== Step 1 ===&lt;br /&gt;
If you plan to use one of the standard FG models, skip to step 4.&lt;br /&gt;
&lt;br /&gt;
If you have created your own model, create a directory under &amp;lt;tt&amp;gt;[[$FG_ROOT]]/Models&amp;lt;/tt&amp;gt;. We'll use &amp;lt;tt&amp;gt;$FG_ROOT/Models/MyModels&amp;lt;/tt&amp;gt; as an example.&lt;br /&gt;
&lt;br /&gt;
=== Step 2 ===&lt;br /&gt;
Save your .ac file containing the model into the &amp;lt;tt&amp;gt;$FG_ROOT/Models/MyModels&amp;lt;/tt&amp;gt; directory. We'll use &amp;lt;tt&amp;gt;MyModel.ac&amp;lt;/tt&amp;gt; as the name of that file.&lt;br /&gt;
&lt;br /&gt;
=== Step 3 (optional) ===&lt;br /&gt;
If you intend to include animation, create an XML file called &amp;lt;tt&amp;gt;MyModel.xml&amp;lt;/tt&amp;gt; inside the &amp;lt;tt&amp;gt;$FG_ROOT/Models/MyModels&amp;lt;/tt&amp;gt; directory with the following contents:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;?xml version=&amp;quot;1.0&amp;quot;?&amp;gt;&lt;br /&gt;
 &amp;lt;PropertyList&amp;gt;&lt;br /&gt;
  &amp;lt;path&amp;gt;MyModel.ac&amp;lt;/path&amp;gt;&lt;br /&gt;
  &amp;lt;animation&amp;gt;&lt;br /&gt;
   &amp;lt;type&amp;gt;range&amp;lt;/type&amp;gt;&lt;br /&gt;
   &amp;lt;min-m&amp;gt;0&amp;lt;/min-m&amp;gt;&lt;br /&gt;
   &amp;lt;max-m&amp;gt;20000&amp;lt;/max-m&amp;gt;&lt;br /&gt;
  &amp;lt;/animation&amp;gt;&lt;br /&gt;
 &amp;lt;/PropertyList&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This xml file references the .ac model file and tells FlightGear that it must be visible from 0 meters up to 20 km.&lt;br /&gt;
&lt;br /&gt;
An XML file is only necessary if you are intending to include animation; it is not required to render a model at a fixed location in FlightGear. &lt;br /&gt;
&lt;br /&gt;
=== Step 4 ===&lt;br /&gt;
Next, you have to determine where to place the model in FG's world.&lt;br /&gt;
&lt;br /&gt;
A really useful resource at this stage is [http://www.terraserver.com TerraServer].  Enter a street name, city, and state. Then you can choose from several types of public-domain aerial photography from the US Geological Survey. When you get a good photo of your feature, click on the Info link. Your image will be broken into tiles with latitude and longitude of the edges of the tiles. This is good way to get close to the position you want. Google Earth is also a good way to obtain position information, and there are other websites that will provide it also.&lt;br /&gt;
&lt;br /&gt;
Then, you need to place the object precisely. An easy way do this is with the [[UFO]] model, which allows you to place objects and see what they look like there; see [[Howto: Place 3D objects with the UFO]].  It calculates the positioning details for you and writes them out in the correct format, but for completeness I'll continue by describing a manual way to do it, for people who may need or want to know the inside details.&lt;br /&gt;
&lt;br /&gt;
Start FG and fly to the location where you want to place the model. Open up the property browser in FG (File-&amp;gt;Browse Internal Properties), and the &amp;lt;tt&amp;gt;/position&amp;lt;/tt&amp;gt; key.  Write down the values for &amp;lt;tt&amp;gt;latitude-deg&amp;lt;/tt&amp;gt;, &amp;lt;tt&amp;gt;longitude-deg&amp;lt;/tt&amp;gt;, and &amp;lt;tt&amp;gt;ground-elev-m&amp;lt;/tt&amp;gt;. (If you want to place the object above ground level, then you'll have to add the appropriate number of meters yourself.)  Then, go to the &amp;lt;tt&amp;gt;/environment&amp;lt;/tt&amp;gt; key and write down the tile number (current-tile-id). &lt;br /&gt;
&lt;br /&gt;
An alternate way to get the tile number is with a perl program in [[Git]] called calc-tile.pl that works out what stg file a geodetic coordinate falls in. You can get it here if you don't feel like playing with Git and don't have the Git branch installed: http://gitorious.org/fg/flightgear/blobs/raw/next/scripts/perl/scenery/calc-tile.pl. Run the perl script in a terminal window, passing it the longitude and latitude that you wrote down in step 4. You'll probably have to install perl first if you run on a MS OS's. Example :&lt;br /&gt;
&lt;br /&gt;
 $ ''./calc-tile.pl -55.5 30.3''&lt;br /&gt;
 Longitude: -55.5&lt;br /&gt;
 Latitude: 30.3&lt;br /&gt;
 Tile: 2039314&lt;br /&gt;
 Path: &amp;quot;w060n30/w056n30/2039314.stg&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Finally, you can use FGSD for steps 4 to 6.&lt;br /&gt;
&lt;br /&gt;
=== Step 5 ===&lt;br /&gt;
Next locate a .stg file into which you will place a reference to the new model and its position.  The .stg files are named according to tile number and stored under the scenery directories.  The default installation places a limited amount of scenery in &amp;lt;tt&amp;gt;[[$FG_ROOT]]/scenery&amp;lt;/tt&amp;gt; but you may have scenery in other directories as specified in &amp;lt;tt&amp;gt;[[$FG_SCENERY]]&amp;lt;/tt&amp;gt;.  Under the scenery directories, you will find directories called &amp;lt;tt&amp;gt;Objects&amp;lt;/tt&amp;gt; and &amp;lt;tt&amp;gt;Terrain&amp;lt;/tt&amp;gt;, and under them directories that group tiles into larger and smaller quadrants.  Thus, if the tile number is 2039314, you might find &amp;lt;tt&amp;gt;2039314.stg&amp;lt;/tt&amp;gt; at &amp;lt;tt&amp;gt;$FG_ROOT/Scenery/Terrain/w060n30/w056n30/2039314.stg&amp;lt;/tt&amp;gt;.  &lt;br /&gt;
&lt;br /&gt;
There may be more than one such file with that name, in different directories.  You can (presumably) modify any of them, but it is best if you create a personal customized scenery directory separate from the standard installation.  That way, if you upgrade FG your customizations won't get overwritten.  (If create such a directory, add it to &amp;lt;tt&amp;gt;[[$FG_SCENERY]]&amp;lt;/tt&amp;gt;, create an internal directory structure like the one in the standard scenery story, and create a .stg file in the appropriate place.) For the same reason, it is best not to edit the .stg files in the folder where TerraSync stores the scenery it has fetched.  (Another page in the wiki currently recommends modifying or creating the .stg file under the Terrain directory rather than under the Objects directory; the current editor knows no reason to prefer one over the other.  Try one and see if it works.  It seems that FG takes all objects that it finds mentioned in any .stg file with the appropriate name and places them all into the world.)&lt;br /&gt;
&lt;br /&gt;
=== Step 6 ===&lt;br /&gt;
Add the following lines to the stg file you've chosen, replacing the parameters with your own :&lt;br /&gt;
&lt;br /&gt;
 OBJECT_SHARED Models/MyModels/MyModel.xml -55.5 30.3 1000.0 0.00 &lt;br /&gt;
&lt;br /&gt;
In brief,the format is :&lt;br /&gt;
 OBJECT_SHARED relative_path_to_model_file longitude latitude altitude_above_sea_level_(meters) ellipsoid_ROTATION&lt;br /&gt;
&lt;br /&gt;
The path is relative to the $FG_ROOT directory.  If you have an XML file for the model, specify it here, otherwise specify the .ac file.&lt;br /&gt;
&lt;br /&gt;
There are more details on the .stg file format below.&lt;br /&gt;
&lt;br /&gt;
Alternately, there is a way to include this same information in XML configuration files that are loaded at runtime; see [[Howto: Place 3D objects with the UFO]] for more details.  This approach has the advantage of keeping your new scenery clearly separate from the standard scenery files without having to create your own custom scenery directory structure.  However it requires either manually loading the config file from the command line or mentioning it in one of the standard startup files (such as [[.fgfsrc]]) and having it loaded every time you start FG, whether or not you are going to be flying in the area.  If you place the scenery information in .stg files, it is only loaded when needed.&lt;br /&gt;
&lt;br /&gt;
=== Step 7 ===&lt;br /&gt;
Restart FG and fly to where you added the model; it should be there.&lt;br /&gt;
&lt;br /&gt;
== .STG file format ==&lt;br /&gt;
Currently, no documention exists for the .stg files used by FlightGear other than this. There is none in the 'mini-docs' folder bundled with the source.&lt;br /&gt;
&lt;br /&gt;
Each line of the STG file has the following format:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;prettytable&amp;quot; border=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; bordercolor=&amp;quot;black&amp;quot;&amp;gt;&lt;br /&gt;
|OBJECT_STATIC&lt;br /&gt;
|KSFO-maint-1-fb.ac&lt;br /&gt;
|&amp;lt;nowiki&amp;gt;-122.377127&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
|37.71570833&lt;br /&gt;
|1.756719854&lt;br /&gt;
|20&lt;br /&gt;
|- &lt;br /&gt;
|Type&lt;br /&gt;
|Relative path&lt;br /&gt;
|Longitude&lt;br /&gt;
|Latitude&lt;br /&gt;
|Elevation&lt;br /&gt;
|Heading&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
About Altitude. Looking at the files shipped with FG, there are some strange, to me, figures for altitude. Some are negative numbers. That seems odd, since objects are being placed on the surface. It suggests that above surface may be negative on the Z axis. COMMENT: Much more likely these are objects which are purposely sunk into the terrain to adjust their height.&lt;br /&gt;
&lt;br /&gt;
I ran across a comment: 3D object need scenery to compute their height. This is why scenery must be associated with an existing land surface file (whatever you call it).&lt;br /&gt;
&lt;br /&gt;
This is what a line with an XML file specifying the model looks like.&lt;br /&gt;
&lt;br /&gt;
 OBJECT_SHARED Models/MidAtl/cape-may-light.xml   -74.959970 38.933332 -93.0 0.00&lt;br /&gt;
&lt;br /&gt;
This is what a line specifying the model file directly looks like.&lt;br /&gt;
&lt;br /&gt;
 OBJECT_SHARED Models/MidAtl/cape-may-light.ac   -74.959970 38.933332 -93.0 0.00&lt;br /&gt;
&lt;br /&gt;
A second example from the FlightGear KSFO scenery. Although taken from different STG files for the same area, you can see the mix of objects.&lt;br /&gt;
&lt;br /&gt;
 OBJECT_STATIC KSFO-terminal-fb.ac -122.3859635 37.61748958 3 90&lt;br /&gt;
 OBJECT_SHARED Models/Airport/windsock.xml -122.360843 37.613877 1 0&lt;br /&gt;
 OBJECT_SHARED Models/Structures/vordme.xml -122.37389 37.61948 -0.404 0&lt;br /&gt;
 OBJECT_STATIC KSFO-maint-1-fb.ac -122.377127 37.62647917 0.5 62&lt;br /&gt;
 OBJECT_STATIC candlestickpark-fb.xml -122.3838418 37.71570833 1.756719854 0&lt;br /&gt;
&lt;br /&gt;
[[Category:Howto|Add shared models manually]]&lt;br /&gt;
[[Category:Scenery enhancement|Add shared models manually]]&lt;/div&gt;</summary>
		<author><name>AlbertBickford</name></author>
	</entry>
	<entry>
		<id>https://wiki.flightgear.org/w/index.php?title=Howto:Add_shared_models_manually&amp;diff=30214</id>
		<title>Howto:Add shared models manually</title>
		<link rel="alternate" type="text/html" href="https://wiki.flightgear.org/w/index.php?title=Howto:Add_shared_models_manually&amp;diff=30214"/>
		<updated>2011-03-14T02:52:15Z</updated>

		<summary type="html">&lt;p&gt;AlbertBickford: /* Adding Shared Models */ more detailed and accurate instructions&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{cleanup}}&lt;br /&gt;
&lt;br /&gt;
Note: You may include scenery objects in any format that PLIB supports. Currently, this means in addition to the 3ds models mentioned, you may use AC3D and other formats. This howto assumes that you already have a model. If not, create one using a suitable modeling program such as [http://www.blender.org/ blender].&lt;br /&gt;
&lt;br /&gt;
== Adding Objects to FlightGear's World ==&lt;br /&gt;
Here are instructions on how to add objects (known as &amp;quot;shared models&amp;quot;) to the current version of FlightGear, either a model that you've created or one of the models that comes with FG.&lt;br /&gt;
&lt;br /&gt;
=== Step 1 ===&lt;br /&gt;
If you plan to use one of the standard FG models that are stored in the &amp;lt;tt&amp;gt;[[$FG_ROOT]]/Models&amp;lt;/tt&amp;gt; directory, skip to step 4.&lt;br /&gt;
&lt;br /&gt;
If you created your own model, create a directory under &amp;lt;tt&amp;gt;[[$FG_ROOT]]/Models&amp;lt;/tt&amp;gt;. We'll use &amp;lt;tt&amp;gt;$FG_ROOT/Models/MyModels&amp;lt;/tt&amp;gt; as an example.&lt;br /&gt;
&lt;br /&gt;
=== Step 2 ===&lt;br /&gt;
Save your .ac file containing the model into the &amp;lt;tt&amp;gt;$FG_ROOT/Models/MyModels&amp;lt;/tt&amp;gt; directory. We'll use &amp;lt;tt&amp;gt;MyModel.ac&amp;lt;/tt&amp;gt; as the name of that file.&lt;br /&gt;
&lt;br /&gt;
=== Step 3 (optional) ===&lt;br /&gt;
If you intend to include animation, create an XML file called &amp;lt;tt&amp;gt;MyModel.xml&amp;lt;/tt&amp;gt; inside the &amp;lt;tt&amp;gt;$FG_ROOT/Models/MyModels&amp;lt;/tt&amp;gt; directory with the following contents:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;?xml version=&amp;quot;1.0&amp;quot;?&amp;gt;&lt;br /&gt;
 &amp;lt;PropertyList&amp;gt;&lt;br /&gt;
  &amp;lt;path&amp;gt;MyModel.ac&amp;lt;/path&amp;gt;&lt;br /&gt;
  &amp;lt;animation&amp;gt;&lt;br /&gt;
   &amp;lt;type&amp;gt;range&amp;lt;/type&amp;gt;&lt;br /&gt;
   &amp;lt;min-m&amp;gt;0&amp;lt;/min-m&amp;gt;&lt;br /&gt;
   &amp;lt;max-m&amp;gt;20000&amp;lt;/max-m&amp;gt;&lt;br /&gt;
  &amp;lt;/animation&amp;gt;&lt;br /&gt;
 &amp;lt;/PropertyList&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This xml file references the .ac model file and tells FlightGear that it must be visible from 0 meters up to 20 km.&lt;br /&gt;
&lt;br /&gt;
An XML file is only necessary if you are intending to include animation; it is not required to render a model at a fixed location in FlightGear. &lt;br /&gt;
&lt;br /&gt;
=== Step 4 ===&lt;br /&gt;
Next, you have to determine where to place the model in FG's world.&lt;br /&gt;
&lt;br /&gt;
A really useful resource at this stage is [http://www.terraserver.com TerraServer].  Enter a street name, city, and state. Then you can choose from several types of public-domain aerial photography from the US Geological Survey. When you get a good photo of your feature, click on the Info link. Your image will be broken into tiles with latitude and longitude of the edges of the tiles. This is good way to get close to the position you want. Google Earth is also a good way to obtain position information, and there are other websites that will provide it also.&lt;br /&gt;
&lt;br /&gt;
Then, you need to place the object precisely. An easy way do this is with the [[UFO]] model, which allows you to place objects and see what they look like there; see [[Howto: Place 3D objects with the UFO]].  It calculates the positioning details for you and writes them out in the correct format, but for completeness I'll continue by describing a manual way to do it, for people who may need or want to know the inside details.&lt;br /&gt;
&lt;br /&gt;
Start FG and fly to the location where you want to place the model. Open up the property browser in FG (File-&amp;gt;Browse Internal Properties), and the &amp;lt;tt&amp;gt;/position&amp;lt;/tt&amp;gt; key.  Write down the values for &amp;lt;tt&amp;gt;latitude-deg&amp;lt;/tt&amp;gt;, &amp;lt;tt&amp;gt;longitude-deg&amp;lt;/tt&amp;gt;, and &amp;lt;tt&amp;gt;ground-elev-m&amp;lt;/tt&amp;gt;. (If you want to place the object above ground level, then you'll have to add the appropriate number of meters yourself.)  Then, go to the &amp;lt;tt&amp;gt;/environment&amp;lt;/tt&amp;gt; key and write down the tile number (current-tile-id). &lt;br /&gt;
&lt;br /&gt;
An alternate way to get the tile number is with a perl program in [[Git]] called calc-tile.pl that works out what stg file a geodetic coordinate falls in. You can get it here if you don't feel like playing with Git and don't have the Git branch installed: http://gitorious.org/fg/flightgear/blobs/raw/next/scripts/perl/scenery/calc-tile.pl. Run the perl script in a terminal window, passing it the longitude and latitude that you wrote down in step 4. You'll probably have to install perl first if you run on a MS OS's. Example :&lt;br /&gt;
&lt;br /&gt;
 $ ''./calc-tile.pl -55.5 30.3''&lt;br /&gt;
 Longitude: -55.5&lt;br /&gt;
 Latitude: 30.3&lt;br /&gt;
 Tile: 2039314&lt;br /&gt;
 Path: &amp;quot;w060n30/w056n30/2039314.stg&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Finally, you can use FGSD for steps 4 to 6.&lt;br /&gt;
&lt;br /&gt;
=== Step 5 ===&lt;br /&gt;
Next locate a .stg file into which you will place a reference to the new model and its position.  The .stg files are named according to tile number and stored under the scenery directories.  The default installation places a limited amount of scenery in &amp;lt;tt&amp;gt;[[$FG_ROOT]]/scenery&amp;lt;/tt&amp;gt; but you may have scenery in other directories as specified in &amp;lt;tt&amp;gt;[[$FG_SCENERY]]&amp;lt;/tt&amp;gt;.  Under the scenery directories, you will find directories called &amp;lt;tt&amp;gt;Objects&amp;lt;/tt&amp;gt; and &amp;lt;tt&amp;gt;Terrain&amp;lt;/tt&amp;gt;, and under them directories that group tiles into larger and smaller quadrants.  Thus, if the tile number is 2039314, you might find &amp;lt;tt&amp;gt;2039314.stg&amp;lt;/tt&amp;gt; at &amp;lt;tt&amp;gt;$FG_ROOT/Scenery/Terrain/w060n30/w056n30/2039314.stg&amp;lt;/tt&amp;gt;.  &lt;br /&gt;
&lt;br /&gt;
There may be more than one such file with that name, in different directories.  You can (presumably) modify any of them, but it is best if you create a personal customized scenery directory separate from the standard installation.  That way, if you upgrade FG your customizations won't get overwritten.  (If create such a directory, add it to &amp;lt;tt&amp;gt;[[$FG_SCENERY]]&amp;lt;/tt&amp;gt;, create an internal directory structure like the one in the standard scenery story, and create a .stg file in the appropriate place.) For the same reason, it is best not to edit the .stg files in the folder where TerraSync stores the scenery it has fetched.  (Another page in the wiki currently recommends modifying or creating the .stg file under the Terrain directory rather than under the Objects directory; the current editor knows no reason to prefer one over the other.  Try one and see if it works.  It seems that FG takes all objects that it finds mentioned in any .stg file with the appropriate name and places them all into the world.)&lt;br /&gt;
&lt;br /&gt;
=== Step 6 ===&lt;br /&gt;
Add the following lines to the stg file you've chosen, replacing the parameters with your own :&lt;br /&gt;
&lt;br /&gt;
 OBJECT_SHARED Models/MyModels/MyModel.xml -55.5 30.3 1000.0 0.00 &lt;br /&gt;
&lt;br /&gt;
The format is :&lt;br /&gt;
 OBJECT_SHARED relative_path_to_model_file longitude latitude altitude_above_sea_level_(meters) ellipsoid_ROTATION&lt;br /&gt;
&lt;br /&gt;
The path is relative to the $FG_ROOT directory.  If you have an XML file for the model, specify it here, otherwise specify the .ac file.&lt;br /&gt;
&lt;br /&gt;
Alternately, there is a way to include this same information in XML configuration files that are loaded at runtime; see [[Howto: Place 3D objects with the UFO]] for more details.  This approach has the advantage of keeping your new scenery clearly separate from the standard scenery files without having to create your own custom scenery directory structure.  However it requires either manually loading the config file from the command line or mentioning it in one of the standard startup files (such as [[.fgfsrc]]) and having it loaded every time you start FG, whether or not you are going to be flying in the area.  If you place the scenery information in .stg files, it is only loaded when needed.&lt;br /&gt;
&lt;br /&gt;
=== Step 7 ===&lt;br /&gt;
Restart FG and fly to where you added the model; it should be there.&lt;br /&gt;
&lt;br /&gt;
== .STG file format ==&lt;br /&gt;
Currently, no documention exists for the .stg files used by FlightGear other than this. There is none in the 'mini-docs' folder bundled with the source.&lt;br /&gt;
&lt;br /&gt;
Each line of the STG file has the following format:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;prettytable&amp;quot; border=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; bordercolor=&amp;quot;black&amp;quot;&amp;gt;&lt;br /&gt;
|OBJECT_STATIC&lt;br /&gt;
|KSFO-maint-1-fb.ac&lt;br /&gt;
|&amp;lt;nowiki&amp;gt;-122.377127&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
|37.71570833&lt;br /&gt;
|1.756719854&lt;br /&gt;
|20&lt;br /&gt;
|- &lt;br /&gt;
|Type&lt;br /&gt;
|Relative path&lt;br /&gt;
|Longitude&lt;br /&gt;
|Latitude&lt;br /&gt;
|Elevation&lt;br /&gt;
|Heading&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
About Altitude. Looking at the files shipped with FG, there are some strange, to me, figures for altitude. Some are negative numbers. That seems odd, since objects are being placed on the surface. It suggests that above surface may be negative on the Z axis. COMMENT: Much more likely these are objects which are purposely sunk into the terrain to adjust their height.&lt;br /&gt;
&lt;br /&gt;
I ran across a comment: 3D object need scenery to compute their height. This is why scenery must be associated with an existing land surface file (whatever you call it).&lt;br /&gt;
&lt;br /&gt;
This is what a line with an XML file specifying the model looks like.&lt;br /&gt;
&lt;br /&gt;
 OBJECT_SHARED Models/MidAtl/cape-may-light.xml   -74.959970 38.933332 -93.0 0.00&lt;br /&gt;
&lt;br /&gt;
This is what a line specifying the model file directly looks like.&lt;br /&gt;
&lt;br /&gt;
 OBJECT_SHARED Models/MidAtl/cape-may-light.ac   -74.959970 38.933332 -93.0 0.00&lt;br /&gt;
&lt;br /&gt;
A second example from the FlightGear KSFO scenery. Although taken from different STG files for the same area, you can see the mix of objects.&lt;br /&gt;
&lt;br /&gt;
 OBJECT_STATIC KSFO-terminal-fb.ac -122.3859635 37.61748958 3 90&lt;br /&gt;
 OBJECT_SHARED Models/Airport/windsock.xml -122.360843 37.613877 1 0&lt;br /&gt;
 OBJECT_SHARED Models/Structures/vordme.xml -122.37389 37.61948 -0.404 0&lt;br /&gt;
 OBJECT_STATIC KSFO-maint-1-fb.ac -122.377127 37.62647917 0.5 62&lt;br /&gt;
 OBJECT_STATIC candlestickpark-fb.xml -122.3838418 37.71570833 1.756719854 0&lt;br /&gt;
&lt;br /&gt;
[[Category:Howto|Add shared models manually]]&lt;br /&gt;
[[Category:Scenery enhancement|Add shared models manually]]&lt;/div&gt;</summary>
		<author><name>AlbertBickford</name></author>
	</entry>
	<entry>
		<id>https://wiki.flightgear.org/w/index.php?title=Howto:Add_shared_models_manually&amp;diff=30212</id>
		<title>Howto:Add shared models manually</title>
		<link rel="alternate" type="text/html" href="https://wiki.flightgear.org/w/index.php?title=Howto:Add_shared_models_manually&amp;diff=30212"/>
		<updated>2011-03-14T01:07:54Z</updated>

		<summary type="html">&lt;p&gt;AlbertBickford: corrected brokenlink to TerraServer&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{cleanup}}&lt;br /&gt;
&lt;br /&gt;
Note: You may include scenery objects in any format that PLIB supports. Currently, this means in addition to the 3ds models mentioned, you may use AC3D and other formats. This howto assumes that you already have a model. If not, create one using a suitable modeling program such as [http://www.blender.org/ blender].&lt;br /&gt;
&lt;br /&gt;
== Adding Shared Models ==&lt;br /&gt;
Here is a quick rundown on how to add a shared model to the current version of FlightGear.&lt;br /&gt;
&lt;br /&gt;
=== Step 1 ===&lt;br /&gt;
Create a directory under the FlightGear data/Models directory. I'm going to use data/Models/MyModels as an example.&lt;br /&gt;
&lt;br /&gt;
=== Step 2 ===&lt;br /&gt;
Inside the data/Models/MyModels drirectory you may create an XML file called foomodel.xml with the following contents:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;?xml version=&amp;quot;1.0&amp;quot;?&amp;gt;&lt;br /&gt;
 &amp;lt;PropertyList&amp;gt;&lt;br /&gt;
  &amp;lt;path&amp;gt;MyModel.ac&amp;lt;/path&amp;gt;&lt;br /&gt;
  &amp;lt;animation&amp;gt;&lt;br /&gt;
   &amp;lt;type&amp;gt;range&amp;lt;/type&amp;gt;&lt;br /&gt;
   &amp;lt;min-m&amp;gt;0&amp;lt;/min-m&amp;gt;&lt;br /&gt;
   &amp;lt;max-m&amp;gt;20000&amp;lt;/max-m&amp;gt;&lt;br /&gt;
  &amp;lt;/animation&amp;gt;&lt;br /&gt;
 &amp;lt;/PropertyList&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Note: An XML file is only necessary if you are intending to include animation. An XML file is not required to render a model at a location in FlightGear. Instead of specifying an XML file in the STG file as stated below, merely give the path to the 3d model file (such as path/to/foomodel.ac).&lt;br /&gt;
&lt;br /&gt;
=== Step 3 ===&lt;br /&gt;
Create an .ac model called &amp;lt;tt&amp;gt;MyModel.ac&amp;lt;/tt&amp;gt; and save it into the &amp;lt;tt&amp;gt;[[$FG ROOT]]/Models/MyModels&amp;lt;/tt&amp;gt; directory. Notice that the xml file references to the .ac model file and tells FlightGear that it must be visible from 0 meters up to 20 km.&lt;br /&gt;
&lt;br /&gt;
=== Step 4 ===&lt;br /&gt;
Start FG and fly (or use UFO model and move) to the location where you want to place the model. Open up the property browser in FG and write down the lat, lon and altitude where you want to place the model. (File-&amp;gt;Browse Internal Properties-&amp;gt;Position)&lt;br /&gt;
After that write down the tile number. You can found it in the property browser (File-&amp;gt;Browse Internal Properties -&amp;gt; Environment -&amp;gt; current-tile-id[0])&lt;br /&gt;
&lt;br /&gt;
A really useful resource at this stage is [http://www.terraserver.com TerraServer].  Enter a street name, city, and state. Then you can choose from several types of public-domain aerial photography from the US Geological Survey. When you get a good photo of your feature, click on the Info link. Your image will be broken into tiles with latitude and longitude of the edges of the tiles. This is good way to precisely place objects. Google Earth or Google Maps are also both excellent ways to obtain position information.&lt;br /&gt;
&lt;br /&gt;
=== Step 5 ===&lt;br /&gt;
In [[Git]] there is a perl program called calc-tile.pl that works out what stg file a geodetic coordinate falls in. You can get it here if you don't feel like playing with Git and don't have the Git branch installed: http://gitorious.org/fg/flightgear/blobs/raw/next/scripts/perl/scenery/calc-tile.pl Run the perl script in a terminal window passing it the longitude and latitude that you wrote down in step 4. You'll probably have to install perl first if you run on a MS OS's. Example :&lt;br /&gt;
&lt;br /&gt;
 $ ''./calc-tile.pl -55.5 30.3''&lt;br /&gt;
 Longitude: -55.5&lt;br /&gt;
 Latitude: 30.3&lt;br /&gt;
 Tile: 2039314&lt;br /&gt;
 Path: &amp;quot;w060n30/w056n30/2039314.stg&amp;quot;&lt;br /&gt;
&lt;br /&gt;
=== Step 6 ===&lt;br /&gt;
Open the corresponding stg file in your scenery directory (in my case SceneryDir/w060n30/w056n30/2039314.stg)&lt;br /&gt;
&lt;br /&gt;
=== Step 7 ===&lt;br /&gt;
Add the following lines to the stg file replacing the parameters with your own :&lt;br /&gt;
 OBJECT_SHARED Models/MyModels/foomodel.xml -55.5 30.3 1000.0 0.00 &lt;br /&gt;
The format is: ''OBJECT_SHARED relative_path_to_model_xml_file LON LAT ALTITUDE_above_wgs84 ellipsoid_ROTATION''.&lt;br /&gt;
Note: If you have no XML file, just specify the path to your model.&lt;br /&gt;
&lt;br /&gt;
=== Step 8 ===&lt;br /&gt;
Start FG and fly to where you added the model and it should be there.&lt;br /&gt;
&lt;br /&gt;
You can use FGSD for steps 4 to 7&lt;br /&gt;
&lt;br /&gt;
== .STG file format ==&lt;br /&gt;
Currently, no documention exists for the .stg files used by FlightGear other than this. There is none in the 'mini-docs' folder bundled with the source.&lt;br /&gt;
&lt;br /&gt;
Each line of the STG file has the following format:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;prettytable&amp;quot; border=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; bordercolor=&amp;quot;black&amp;quot;&amp;gt;&lt;br /&gt;
|OBJECT_STATIC&lt;br /&gt;
|KSFO-maint-1-fb.ac&lt;br /&gt;
|&amp;lt;nowiki&amp;gt;-122.377127&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
|37.71570833&lt;br /&gt;
|1.756719854&lt;br /&gt;
|20&lt;br /&gt;
|- &lt;br /&gt;
|Type&lt;br /&gt;
|Relative path&lt;br /&gt;
|Longitude&lt;br /&gt;
|Latitude&lt;br /&gt;
|Elevation&lt;br /&gt;
|Heading&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
About Altitude. Looking at the files shipped with FG, there are some strange, to me, figures for altitude. Some are negative numbers. That seems odd, since objects are being placed on the surface. It suggests that above surface may be negative on the Z axis. COMMENT: Much more likely these are objects which are purposely sunk into the terrain to adjust their height.&lt;br /&gt;
&lt;br /&gt;
I ran across a comment: 3D object need scenery to compute their height. This is why scenery must be associated with an existing land surface file (whatever you call it).&lt;br /&gt;
&lt;br /&gt;
This is what a line with an XML file specifying the model looks like.&lt;br /&gt;
&lt;br /&gt;
 OBJECT_SHARED Models/MidAtl/cape-may-light.xml   -74.959970 38.933332 -93.0 0.00&lt;br /&gt;
&lt;br /&gt;
This is what a line specifying the model file directly looks like.&lt;br /&gt;
&lt;br /&gt;
 OBJECT_SHARED Models/MidAtl/cape-may-light.ac   -74.959970 38.933332 -93.0 0.00&lt;br /&gt;
&lt;br /&gt;
A second example from the FlightGear KSFO scenery. Although taken from different STG files for the same area, you can see the mix of objects.&lt;br /&gt;
&lt;br /&gt;
 OBJECT_STATIC KSFO-terminal-fb.ac -122.3859635 37.61748958 3 90&lt;br /&gt;
 OBJECT_SHARED Models/Airport/windsock.xml -122.360843 37.613877 1 0&lt;br /&gt;
 OBJECT_SHARED Models/Structures/vordme.xml -122.37389 37.61948 -0.404 0&lt;br /&gt;
 OBJECT_STATIC KSFO-maint-1-fb.ac -122.377127 37.62647917 0.5 62&lt;br /&gt;
 OBJECT_STATIC candlestickpark-fb.xml -122.3838418 37.71570833 1.756719854 0&lt;br /&gt;
&lt;br /&gt;
[[Category:Howto|Add shared models manually]]&lt;br /&gt;
[[Category:Scenery enhancement|Add shared models manually]]&lt;/div&gt;</summary>
		<author><name>AlbertBickford</name></author>
	</entry>
</feed>