Wednesday, February 28, 2007

Google Maps

Google Maps

From Wikipedia, the free encyclopedia

Jump to: navigation, search
Screenshot of Google Maps showing a route from Toronto to Ottawa on the 400-Series highways.
Screenshot of Google Maps showing a route from Toronto to Ottawa on the 400-Series highways.
Penang island and Seberang Prai on the mainland as seen on Google Maps
Penang island and Seberang Prai on the mainland as seen on Google Maps [1]

Google Maps (for a time named Google Local) is a free web map server application and technology provided by Google that powers many map-based services including the Google Maps website, Google Ride Finder and embedded maps on third-party websites via the Google Maps API. It offers street maps, a route planner, and an urban business locator for numerous countries around the world.

A related product is Google Earth, a standalone Mac, Windows and Linux program that offers enhanced globe-viewing features.

Contents

[hide]

[edit] Features

Google Maps features a map that can be navigated by dragging the mouse, or using the mouse wheel to zoom in (mouse wheel up) or out (mouse wheel down) to show detailed street information. The user can also control the map with the arrow keys to move to the desired location. To allow for quick movement, the "+" and "-" keys can be used to control the zoom level. Users may enter an address, intersection or general area to quickly find it on the map.

Search results can be restricted to a certain area, thanks to Google Local. For example, someone can enter a query such as "Waffles in Ottawa"[1] to find restaurants serving waffles near the city. This can be used to find a wide variety of businesses, such as theatres, restaurants and hotels.

Like many other map services, Google Maps allows for the creation of driving directions. It gives the user a step-by-step list of how to get to their destination, along with an estimate of the time required to reach it and the distance between the two locations.

Google Maps offers three viewing modes by default: Map (Street map views), Satellite (satellite and high-resolution aerial photographs) and Hybrid (Street maps overlaid on satellite and high-resolution aerial photographs).

The "link to this page" link on each Google Maps map targets a URL which can be used to find the location on the map at a later time. The latitude and longitude can be used as input to NASA World Wind or TerraServer-USA, which in some cases have higher-resolution imagery.

[edit] Satellite view

Screenshot of Google Maps (satellite) showing Monster Park in San Francisco, CA
Screenshot of Google Maps (satellite) showing Monster Park in San Francisco, CA

Google Maps provides high-resolution satellite images for most urban areas in Canada and the United States (including Hawaii, Alaska, Puerto Rico, and the U.S. Virgin Islands) as well as parts of Australia, Egypt, France, Iran, Iceland, Italy, Iraq, Japan, the Bahamas, Bermuda, Kuwait, Mexico, the Netherlands, the United Kingdom and many other countries. Google Maps also covers the cities of Moscow, Istanbul, and also most of India.

All the images shown in Google Maps' satellite mode are at least a year old and in some places up to five years old. Despite this various governments have complained over the potential for terrorists to use the satellite images in planning attacks on nuclear power stations. Google has blurred some areas for security (mostly in the United States), including the U.S. Naval Observatory area (where the official residence of the Vice President is located), and until recently, the United States Capitol and the White House (which formerly featured erased housetop). Other well-known government installations are visible including the infamous Area 51 in the Nevada desert.

With the introduction of an easily pannable and searchable mapping and satellite imagery tool, Google's mapping engine prompted a surge of interest in satellite imagery. Sites such as Google Sightseeing and Virtual Globetrotting were established which feature satellite images of interesting natural and man-made landmarks, including such novelties as "large type" writing visible in the imagery, as well as famous stadiums and unique earth formations.

Although Google uses the word "satellite", some of the high-resolution imagery is aerial photography rather than satellite imagery.

[edit] Implementation

Like other Google web applications, a large amount of JavaScript was used to create Google Maps. As the user drags the map, the grid squares are downloaded from the server and displayed to the user. When a user searches for a business, the location is pin-pointed with a red pin, which is actually a transparent PNG placed over the map. The technique of providing greater user-interactivity by performing asynchronous network requests with Javascript and XML has recently become known as Ajax. Specifically, Google Maps was built using the AjaXSLT framework.

The GIS (map) data used in Google Maps are provided by Tele Atlas and NAVTEQ,[2] while the small patches of high-resolution satellite imagery are largely provided by DigitalGlobe and its QuickBird satellite, with some imagery also from government sources. The main global imagery base called NaturalVue was derived from Landsat 7 imagery by MDA Federal (formerly Earth Satellite Corporation). This global image base provides the essential foundation for the entire application.

The underlying technology used in both Google and Yahoo! maps is available from deCarta (formerly Telcontar)[3].

[edit] Extensibility and customization

Chicagocrime.org, developed by Adrian Holovaty, was among the first and most popular  Google Maps mashups.
Chicagocrime.org, developed by Adrian Holovaty, was among the first and most popular [4] Google Maps mashups.

As the Google Maps code is almost entirely JavaScript and XML, some end-users reverse-engineered the tool and produced client-side scripts and server-side hooks which allowed a user or website to introduce expanded or customized features into the Google Maps interface.

Using the core engine and the map/satellite images hosted by Google, such tools can introduce custom location icons, location coordinates and metadata, and even custom map image sources into the Google Maps interface. Some of the more well-known of these "Google Maps Hacks" include tools that display locations of Craigslist rental properties [5], student apartment rentals [6] [7], and local map Chicago crime data [8] (or check Misdaadkaart.nl showing crimes of one entire country[9]). The script-insertion tool Greasemonkey provides a large number of client-side scripts to customize Google Maps data, and the mygmaps.com website provides an interface for easily adding your own set of locations and viewing them on Google Maps.

