Thursday, May 05, 2011
Shape2Earth 2.0
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
Friday, February 27, 2009
Create and Edit GPX In Google Earth
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.
Monday, February 04, 2008
KML for Web Mapping
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
- Use built-in network links and server side scripting to serve custom data dynamically.
- Embed the Google Earth render window into your own application.
- Build customized applications that always hover over Google Earth.
- Use JavaScript in the built in web browser.
- Use a Flash application in a pop-up balloon.
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.
- Use built-in network links and server side scripting to serve custom data dynamically.
- Embed the Google Earth render window into your own application.
- Build customized applications that always hover over Google Earth.
- Use JavaScript in the built in web browser.
- 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?