GMaps for X-Plane
Not Only for Mac

- About software -

This software create a scenary compatible with X-Plane 9.2x (or later) using orthophotos of Google Maps.

Group on Facebook:
Facebook
Locations of visitors to this page Page on X-Plane.org:
X-Plane.org

- System required -

Operating System:

- Mac OS X Leopard 10.5 (or later) on Intel CPU

- Linux Ubuntu 9.10 - 10.10 - 11.04 - 12.04 - 12.10 - 13.04 - 13.10 - 14.04 - 14.10 - 15.04 32/64bit (read THIS section)

- M$ Windows Shit (read THIS section)


- Changelog -

Version 0.35 (Google Code is dead, so I have to decide where put my code :-/):

- Update method to get map version. It's just to put a patch, but I don't know for how much time it will work in the future.

Version 0.34 (rev. 223):

- Added feature for option -kml that now it can accept also a 3D building file, downloadable from HERE

Version 0.33 (rev. 219):

- Added SSL support (option -ssl ) to avoid potential troubles for users under Web Proxy (so, if not works, try -ssl !).

Version 0.32 (rev. 204):

- Added option to create only 3d buildings

- Reorganized the command line options using standard style

- Added support for Cygwin

- Fixed some bugs and added some others (Rien ne se perd, rien ne se crée, tout se transforme. A.L. Lavoisier)

- This version is released without a deep testing and debugging because I don't have time. So, send me feedbacks.

Version 0.31 (rev. 196):

- Confirmed support for Linux 64bit

Version 0.30 (rev. 188):

- Added auto-cookie feature, cookie file is deprecated

- "Drastically" decreased processing time (at least, I want to believe so ...)

- Completely rewrote the DSF file generation

- Added textures location using meter system

- Added DSF file creation feature

- Added Buildings Overlay feature (Experimental)

- Added an unknown quantity of new undiscovered bugs

Version 0.24 (rev. 144):

- Added Maps version auto-update

Version 0.23 (rev. 140):

- Updated version of images used to v104 (OMG, I can see my house!)

Version 0.22 (rev. 133):

- Updated version of images used to v102

Version 0.21 (rev. 130):

- Updated version of images used to v93

- Enhanced Water Mask (Tnx to Ernst Mulder)

- Fixed bug for O.S. with different language (Tnx to Ernst Mulder)

Version 0.20 (rev. 116):

- Updated version of images used to v88

Version 0.18 (rev. 90):

- Updated version of images used from v55 to v76

- Added check of the cookie expiry date

Version 0.17 (rev. 55):

- Updated version of images used from v48 to v55

Version 0.16 (rev. 53):

- Added support for Ubuntu 64bit

- Fixed bug crossing Greenwich meridian

Version 0.15 (rev. 51):

- Fix bug for new version of Google naming system

- Added native binary for Linux ( Tnx to Keltek at forums.x-plane.org )

Version 0.14 (rev. 49):

- Fix severe bug in download tile

Version 0.13 (rev. 28):

- Fix severe bug for systems with different language

Version 0.12 (rev. 26):

- Fix problem near equator

- Fix problem near Greenwich

- Enhanced water mask quality

- Fixed calculation of tile size

Version 0.11 (rev. 19):

- Added check for image quality in case restart of utility

- Added image DDS support

- Added texture paging

- Fixed calculation of tile size

Version 0.10 (rev. 13):

- Added MESH feature

- Added support for KMZ file

- Added checking for age of cookies.txt file

- Added marker for zoom reference

