The best way to display shapefile data in Google Earth is to convert it directly into vector KML format, and I’ve covered several ways to do that for free or cheaply, including stand-alone programs and online converters. Of all these options, I prefer using either shp2kml or Shape2Earth because of the flexibility they offer in setting display attributes like color and shape. But there’s another option: convert shapefile data into a raster image, and then display it in Google Earth as a ground overlay. This has a few advantages over vector KML format:
1. More flexibility in data display
In vector KML, Google Earth can only display lines in solid continuous format; no dotted lines, dash-dots, etc.. Similarly, polygons can only be shown in filled or outlined format, with no patterning like stripes, dots, crosshatching, etc.. And while you can create custom icons for point displays in Google Earth, associating them in the KML file with the value of a shapefile attribute isn’t straightforward. A GIS program, or a GIS viewer like TatukGIS, will usually offer you more flexibility in displaying the data, letting you display points, lines and polygon more flexibly. Exporting this view to a raster file, and then creating a Google Earth ground overlay from the raster file, brings this enhanced data display to Google Earth. If you have the shapefile data displayed on a white background, you can use transparency to eliminate the background when displayed in Google Earth. Grab a data legend with a screen capture program, convert it into a screen overlay, and you’re good to go:
This is a plot of a Arizona mines point shapefile; the color depends on a shapefile attribute, in this case the mine’s primary product. It was created using the TatukGIS Viewer, which can export the data in georeferenced format for easy conversion to a ground overlay using MicroDEM. The background color for the displayed shapes is white, which disappears when transparency is added. The map legend is a screen capture, converted to a screen overlay using my ScreenOverlayMaker program.
2. More difficult to modify data
There may be times when you want to distribute data, but don’t want to allow people to modify it themselves. AFAIK, there’s no way that I know of to protect a KML file so that someone else can’t add, subtract, or change the data. With a vector KML file, the data can be edited easily in Google Earth, making it vulnerable to changes. But the data embedded in a ground overlay can’t be directly modified in Google Earth; the user would have to extract out the overlay image, put it into a graphic file, edit it there, and then put it back into Google Earth as an overlay, a far more cumbersome process.
3. More difficult to extract data
In a vector KML file, the exact location of a point is easy to extract by looking at the point’s Properties window, or by converting it into a shapefile. With a ground overlay, that can’t be done directly. You’d have to zoom in to a point, try to find the center of the symbol with your cursor, and manually copy down the coordinates; that’s both time-consuming and inaccurate. This makes using ground overlays a good medium for displaying sensitive data, like archaeological sites or endangered species, where you don’t want to to reveal the exact location.
There are some disadvantages:
1. Because it’s a raster image, as you zoom in closer, the imagery will become “pixelated”, losing resolution. Using higher-resolution imagery can help with that, but may slow Google Earth down; Google recommends that a ground overlay be no more than 2000 x 2000 pixels in size. You can get around this by converting the ground overlay into a SuperOverlay (I hope to cover some free and cheap options for SuperOverlays soon).
2. Advantages 2 and 3 can also be disadvantages. If you want others to be able to edit the data, or to view additional information on the displayed data beyond just the legend, then ground overlays aren’t the way to go.