Sunday, February 22, 2009

Gaia users create new Extenders

Gaia users have created their own version of the Framework WFS "one-click" Extender (The Carbon Project's Gaia shown above for reference)

The Carbon Project has been getting some positive feedback on The Carbon Portal about Gaia and the Extenders API, and people are now creating their own Extenders including -

  • A Gaia Extender for capturing the active map to the clipboard
  • A new version of our USGS Framework WFS "one-click" Extender
  • An Extender to enter an address, geocode it and move the map to that location.
  • One to add a note (or just a marker) to a map using the Gaia Extender API
You can try it yourself by getting Gaia free from this link. Sample Extenders are available here. Good luck with the development.
- Jeff

Sunday, February 15, 2009

INSPIRE View Service inspired by WMS

INSPIRE is a Europe-wide initiative launched several years ago and developed in collaboration with Member States. It aims to make geographic information available to support formulation, implementation, and monitoring of European Community policies. A key INSPIRE requirement is defining a web service that can be implemented across Member states to provide a visual representation of geographic information by creating an image of the data using portrayal rules - making it possible to display, navigate, zoom in/out, pan or overlay viewable spatial data, display map legends and relevant metadata from any Member state.

To support this "visual representation" requirement, INSPIRE defined a draft View Service Implementing Rule (IR) to ensure that online services of Member states are compatible in a trans-boundary context - and a look into the INSPIRE "View Service" yields some interesting similarities with the ISO 19128 Web Map Service (OGC WMS 1.3). Here's a look at mandatory and optional service operations from both the INSPIRE View Service and ISO 19128 -

Get Service Metadata (m) - GetCapabilities (m)

Get Map (m) - GetMap (m)

Get Feature Information (o) - GetFeatureInfo (o)

A comparison of the Get Map request parameters of INSPIRE View Service and ISO 19128 yields even more similarities -

Request type - REQUEST
Layers - LAYERS
Styles - STYLES
Coordinate Reference System - CRS
Bounding box - BBOX
Image width - WIDTH
Image height - HEIGHT
Image format - FORMAT

Of course, the INSPIRE View Service is based on the ISO 19128 (OGC WMS 1.3) plus SOAP bindings. Why did INSPIRE base the View Service on WMS? Well, INSPIRE coordinators believed a pan-European framework should be based on spatial information infrastructures created by the Member States, and that such infrastructures should be designed to ensure that spatial data are stored, made available and maintained at the most appropriate level. They also wanted to ensure that it's possible to combine spatial data from different sources across the Community in a consistent way and share them between users and applications.
To do this, they turned to an international standard for pan-European interoperability - ISO 19128 (OGC WMS 1.3).
- Jeff

Wednesday, February 11, 2009

Source code to add Notes with Gaia Extender API

Recently folks on The Carbon Portal Gaia Forum asked, "Is it possible to add a note (or just a marker) to a map using the Gaia Extender API?" We responded with a way to externally add notes using the Extenders API, and an initial .NET code sample - then got to thinking about providing source code for our NoteEditor to help people with their Gaia Extenders development. Here's some code snippet from the example, the rest is on The Carbon Portal -

public class ExtenderImplementer
// Get Gaia's Note Container
NotesContainer notesContainer = null;
public void SetNotesContainer
(NotesContainer notesContainer)
this.notesContainer = notesContainer;

// Add note to notes container and map
private void AddNoteEntity(ItemNote note,
NotesContainer container,
ContextMenuStrip contextMenu, bool
NoteEntityControl entity =
container.AddNote(note, note.Text, null, true);
entity.ShowCheckBox = showCheckBox;

- Jeff

Monday, February 09, 2009

Gaia Tutorial - Using Virtual Earth, Notes and Geotagged Images

In this part of the Gaia Video Tutorial Nuke discusses the basic elements of the Gaia application and demonstrates how to add a Virtual Earth map, add and edit a Note on the map and use geotagged images. Lastly, he discusses how Geospatial Session Files (GSFs) are used to preserve and share your Gaia sessions.

Test question - What is Donald Trump's signature shirt color (the answer's in the lesson ;-)

- Jeff

Rock scientists close on WMS network milestone

Earth and computer scientists are working together on a global project called OneGeology to produce the first digital geological map of the world. This project is doing the same for the rocks beneath our feet that Google does for maps of the Earth’s surface - and with 96 nations now participating OneGeology is closing in on an important milestone.

The goal of OneGeology is to make geological map data held by organizations around the World web accessible. Contributing to the OneGeology infrastructure involves offering to serve geological data by Open Geospatial Consortium (OGC) standards-based Web Map Services (WMS) from a Web server which may be hosted within the Geological Survey of each nation. The WMS allows geologic maps to be accessed by anyone according to a vendor-neutral standard and overlayed on other maps using Google Earth, Gaia and other applications.

The OneGeology network has a “Cookbook” and some simple WMS naming conventions to make this spatial data infrastructure (SDI) work - and to keep things understandable. For the WMS service URL:

example = BGS_Bedrock_and_Superficial_Geology/wms

structure = .../ organisation_theme/wms

Note that within this structure the URL elements to the left of /cgi-bin/ are likely to indicate the server of the data e.g. shows it is BGS that owns this URL. The first part of the URL depends on the technical architecture and rules of the service providers. The second part, when possible (because it can depend on the WMS software capabilities), should have the same structure as the service title. The OneGeology Registry of services cannot be too strict about the left hand side of this rule as this naming could be partially out of the control of OneGeology service providers but the principle is - one separate WMS service for each 'country' being served and a completely separate service if the same 'country' is being served in one or more different languages. Provider organizations retain full ownership and responsibility and are able to change data whenever necessary.

So if you've ever wondered what our world would look like stripped bare of all plants, soils, water and man-made structures? Well wonder no longer- images of the Earth as never seen before are coming online in the world’s biggest geological mapping project ever.

- Jeff

Friday, February 06, 2009

NSDI - A Process for Information Infrastructure

In the last few months, I've had the privilege of traveling to many places. During each trip I discussed "SDI" with lots of people and was struck by how quickly people of different languages and cultures responded positively to hearing "SDI" - I was then struck by the variety details they tossed out on technology, components, data etc. Our conversation would invariably turn to solving the problems we face in society. We'd quickly agree these problems are interconnected, and the solutions must be interconnected - and to do this we need to develop an information infrastructure.

I think the challenge then comes in recognizing that the best chance of implementing an information infrastructure is by understanding, as Roger Longhorn from GeoConnexion Magazine says, "it's a process, not a thing." If we agree it's a process - then the NSDI should be a collaborative process to develop, coordinate and promote the information infrastructure. The tasks can then be defined - Development and Integration (of data, services and applications), Outreach, Partnerships, Coordination, etc. In this process, the community should work towards international standards that will permit interoperability - the shared agreements that allow information to flow.

If we can do this as a community we'll benefit from, as John Moeller says, "a dynamic NSDI that operates on a set of core fundamentals - and grows as technological, organizational and societal capacities mature."

- Jeff

Tuesday, February 03, 2009

SOA, ROA and the NSDI

In light of discussions on emerging technology for the National Spatial Data Infrastructure it's healthy for the geospatial and environmental communities to discuss options for NSDI, and consider the feasibility of different approaches as emergent NSDI solutions. It's important to note that the "NSDI 2.0" grassroots coalition didn't identify a particular technology platform - unlike others that said "SOA". Why? Because our consensus process identified this as an area where community discussion and exploration of existant and emergent approaches was needed - basically the group said "let's get the concepts out there first and discuss it."

But people in the SDI community are aware there can be different ways of building SDI - all the way from proprietary to interoperable and everything in between. With that said, the community can refer to previous work in SDI that attempted to capture Resource Oriented Architectures (ROA) principles and assess the feasibility of using such approaches compared with Service Oriented Architectures (SOA) principles. Here are some basic definitions from that work -

"The SOA and ROA architectural design patterns and the corresponding distributed programming paradigms provide a conceptual methodology and development tools for creating distributed architectures. Distributed architectures consist of components that clients as well as other components can access through the network via an interface and the interaction mechanisms the architecture defines; in the cases of ROA and SOA such distributed components will be named respectively resources and services." European Communities, 2008

As an overarching concept what is key is interoperability - the shared agreements of our community. If consensus ROA standards do advance in the future and can be used for access to geospatial and environmental data this would be positive - and we've already built RESTful Services with technologies like Windows Communication Foundation (WCF). But there will also be NSDI 2.0 information exchange, services and collaboration requirements that can be supported better by SOA standards like OGC Web Services - which are available now. In the end, a key concept is bringing NSDI and NEIEN closer, and advancing our community. More to discuss soon...

- Jeff, GeoRSS and Vista Gadgets

Currently the NSDI community doesn't have really easy ways to integrate GOS Portal search functions into everyday work. This screen-capture video shows a concept implementation of a GeoRSS-fed Gadget in Windows Vista - the source is

Simple tools for discovery will make it easier for geospatial data and environmental information to be maintained locally, closest-to-source, and then shared with the NSDI community.

Another non-YouTube version of the concept is here

Sunday, February 01, 2009

Indiana Offers Grants for County WFS

As part of the IndianaMap data sharing initiative, the Indiana Department of Homeland Security is offering each Indiana county up to $14,894 to host framework data on a Web Feature Service (WFS), which will provide IDHS a common operating picture during an emergency.

The IndianaMap is a single statewide map for Indiana. It includes the information people need most in a format that is accessible to both expert GIS users and the general public.

The grant guidance requires (at a minimum) each county feature service to provide -

• Point address data (excluding personal information e.g., names and phone numbers)
• Parcel data (excluding personal information e.g., names, phone numbers)
• Local governmental unit boundary data
• Street centerline data

- Jeff

Open-Geospatial Web Services

Background map graphic from OGC® CGDI Interoperability Project

It's obvious we live in an interconnected world - where collaboration and data sharing are more important than ever. To solve tomorrow's challenges we need to collaborate and share data among communities, but don't (and won't) have all the information we need in one place. Data is coming from local, state, provincial, federal, global, and commercial sources. In this environment, some level of interoperability is needed to exchange information and services. Geospatial web service standards (SOA) are available now to accomplish this task - not perfect but a great start. Lets take a look at one of these services - a Web Feature Service (WFS). A WFS defines an interface for specifying requests for retrieving geographic features across the Web using platform-independent calls. But you might wonder whether something like...

