GeoChalkboard

A “Spatial” Education Blog

Archive for the 'Google Maps' Category


New Version of Google Maps For Your Apps! E-Learning Course Released

Posted by epimpler on July 12, 2008

GeoSpatial Training Services has released an update to it’s popular Google Maps For Your Apps! e-learning course. This course is designed to enable you to take advantage of Google Maps for your website. You will learn how to create maps, add map controls for user interactions (zooming, and panning), programmatically alter the map extent, add points of interest to the map, add custom icons, geocode addresses on the fly, read addresses from a database or XML file, display aerial photography, import KML files to the Google Maps display, integrate the new Google Earth API for 3D display of GMaps data in a web browser, and integrate local search.

Summary of New Content:

  • Integration with the new Google Earth API for embedding Google Earth in a browser application
  • Import KML files into Google Maps with the GGeoXML class
  • Driving Directions, Traffic Conditions, and Street View
  • Integration of Google Local Search into Google Maps applications
  • An 8 step exercise designed to reinforce the concepts you learn in the lecture portion of the class

Course Modules:

  • Module 1: Introduction to Google Maps
  • Module 2: Google Maps Programming Basics
  • Geocoding with the Google Maps API
  • Reading XML Files (including KML) and Databases
  • Traffic Conditions, Driving Directions, and Street View
  • Google Earth Integration
  • Local Search

During our 3rd Year Anniversary you can purchase this course for $45/e-delivery or $55/mail delivery. Other Google Maps and Google Earth bundles from GeoSpatial Training Services are available including the following:

Posted in GeoSpatial Training Services, Google Earth, Google Maps | No Comments »

Display KML Files in Google Maps with GGeoXML

Posted by epimpler on July 2, 2008

I just wanted to share a cool way that you can display your existing KML files inside a Google Maps application using the GGeoXML class from the Maps API. Many organizations have pre-existing KML files that were created for use within Google Earth, and the GGeoXml Maps API class provides a really simple means for also displaying this data in Google Maps as a GOverlay. Although we are specifically using this class to read a KML file in this example it is worth noting that this class can be used to read any XML file.

In this example, we’re displaying an auto-updating KML file containing Global MODIS Hotspots provided by the Fire Information for Resource Management System (FIRMS) at the University of Maryland. FIRMS integrates remote sensing and GIS technologies to deliver global MODIS hotspot/fire locations to natural resource manager and other stakeholders around the world. FIRMS is funded by NASA and builds on Web Fire Mapper, a web mapping interface that displays hotspots/fires detected by the MODIS Rapid Response System and delivers near real-time hotspot/fire information to international users.

FIRMS provides several auto-updating KML files for regions around the world. Any of these files can be loaded into Google Earth. What I’ve done is take the Continental USA KML file which is updated every four hours (as are the other files) and dynamically loaded the file into a simple Google Maps application using the GGeoXML class in the Maps API.

Take a look at this example and then I’ll describe how this is done within Google Maps.

From a code standpoint, the Maps API makes this a really easy task which can be done with only a few lines of code. To see the full code for this simple Maps application you can simply right click the web page and click View –> Source. I’ve posted the relevant code below. The initialize function is called when the web page loads. We create a new instance of the GGeoXML class and pass in a parameter to the constructor which contains a pointer to a KML file located on a remote web server. In this case we’re pointing to the Continental USA KML file located on the FIRMS web server. Once we’ve created an instance of GGeoXML we then add it to the map using the addOverlay( ) method on the GMap2 class. In between we have some additional Maps API code which creates the underlying map, centers the map, and adds the map controls.

As you can see, using the GGeoXML class to add pre-existing KML files to your Google Maps application is quite simple and very useful. Even the descriptive balloons contained within the KML file have been ported to info windows in Google Earth. Click one of the fire locations to return specific information about a particular fire.

For more information on the Google Maps API or GeoSpatial Training Services please see our e-learning course entitled “Google Maps For Your Apps” or our “Google Maps Developer Bundle” which is currently on sale as part of our 3rd Year Anniversary Sale.

Posted in Google Earth, Google Maps, KML | No Comments »

Benefit from GIS E-Learning Opportunities

Posted by epimpler on June 17, 2008

Introduction
In recent years there has been a large movement towards e-learning in many industries, and GIS is no exception. Although computers will never completely eliminate the need and desire for human interaction between instructor and student, the many benefits it offers far outweigh the limitations of the medium. In this post we will examine the benefits, drawbacks, availability, and types of e-learning currently available to GIS professionals.