- Fixed lots of bugs (I don't remeber how many...)

- Added new and unknown bugs

Version 0.08:

- Fixed bug in the identification of interesting tiles

- Added suport for scenary with different tile resolution

- Fixed bug for tile that cross integer number of latitude or longitude (Grid deformation)

- Added compatibility with Ubuntu Linux

- Minor bug fix

Version 0.07:

- (James Bond version) Fixed bug in the correction of coordiante with input by maker

- Added progress indicator in tiles randomize

Version 0.06:

- Fixed bug in the creation of directory of the scenary

Version 0.05:

- Fixed annoying bug that in many case creates the scenary with many holes

Version 0.04:

- Added support for scenary with multiple files and multiple directory

- Use big texture instead of many polygons, increase performance of X-plane

- Added Water Mask support for the scenary with water like e.g. rivers, seacoast, etc..(read explanation in this page)

- Minor bug fix

Version 0.03:

- Added radomize tile list, to prevent IP ban

- Added Firefox coockie support, to completly avoid IP ban and LESS timing of download (read guide in this page)

- Added feature for restore of section

- Optimized some part of the code

- Now use only universal binary

- Minor bug fix

Version 0.02:

- Added server maps rotation, to prevent IP ban

- Selection of zoom level: less zoom, less tiles, less time, less quality

- Minor bug fix

Version 0.01:

- First release: alpha, instable, dangerous, toxic... If you have courage.


- Download software -

Click HERE to download the last version.

- Mac OS X software requirement -

In the new version of Mac OS X Mountain Lion has been removed "X Window System", for this reason you MUST install XQuartz

Pay attention !

With Mavericks and newer OS you need to install Xcode (which was previously embed) and a package manager like Homebrew otherwise the wget tool won't work such as GMaps ! - (Fasm with David's help from XPFR)

 


- Usage with CLI arguments (hard way) -

SYNOPSIS

gmdownload.sh [options...]

The options list:

-ul Upper Left coordinates ( Latitude Longitude )
-lr Lower Right coordinates ( Latitude Longitude )
-o Output directory
-rwycorr Plane position ( Latitude Longitude ) Runway position ( Latitude Longitude ) Rotation ( degree )
-kml Input KML/KMZ file
-dsf DSF Tile coordiantes ( Latitude Longitude )
-zoomref Coordinates used for scenery resolution ( Latitude Longitude )
-bonly Create only 3d buildings
-ssl Use SSL Protocol (https)

Arguments overview

Upper left and lower right coordinates describe the corners of ROI (Region Of Interest) that you want to use for create a scenary.

An example of a cople of coordinates is:

$ ./gmdownload.sh -ul 44.813299 11.604266 -lr 44.807118 11.620703 -o Output_directory

Output_directory is the directory where you want create the scenary. For example: /somewhere/on/your/disk/Ferrara-Airport

Extra arguments

Sometimes the position of runway in X-Plane isn't right, you can specificate three parameters for correcting of this problem:

gmdownload.sh -ul UpperLeft_Lat UpperLeft_Lon -lr LowRight_Lat LowRight_Lon -o Output_directory -rwycorr Lat_Plane Lon_Plane Lat_Runway Lon_Runway Rotation

The Rotation must to be expressed in degree.

For example:

$ ./gmdownload.sh -ul 44.813299 11.604266 -lr 44.807118 11.620703 -o Output_directory -rwycorr 44.809128 11.610746 44.813055 11.608987 10.23


- Usage with KML file (simple way) -

With Google Earth you can create a KML file to use like input for gmdownload.sh script.

Input by Marker

Follow THIS tutorial on official Google Earth site to learn how to create a marker. You must use particular names for the markers for describe the scenary that you want to create:

UL
LR
PLANE
AIRPORT
PLANE_ROT
AIRPORT_ROT
ZOOM_REFERENCE

Every marker has a similar meaning:

The marker for zoom reference is optinal, if not set, the reference for the zoom is the center of ROI:

The markers must be collected in a single folder in Google Earth and this folder must be saved like KML file. After saved KML file you can run the script with this command line:

gmdownload.sh -kml Input_KML_File -o Output_directory

For example:

$ ./gmdownload.sh -kml /path/to/Ferrara-Airport.kml -o /somewhere/on/your/disk/Ferrara-Airport

Input by Polygon (best way)

With the istrument "Add Polygon" , you can draw a polygon that describes the area of your scenary. Save the polygon like a KML file in the same way used for markers. An example of polygon is:

Example with markers for correction:

Run the script with this command line:

gmdownload.sh -kml Input_KML_File -o Output_directory

For example:

$ ./gmdownload.sh -kml /path/to/Ferrara-Polygon.kml -o /somewhere/on/your/disk/Ferrara-Airport

You can mix markers and polygon for have a good result, but if you define a ROI with marker and one with polygon, the definition with marker has priority.


- Increase download speed (Deprecated) -

How to do

To increase download speed and avoid ban IP from Google.com, the script must be like Firefox, to do this, follow this steps:

1. Install this component for Firefox (get the version for your browser):

2. Visit this Google Map page to acquire cookies

3. Select in Firefox Tools -> Export Cookies

4. Save file with default name (cookies.txt)

5. Put the saved file in the directory of my utility (GMaps-x.xx)

ATTENTION: file coockie.txt expire! So, sometime you must update it.


- Water Mask -

To increase the quality of the scenary you can activate the "Water Mask", the result can be explain in this example:

The water-mask is applied only for tiles with a percentage of water over 1%. In the following example you can see how it works:

Attenction

This feature increse the timing of elaboration and the quantity of images on the disk. I suggest of use this features only if you need it. For example in the center of the Sahara, it completly useless.


- Grid deformation (Deprecated)-

In some cases, the tile image of Google crosses the line of latitude or longitude on a integer number. This thing is incompatible with the scenary of X-Plane. To solve this problem my utility creates a small deforming for tile near the integer number. The following image explain how the utility works:

The utility for not reduce the quality of texture, near the integer latitude or longitude uses a small size of images:


- MESH Feature -

How to use

To activate this function, you must press "m" when the wizard asks:

Do you want create a simple "o"verlay or complete scenary "m"esh (o/m)? [CTRL+C to abort]:

If you press "o", the utility goes on with standard creation of scenary overlay. Otherwise, if you pressed "m" the wizard asks:

Set MESH LEVEL: 2 -> 32 triangles for tile
Press [ENTER] to continue or "+/-" to in/de-crease mesh level [CTRL+C to abort]:

With keys "+" or "-" you can chose the mesh level, (default level is 2, in many cases it's good). After selected the good level for you, press the key ENTER.

Understand mesh level

In few words, the mesh level represents how many times a tile is divided in sub-square. Every square is divided in two triangles (with four vertices, you can describe two triangles), and for every vertex the utility obtains the value of altitude from a DEM (Digital Elevation Model). So, you must calibrate how many points of altitude you'll use in relation of tile size resolution and type of ground.

For example, if you use a big pixel resolution (to be more precise a single tile covers a big area) you can chose a mesh level high (3 or 4).

Otherwise, if you use a small pixel resolution, becasue in your selected zone the quality of tile is very good, you can use a low mesh level (1 or 2).

To understand how the utility works using a differente mesh level, you can look the following images of example with differente mesh level:

MESH LEVEL = 2

MESH LEVEL = 3

MESH LEVEL = 4

DEM (Digital Elevation Model) server

To get the information of altitude of one point on the earth, I use SRTM (Shuttle Radar Topography Mission) data. The utility downloads SRTM file from the web, performs the georeferencing and calculates the altitude for every couple of coordinates. Every file represents a SRTM tile ( size of 5x5 degrees) using the following scheme:
Other information can be found at Official site.


- Scenery from scratch -

Preamble

For every kind of virtual pilot exists a different way to intend the virtual flight. I like VFR flight (also because I'm a real ULM pilot and I fly in this way), so I want and I need performs the same kind of flight also in virtual world. For this reason I decided to implement a feature to create from scratch an DSF file using only Google Maps image.

DSF File

I don't want spend much time to explain what is it, because you can find on internet many link about it. I report the following links that I think are enough:

The important thing to understand is how the coordinates work. In the following image is shown an example of correlation between filename and box of coordinates:

Every file represents a tile of 1 x 1 degree and the filename is referred to the coordinates of lower left corner.

How to use

gmdownload.sh -dsf Lower_Left_Latitude Lower_Left_longitude -o Output_directory

For example, if I want create the DSF file +44+011.dsf, I have to use:

$ ./gmdownload.sh -dsf 44 11 -o my_scenery/


- Buildings Overlay (Completely Experimental) -

- Data source -

To perform the search of 3D building, I use this Web Service:

http://sketchup.google.com/3dwarehouse/placemarksanon?hl=en&bbox=[BOX COORDINATES]

After that, I have to filter all data using two criteria: rate and blue ribbon. To get the first information, I use another Web Service:

http://sketchup.google.com/3dwarehouse/brief?hl=en&mid=[Object ID]

The second information "blue ribbon" means "published on google earth" and to get this information I use another Web Service:

http://sketchup.google.com/3dwarehouse/brief?hl=en&mid=[Object ID]

Notes


- How to use under Ubuntu -

Important note

I've introduced the Linux support for my utility to have more compatibility with no M$ system. This compatibility is quite stable and I've made tests on Ubuntu 8.10, 9.04, 9.10, 10.10, 11.04, 12.04 and 12.10 32/64bit.

Software to install

Run this commands to install the software:

# apt-get install imagemagick

# apt-get install wget

# apt-get install bc

The command line to use the utility it's the same.


- How to use under M$ - Windows -

Very important notes

First of all, I don't like Windows Systems, so I don't want spend much time to explain how you can run my utility under Windows, so it's better for you read much carefully because I will not give any help for this system.

Software to install

Under Windows, you must install Cygwin software. During the installation you have to select some packages not installed by default:

If you don't understand what I wrote over, you have to following this procedure:

  1. Download this file setup.exe
  2. Run file setup.exe
  3. Click on Next
  4. Click on Next
  5. Click on Next
  6. Click on Next
  7. Click on Next
  8. Select one item of "Available Download Site" ( I use http://mirror.switch.ch, if not works select another ) and click on Next
  9. In the Search box write wget
  10. Open the Web branch and click on Skip one time
  11. When you click on Skip, you remove skip option and you can see the version of the software, it means that you want install, and it is what we want.

  12. In the Search box write imagemagick
  13. Open the Graphics branch and click on Skip one time at line "ImageMagick: Image manipulation software suite (utilities)
  14. In the Search box write bc
  15. Open the Math branch and click on Skip one time
  16. In the Search box write unzip
  17. Open the Archive branch and click on Skip one time
  18. Click on Next
  19. Click on Next
  20. Click on Finish

Click on Cygwin Terminal on your desktop to run a terminal. The command line to use the utility it's the same.


- How to add scenary to X-plane -

Put created directory with new scenary into directory Custom Scenery of X-Plane, by default /Applications/X-Plane x.xx/Custom Scenery/.


- Important notes -

- When gmdownload.sh are running NOT use Google Earth or visit the site maps.google.com

- Don't create huge scenaries.

- A polygon with many vertex increases computation timing.

- Use Water Mask features only if you need it.

- This program is slow, you must be patient.


- Known Problems -

- This utility creates many files, so, if you use an old filesystem (e.g. VFAT) you may have some problem of maximun numbers of files.


- Contact me -

Questions, impressions or something else, send me an e-mail

cavicchi@ferrara.linux.it


- Example and work-in-progress Video -

X-Plane - First Test - Flight on Orthophoto
X-Plane - Second Test - Flight on Orthophoto
X-Plane - Third Test - Flight on Orthophoto
X-Plane - Fourth Test - Flight on Orthophoto
X-Plane - Fifth Test - Flight on Google Campus
X-Plane - Sixth Test - Flight on Orthophoto
X-Plane - Seventh Test - Flight on Orthophoto
X-Plane - Eighth Test - Ischia scenary from scratch
X-Plane - Eighth/bis Test - Ischia scenary from scratch (increased texture quality)
X-Plane - Test of GMaps plugin prototype