Combined with photo sharing websites such as Flickr, a phenomenon called "memory maps" emerged. Using copies of the Keyhole satellite photos of their home towns or other favorite places, the users take advantage of image annotation features to provide personal histories and information regarding particular points of the area.

[edit] Google Maps API

The Google Maps API was created by Google to facilitate developers integrating Google Maps into their web sites, with their own data points. It is a free service, that currently does not contain ads, but Google states in their terms of use [10] that they reserve the right to display ads in the future.

By using the Google Maps API you can embed the full Google Maps on an external web site (minus driving directions and KML). Start by creating an API Key [11], it will be bound to the web site and directory you enter when creating the key. Creating your own map interface involves adding the Google JavaScript code to your page, and then using Javascript functions to add points to the map.

When the API first launched it lacked the ability to geocode addresses, requiring you to manually add points in (latitude, longitude) format. This has since been rectified.

At the same time as the release of the Google Maps API, Yahoo! released their own Maps API [12] . Both were released to coincide with the O'Reilly Web 2.0 Conference. Yahoo! Maps lacks international support, but included a geocoder in the first release.

As of October 2006, Google Gadgets' Google maps implementation is much easier to use with just the need of one line of script. The drawback is that it is not as customizable as the full API.

In late 2006, Yahoo began a campaign to upgrade their maps, to compete better with Google Local and other online map companies. Several of the maps used in the survey were similar to Google maps. The online survey is here.

[edit] Development

Google Maps was first announced on the Google Blog on February 8, 2005 and was located at http://maps.google.com/. It originally only supported users of Internet Explorer and Mozilla web browsers, but support for Opera and Safari was added on February 25, 2005. Currently (July 1, 2006) Internet Explorer 6.0+, Firefox 0.8+, Safari 1.2.4+, Netscape 7.1+, Mozilla 1.4+, and Opera 8.02+ are supported (see Google Maps Help). It was in beta for 6 months before becoming part of Google Local on October 6, 2005.

[edit] Coverage details

The specific features of Google Maps available depend on the location of the world.[15]

Maps, local business search, street-level search, and driving directions are fully functional for
  • Australia
  • Canada
  • China (beta via ditu.google.com)
  • France
  • Germany
  • Italy
  • Netherlands
  • Spain
  • United Kingdom (local search only functional via maps.google.co.uk)
  • United States
Maps, local business search, and street-level search are fully functional for
  • Japan
Google Local Business Center for business owners to add listings to Google Maps is available in
  • Canada
  • China
  • Japan
  • France
  • Germany
  • Italy
  • Spain
  • United Kingdom
  • United States
Maps only are fully functional for
  • African continent (street coverage – select major cities only)
  • Andorra
  • Austria
  • Belgium
  • Brazil
  • Czech Republic
  • Denmark
  • Eastern Europe/former Soviet Union states (highway coverage only)
  • Finland
  • Gibraltar
  • Greece
  • Hong Kong
  • Hungary
  • India (street coverage for most cities, highway coverage for whole country)
  • Ireland
  • Liechtenstein
  • Luxembourg
  • Monaco
  • New Zealand
  • Norway
  • Poland
  • Portugal
  • Russia (street coverage – Moscow & St. Petersburg only)
  • San Marino
  • Singapore
  • Slovakia
  • Sweden
  • Switzerland
  • Turkey (street coverage – Istanbul, Ankara, and Bursa only)

Satellite imagery of varying resolution is available worldwide.

Google Maps

Google Maps
From Wikipedia, the free encyclopedia
Jump to: navigation, search
Screenshot of Google Maps showing a route from Toronto to Ottawa on the 400-Series highways.
Screenshot of Google Maps showing a route from Toronto to Ottawa on the 400-Series highways.
Penang island and Seberang Prai on the mainland as seen on Google Maps
Penang island and Seberang Prai on the mainland as seen on Google Maps [1]

Google Maps (for a time named Google Local) is a free web map server application and technology provided by Google that powers many map-based services including the Google Maps website, Google Ride Finder and embedded maps on third-party websites via the Google Maps API. It offers street maps, a route planner, and an urban business locator for numerous countries around the world.

A related product is Google Earth, a standalone Mac, Windows and Linux program that offers enhanced globe-viewing features.
Contents
[hide]

* 1 Features
* 2 Satellite view
* 3 Implementation
* 4 Extensibility and customization
o 4.1 Google Maps API
* 5 Development
* 6 Coverage details
* 7 Google's use of Google Maps
o 7.1 Google Bendi (谷歌本地) and Google Ditu (谷歌地图)
o 7.2 Google Mars
o 7.3 Google Moon
o 7.4 Google Ride Finder
o 7.5 Google Transit
* 8 Copyright
* 9 Criticism
* 10 Popular culture
* 11 See also
o 11.1 Comparable services
* 12 References
* 13 External links
o 13.1 Google Maps discussion websites
o 13.2 Examples of web tools employing Google Maps
o 13.3 Websites collecting Google Maps aerial views

[edit] Features

Google Maps features a map that can be navigated by dragging the mouse, or using the mouse wheel to zoom in (mouse wheel up) or out (mouse wheel down) to show detailed street information. The user can also control the map with the arrow keys to move to the desired location. To allow for quick movement, the "+" and "-" keys can be used to control the zoom level. Users may enter an address, intersection or general area to quickly find it on the map.

Search results can be restricted to a certain area, thanks to Google Local. For example, someone can enter a query such as "Waffles in Ottawa"[1] to find restaurants serving waffles near the city. This can be used to find a wide variety of businesses, such as theatres, restaurants and hotels.

Like many other map services, Google Maps allows for the creation of driving directions. It gives the user a step-by-step list of how to get to their destination, along with an estimate of the time required to reach it and the distance between the two locations.