Features Unique to E-Learning
Knowing a little bit about learning styles can help you determine if e-learning is for you. The interaction and delivery methods used in online classes are dramatically different from traditional classes, so understanding how you learn is a good part of the decision-making process. The three predominant learning styles are visual, auditory, and tactile/kinesthetic. Visual and auditory learning styles fall into the category of passive learning modes while the tactile/kinesthetic learning style is an active learning mode. An active learning mode implies that learning is accomplished by doing or practicing a task and/or speaking about what we learn. Most people tend to fall into this category. However, some people learn best through a passive learning mode which is done through seeing and reading.

Like no other training form, e-learning promises to provide a single experience that accommodates the three distinct learning styles of auditory learners, visual learners, and kinesthetic learners. Other advantages created by the advent and development of e-learning are more efficient training of a globally dispersed audience; reduced publishing and distribution costs as Web-based training becomes a standard; and decreased costs of training from a travel and training materials standpoint.

E-learning also offers individualized instruction, which print media cannot provide, and instructor-led courses allow clumsily and at great cost. In conjunction with assessing needs, e-learning can target specific needs. And by using learning style tests, e-learning can locate and target individual learning preferences.

Additionally, synchronous e-learning is self-paced. Advanced learners are allowed to speed through or bypass instruction that is redundant while novices slow their own progress through content, eliminating frustration with themselves, their fellow learners, and the course.

In these ways, e-learning is inclusive of a maximum number of participants with a maximum range of learning styles, preferences, and needs.

Benefits

Some of the advantages to the learner include:

  • Reduced cost
    This is the single most influential factor in adopting e-learning. The elimination of costs associated with student travel, lodging, and meals are directly quantifiable. With the cost of gasoline now reaching over $4.00/gallon and airfare costs increasing weekly this adds up to big savings. The reduction of time spent away from the job by employees may be the most positive offshoot.
  • Learning times reduced
    An average of 40 to 60 percent, as found by Brandon Hall (Web-based Training Cookbook, 1997, p. 108).
  • Increased retention
    Retention averages an increase of 25 percent over traditional methods, according to an independent study by J.D. Fletcher (Multimedia Review, Spring 1991, pp.33-42).
  • On-demand availability
    Enables students to complete training conveniently at off-hours or from home.
  • Self-pacing
    For slow or quick learners reduces stress and increases satisfaction.
  • Interactivity
    Engages users, pushing them rather than pulling them through training.
  • Confidence
    Responsibility of mastery is reduced since materials are available as a refresher or quick reference materials.

Drawbacks
The ways in which e-learning may not excel over other training include:

  • Technology issues
    Some learners are fearful or intimidated by technology or the technology is unavailable for use.
  • Portability
    E-Learning is not as portable as printed workbooks or reference material, but the limitations of portability have been greatly reduced through wireless connections, network links, notebook computers, PDAs and mobile phones.
  • Reduced interaction
    Social and cultural interaction can be a drawback. The impersonality, suppression of communication mechanisms such as body language, and elimination of peer-to-peer learning that are part of this potential disadvantage are lessening with advances in communications technologies.

Types of E-Learning and Delivery Methods
E-learning takes many forms including the following:

  • Web based (Blackboard, Moodle, WebCT)
  • Computer-based (CD-ROM)
  • Blended learning – combination of online and face to face
  • Video/audio
  • Blogs, Chat, and Discussion Forums
  • Hard-copy Workbooks
  • Videoconferencing and/or Teleconferencing

It is not uncommon for more than one of these delivery formats to be used in the same course of study to supplement the learning experience.

Availability of GIS E-Learning Opportunities
A number of GIS e-learning opportunities exist from commercial and academic institutions. We don’t have room in this article to highlight all the available distance learning programs offered by colleges and universities so we have highlighted a few of the better known options.

Non-Academic

  • GeoSpatial Training Services
    Our company, GeoSpatial Training Services, provides both web-based and computer-based e-learning opportunities focusing primarily on Google Earth, Google Maps, and ESRI technologies.
  • ESRI Virtual Campus
    The ESRI Virtual Campus hosts a number of self study courses through their virtual campus.
  • New Urban Research
    New Urban Research offers twelve advanced topic ArcGIS Tele-Classes.

