My Google Map Blog

Tag: paul van dinther

Controlling Google Earth via the Liquid Galaxy protocol

by Timothy Whitehead on Nov.27, 2015, under 3D Models, Argentina, Australia, Brazil, California, Denmark, England, Germany, Google Earth News, Google Earth Tips, Google Sky, Google maps, Hawaii, Indonesia, Ireland, Italy, Japan, Kenya, Mexico, Natural Landmarks, Netherlands, Sightseeing, Street Views, USA

Given that the Google Earth API is coming to an end we are looking at alternative solutions. Yesterday we had a look at Google Earth’s internal browser and what its capabilities are. Today we are looking at a way of controlling Google Earth from another application.

Liquid Galaxy is the name given to a Google Earth demonstration using multiple displays to give an immersive experience. To see it in action, see the photos and videos on of various installations here. Liquid Galaxy works by allowing Google Earth on one computer to communicate with instances of Google Earth on other computers and synchronize their views so as to give the impression that there is a single instance of Google Earth running across multiple screens. To achieve this, Google Earth has a special Liquid Galaxy protocol that can be used to instruct Google Earth to show a particular location from a particular angle. It is possible to use this protocol for uses other than Liquid Galaxy installations.

Paul van Dinther of PlanetInAction has kindly released a small program that demonstrates this functionality. It is a Windows only program called GExplorer and it replicates the functionality of a JavaScript by the same name he created that works with the Google Earth plugin.

See this YouTube video to get an idea of what it does:

To try it for yourself first download the program here (Windows only).

Next, you need to configure Google Earth to accept Liquid Galaxy protocol instructions. To do this you need to edit the drivers.ini file found in the Google Earth program folder. The file is typically found in the folder
C:\Program Files (x86)\Google\Google Earth\client (for Google Earth)
or
C:\Program Files (x86)\Google\Google Earth Pro\client (for Google Earth Pro)

We found Windows Notepad does not display the file properly so you will need a more advanced editor. We used SciTE which can be obtained from here. Edit the drivers.ini file and insert the following lines at the start of the SETTINGS section.

ViewSync/send = false
ViewSync/receive = true
ViewSync/port = 21567
ViewSync/yawOffset = 0
ViewSync/pitchOffset = 0.0
ViewSync/rollOffset = 0.0
ViewSync/horizFov = 60

It should look like this:

Windows will not let you save it directly to the Google Earth program folder so save it on your desktop and then copy it to the Google Earth program folder.

Start Google Earth and GExplorer and make sure the GExplorer window is on the same monitor as Google Earth.

Initially nothing will happen because GExplorer is broadcasting to the wrong IP address. Click on the “Get my broadcast IP” button to adjust the IP address or type it in if you have different network requirements (Such as an actual Liquid Galaxy setup with multiple computers). If all is well it should say “UDP Connected” in red.

Next click “Start”.

The Google Earth view should now leap to the start latitude and longitude location. You will also notice that the view moves around as you move your mouse. You can now control Google Earth with a combination of the WASD keys and the mouse. SHIFT and CTRL can also be used to control height. Amplify any control input by holding down the spacebar with any combination of the above keys.

The view animates smoothly based on control inputs. The responsiveness can be modified with the “Inertia” dropdown. Low numbers means more responsive.

“Tilt limit” specifies the maximum angle you can look up or down. Try changing it to 90.

As you turn left or right the camera automatically rolls like an aircraft. If you don’t want this behaviour you can turn it off by ticking the “No roll” checkbox.

You can also switch between “Earth”, “Moon” or “Mars” by changing a dropdown.

Paul also suggests the great idea of creating a mobile app with the same functionality which would allow you to control Google Earth from your mobile phone. If any of our readers creates such an app please let us know about it in the comments.

The post Controlling Google Earth via the Liquid Galaxy protocol appeared first on Google Earth Blog.

Comments Off :, , , more...

Tour maker with the Google Earth API

