Showing posts with label Customize Google Earth. Show all posts
Showing posts with label Customize Google Earth. Show all posts

Thursday, May 05, 2011

Shape2Earth 2.0

Shape2Earth for MapWindow GIS provides simple tools for converting shapefiles to Keyhole Markup Language (KML) for viewing GIS data in Google Earth. It runs as a plugin to the free and open source MapWindow GIS, which is an excellent .NET based GIS desktop application. The purpose of releasing Shape2Earth as a plugin to MapWindow was to take advantage of all of the shapefile tools that MapWindow makes available.

One drawback to this approach was that using MapWindow required a little bit of knowledge on general GIS workflows. Users needed to download MapWindow, then download Shape2Earth into a specific directory so that MapWindow could see it as a plugin, activate Shape2Earth in MapWindow, load a shapefile, and then know how to adjust the symbology of the shapefile using MapWindow, and then export the shapefile to KML using MapWindow.

Shape2Earth 2.0 works on top of the new Shape2EarthEngine, and greatly simplifies the process. Users can run Shape2Earth 2.0 without having to launch any additional programs. Shape2EarthEngine provides its own shapefile reader and symbol rendering engine. It does not require the use of MapWindow GIS, or any of its components.

While Shape2EarthEngine has been decoupled from MapWindow GIS, it can still run as a plugin to MapWindow, just like the original Shape2Earth. This lets users take advantage of all that MapWindow has to offer in terms of managing shapefiles and cartographically defining the symbology for export as a KML file.

Besides being able to run stand-alone, or with MapWindow, Shape2Earth 2.0 offers many new and improved options for letting people create compelling Google Earth maps using shapefiles.

Shape2Earth 2.0 and Shape2EarthEngine are still under development. I hope to have it available for beta testing by current Shape2Earth customers in the coming months.

Wednesday, December 16, 2009

Shape2Earth Users Guide

Shape2Earth has a much needed Users Guide on line to help get people going converting shapefiles to KML. Shape2Earth is very easy to use, but there is a lot that can be done with it in conjunction with MapWindow, and this guide should help those without a GIS background.

There is still some work to be done on the Guide, but I thought that getting the current information out there was more important than having 100% of the content filled out.

Shape2Earth 2.0 is also under works. It is mostly a redesigned form that takes into account lessons learned from Shape2Earth 1.0 for MapWindow. Shape2Earth 2.0 will still work with MapWindow to take advantage of its advanced GIS capabilities, but will also be able to run independently. The core management and conversion has been moved into Shape2Earth Engine. This will make it much easier for things such as batch converting of shapefiles, and embedding Shape2Earth into other applications

Friday, February 27, 2009

Create and Edit GPX In Google Earth

The Google Earth plugin is offering many new opportunities for writing custom web-based and desktop applications. iEarth is an experiment that uses Google Earth as the map for interacting with GPS and GIS data.

The Google Earth plugin is intended for use in a web page, but can also be embedded in a desktop application in a web control or referenced as an ActiveX control.

A common method for embedding the Google Earth plugin in a desktop application can be viewed online as a part of the Google Earth code samples.

Part of what makes the Google Earth plugin so much more flexible than its desktop counterpart is the programmatic control that is given to developers through its API.

Not only can spatial data be loaded as KML, but the source data can be directly manipulated through the Google Earth interface.

An example of this is the GPX editor seen below.

GPX is an XML based exchange format for GPS data such as waypoints, routes, and tracks. The GPX editor in iEarth can load existing GPX data for viewing or editing, and also lets users digitize and edit data from scratch. The data is translated into KML for viewing in Google Earth, but is kept in internally in the GPX format for saving.

This same method can be used with Shapefiles. The next release of Shape2Earth will embed a link to the shapefile so that editing spatial or attribute data in iEarth will also edit the shapefile.


Google Earth Plugin in iEarth


Digitize a GPX Waypoint and enter data


View the GPX attributes in the Google Earth Balloon


Digitize Routes in Google Earth and save as GPX for use in GPS Receivers


Right click on existing data to edit the attribute data





Monday, February 04, 2008

KML for Web Mapping

Keyhole Markup Language (KML) is starting to become a de facto standard for transmitting spatial data. Both Google Maps and Microsoft's Virtual Earth have added support for viewing KML data. In both of these cases, it is necessary to make the KML file available on the web so that Google and/or Microsoft can access the file and process it to be viewed in their map controls.

Google Map's, as you might imagine, is getting much better at displaying KML on their web map. The example below shows a KML file (created by Shape2Earth) showing the total number of households by state.

First in Google Map:

http://maps.google.com/maps?q=http://shape2earth.com/Documents/states_NumHouseholds.kml

Then in Virtual Earth.

http://maps.live.com/?mapurl=http://shape2earth.com/Documents/states_NumHouseholds.kml

Note how the geometries in Virtual Earth do not line up very well, and in some cases, are not visible at all. Virtual Earth also seems to automatically add a center point, and does not adhere to the KML coloring scheme. If you switch to 3D mode, the geometries will line up much better, but the fill color seems to be absent.

It looks like any investments that you might be making in KML converters are going to be beneficial for some time to come.

Monday, January 21, 2008

Custom Google Earth Applications with Network Links

As posted previously, there are five general ways in which to provide custom control to Google Earth.

  1. Use built-in network links and server side scripting to serve custom data dynamically.
  2. Embed the Google Earth render window into your own application.
  3. Build customized applications that always hover over Google Earth.
  4. Use JavaScript in the built in web browser.
  5. Use a Flash application in a pop-up balloon.
Using this first option does not really use the API, nor does it really let you modify the user interface. It uses the very flexible, built-in, KML capabilities that the Google Earth client provides for free.

To use it, you need to have a web server that can respond to a network link request from Google Earth. The request can have a number of client parameters in it, such as the view information. This can be used to generate a return KML document whose content is based on the area that a user is looking at. A network link KML file can be added to Google Earth that sends this request to update the KML document on a time basis, or whenever the user zooms and stops.

This method can get pretty sophisticated. The Regions KML tag allows users to define the visual region of interest for specified data in the KML document. This is a great way to handle very large datasets.

A network-link KML document can be created that defines a number of different, thematic, KML documents, which can be loaded and unloaded every time the user enters a defined region. Brian Flood offers an excellent example of how this can be applied to large geospatial data sets using Arc2Earth.

Customizing the Google Earth Interface

Ever since people became aware that it was possible to allow external software applications to interact with Google Earth using their API (which seems to be in perpetual beta stage), they have been trying to figure out how best to integrate their custom applications into Google Earth.

While almost all of the initial efforts dealt with taking existing applications and simply loading their data into GE in a KML format, later efforts involved trying to make all functionality directly accessible form the Google Earth application itself.

The basic problem, however, is that Google Earth does not provide a framework to extend its user interface. You cannot simply add a new button to their toolbar that fires off your own application, as you can in many GIS and Office software packages.

A couple of tricks have been developed to make Google Earth application extensions appear to work seamlessly with Google Earth. They generally fall into five categories.

  1. Use built-in network links and server side scripting to serve custom data dynamically.
  2. Embed the Google Earth render window into your own application.
  3. Build customized applications that always hover over Google Earth.
  4. Use JavaScript in the built in web browser.
  5. Use a Flash application in a pop-up balloon.

Has anyone come up with their own way get their application to work with Google Earth?