University Distance Learning Programs

  • UNIGIS International
    UNIGIS is a worldwide network of educational institutions which offer distance learning courses in GIS. Institutions within the UNIGIS network offer internationally recognized qualifications for GIS professionals and those seeking to enter the field.
  • Penn State University
    Penn State offers a Masters Degree in GIS through their World Campus program.
  • Institute for Advanced Education in Geospatial Sciences
    IAEGS was established as a collaborative course development center, based at the University of Mississippi in Oxford, Mississippi and hosts a number of courses on topics such as remote sensing, photogrammetry and digital image processing, and other geospatial technology topics.
  • University of Southern California
    USC offers both a Master of Science + Technology degree along with a GIST certificate program.
  • Elmhurst College
  • University of Denver

GeoSpatial Training Services: Our Approach to GIS E-Learning
At GeoSpatial Training Services, we focus on the development of Internet based and computer based (CD-ROM) courses for the geospatial industry and we focus heavily on Google Earth, Google Maps, and ESRI technologies. Through our Virtual GIS Classroom we offer Internet based courses such as “GIS Programming 101: Mastering Python for Geoprocessing in ArcGIS” and will soon have additional offerings. In addition, we offer a wide array of computer based GIS training options available by e-delivery (download) or traditional via traditional CD-ROM. Furthermore, we develop custom training solutions for geospatial custom off-the shelf products (COTS) and organizations and conversion of instructor led training materials to various e-learning formats.

Posted in ESRI, GeoSpatial Training Services, Geoprocessing, Google Earth, Google Maps | No Comments »

Setting Google Maps Street View Orientation with GPov

Posted by epimpler on April 18, 2008

In our last post we introduced the new Google Maps API Street View objects which give developers the ability to enable Flash based street visualizations in select U.S. cities.  I described the functionality provided by the Street View objects as well as the capabilities of each object.  Finally, we took a look at a simple code sample that shows you how to use these objects to create a Street View Flash viewer. 

In this post we will examine how you can control the orientation of the Street View Flash viewer through the GPov class.  As we discussed last time, a Street View image consists of both a location, specified by a GLatLng object, as well as a particular orientation.  The orientation is specified through the GPov class.  Used together, these two parameters are used to construct the initial Street View object. 

Let’s examine the GPov class in greater detail.  GPov is an object literal which simply means that you do not create individual instances of a GPov through either a constructor or via other objects.  You simply use the properties and/or methods that are available to the literal class.  Let’s take a look at a code example to illustrate this point.

Example: Setting the GPov properties
myPOV = { yaw:90.00, pitch:-20, zoom:30 }

Properties of GPov
GPov has three optional properties that you can set, each of which are numeric values.

yaw – The camera yaw in degrees relative to true north.  True north is 0 degrees, east is 90 degrees, south is 180 degrees, and west is 270 degrees. 

pitch – The camera pitch in degrees, relative to the street view vehicle.  Values can range from 90 degrees (directly upwards) to -90 degrees (directly downwards)

zoom – The zoom level with 0 being fully zoomed-out, and values increased from there.

Note that I said all these parameters are optional.  In the event that you choose not to define any properties for GPov, they each default to 0 which defines a flat horizontal view directly north with the widest possible view.

Applying GPov to Street View
Once you’ve defined the parameters for GPov you will need to assign it to a GStreetviewPanorama object for the settings to take effect.  This can be done in two ways.  The first method is to assign GPov to an instance of GStreetviewPanoramaOptions which is then used in the constructor for GStreetviewPanorama.  Let’s take a closer look at how this is accomplished.  GStreetviewPanoramaOptions, like GPov, is an object literal.  This object literal has two properties that can be set: an instance of GLatLng, and an instance of GPov.  A code example can help reinforce this concept.

Example: Setting the GStreetviewPanoramaOptions properties and then using it in the constructor for GStreetviewPanorama
panoramaOptions = {  latlng:theAlamo, pov:myPOV }
myPano = new GStreetviewPanorama(document.getElementById(”pano”), panoramaOptions)

Click here to see the example in a web page.  Notice that we have set the yaw parameter to 90 which sets the direction to east.

The second method of assigning GPov to an instance of GStreetviewPanorama is through the setLocationAndPOV( ) method available on GStreetviewPanorama.  The setLocationAndPOV( ) method can be used to set the POV after an instance of GStreetviewPanorama has been created.  Once again, a code example is helpful to reinforce this concept. 

