You can make your own panoramic horizons using the latest version of Google Earth!
There is no click button or menu option in Google Earth that will create these for you, but the steps for making a Google Earth panorama are straightforward. A lot of steps, yes, but they add up to an easy, progressive climb to excellent results.
What you will need:
- The latest version of Google Earth and a broadband connection.
- Screen grabbing software that can capture a series of images with a keyboard command. I use the free program, Irfanview.
- A photo stitching application. You can Google search for free pano stitching software. I use an inexpensive commercial program, Serif Panorama PlusX4 because it doesn’t have a learning curve, it just works. Autostitch is a free version of the same core engine, with reduced user interface and limited to working with JPEGs.
- An image editing program that supports layers and exports the Photoshop format. I use Photoshop Elements.
- A Photoshop plugin called Flexify 2.
Before you start, take a look at what you will be making. You can find here a sample PSD and text file:
This sample panorama from Honolulu Hawaii courtesy of Samuel Roads
You will be placing your own PSD and text file into the Horizon Panoramas folder under Sky Data. In your image editor the sample file will show a checkerboard pattern where the sky would be, indicating transparency in that region. You will be extracting the sky portion of your panorama to make it transparent. The text file indicates various adjustments Starry Night will perform on your panorama so that it is positioned and sized correctly. You will be typing in those adjustments in a new text file, starting with a copy of an existing file that best matches your view.
Now, open Google Earth and find the location where you want to make a horizon panorama. Move in close to that spot, and level off just above it. Precision navigation in Google Earth is an acquired talent.
Your Google Earth preferences should be set to show all navigation controls on screen. Notice the eye in the middle of the compass. That is the critical tool in this process. By placing your cursor on that eye and click/dragging, you can look all around without changing camera position. In optical terms, this is called the nodal point of the lens, and panning the view through the nodal point is essential to stitching a series of images into a seamless panorama, because there will be no lateral or vertical position shift between the images, and therefore, no parallax differences.
Set up Irfanview to screen capture at hot key command, designating a filename and a save folder. The saves are automatically enumerated.
In Google Earth, make sure the 3D buildings layer is turned on. This adds greatly to the realism. Use a 1:1 ratio for the terrain height, with no vertical exaggeration, and turn off all streets and places layers and close all search results; you just want the terrain and aerial imagery without any labels.
Then turn off the sky in Google Earth, in order to obtain a black background for the sky line. Don’t worry about the stars, they will be extracted when the dark sky is extracted, and they may even help with the stitching.
Now, move the view through the nodal point camera in a coverage pattern that spans from looking steeply down to looking up just above the horizon, clicking the hot key for screen capture at each pause. It is important to pause long enough before each capture for all the imagery, terrain and buildings to fully load. If you get fooled, just capture the same view again. I’ll tell you how to easily delete the premature captures. If you look around with the nodal camera before starting the capture, the entire 360 degree scene will load into the Google Earth cache, and thus will load faster on the screen.
The best coverage pattern I’ve found is to work around the compass in eight vertical columns, starting with a steep look straight down and progressively moving the nodal eye upward. Depending on the altitude of the terrain, this will require three or four screen grabs taken from low to high, at a minimum. More overlap is better. Once a column is done, move back to a downward view an eighth of a turn over, and repeat the process. This systematic approach will help you keep your place better than making a series row by row, because when you look down, it is easier to move your angular position in steady increments. But precision is not required, you just want to make sure that there are no gaps in coverage.
Within a few minutes, the picture taking is done. The next step is to review the collection for duplicates. If you noticed you made a few captures where the data had not fully loaded, and you subsequently recaptured when all was well, you know that the last in any series of duplicates is the correct grab. Just select and delete the others preceding it.
Now open your panostitcher. I’m giving instructions here for Serif Panorama PlusX4 because I’m not familiar with others, but the process should be similar. This software uses automatic pattern matching, remapping pixels and stitching onto a default spherical projection. Autostitch uses the same core engine and is free, but requires that you choose knowledgeably some presets before you start, and is limited to JPEGs.
A brief comment about panorama projections: Starry Night uses cylindrical panoramas, but spherical panoramas look acceptable close to the horizon. If you prefer greater verisimilitude, you must convert a stitched spherical panorama to a cylindrical panorama. I'll go into that process later. By the way, spherical means in the case of a flat pano a charting of spherical coordinates, latitude and longitude, to evenly spaced horizontal and vertical divisions in a rectangle. It looks a lot like a cylindrical projection of a sphere onto a tangent cylinder, except the horizontal divisions representing latitude are not evenly spaced in a cylindrical map, but rather, spaced out further and further toward the poles, never reaching them. A spherical (or equirectangular) panorama can map an entire sphere, while a cylindrical panorama must stop at high latitudes short of the poles.
With that understanding in mind, you are going to make two panoramas from the same collection of Google Earth screen grabs, first a spherical pano that is the default output of almost all stitchers, and then a remapping of this product to a cylindrical projection. Either could be used in Starry Night as a Horizon Panorama, but the cylindrical pano extends better below the horizon.
From the stitcher, open the folder where all the screen grabs are stored, select all, and bring them in. Then click Stitch, and run a quick errand around the house or office, and when you are finished, the pano preview render should be ready in Panorama Plus, and the full size render should be ready in Autostitch. Yes, Autostitch is faster with the same core engine because it cuts out the preview step by rendering fully and saving directly.
The stitch result is surprisingly clean. All the window framing and Google Earth navigation tools are gone. They are stationary elements common to all the images and the blending process gets rid of them. If you do notice some faint traces of the window frames, retake your capture series with more overlap. There will remain in any case the repeated Google Earth watermark that is distributed across the terrain, noticeable only if you are looking for it on a high resolution pano.
In Panorama Plus the finished preview pano must be resized for saving. You could resize it to optimum (100%) size but you will save processing time if you resize to 8196 width, twice the width used by Starry night. That's big enough for extracting the sky and touching up seams in the Google Earth textures. With Autostitch there is no preview, just the result saved to the folder where the captures are stored, at the size you designate in the preset options. Export the pano to PNG or TIFF, or to highest quality JPEG if you are using Autostitch. You will downsize to Starry Night Horizon Panorama size as a last step.
Import the pano into your image editor. Using selection tools, especially the magic wand at a tolerance of 4, extract all the sky, being careful not to remove any terrain, buildings or trees along the skyline. This is the most tedious part of the process, and it requires extreme magnification on screen, a discerning eye, plus some knowledge of how to use the magic wand and other selection tools. Don’t be intimidated, as having a black sky makes this much easier. Once the sky is extracted, select that whole area of transparency, expand it by one pixel, feather it by 0.25 pixel, and delete. This will give you a nice antialiased horizon line that preserves detail.
Save this large processed spherical projection version as a master, duplicate it, and downsize the duplicate to 4096 pixels wide using bicubic interpolation (bicubic sharper creates edges that seem rather stark). Now crop or resize the canvas from the bottom so that it is 512 pixels high. The skyline should remain high in the image, uncropped. You will be doing all your compass positioning and vertical positioning and height sizing in the text file that accompanies the pano. Save this resized version to the Photoshop format, giving it the name you want to use, to the same folder where you saved your oversize master. Then copy the file to the Horizon Panoramas folder.
Always preserve your masters!
Open a text file in the Horizon Panoramas folder and save it to the same name you gave your pano. Look for “PanoName” in quotes and change the value for that parameter to the title for your own pano.
value="Your Pano Title Here"
Then change the “ImageFileName” parameter to a value that uses the file name you gave it when saving it.
value="YourFileNameHere.psd"
Move on to the “ImageHeight” parameter. For a 4096x512 pano this should be 45 degrees, spanned vertically. Best to be working with a copy of 01_Earth_MountainLake.txt, saved to the new file name. If you chose a text file for a pano with different height dimension in degrees, change it to 45.
Now re-save this customized file. For setting the rest of the parameters, you will need both the text file open, and Starry Night opened between changes to the text file.
Opening Starry Night, go to Options/Other Options/ Local Horizon, click the Select Default Panorama button, and select the panorama you made. Don’t expect it to be exactly what you want, there’s more work to do.
First, you might need to move the panorama down so that the horizon corresponds to the horizon of Starry Night. The default flat horizon in Starry Night cuts through the compass directions about a third of the way up the letters. Use a slight distance below that as your horizon marker. The vertical positioning parameter is set by the "ImageCentreDec" value. If your skyline is high in the image, you will need negative values to bring it down. Trial and error is required, because it all depends on how you cropped the sky in your panorama. If you set a known horizon in the vertical middle of the panorama image, then the default 0.0 declination might work without change. Before you change the text file, close SN, make the text file change, save the text file, and reopen SN to evaluate the effect.
Now for the compass directions of the image. Because you are familiar with the site of the panorama, you should know how the landmarks line up with the compass directions. You will be positioning these relative to the Starry Night labels using the parameter, "ImageCentreRa", or right ascension. Positive numbers turn the image counter clockwise relative to the fixed compass. Repeated guesswork narrows this down satisfactorily. Opening and closing SN between changes adds to production time, but you will soon be done.
No other parameters need be changed. You are done with the first panorama.
Go back to the oversized spherical master you saved. You are going to make a second panorama from it, converting to cylindrical projection. In your image editor set the canvas height to exactly twice the current canvas width, in pixels, expanding upward. As your image is a layer, the expanded area is transparent. The width to height ratio of 2:1 is the aspect ratio of spherical (equirectangular) panoramas that cover an entire sphere. If your screen capture coverage started with the view straight down in each vertical column, your spherical pano bottom will align with the view bottom, the flat horizon will align with the horizontal middle of the pano, and the terrain horizon will be a little lower than the flat horizon because of the Earth's curvature. If the capture coverage does not include the bottom of the view sphere, it will still include the terrain horizon and above that a bit, the flat horizon, so you can align the estimated flat horizon to the middle of the 2:1 image, with the bottom of the pano leaving a gap between it and the bottom of the frame.
There are various panorama applications that will convert a full spherical pano to cylindrical format. I use a Photoshop plugin to make this conversion, called Flexify 2. It needs the aspect ratio of a full equirectangular image in order to make the corresponding cylindrical image.
Duplicate the spherical pano layer to a new layer, and name it cylindrical pano. Make the conversion with Flexify 2 upon this layer only. Save the whole file as the combined master, spherical and cylindrical. Then duplicate the cylindrical layer as a new image.
Crop the standalone cylindrical pano at the top just above the highest terrain, and at the bottom of the reprojection. It is hard to say what is the angular height of this view, but make a guess because you will need a starting number for the parameters in the accompanying text file. Reduce the image size to 4096 wide, allowing the height to resize proportionately without cropping. Save this to PSD format, using the same name you gave the spherical pano but adding the suffix, “_cyl”.
Open from the Horizon Panoramas folder the previous text file you created and adjusted for the spherical pano, changing the title and filename values for the image and saving this text file to the same name as the cylindrical pano. The right ascension remains the same, the declination of the image center and the angular height will need new values. Start with your best guess for the angular height, something like 110 to 130 degrees, perhaps. Declination might be around 45 degrees if your horizon line is near the top of the image. Save and round trip with Starry Night until it looks right. The metric for proper height: the pano in Starry Night should have the same horizontal to vertical proportions for a given view as the screen grab for that view. The metric for proper horizon placement: the Earth horizon in the distance should be a little lower than Starry Night's flat horizon, which cuts the compass direction letters a little below half their height.
When the cylindrical pano looks satisfactory in Starry Night, alternate it with the spherical pano you made earlier. You will see that the cylindrical pano stretches down from the horizon more realistically. Was this verisimilitude worth the extra effort? Horizon panoramas customized to show your star viewing location might be held to a higher standard of realism because they represent familiar territory. But for aligning the sky with the surrounding landmarks, the skyline will be essentially the same in both versions, and you will be spending your time with Starry Night looking upward at the sky, not down at the ground.
About copyright issues. Google is very protective of Google Earth views, stipulating that any published image must show the screen framing and navigation context, as well as the logos and imagery credits. The subtle and plentiful watermarks are still in any processed image and they are a tip off of where the imagery came from. The appropriate response for you is, don’t publish your pano on the web or anywhere else. Keep it for private, personal use and you will be fine.
Wishing you good viewing, Steven McQuinn
For further instructions on creating your own Starry Night photographic panorama please this KB article here:
https://support.simulationcurriculum.com/entries/20428558-How-do-I-create-my-own-photorealistic-horizon-
Comments