Google Maps offers three viewing modes by default: Map (Street map views), Satellite (satellite and high-resolution aerial photographs) and Hybrid (Street maps overlaid on satellite and high-resolution aerial photographs).

The "link to this page" link on each Google Maps map targets a URL which can be used to find the location on the map at a later time. The latitude and longitude can be used as input to NASA World Wind or TerraServer-USA, which in some cases have higher-resolution imagery.

[edit] Satellite view
Screenshot of Google Maps (satellite) showing Monster Park in San Francisco, CA
Screenshot of Google Maps (satellite) showing Monster Park in San Francisco, CA

Google Maps provides high-resolution satellite images for most urban areas in Canada and the United States (including Hawaii, Alaska, Puerto Rico, and the U.S. Virgin Islands) as well as parts of Australia, Egypt, France, Iran, Iceland, Italy, Iraq, Japan, the Bahamas, Bermuda, Kuwait, Mexico, the Netherlands, the United Kingdom and many other countries. Google Maps also covers the cities of Moscow, Istanbul, and also most of India.

All the images shown in Google Maps' satellite mode are at least a year old and in some places up to five years old. Despite this various governments have complained over the potential for terrorists to use the satellite images in planning attacks on nuclear power stations. Google has blurred some areas for security (mostly in the United States), including the U.S. Naval Observatory area (where the official residence of the Vice President is located), and until recently, the United States Capitol and the White House (which formerly featured erased housetop). Other well-known government installations are visible including the infamous Area 51 in the Nevada desert.

With the introduction of an easily pannable and searchable mapping and satellite imagery tool, Google's mapping engine prompted a surge of interest in satellite imagery. Sites such as Google Sightseeing and Virtual Globetrotting were established which feature satellite images of interesting natural and man-made landmarks, including such novelties as "large type" writing visible in the imagery, as well as famous stadiums and unique earth formations.

Although Google uses the word "satellite", some of the high-resolution imagery is aerial photography rather than satellite imagery.

[edit] Implementation

Like other Google web applications, a large amount of JavaScript was used to create Google Maps. As the user drags the map, the grid squares are downloaded from the server and displayed to the user. When a user searches for a business, the location is pin-pointed with a red pin, which is actually a transparent PNG placed over the map. The technique of providing greater user-interactivity by performing asynchronous network requests with Javascript and XML has recently become known as Ajax. Specifically, Google Maps was built using the AjaXSLT framework.

The GIS (map) data used in Google Maps are provided by Tele Atlas and NAVTEQ,[2] while the small patches of high-resolution satellite imagery are largely provided by DigitalGlobe and its QuickBird satellite, with some imagery also from government sources. The main global imagery base called NaturalVue was derived from Landsat 7 imagery by MDA Federal (formerly Earth Satellite Corporation). This global image base provides the essential foundation for the entire application.

The underlying technology used in both Google and Yahoo! maps is available from deCarta (formerly Telcontar)[3].

[edit] Extensibility and customization
Chicagocrime.org, developed by Adrian Holovaty, was among the first and most popular Google Maps mashups.
Chicagocrime.org, developed by Adrian Holovaty, was among the first and most popular [4] Google Maps mashups.

As the Google Maps code is almost entirely JavaScript and XML, some end-users reverse-engineered the tool and produced client-side scripts and server-side hooks which allowed a user or website to introduce expanded or customized features into the Google Maps interface.

Using the core engine and the map/satellite images hosted by Google, such tools can introduce custom location icons, location coordinates and metadata, and even custom map image sources into the Google Maps interface. Some of the more well-known of these "Google Maps Hacks" include tools that display locations of Craigslist rental properties [5], student apartment rentals [6] [7], and local map Chicago crime data [8] (or check Misdaadkaart.nl showing crimes of one entire country[9]). The script-insertion tool Greasemonkey provides a large number of client-side scripts to customize Google Maps data, and the mygmaps.com website provides an interface for easily adding your own set of locations and viewing them on Google Maps.

Combined with photo sharing websites such as Flickr, a phenomenon called "memory maps" emerged. Using copies of the Keyhole satellite photos of their home towns or other favorite places, the users take advantage of image annotation features to provide personal histories and information regarding particular points of the area.

[edit] Google Maps API

The Google Maps API was created by Google to facilitate developers integrating Google Maps into their web sites, with their own data points. It is a free service, that currently does not contain ads, but Google states in their terms of use [10] that they reserve the right to display ads in the future.

By using the Google Maps API you can embed the full Google Maps on an external web site (minus driving directions and KML). Start by creating an API Key [11], it will be bound to the web site and directory you enter when creating the key. Creating your own map interface involves adding the Google JavaScript code to your page, and then using Javascript functions to add points to the map.

When the API first launched it lacked the ability to geocode addresses, requiring you to manually add points in (latitude, longitude) format. This has since been rectified.

At the same time as the release of the Google Maps API, Yahoo! released their own Maps API [12] . Both were released to coincide with the O'Reilly Web 2.0 Conference. Yahoo! Maps lacks international support, but included a geocoder in the first release.

As of October 2006, Google Gadgets' Google maps implementation is much easier to use with just the need of one line of script. The drawback is that it is not as customizable as the full API.

In late 2006, Yahoo began a campaign to upgrade their maps, to compete better with Google Local and other online map companies. Several of the maps used in the survey were similar to Google maps. The online survey is here.

[edit] Development