by Timothy Whitehead on Nov.13, 2015, under 3D Models, Argentina, Australia, Brazil, California, Denmark, England, Germany, Google Earth News, Google Earth Tips, Google Sky, Google maps, Hawaii, Indonesia, Ireland, Italy, Japan, Kenya, Mexico, Natural Landmarks, Netherlands, Sightseeing, Street Views, USA

With the end of life of the Google Earth API approaching, Paul van Dinther of PlanetInAction.com has decided to release a tool he created for his own use that uses the Google Earth plugin for making Google Earth Tours. Paul van Dinther has created a number of games based on the Google Earth API that we have featured on this blog, possibly the most sophisticated of which is a ship simulator. When he realized the Google Earth API would eventually be shut down Paul decided to base the next version, Ships 2 Career, on Google Maps instead. It will lack the 3D that the Google Earth API provides but we believe it will still be a great game and popular with ship enthusiasts. You can follow the development on his Google+ page.

The tour maker can be found here. To use it you will need to open it in a browser that still supports the Google Earth plugin. We tested it in Firefox but we believe it should also work in Safari.

Paul has provided the following instructions for using it:

Navigate to the location where you want the tour to start. (Sorry, there is no find location).

Set up your first start view exactly as you would like it to appear. You can use all the Google Earth navigation methods to set up your view.

Click the “Add view” button to add the first view to your view list. By default the speed at that point is 10 meters per second (more about that later).

Set up your next view and click “Add view” again. You need to add the third point before the track is drawn. Make sure you keep the spacing between the points reasonably even, because otherwise the cubic spline (a smooth curve between points) becomes hard to control and starts to do funny loops.

Now you have a spline with 3 points. You can left click and drag any of the numbered view markers in the Google Earth plugin to adjust the path. The spline will flip to a low resolution spline while you are manipulating the points.

Each point is represented in the view list in the right sidebar. It shows the point index, an input box for speed in metres per second, an input box for the view altitude and a delete link. You can click on any entry in the list and the Google Earth plugin view will teleport to that view.

IMPORTANT: While on that view you can adjust your camera tilt and heading (but not roll). You do this by holding down CTRL and left-mouse-drag the view (standard Google Earth behaviour). The new camera orientation will be stored for that view point as long as the camera latitude and longitude coordinates did not change. Both heading and tilt are controlled via the spline.

The altitude is also controlled by the spline. You can change the altitude of a point by holding down the right mouse button and dragging the point. Alternatively you can change the altitude in the view list (second input box).

Timing: Each point will have a speed defined for it in meters per second. The speed varies smoothly as it is also controlled by the spline. However, it is possible to lock the duration of the tour to a precise time by entering the duration in the “Duration (sec)” input box. All the speeds are then scaled to match total duration. Clear the Duration field if you don’t want the speeds to be scaled. By default the duration is set to 60 seconds.

Once you hare happy with your track you can save it by clicking on “Save project” this causes a file with the project name to be generated and placed in your download folder. Use this file later if you want to work on this track. To load a project, refresh the page and click “Choose File” and select the file you just saved. Crude but there still is no decent local file implementation in browsers.

You can specify a Field of View (FOV) for the tour. The default Google Earth FOV is 60 degrees but you can adjust that. FOV is not animated and applies to the whole tour.

Once you have your tour and the path looks reasonable, the tour can be tested by clicking “Test kml”. The program will generate KML and show it in the text area under the view list. You can copy and paste the KML straight into Google Earth Desktop without turning it into a file. The test feature will also load the KML data into the plugin and the tour starts automatically. “Generate KML” does the same but doesn’t start a tour in the plugin.

The “Make project” button is not relevant for you. It produces data that I import into my own software that translates the tour for each of my 9 screens.

“Rebuild spline”, “update track” and “rebuild track” are debug functions. However, if you update the altitude of a point in the view list you will want to click “Rebuild track” to see the changes.

Paul also says:

This has to be the ugliest program ever written. But it does the job I need it to do. It’s not very user friendly but I produced amazing animations with it.”

The post Tour maker with the Google Earth API appeared first on Google Earth Blog.

Comments Off :, , , more...

45th anniversary of the Apollo 11 mission