...identifies a service. Why would you say that? Because if you ping the URL directly you get an exception. But wait, there's more going on here - lets look at the basics. First, what's a Web Service?

- A Web Service is an Interface that describes a set of operations that are network accessible using standard Internet protocols.
- A Web Service can be spontaneously discovered, combined, and recombined to provide a solution to the user's problem or request.
- A Web Service is described using a standard, formal XML notion, called its Service Description.

NOTE - These are not really my words, but adapted from IBM, Microsoft, and Sun definitions

So what are the characteristics of a Web Service? Well, it's a platform and implementation independent software component that can be -

- Described using a Service Description language
- Discovered through a standard mechanism
- Invoked through a declared API, usually over a network
- Composed, or "chained" with other services.

Again, not my words but adapted from Graham, Simeonov, Boubez, Davis, Daniels, Nakamura, Neyama 2002

So with this in mind, what's an 'open-geospatial' Web Service? It's -

- An Interface that describes a set of Operations that are network accessible using standard Internet protocols
- Described using a standard, formal XML notion, called its Capabilities (the Service Description)
- Invoked through declared interfaces, usually over a network, mostly to return Maps, Features, Coverages or Metadata (but can also do analysis and processing)
- Can be spontaneously discovered, combined, and recombined to provide a solution to the user's problem or request

OK great. So to get an idea about one of the Operations on this Web Service, plug this request into your web browser to get the Service Description -

What you get back from the request is the Service Description (called the Capabilities) - an XML document that describes the functionality of the WFS. Obviously, there's lots more we can discuss on this topic, and we will - but getting the Service Description for the Open-Geospatial Web Service is a start.

WFS is not the only way to get features from a service and not perfect - for example there can be a great deal of variability between WFS. But WFS is an international standard available now. These SOA standards provide the foundation for technical interchange of data. If national and international efforts don't use them, we'll wind up costing solution developers billions.

- Jeff