Example: Setting the POV through setLocationAndPOV
myPano = new GStreetviewPanorama(document.getElementById(”pano”));
var theAlamo = new GLatLng(29.425849,-98.486927);
myPOV = {yaw:90}myPano.setLocationAndPOV(theAlamo,myPOV) 

For more information on the Google Maps API please see our popular e-learning course “Google Maps For Your Apps!“.  This course has been in production since January 2006 and has been our best selling course since that time.  During the month of April you can save $15.00 on this course by entering a discount code of GISDiscount when purchasing this course through our website
 
This discount also applies to our “Google Earth and Google Maps Bundle” e-learning set which contains Google Maps For Your Apps along with several other Google Earth courses.
 
 

 

 

Posted in Google Maps | No Comments »

Add Google Maps Street Views To Your Apps

Posted by epimpler on April 6, 2008

Many Google Maps developers have been eagerly awaiting the inclusion of objects for controlling Street Views from the Google Maps API, and last week it became official!  A handful of new objects including GStreetviewPanorama, GStreetviewOverlay, GStreetviewClient, and GStreetviewLocation among others have been added to the Google Maps API that allow developers to include these Flash enabled street visualizations. 

What is StreetView?
For those of you who are not familiar with Google Maps Street View let me do a quick review.  In certain large metropolitan areas of the U.S. you can view and navigate within Google Maps via street-level imagery.  You’ll notice that when you go to the main Google Maps page a new button called Street View has been added to the display.

Clicking the Street View button will display a Camera for each city that has the capability of displaying Street Views.  You can click on an individual camera to zoom to your city of interest.

Streets that are capable of displaying a Street View will be outlined in blue and you will also see a human icon that can be used to display a Street View.  You can simply drag the icon onto the street you’d like to display or simply click on a street with your mouse.

This street-level imagery is provided through a Flash plugin so you should make sure that you have installed the latest version of Flash for your browser.  You’ll notice that a number of navigation and display controls are embedded in the Street View. 

Navigating the streets
Each street is labeled and contains arrows indicating direction.  You can click these arrows to navigate further in that direction. 

Zooming
There are a number of methods that you can use to control zooming in and out on the image.  Double-clicking the image, using your mouse wheel, or using the zoom control can all be used to zoom in on the image.  Once you’ve zoomed in a ‘Zoom Out’ button will then be provided or you can use the mouse wheel or zoom control to move back out on the image. 

Panning
Panning is accomplished either by dragging the image in the direction in which you’d like to pan or by clicking the pan buttons.  You can even tilt the image to see the sky or ground by dragging the mouse up or down. 

You can also use the arrow keys on your keyboard to control navigation along the street and to pan the image display.

New Classes in the Google Maps API
Let’s do a quick overview of the new classes for controlling Street View that have been added to the Google Maps API. 

GStreetviewPanorama – Holds an instance of the Flash® Street View Panorama viewer.  Normally embedded within a container object such as <div> and can be manipulated through its methods.

GStreetviewPanoramaOptions – Represents options that can be passed to the GStreetviewPanorama constructor.

GStreetviewOverlay – Tileset highlighting locations where Street View data is available.

 GStreetviewClient – Performs searches for Street View data based on parameters passed to its method.

GStreetviewData – Represents the data associated with a panorama.

GStreetviewLocation – Represents a street view location.

GStreetviewLink – Represents a link from one GStreetviewLocation to a neighboring GStreetviewLocation.

GPov – Repreesents the structure of a camera point of view used by street view.

A Simple Example
I’m going to do a series of posts that show you how to use these classes in your Google Maps application.  In this post we’ll start with a simple example.  Click here to see our first example and you can display the code for this example by right clicking the page and selecting View Source.  If you’ll click the right pan button twice you should see the Alamo in San Antonio, Texas.  Let’s review the code.

The new Street View classes that have been added to the Google Maps API are accessible through JavaScript just the same as any other class in the API.  Let’s first review the a line of HTML code near the bottom of the file. 

The <div> tag is used as a container for the Street View and you will need to assign an id to the div along with a height and width for the container.  Notice that we have assigned a value of ‘pano’ as our id.  You’ll see this value again inside the JavaScript when we assign our StreetViewPanorama to this container.  You’ll also notice in the code above that we have defined a JavaScript function that will be called in response to the onload event.  In this case, the initialize() function will be called when the page loads.  So, let’s take a look at the initialize() function since this is where we create our Street View.