Google Maps was first announced on the Google Blog on February 8, 2005 and was located at http://maps.google.com/. It originally only supported users of Internet Explorer and Mozilla web browsers, but support for Opera and Safari was added on February 25, 2005. Currently (July 1, 2006) Internet Explorer 6.0+, Firefox 0.8+, Safari 1.2.4+, Netscape 7.1+, Mozilla 1.4+, and Opera 8.02+ are supported (see Google Maps Help). It was in beta for 6 months before becoming part of Google Local on October 6, 2005.

* In early April 2005, an alternate view was activated to show Satellite images of the area displayed.
* In late April 2005, Google created Google Ride Finder using Google Maps.
* In late June 2005, Google released the Extensibility and customization.
* In mid July 2005, Google began Google Maps and Google Local services for Japan, including road maps.
* On July 22, 2005, Google released "Hybrid View". Together with this change, the satellite image data was converted from plate carrée to Mercator projection, which makes for a less distorted image in the temperate climes latitudes.
* In July 2005, in honor of the thirty-sixth anniversary of the Apollo Moon landing, Google Moon was launched.
* In September 2005, in the aftermath of Hurricane Katrina, Google Maps quickly updated its satellite imagery of New Orleans to allow users to view the extent of the flooding in various parts of that city. (Google has reverted to pre-Katrina imagery without explanation)
* As of January 2, 2006, Google Maps features road maps for the United States, Puerto Rico, Canada, Great Britain, Japan, and certain cities in Northern Ireland and the Republic of Ireland. Coverage of the area around Turin was added in time for the 2006 Winter Olympics.
* On January 23, 2006, Google Maps was updated to use the same satellite image database as Google Earth.
* On March 12, 2006, Google Mars [13] was launched, which features a draggable map and satellite imagery of the planet Mars.
* In late April 2006, Google Local was merged into the main Google Maps site.
* On April 3, 2006, version 2 of the Maps API was released.
* On June 11, 2006, Google added geocoding capabilities to the API, satisfying what it called the most requested feature for this service.
* On June 14, 2006, Google Maps for Enterprise was officially launched. As a commercial service, it features intranet and advertisement-free implementations.
* Beginning in February 2007, buildings and subway stops are displayed in Google Maps "map view" for New York City, Washington, D.C., London, San Francisco, and some other cities.[14]

[edit] Coverage details

The specific features of Google Maps available depend on the location of the world.[15]

Maps, local business search, street-level search, and driving directions are fully functional for

* Australia
* Canada
* China (beta via ditu.google.com)
* France
* Germany
* Italy
* Netherlands
* Spain
* United Kingdom (local search only functional via maps.google.co.uk)
* United States

Maps, local business search, and street-level search are fully functional for

* Japan

Google Local Business Center for business owners to add listings to Google Maps is available in

* Canada
* China
* Japan
* France
* Germany
* Italy
* Spain
* United Kingdom
* United States



Maps only are fully functional for

* African continent (street coverage – select major cities only)
* Andorra
* Austria
* Belgium
* Brazil
* Czech Republic
* Denmark
* Eastern Europe/former Soviet Union states (highway coverage only)
* Finland
* Gibraltar
* Greece
* Hong Kong
* Hungary
* India (street coverage for most cities, highway coverage for whole country)
* Ireland
* Liechtenstein
* Luxembourg
* Monaco
* New Zealand
* Norway
* Poland
* Portugal
* Russia (street coverage – Moscow & St. Petersburg only)
* San Marino
* Singapore
* Slovakia
* Sweden
* Switzerland
* Turkey (street coverage – Istanbul, Ankara, and Bursa only)

Satellite imagery of varying resolution is available worldwide.

Sampling for KML

KML is a file format used to display geographic data in an Earth browser such as Google Earth, Google Maps, and Google Maps for mobile. KML uses a tag-based structure with nested elements and attributes and is based on the XML standard. All tags are case-sensitive and must be appear exactly as they are listed in the KML 2.1 Reference. The Reference indicates which tags are optional. Within a given element, tags must appear in the order shown in the Reference.

If you're new to KML, explore this document and the accompanying KML Samples file to begin learning about the basic structure of a KML file and the most commonly used tags. The first section describes features that can be created with the Google Earth user interface. These features include placemarks, descriptions, ground overlays, paths, and polygons. The second section describes features that require authoring KML with a text editor. When a text file is saved with a .kml or .kmz extension, Earth browsers know how to display it.


TIP: To see the KML "code" for a feature in Google Earth, you can simply right-click the feature in the 3D Viewer of Google Earth and select Copy. Then Paste the contents of the clipboard into any text editor. The visual feature displayed in Google Earth is converted into its KML text equivalent. Be sure to experiment with this feature.

All of the examples described here are in the KML Samples file. Begin by downloading that file to view the examples in Google Earth.

* 1 Basic KML Documents
1. Placemarks
2. Descriptive HTML in Placemarks
3. Ground Overlays
4. Paths
5. Polygons
* 2 Advanced KML Documents
1. Styles for Geometry
2. Styles for Highlighted Icons
3. Screen Overlays
4. Network Links
* 3 KML MIME Types

For More Information

The KML 2.1 Reference provides details about the KML file format. If you're familiar with XML, you will also be interested in the KML 2.1 Schema.

For an introduction to the new features introduced in the KML 2.1 Release, see the KML 2.1 Tutorial.
1 Basic KML Documents

The simplest kind of KML documents are those that can be authored directly in Google Earth—that is, you don't need to edit or create any KML in a text editor. Placemarks, ground overlays, paths, and polygons can all be authored directly in Google Earth.
Placemarks

A Placemark is one of the most commonly used features in Google Earth. It marks a position on the Earth's surface, using a yellow pushpin as the icon. The simplest Placemark includes only a element, which specifies the location of the Placemark. You can specify a name and a custom icon for the Placemark, and you can also add other geometry elements to it.