by Mickey Mellen on Jul.18, 2014, under 3D Models, Argentina, Australia, Brazil, California, Denmark, England, Germany, Google Earth News, Google Earth Tips, Google Sky, Google maps, Hawaii, Indonesia, Ireland, Italy, Japan, Kenya, Mexico, Natural Landmarks, Netherlands, Sightseeing, Street Views, USA

This Sunday 45 years ago, July 20, 1969, Apollo 11 astronauts Neil Armstrong and Buzz Aldrin became the first humans to set foot on the moon.

One great way to experience the landing is by viewing this amazing Google Earth tour that Sean Askay put together a few years ago.

armstrong-tour.jpg

As you can see in the tour, the landing that Armstrong made was remarkable. With very little fuel, he had to carefully maneuver the ship into a gentle landing. Paul van Dinther created a game to simulate the landing that he calls the Apollo 11 Moon Lander. The game is very fun, and quite challenging – here is a review written by Frank when it was released. In the years since then, Paul has updated the game with some new graphics, Facebook integration and bug fixes. You can also watch this short video of the game in action:

You can check out the game for yourself at planetinaction.com/moonlander/.

Lastly, of course, is the excellent “Moon” feature in Google Earth, released in 2009. There is some remarkably sharp imagery in places on the moon, and even 3D models of the Apollo 11 Lunar Module.

The post 45th anniversary of the Apollo 11 mission appeared first on Google Earth Blog.

Comments Off :, , , , , , more...

Animating a model aircraft along a spline curve

by Mickey Mellen on Jan.29, 2014, under 3D Models, Argentina, Australia, Brazil, California, Denmark, England, Germany, Google Earth News, Google Earth Tips, Google Sky, Google maps, Hawaii, Indonesia, Ireland, Italy, Japan, Kenya, Mexico, Natural Landmarks, Netherlands, Sightseeing, Street Views, USA

Around a year ago Paul van Dinther shared a cubic spline curve that identified a path through the Grand Canyon.

Colin Hazlehurst (who has created items such as Captain James Cook’s exploration of Australia) was working on software to animate model aircraft in Google Earth and thought it would be an interesting exercise to make his Spirit of St Louis model fly along Paul’s curve.

GrandCanyonThumbnail

This KMZ file shows this in action, and illustrates the following (in Colin’s words):

  • The model moves in turn to each set of coordinates (longitude, latitude, and altitude) defining the LineString. The duration of each AnimatedUpdate is determined by calculating the distance between points and dividing this by the pre-set speed of the model.
  • The roll and tilt of the model are calculated from the changes in heading and altitude respectively between successive pairs of coordinates.
  • A Camera ‘follows’ the model with a pre-determined offset, defined in terms of heading, range, and tilt relative to the model. These values identify the location of the Camera, but the Camera also has a tilt setting which varies according to the pitch of the model; if the model is climbing, the camera tilt is reduced; if the model is descending the camera tilt is increased. This has worked fairly well in this instance, but I notice that at one point the Camera bounces off the wall of the canyon. This might happen when you view the kmz, and I would suggest trying different aspect ratios (width to height) of the Google Earth window.

I thought at first it wouldn’t look right to fly a model aircraft along a spline curve; it didn’t seem to be the way that aircraft flew. I realise now that this was because my first experiments drew splines on too large a scale, with many miles between interpolation points. Paul’s curve is on a much smaller scale, making for correspondingly small adjustments to the flightpath.

Along with the file above, you can also watch this YouTube video to see it in action.  Nice work, Colin!

The post Animating a model aircraft along a spline curve appeared first on Google Earth Blog.

Comments Off :, , , , , more...

Making high-quality movies with Google Earth

by Mickey Mellen on Jul.30, 2013, under 3D Models, Argentina, Australia, Brazil, California, Denmark, England, Germany, Google Earth News, Google Earth Tips, Google Sky, Google maps, Hawaii, Indonesia, Ireland, Italy, Japan, Kenya, Mexico, Natural Landmarks, Netherlands, Sightseeing, Street Views, USA