Just above the initialize() function you’ll notice that we’ve declared a variable called myPano which will store the Street View Panorama that is created.  Inside the function we create a new GLatLng object from a pair of coordinates and store this object in a variable called theAlamo.  This value is then used in the panoramaOptions variable which will be passed into the constructor for GStreetviewPanorama in the next line.  Remember that we said the GStreetviewPanorama object holds an instance of the Flash® Street View Panorama viewer.  It is the primary object used for the Street Views in Google Maps.  The supporting GStreetviewPanoramaOptions is used in the constuctor for GStreetviewPanorama and defines various options that are used to control the display and functionality of the viewer.  In this case we’re only passing in a latitude/longitude coordinate value, but you can also pass in a GPov object that controls the camera orientation with which to open the Flash viewer.  The other parameter in the GStreetviewPanorama constructor controls where the Street View will appear.   This is where the <div> tag that we created in the HTML body comes into play.  When we pass in document.getElementById(”pano”) to the constuctor we are specifically stating that the Street View should be placed in this <div> tag container.  Finally, we add in an event listener for the Street View so that it can report browsers that are unable to support the Flash plugin. 

This was a very simple example that demonstrates how you can use the new Street View classes in the Google Maps API to add in Street Views to your Google Maps application.  In our new few posts we will take a look at more advanced Street View code examples. 

For more information on the Google Maps API please see our popular e-learning course “Google Maps For Your Apps!“.  This course has been in production since January 2006 and has been our best selling course since that time.  During the month of April you can save $15.00 on this course by entering a discount code of GISDiscount when purchasing this course through our website

This discount also applies to our “Google Earth and Google Maps Bundle” e-learning set which contains Google Maps For Your Apps along with several other Google Earth courses.

Posted in Google Maps | 1 Comment »

Using Spreadsheet Mapper 2.0 with Google Earth & Google Maps

Posted by epimpler on March 11, 2008

Over the next few weeks I’m going to be writing a series of posts on some of the lesser know tools provided by Google for creating data layers in Google Earth and Google Maps.  The Google Earth Outreach program provides a number of these tools.  According to a press release from early last summer, Google Earth Outreach is “designed to help nonprofit organizations around the world leverage the power of Google Earth to illustrate and advocate the important work they do.”  The program includes comprehensive online guides, video tutorials, and case studies about using Google Earth specifically targeted to the needs of nonprofit organizations.  In addition, organizations can also apply for a Google Earth Pro grant ($400 value). 

In this initial post we’ll take a look at the Spreadsheet Mapper 2.0 tool created by the Outreach team for creating Google Earth and Google Maps placemark layers using Google Docs.  Google Docs is a great way to create, share and collaborate on documents, spreadsheets and presentations online.  Spreadsheet Mapper takes advantage of this online, collaborative environment by allowing you to create placemark layers for display in Google Earth and Google Maps through a spreadsheet created in Google Docs.  Because Google Docs is a collaborative tool, members of your team can simultaneously enter data and instantly publish updates to GE and GMaps.  So, let’s take a look at how this is done through a basic example.