Open the KML Samples file in Google Earth and expand the Placemarks subfolder. This folder includes three different types of placemark: simple, floating, and extruded. The KML code for the simple placemark looks like this:




Simple placemark
Attached to the ground. Intelligently places itself
at the height of the underlying terrain.


-122.0822035425683,37.42228990140251,0




The structure of this file breaks down as follows:

* An XML header. This is line 1 in every KML file. No spaces or other characters can appear before this line.
* A KML namespace declaration. This is line 2 in every KML 2.1 file.
* A Placemark object that contains the following elements:
o - A name that is used as the label for the Placemark
o - A description that appears in the "balloon" attached to the Placemark
o - A Point that specifies the position of the Placemark on the Earth's surface (longitude, latitude, and optional altitude)

If you were wondering where the Placemark is, it's right over Google's Building 41, where we developed Google Earth!

What users commonly think of as a "placemark" in Google Earth is actually a element with a child in KML. A Point Placemark is the only way to draw an icon and label in the 3D Viewer of Google Earth. By default, the icon is the familiar yellow pushpin. In KML, a can contain one or more geometry elements, such as a LineString, Polygon, or Model. But only a with a Point can have an icon and label. The Point is used to place the icon, but there is no graphical representation of the Point itself.
Descriptive HTML in Placemarks

The KML Samples file has an example of almost everything you can do with Placemark text. You can add links, font sizes, styles, and colors, and specify text alignment and tables. If you'd like to see the full list, copy and paste the "Descriptive HTML" Placemark example (in the Styles and Markup folder) into a text editor.
Auto-Markup in Google Earth (Release 4.0 and later)

Google Earth 4.0 has an auto-markup feature that automatically converts text such as www.google.com into active hyperlinks that the user can click. Text inside the tag, the tag, and the element of are all automatically transformed into standard HTTP hyperlinks. You don't need to add the tags yourself.
Using the CDATA Element

If you want to write standard HTML inside a tag, you can put it inside a CDATA tag. If you don't, the angle brackets need to be written as entity references to prevent Google Earth from parsing the HTML incorrectly (for example, the symbol > is written as > and the symbol < is written as <). This is a standard feature of XML and is not unique to Google Earth.

Consider the difference between HTML markup with CDATA tags and without CDATA. First, here's the with CDATA tags:





CDATA example

CDATA Tags are useful!


Text is more readable and
easier to write when you can avoid using entity
references.


]]>


102.595626,14.996729





And here's the without CDATA tags, so that special characters must use entity references:





Entity references example

<h1>Entity references are hard to type!</h1>
<p><font color="green">Text is
<i>more readable</i>
and <b>easier to write</b>
when you can avoid using entity references.</font></p>


102.594411,14.998518





Ground Overlays

Ground overlays enable you to "drape" an image onto the Earth's terrain. The element contains the link to the .jpg file with the overlay image. Here is the example ground overlay in the KML Samples file, which shows Mount Etna erupting in 2001:




Ground Overlays
Examples of ground overlays

Large-scale overlay on terrain
Overlay shows Mount Etna erupting
on July 13th, 2001.


http://code.google.com/apis/kml/documentation/etna.jpg


37.91904192681665
37.46543388598137
15.35832653742206
14.60128369746704
-0.1556640799496235





Notice that the file begins with the same two lines as the first example: the XML header and KML namespace declaration.

This example uses a Folder (titled "Ground Overlays") as a mechanism to group and label its contents. Notice how the Folder appears in the Places panel when you load the KML Samples file into Google Earth.

The positioning of a ground overlay is controlled by the tag. Bounding values are given for the north and south latitudes, and east and west longitudes. In addition, rotation values are given for images whose y-axis doesn't coincide with grid north. This example uses a JPEG image for the overlay. Google Earth also supports BMP, GIF, TIFF, TGA, and PNG formats.
Paths

Many different types of paths can be created in Google Earth, and it is easy to be very creative with your data. In KML, a path is created by a element. Take a look at the "Absolute Extruded" example in the Paths folder and you can see how the shape has been generated by the following code:




Paths
Examples of paths. Note that the tessellate tag is by default
set to 0. If you want to create tessellated lines, they must be authored
(or edited) directly in KML.



Absolute Extruded
Transparent green wall with yellow outlines
#yellowLineGreenPoly

1
1
absolute
-112.2550785337791,36.07954952145647,2357
-112.2549277039738,36.08117083492122,2357
-112.2552505069063,36.08260761307279,2357
-112.2564540158376,36.08395660588506,2357
-112.2580238976449,36.08511401044813,2357
-112.2595218489022,36.08584355239394,2357
-112.2608216347552,36.08612634548589,2357
-112.262073428656,36.08626019085147,2357
-112.2633204928495,36.08621519860091,2357
-112.2644963846444,36.08627897945274,2357
-112.2656969554589,36.08649599090644,2357






Notice how it is really just one line drawn at altitude above the ground. The tag breaks the line up into smaller chunks, and the tag extends the line down to the ground.
Polygons

You can use Polygons to create simple buildings and other shapes. Check out the Polygons folder in the KML Samples file for examples.

The Pentagon example is generated by drawing simple inner and outer shells and then extruding them down to the ground. Here is the code :




The Pentagon

1
relativeToGround



-77.05788457660967,38.87253259892824,100
-77.05465973756702,38.87291016281703,100
-77.05315536854791,38.87053267794386,100
-77.05552622493516,38.868757801256,100
-77.05844056290393,38.86996206506943,100
-77.05788457660967,38.87253259892824,100