We’ve mentioned Planet In Action‘s Paul van Dinther on GEB quite a few times in the past.  From his games like “Ships” and “Drive the A-Team Van” to his amazing projects like the A-tour, he always has something great in the works.

If you follow him on Google+, you may have seen his recent posts about creating super high-resolution videos using Google Earth imagery.  Here’s how he did it, in his words:

—–

Google Earth, for me by far the coolest software around because it brings the world data along with a pretty decent rendering engine. Lately I am involved in several exhibit designs where Google Earth features. Although initial plans were to use interactive Google Earth applications, I now focus on the use of Google Earth based video. There are several reasons for that.

  • Computers fail. If one computer fails once a year, then chances are that with 20 computers the risk of failure is 20 times larger.
  • Software maintenance. Think about Windows updates, Google Earth updates etc etc.
  • Software stability. Although Google Earth is pretty good for private use, it is not stable enough to be used unsupervised in a public space.
  • Broadband availability. If the internet is slow or unavailable the exhibit is dead.
  • Longlevity. Permanent public exhibits also need to run longer then the Google Earth deprecation term of two years. In other words. When Google decides to turn off the Google Earth servers, all interactive exhibits die. Not good.
  • Solid performance. Public exhibits must be robust, run reliably and must be easy to turn on and off without needing an IT guy for trouble shooting

But, there are also softer issues with interactivity. Everyone will want to travel to their house of course which is interesting only to you while the erratic motions are severely nauseating to everyone else. Exhibits typically tell a story. Camera angles, camera motion and location are carefully scripted to support the story. Allowing visitors to drive the view would be akin to letting you steer the camera during Spiderman 17 at your local cinema.

Video doesn’t have any of the above issues. However, the question is, how do you generate the perfect video from Google Earth data. The free version of Google Earth doesn’t do video recording however Google Earth Pro has a feature called Moviemaker which allows you to turn a kml tour into a video file. Although Moviemaker finally reached a quality level that it has become useful, it is still wrought with many issues. So I decided to re-invent the whole video making process.

First a warning for anyone contemplating the use of Google Earth video for uses other then private. The Google Earth license agreement does not allow you to use the video footage for uses other then private. There are also strict attribution guidelines from Google and for public use special permission must be obtained from Google. For TV and film a broadcast license needs to be applied for. You can put your video on Youtube but you may not monetize it.

Back to issues with Google Earth Pro Moviemaker. I used that software extensively over the years and during that time pointed out many issues some that have since been fixed. In fact right now Moviemaker actually looks pretty decent. But there are two major issues with it. First of all, Moviemaker has limited options in terms of video frame size and orientation. It assumes always landscape and the maximum size is 1080p.

image1

Secondly, I am on a quest to create the perfect smooth ultra high resolution (20 thousand pixels wide) Google Earth ride. Unfortunately, despite all the care taken for the kml tour, some slight hesitation artifacts can still be observed in the video footage. I suspect this is due to Moviemaker applying its own path smoothing. Besides, Google Earth Pro pricey for private users with an annual license fee of $399 USD

So, I am going to take you on a tech journey to see how perfect video can be done. Let’s first step back a bit and look at the free version of Google Earth 7. Sorry Apple users, most of the tools used only exist on windows but maybe you can find replacements for OSX. It is very easy to create a placemark with associated view and take an image snapshot at the same resolution as shown on your screen using CTRL + ALT + C.

image2

This feature copies the Google Earth image and keeps it in your windows clipboard. From here you could simply open a bitmap editor like MSPaint or the excellent Paint dot net and paste the snapshot in order to save it as a bitmap. It be a long painful process to do this for a 60 fps video as you need 60 images for every second of video. But there are macro tools that come to the rescue. A macro is a program that allows you to define actions you normally perform with keyboard and mouse in a script which is perfect for actions that are repeated over and over. I tried several tools but AutoIt script proved to be very powerful. Not only is it able to automate user actions. It turns out it is also capable to directly store the clipboard image to a file without the need to use a bitmap editor. But, now you need to start doing some programming.

image3