In this example we’re going to create a placemark KML file containing existing Starbucks locations. The Starbucks data contains a unique identifer for each location along with the latitude, longitude coordinate pair and a physical address.  This data is contained within the “Starbucks No Linefeeds.csv” file which was last updated in January 2008. This file contains almost 9,000 Starbucks locations.  Since there are so many locations I’m only going to use a sample area for this example. The download also contains a Starbucks.bmp image which we’ll use in our next post in the series which covers Spreadsheet Mapper templates for styling icons and information balloons.  Let’s get started.  By default, Spreadsheet Mapper will use various templates to create some sample data.  We’ll do this first and then replace the sample data with our own Starbucks location data.

  1. Open the starter spreadsheet.  If you haven’t already done so you’ll need to login to your Google account or create one if necessary.
  2. Select File –> Rename and give you spreadsheet a name (”Starbucks Locations”).
  3. Fill in the “Author’s Information” and “About your KML Document” sections.
  4. Optional Parameters
    • Enable “Google Maps Compatibility” if you want the layer to work in Google Maps
    • Access the “Advanced/Optional Settings” by clicking the tab indicated on the left to un-hide rows
  5. Click the Publish tab and select Publish Now.  This step will publish the document to the web at the URL listed.
  6. Copy the publisher URL and paste it into the white cell provided under “Publish spreadsheet”.
  7. Copy the “Network Link KML” cell that you see below, open Google Earth, select My Places, then right-click and paste.
    Network Links capability in Google Earth provides for the delivery of dynamic data to your users.  We are using a Google Docs spreadsheet which can be edited by multiple users simultaneously.  Network Links in Google Earth are a perfect complement to a Google Docs spreadsheet since they can automatically refresh the Google Earth display to reflect updated data from a spreadsheet.  Get more information on Network Links in our “Mastering KML in Google Earth” e-learning course.So, at this point we’ve copied the sample data contained in the template into Google Earth.  You will notice a variety of folders, placemark icons and information balloons which have been created based on parameters found in the templates contained within Spreadsheet Mapper.

    The Spreadsheet Mapper comes with six templates that can be used to control icon and balloon styles.  Click any of the links at the bottom of the spreadsheet to get more information about each of these templates.  We’ll cover detailed information about the templates in a coming slide, but for now you can get an idea of how they are structured.
  8. At this point you’d want to prepare your template values.  However, as I mentioned above I’m going to save the details of altering the template values for another post since it really deserves a thorough explanation. 
  9. Now let’s add in the Starbucks data.  Open the “Starbucks No Linefeeds” Excel spreadsheet which contains the latitude,longitude, identification, and address values for each Starbucks location.  Due to the large size of the file I’m only going to add in Starbucks locations for my city, San Antonio.  Go to the PlacemarkData link at the bottom of the spreadsheet.
    • The Folder Name is optional, but in this case we’re going to define the folder name as “Starbucks” for each placemark instance.  What this will do is group the placemarks under the same Folder in Google Earth.  This would be helpful if you’d like to group Starbucks locations by city (i.e. San Antonio, Dallas, Houston, Austin). 
    • For the Placemark Name column I’m going to add in the unique identifier for each location based on the information pulled from the Excel spreadsheet we downloaded.  You should be able to copy and paste the data from MS Excel to the Google Docs spreadsheet to save time.
    • We’ll also enter the latitude, longitude values for each Starbucks location, also pulled from the Excel spreadsheet we downloaded.  If you don’t have coordinate values for each placemark you can enter an address which can be used to generate the placemark. 
    • Finally, we specify a template (#5 in this case) to define our icon and balloon styles.  The spreadsheet should look something like you see below.
  10.  Click Publish –> Re-publish document in your Google Docs spreadsheet.  Then refresh your network link in Google Earth by right clicking on “Link to - Spreadsheet” in the Places panel and selecting Refresh.  This should refresh the Google Earth display with the new Starbucks locations we entered in the Google Docs spreadsheet.
 
In our next post we’ll cover the templates provides by Spreadsheet Mapper and also take a look at how you can create your own templates.
March Sale on Google Earth and Google Maps E-Learning Courses
During the month of March we are offering a 15% discount on our “Google Earth and Google Maps Bundle” e-learning set.  Sale price is $170.00 (e-delivery), $210.00 (mail delivery).  This bundle is composed of 5 e-learning courses with over 450 pages of instruction.  Courses include:

Posted in Google Earth, Google Maps, Network Links | 2 Comments »

GeoSpatial Training Services - March 2008 Update

Posted by epimpler on March 3, 2008

GIS Programming 101 Course
Our GIS Programming 101 course scheduled for March 24th - April 18th is almost full.  We still have one seat available so if you’re interested please let us know ASAP.  Because the demand for this course has been so high we will be offering a second section of this course in the May-June timeframe.  The exact timing of the course has not been determined as of yet, but we will let everyone know as soon as we have the dates. 

This is an instructor guided course taught in a Virtual GIS Classroom using the same technologies implemented by colleges and universities around the world to deliver Internet based courses. Our new Virtual GIS Classroom blends the best of instructor led and e-learning formats into a new instructor led web based format that allows for more interactivity between the instructor and student, and between students.

GIS Programming 101: Mastering Python for Geoprocessing in ArcGIS is designed to teach the fundamental programming constructs of the Python language and how it can be integrated with ArcGIS Desktop to automate geoprocessing tasks.  Course participants will be led through a series of 13 modules described below.
Module 1:  Getting Started with Python in ArcGIS
Module 2:  The Geoprocessor ArcObject
Module 3:  Basic Python Language Features
Module 4:  Obtaining Descriptive Information About ArcGIS Data
Module 5: Using Cursor Objects to Select, Edit, and Add Records to Tables and Feature Classes
Module 6:  Enumeration Objects for Listing ArcGIS Data
Module 7:  Miscellaneous Objects
Module 8:  Dynamic Scripts
Module 9:  Integrating Python Scripts with ArcToolbox
Module 10:  Geoprocessing Tools
Module 11: Scheduling Geoprocessing Tasks
Module 12:  Messaging and Error Handling
Module 13:  Final Project

March Sale on Google Earth and Google Maps E-Learning Courses
During the month of March we are offering a 15% discount on our “Google Maps and Google Earth Bundle“.  Regular price is $200.00 (e-delivery), $250.00 (mail delivery), but during the month of March you can purchase this bundle for $170.00 (e-delivery), $210.00 (mail delivery). This bundle is composed of 5 e-learning courses with over 450 pages of instruction.  The five courses are as follows:

Mastering KML in Google Earth
Google Earth for ArcGIS Users
Google Maps for Your Apps!
Arc2Earth for ArcGIS Users
Dynamic Google Earth Applications (in development scheduled for March release)

See more information on these courses.

As always we offer an additional 15% discount on any course to all educational, non-profit, local, state, and federal government organizations.  Please contact sales at geospatialtraining.com to take advantage of this discount.

Posted in ESRI, GeoSpatial Training Services, Geoprocessing, Google Earth, Google Maps | No Comments »

Transportation Features in Google Maps

Posted by epimpler on January 1, 2008

The Google Maps API has recently seen the addition of some new transportation related features including traffic overlays and driving directions.  Traffic support and driving directions are both new features of the API and require the use of the v=2.x parameter.  Traffic overlays are color-coded polyline data that represents traffic speeds on major highways and can be displayed for more than 30 U.S. cities.  This functionality is implemented through the GTrafficOverlay class. 

The GTrafficOverlay class, which implements the GOverlay interface, can be added to the Google Maps display through the GMap2.addOverlay( ) method.  See the code example below for details on how this is done.  In addition, the GTrafficOverlay class has two methods, hide( ) and show( ) which are used to toggle the display of traffic information.

Driving direction functionality is provided through the GDirections class and the supporting GStep and GRoute classes.  GDirections is used to query for driving directions and display the results on a map and/or text panel.  The returned information can include a map with polyline routes and/or textual information.  Requests for directions can either be a query string or geographic coordinates. 

The constructor used to create new instances of GDirections takes two optional parameters.  The map parameter is used to hold the map showing driving directions, and the panel parameter is used to store textual driving directions.  Once created, an instance of the GDirections object then uses the load( ) method to issue a new directions query.  This query is composed of a string containing a valid directions query.  See below for a code example.

There are a number of methods on GDirections that can be used to clear directions results, get the status of a directions request, get the distance of the directions request, obtain routes, and much more. 

Each successful result returned by loading a directions query request returns one or more route objects representing the beginning and ending points of a street segment.  GRoute objects store information about a single route in the directions result.  Various methods are available on GRoute that enable you to get the starting and ending points of the route, get the distance and time of the route, and return an HTML summary of the route.

For more information on the Google Maps API please see our “Google Maps For Your Apps” e-learning course.

Posted in Google Maps | No Comments »

Google Maps E-Book

Posted by epimpler on January 1, 2008

We recently updated our “Mashup Mania with Google Maps” e-book to include new functionality provided by the Google Maps API including transportation features such as traffic overlays and driving directions, integration with KML and GeoRSS formats, the addition of the terrain map control, and other new features.

Our 49 page e-book on the Google Maps API covers everything you need to know about programming Google Maps to create dynamic web mapping applications with one of the hottest mapping technologies.  You will learn how to create maps, add map controls for user interactions, programmatically alter the map extent, add points of interest to the map, add custom icons, geocode addresses on the fly, read addresses from a database or XML file, and display aerial photography. 

To obtain your free copy of our “Mashup Mania with Google Maps” e-book simply sign-up for our email newsletter at our website.

To obtain additional information on the Google Maps API please see our e-learning course, “Google Maps For Your Apps“.  In addition, GeoSpatial Training Services also provides a full set of Google Earth and ESRI  e-learning courses.  Please see our website for more details.

 Terrain Data

Transportation Features

Posted in GeoSpatial Training Services, Google Maps | No Comments »

Replacing ArcIMS with Arc2Earth Publisher?

Posted by epimpler on December 10, 2007

James Fee wrote about the “The Day ArcIMS Died” in an April 23rd blog entry on his Spatially Adjusted blog.  James argued that you might be better off saving the money, time, and effort you’re investing in ArcIMS and replace it with Arc2Earth.  As James mentioned, “By not being able to serve up tiles, ArcIMS is slow, outdated and ugly. Time to move on (and I say this with great regret because I’ve rolled out more ArcIMS sites than I can remember over the years).”  At a fraction of the cost of ArcIMS, Arc2Earth is an efficient way to publish your ArcGIS data into a simple web based application.  Arc2Earth is particularly well suited for organizations that want to provide online mapping functionality, but don’t have the hardware (servers), software budget for ArcIMS or ArcGIS Server, or technical capabilities to develop custom applications.  They simply want to provide online access to their maps and data without any hassle.  I’m not here to denigrate ArcIMS or any other ESRI product.  In its time, ArcIMS was certainly a force in the delivery of online mapping applications.  However, Arc2Earth provides an excellent, and in many ways a superior alternative to ArcIMS for some users.  For anyone unfamiliar with Arc2Earth please read our past entries for an overview of its capabilities.

In this post I’ll show you the mechanics of exporting your ArcGIS data to Google Maps or Microsoft Virtual Earth from Arc2Earth using Amazon S3 to store your output data.  This solution set is an excellent way for organizations to efficiently and inexpensively publish their ArcGIS data to an online mapping application.  Arc2Earth is an ArcGIS extension so you can use these tools directly inside ArcMap.  The diagram below gives you a visual depiction of the process of creating map tiles from ArcGIS data through the Map Tile Exporter and their ultimate destination inside an Arc2Earth generated Map Viewer. In this case the Google Maps viewer is used.  Click here to see a demonstration of this process.

The General tab (seen below) on the Map Tile Exporter includes options for naming your map, background color, map appearance, and image format. The map name should be unique across all maps and defaults to the name of the active data frame in ArcMap. Background options control the background color and transparency. The appearance options apply primarily to Google Maps and include parameters for including Google Maps base maps and hybrid maps along with an option for exporting map graphics. 

 

The Levels tab contains options and information concerning the various map levels that will be created. Map tiles will be created based on the format used by the particular mapping provider and consist of up to 22 levels with a Mercator World Projection applied. You can define a start and end level for your export, and Arc2Earth will export all levels between these two values. It is rare that you will need an application that needs all levels. Other options include an option for full extent export, the creation of debug tiles, and the creation of GE tiles and regions. Storage estimates are provided so that you can accurately gauge the storage requirements that will be necessary as a result of the output. Other options from this tab include the ability to define exclusion and inclusion masks, and a Restart option for Enterprise users.

An export mask is a polygon layer used during the export to limit the amount of geographic area processed. Masks are an important component in increasing the processing speed for large data exports. There are two types of masks that can be used during your export: exclusion and inclusion. All masks should be polygon layers.  An exclusion mask is a polygon layer used to exclude areas from the export process. Any map tile fully contained by any polygon in this mask is skipped during the export process.  An inclusion mask is the exact opposite of an exclusion mask in that only tiles that fall within this mask are exported. This process only checks tile chunks so polygons in this layer should be large enough to accommodate some extra overlay at the edges.

The Storage tab for the Map Tile Exporter is used to specify where your data will be exported, and can include local, remote web server, and Amazon S3 options. Local storage allows you to select a local directory on your computer. By default, map tiles will be stored in the My Documents\KML Documents\Export Data\<Your Map Name> folder. Remote storage can be to a local server or a web server. Local servers normally refer to a web server virtual directory. If you have an Amazon S3 account you can enter your access and secret keys. You will need to have an account through Amazon to use this option.

The Viewers tab can be used to decide which viewers to create for your map, and the options include Google Maps, Google Earth, and MS Virtual Earth. When selecting the Google Maps option you will need to enter the API key you were assigned when creating a Google Maps account.

Let’s take a look at a demonstration of this process.  Pretty impressive!

For more information on e-learning or instructor led courses provided by GeoSpatial Training Services please click here.

Posted in Arc2Earth, Google Maps | 1 Comment »