-77.05668055019126,38.87154239798456,100
-77.05542625960818,38.87167890344077,100
-77.05485125901024,38.87076535397792,100
-77.05577677433152,38.87008686581446,100
-77.05691162017543,38.87054446963351,100
-77.05668055019126,38.87154239798456,100








2 Advanced KML Documents

This section describes some of the KML elements that must be authored using a text editor, such as shared styles for geometry, highlighted icons for Placemarks, and screen overlays. Authoring KML "by hand" is a bit more advanced than using the Google Earth interface to create and modify features, but with a small amount of practice, most users are comfortable editing KML files to add these effects.
Styles for Geometry

Once you've created features within Google Earth and examined the KML code Google Earth generates, you'll notice how styles are an important part of how your data is displayed. Power users will want to learn how to define their own styles.

If you define a Style at the beginning of a KML Document and also define an ID for it, you can use this style in Geometry, Placemarks, and Overlays that are defined elsewhere in the Document. Because more than one element can use the same Style, styles defined and used in this way are referred to as shared styles. You define a given Style once, and then you can reference it multiple times, using the element. If the Style definition is within the same file, precede the Style ID with a # sign. If the Style definition is in an external file, include the complete URL in the element.

The KML Samples file contains a number of shared styles, each defined with an ID at the beginning of the file. Note that it's easiest if your IDs are descriptive strings so that you can easily tell what their effect is. Here's an example of a style ("transBluePoly") that defines a transparent blue color for the polygon faces and a line width of 1.5 (and default color of white) for the edges of the polygon. This style is used by Building 41 in the Google Campus example (in the Polygons folder):






Building 41
#transBluePoly

1
relativeToGround


-122.0857412771483,37.42227033155257,17
-122.0858169768481,37.42231408832346,17
-122.085852582875,37.42230337469744,17
-122.0858799945639,37.42225686138789,17
-122.0858860101409,37.4222311076138,17
-122.0858069157288,37.42220250173855,17
-122.0858379542653,37.42214027058678,17
-122.0856732640519,37.42208690214408,17
-122.0856022926407,37.42214885429042,17
-122.0855902778436,37.422128290487,17
-122.0855841672237,37.42208171967246,17
-122.0854852065741,37.42210455874995,17
-122.0855067264352,37.42214267949824,17
-122.0854430712915,37.42212783846172,17
-122.0850990714904,37.42251282407603,17
-122.0856769818632,37.42281815323651,17
-122.0860162273783,37.42244918858722,17
-122.0857260327004,37.42229239604253,17
-122.0857412771483,37.42227033155257,17








Note that the



normal
#normalPlacemark


highlight
#highlightPlacemark



Roll over this icon
#exampleStyleMap

-122.0856545755255,37.42243077405461,0





Screen Overlays

Screen overlays cannot be authored directly within Google Earth and are thus more difficult to create than ground overlays. A comprehensive collection of samples is included in the Screen Overlays folder in the KML Samples file.

As an example, enable the "Absolute Positioning: Top left" folder in the KML Samples file and you will see a screen overlay at the top left of the view window. This was created with the following KML code:




Absolute Positioning: Top left

http://code.google.com/apis/kml/documentation/top_left.jpg








Positioning is controlled by mapping a point in the image specified by to a point on the screen specified by . In this case, the top-left corner of the image (0,1) has been made coincident with the same point on the screen.

Check the other examples in the folder to see how it is possible to obtain other fixed positions, and to create images that size dynamically with screen size. (Note that xunits and yunits can also be specified as "pixels" for precision control.) For further detail, see the KML 2.1 Reference.
Network Links

A network link contains a element with an (a hypertext reference) that loads a file. The can be a local file specification or an absolute URL. Despite the name, a does not necessarily load files from the network.

The in a link specifies the location of any of the following:

* An image file used by icons in icon styles, ground overlays, and screen overlays
* A model file used in the element
* A KML or KMZ file loaded by a Network Link

The specified file can be either a local file or a file on a remote server. In their simplest form, network links are a useful way to split one large KML file into smaller, more manageable files on the same computer.

So far, all of our examples have required that the KML code be delivered to Google Earth from the local machine. Network links give you the power to serve content from a remote location and are commonly used to distribute data to large numbers of users. In this way, if the data needs to be amended, it has to be changed only at the source location, and all users receive the updated data automatically.
CGI Scripting for KML

In addition to pointing to files containing static data, a network link's can point to data that is dynamically generated—for example, by a CGI script located on a network server. With some knowledge of a scripting language such as PHP, Python, or Perl, you can create a script that delivers a stream (or file) of KML data to each network link.

Two things are necessary for delivering KML through a network CGI:

When a call is made from the client (Google Earth) to the server, the server must (1) return a response code of HTTP 200 and (2) set the response's content type to text/plain or application/vnd.google-earth.kml+xml.

The response must be valid KML. For complex applications, proper error handling is very important.

TIP: A simple way to handle errors is to parse the server's error as the text for a folder name. For example, you could have the server return database inaccessible as a string. This is more informative (and more user-friendly) than letting the connection drop.

The following examples use Python, but they are equally valid in any other scripting language.
Generating a Random Placemark

The following Python script generates random integer values for latitude and longitude and then inserts those values into the element of a . Whenever the network link is refreshed, the Python script runs again and generates KML with new latitude and longitude values.

#!/usr/bin/python

import random

latitude = random.randrange(-90, 90)
longitude = random.randrange(-180, 180)
kml = (
'\n'
'\n'
'\n'
'Random Placemark\n'
'\n'
'%d,%d\n'
'
\n'
'
\n'
'
'
) %(longitude, latitude)
print 'Content-Type: application/vnd.google-earth.kml+xml\n'
print kml