Not only can we store the bitmap directly to file but we can also number each image file sequentially. This will be important later on. Now we can automatically capture image frames from Google Earth and store them to a sequentially numbered image file but how do we advance our camera in Google Earth? Mickey already wrote about Tourmaker before which is a browser based tool to create mathematically perfect camera animations. It would be a small job to make it output a kml file with numbered placemarks for each frame. I could load these in Google Earth and get get the Autoit macro advance the selected placemark before each frame is captured. A bit like this:

image4

But it all seems a bit painful and it requires the sidebar to be toggled in and out of view as it takes up valuable screen space. But there is another way to control the view in Google Earth. Liquid Galaxy This feature allows me to remote control Google Earth views via the network using UDP messages. By all means check it out. You can play with Liquid galaxy if you have two computers each with Google Earth on it. But guess what! Any program can control Google Earth using a network provided it talks the right language. Liquid Galaxy uses UDP message strings  I wondered if the powerful Autoit script was able to send UDP data and…. YESSSS

image5

Don’t worry about the scary programming. It is just here as “proof” . So here we are, I am now able to animate the camera in Google Earth and produce numbered image files for each frame all automatically. However, there is a problem. Google Earth streams data in as you advance through the landscape and we have no way to see when Google Earth has completed loading all the data. In an ideal world I would love to be able to read when the loading is complete.

image6

Load progress can only be obtained in the Google Earth plugin which we can’t use for other reasons. So we are limited to simply wait for a bit before we capture each snapshot. In my Autoit script I wait 3 seconds for each frame. But because I rendered the same sequence several times this data is all in the Google Earth cache. The Google Earth cache is an invisible data storage where Google Earth keeps the last 2 gigabyte locally stored on your hard-drive. Frank Taylor uses this feature extensively on his travels when he needs Google Earth data but has no internet. So far the 2 gigabyte cache has not been an issue but if it becomes an issue there is the possibility to create a much bigger local storage using a proxy server called squid.

Since autoit script is doing so much of the heavy work I might as well push it some more. I expanded my Autoit script to automatically launch Google Earth and set it to the exact size I wanted. Since the Google Earth snapshot feature (CTRL + ALT + C) captures an image at the size it is displayed on the screen it stands to reason that the image size can be adjusted by adjusting the Google Earth Window. Now you are dependent to the size of your monitor or more correctly, the size of your desktop. On my system I run 3 1080p monitors that together form my desktop.

image7

I can re-arrange my displays in Windows. Line them up vertically or horizontally in either landscape or portrait. The Autoit script can easily adjust the Google Earth window size to exactly where you want it. While in portrait orientation take care of your neck. Mine still hurts.

image8

In the above example I moved the top of the Google Earth window to -1920 and made the window 1080 pixels wide and 5760 pixels tall. This doesn’t mean your images come out at that size because we lose the window border and menu areas. Make sure to turn off as much as you can. Here is an image frame captured in that configuration.

image9

So, now we are in control of our image frame size but all we have now is a bunch of image frames. We have yet to turn this into a video. I use Adobe CS6 creative suite which is excellent value on subscription basis but there is also a free solution. FFmpeg is a powerful free command-line video compiler that can compile your sequentially numbered images into video. There is a bit of a learning curve here as the command-line parameters depend on what video output you desire.

But once the video has been compiled you get something like thisthis or this Sadly Youtube really kills the ultra smooth effect obtained from 60 fps playback and re-compression make it much less detailed then it really is. Download a high quality video here (11MB). I thought it be fun to share some of the video journey I have been on. Maybe it will entice some of you to experiment and discover new ideas. At some stage I might release a limited version of Tourmaker and a GEMovie program that will work together with Tourmaker so that you don’t need to know any of the above stuff. You can simply focus on video making. But till then you are left to experiment and figure it out yourself based on the above. Have fun.

The post Making high-quality movies with Google Earth appeared first on Google Earth Blog.

Comments Off :, , more...

Looking for something?

Use the form below to search the site:

Still not finding what you're looking for? Drop a comment on a post or contact us so we can take care of it!

Visit our friends!

A few highly recommended friends...