Here is an example of a KML file containing a Network Link that loads this Python script:




Network Links
0
0
Network link example 1

Random Placemark
0
0
A simple server-side script that generates a new random
placemark on each call

0
0

http://yourserver.com/cgi-bin/randomPlacemark.py





View-Based Refresh Queries

A standard network link is a uni-directional link: data flows only from the server to Google Earth. The view-based refresh enables bi-directional communication. When the view-based refresh is active, Google Earth returns the view coordinates to the server at a specified time. This may be every n seconds, minutes, or hours, or once a certain amount of time has elapsed since the view stopped moving. See in the KML 2.1 Reference.

The coordinates are returned to the server by means of an HTTP GET that appends the coordinates as follows (this is the default bounding box information):

GET /path/to/sever/script/query?BBOX=[longitude_west, latitude_south, longitude_east, latitude_north] HTTP/1.1

If the request were made while the user was looking down on San Francisco, the coordinates might look as follows:

GET /path/to/server/script/query?BBOX=-122.497790,37.730385,-122.380087,37.812331 HTTP/1.1

This feature can be used for some very creative applications, but to get you started, a simple example is presented below.
Tracking a Point Directly Under Your View

The following server-side Python script parses the return message sent by Google Earth and responds with a Placemark at the center of the screen. Each time the Network Link is refreshed, a new Placemark is generated.

#!/usr/bin/python

import cgi

url = cgi.FieldStorage()
bbox = url['BBOX'].value
bbox = bbox.split(',')
west = float(bbox[0])
south = float(bbox[1])
east = float(bbox[2])
north = float(bbox[3])

center_lng = ((east - west) / 2) + west
center_lat = ((north - south) / 2) + south

kml = (
'\n'
'\n'
'\n'
'View-centered placemark\n'
'\n'
'%.6f,%.6f\n'
'
\n'
'
\n'
'
'
) %(center_lng, center_lat)

print 'Content-Type: application/vnd.google-earth.kml+xml\n'
print kml

And here is the KML for the Network Link that loads the Python script:




Network Links
0
0
Network link example 2

View Centered Placemark
0
0
The view-based refresh allows the remote server to calculate
the center of your screen and return a placemark.

0
0

http://yourserver.com/cgi-bin/viewCenteredPlacemark.py
2
onStop
1





The principle illustrated in this example can be used for some very complex applications. For example, if you have a database of geographic information, you can extract the coordinates of the viewer, make a call to the database for the data specific to the view, and return it to Google Earth as KML.
3 KML MIME Types

When responding to a request from Google Earth (or any Earth browser), a KML server must follow a certain set of rules so that Google Earth can correctly interpret its responses.

Upon success, the server must return a response code of HTTP 200 and set the response's content-type to a suitable MIME type, as described here.

Google Earth reads KML and KMZ files. The MIME type for KML files is

* application/vnd.google-earth.kml+xml

The MIME type for KMZ files is

* application/vnd.google-earth.kmz

For Apache, add these lines to the httpd.conf file:

* AddType application/vnd.google-earth.kml+xml .kml
* AddType application/vnd.google-earth.kmz .kmz

See the Microsoft documentation for details on setting up MIME types on Microsoft's IIS.

The body of the response must contain valid KML data, including the XML declaration (). If the server returns invalid KML, the Network Link will stop, deactivate, and output an error message.

KML Documentation

KML is a file format used to display geographic data in an Earth browser, such as Google Earth, Google Maps, and Google Maps for mobile. KML uses a tag-based structure with nested elements and attributes and is based on the XML standard.

You can create KML files with the Google Earth user interface, or you can use an XML or simple text editor to enter "raw" KML from scratch. KML files and their related images (if any) can be compressed using the ZIP format into KMZ archives. To share your KML and KMZ files, you can e-mail them, host them locally for sharing within a private internet, or host them publicly on a web server. Just as web browsers display HTML files, Earth browsers such as Google Earth display KML files. Once you've properly configured your server and shared the URL (address) of your KML files, anyone who's installed Google Earth can view the KML files hosted on your public web server.

Superoverlays of Aeronautical Charts; created by Matt Fox.


The KML community is wide and varied, as you'll see when you visit the KML community forum. Casual users create KML files to placemark their homes, to document journeys, and to plan cross-country hikes and cycling ventures. Scientists use KML to provide detailed mappings of resources, models, and trends such as volcanic eruptions, weather patterns, earthquake activity, and mineral deposits. Real estate professionals, architects, and city development agencies use KML to propose construction and visualize plans. Students and teachers use KML to explore people, places, and events, both historic and current. Organizations such as National Geographic, UNESCO, and the Smithsonian have all used KML to display their rich sets of global data.

Mind map

From Wikipedia, the free encyclopedia



A hand-drawn mind map
A hand-drawn mind map

A mind map is a diagram used to represent words, ideas, tasks or other items linked to and arranged radially around a central key word or idea. It is used to generate, visualize, structure and classify ideas, and as an aid in study, organization, problem solving, and decision making.

It is an image-centered diagram that represents semantic or other connections between portions of information. By presenting these connections in a radial, non-linear graphical manner, it encourages a brainstorming approach to any given organizational task, eliminating the hurdle of initially establishing an intrinsically appropriate or relevant conceptual framework to work within.

A mind map is similar to a semantic network or cognitive map but there are no formal restrictions on the kinds of links used.

The elements are arranged intuitively according to the importance of the concepts and they are organized into groupings, branches, or areas. The uniform graphic formulation of the semantic structure of information on the method of gathering knowledge, may aid recall of existing memories.


Origins

Mind maps (or similar concepts) have been used for centuries, for learning, brainstorming, memory, visual thinking, and problem solving by educators, engineers, psychologists and people in general. Some of the earliest examples of mind maps were developed by Porphyry of Tyros, a noted thinker of the 3rd century as he graphically visualised the concept categories of Aristotle. Ramon Llull also used these structures of the mind map form.

People have been using image-centered radial graphic organization techniques referred to variably as mental or generic mind maps for centuries in areas such as engineering, psychology, and education, although the claim to the origin of the mind map has been made by a British popular psychology author, Tony Buzan. He claimed the idea was inspired by Alfred Korzybski's general semantics as popularized in science fiction novels, such as those of Robert A. Heinlein and A. E. van Vogt. He argues that 'traditional' outlines rely on the reader to scan left to right and top to bottom, whilst what actually happens is that the brain will scan the entire page in a non-linear fashion. He also uses popular assumptions about the cerebral hemispheres in order to promote the exclusive use of mind mapping over other forms of note making.

More recently the semantic network was developed as a theory to understand human learning, and developed into mind maps by Dr Allan Collins, and the noted researcher M. Ross Quillian during the early 1960s. As such, due to his commitment and published research, and his work with learning, creativity, and graphical thinking, Dr Allan Collins can be considered the father of the modern mind map.[citation needed]

The mind map continues to be used in various forms, and for various applications including learning and education (where it is often taught as 'Webs' or 'Webbing'), planning and in engineering diagramming.

When compared with the earlier original concept map (which was developed by learning experts in the 1960s) the structure of a mind map is a similar, but simplified, radial by having one central key word.

Uses of mind maps

Rough mindmap notes taken during a course session
Rough mindmap notes taken during a course session

Mind maps have many applications in personal, family, educational, and business situations, including notetaking, brainstorming (wherein ideas are inserted into the map radially around the center node, without the implicit prioritization that comes from hierarchy or sequential arrangements, and wherein grouping and organizing is reserved for later stages), summarizing, revising and general clarifying of thoughts. For example, one could listen to a lecture and take down notes using mind maps for the most important points or keywords. One can also use mind maps as a mnemonic technique or to sort out a complicated idea. Mind maps are also promoted as a way to collaborate in colour pen creativity sessions.

Some of the literature around mind-mapping has made claims that one can find the perfect lover, combat bullying, persuade clients, develop intuitive powers, create global harmony, and tap the deeper levels of consciousness by using mind map techniques.

Software and technique research have concluded that managers and students find the techniques of mind mapping to be useful, being better able to retain information and ideas than by using traditional 'linear' note taking methods. [citation needed]

Mindmaps can be drawn by hand, either as 'rough notes', for example, during a lecture or meeting, or can be more sophisticated in quality. Examples of both are illustrated. There are also a number of software packages available for producing mind maps (see below).

Mind map guidelines

Mind map of mind map guidelines
Mind map of mind map guidelines

Tony Buzan suggests using the following foundation structures for Mind Mapping:

  1. Start in the centre with an image of the topic, using at least 3 colours.
  2. Use images, symbols, codes and dimensions throughout your Mind Map.
  3. Select key words and print using upper or lower case letters.
  4. Each word/image must be alone and sitting on its own line.
  5. The lines must be connected, starting from the central image. The central lines are thicker, organic and flowing, becoming thinner as they radiate out from the centre.
  6. Make the lines the same length as the word/image.
  7. Use colours – your own code – throughout the Mind Map.
  8. Develop your own personal style of Mind Mapping.
  9. Use emphasis and show associations in your Mind Map.
  10. Keep the Mind Map clear by using radial hierarchy, numerical order or outlines to embrace your branches [1].

An idea map is similar to a mind map but does not adhere to the above guidelines. Rules are constantly broken based on the purpose and application of the map.

Scholarly research on mind maps

Buzan [2] claims that the mind map is a vastly superior note taking method because it does not lead to the alleged "semi-hypnotic trance" state induced by the other note forms. He also claims that the mind map utilizes the full range of left and right human cortical skills, balances the brain, taps into the alleged 99% of your unused mental potential, as well as intuition (which he calls "superlogic"). However, scholarly research suggests that such claims may actually be marketing hype based on misconceptions about the brain and the cerebral hemispheres. Hemispheric specialization theory has been identified as pseudoscientific when applied to mind mapping [3].

There are benefits to be gained by applying a wide range of graphic organizers, and it follows that the mind map, specifically, is not equally suited to all learning tasks.

Scholarly research by Farrand, Hussain, and Hennessy (2002) found that the mind map technique had a limited but significant impact on recall only, in undergraduate students (a 10% increase over baseline for a 600-word text only) as compared to preferred study methods (a −6% increase over baseline). This improvement was only robust after a week for those in the mind map group, and there was a significant decrease in motivation compared to the subjects' preferred methods of note taking. They suggested that learners preferred to use other methods because using a mind map was an unfamiliar technique, and its status as a "memory enhancing" technique engendered reluctance to apply it [4]. Pressley, VanEtten, Yokoi, Freebern, and VanMeter (1998) found that learners tended to learn far better by focusing on the content of learning material rather than worrying over any one particular form of note taking [5].

Tools

These tools can be used effectively to organise large amounts of information, combining spatial organisation, dynamic hierarchical structuring and node folding.

Mind mapping in contrast with concept mapping

The mind map can be contrasted with the similar idea of concept mapping. The former is based on radial hierarchies and tree structures, whereas concept maps are based on connections between concepts. Concept maps also encourage one to label the connections one makes between nodes, while mind maps are based on separated focused topics; both of them have been found to enhance meaningful learning while enabling the potential as a true cognitive, intuitive, spatial and metaphorical mapping.