GISdevelopment.net ---> GIS for Oil & Gas Proceedings 2002

Interoperability Standards and Applications

Sonny Parafina
Ionic Enterprise
P.O. Box 2635
Alexandria, VA 22301


Abstract
The Open GIS Consortium (OGC) has developed and released Web mapping specifications through its Interoperability Program. These specifications allow servers from multiple vendors to share and process geospatial information in an environment that is transparent to the end user. This presentation will discuss the Interoperability Program and Web mapping standards, the technology enabling interoperability, vendor participation in the program, and application of OGC conformant software to the oil and gas industry.

Opnen GIS Consortium and Interoperability

“Interoperability is the dial tone that lets systems work together transparently.”1 The dial tone analogy is apt because both people and machines understand what to do with a dial tone. The dial tone allows telecommunication devices and systems to function uniformly in complex environments because of a standard interface. The goal of OpenGIS Consortium is to build the interfaces that support a dial tone for Geospatial Information (GI) systems. Interoperable GI systems have the ability to access multiple local or remote heterogeneous systems through a single and well-known software interface.

The OpenGIS mission statement is “to deliver spatial interface specifications that openly available for global use.” Their approach to building global interoperability is outlined below:
  • Organize Interoperability Projects: OGC employs a variety of innovative techniques to enable developers and integrators to rapidly and efficiently test, validate, and document specifications based on user requirements.
  • Work toward consensus: OGC works by consensus to understand interface requirements and to bring developers, integrators and users into agree on specifications.
  • Formalize OGC Specifications: Through OGC's structured Committee programs, OGC members develop, review, and make public OpenGIS specifications.
  • Develop strategic business opportunities: OGC continuously scans the market to anticipate, identify, and engage communities in the development and adoption of OpenGIS specifications.
  • Develop strategic standards partnerships: OGC maintains strong partnerships with international and commercial standards organizations and technology communities to focus the agenda for interoperability.
  • Promote demand for interoperable products: Through marketing and public relations programs, OGC works with consortium members to increase awareness and acceptance of OpenGIS Specifications by users.
OGC Interoperability Program
The Interoperability Program generates Implementation Specifications, which are documented standard interfaces that software developers can use to create programs. Implementation specifications are the product of software engineering efforts in a test bed environment. Multi-participant engineering teams rapidly prototype interfaces and protocols that meet the requirements of test bed sponsors. For example, the Army Topographical Engineering Center (TEC) sponsored the first interoperable web mapping test bed.

The engineering teams use a consensus process to interpret the requirements and use industry standard software development methodologies to write software. Participants are encouraged to develop prototype implementations within their respective product frameworks, operating systems and platforms, and programming languages as long as it conforms to the specifications under development. At completion of the test bed, the participants collaboratively write and Interoperability Program Report (IPR) that documents the agreed-upon interface defined, developed, and tested in the test bed.

The IPR is submitted to the OGC body to begin the formal Specification approval process. Candidate Implementation Specification undergoes formal review, revision, and documentation. Specifications are adopted through a vote and released as a publicly available OpenGIS Implementation Specification. A draft Implementation Specification from the Interoperability Program typically uses the RFC (Request for Comment) process, used in the World Wide Web Consortium (W3C).

Specifications are further tested in other Interoperability Program activities that include:
  • Pilot Projects where collaborating user communities apply and test OGC member-developed OpenGIS Implementation Specifications in real world settings using commercial products that implement OpenGIS Specifications for interfaces and encodings. These test environments produce useful feedback for revising existing OpenGIS Specifications and guiding the development of new ones.
  • Planning Studies, Insertion Projects, and Feasibility Studies focus on shaping enterprise and domain architectures to support interoperable solutions and integrated solutions that involve geoprocessing. Like Pilots, these initiatives also produce useful feedback into the OGC specification process.
  • Outreach and Education: Technical documents, training materials, test suites, reference implementations and other interoperability resources are made available for use by members and/or the public on the OGCNetwork.
OGC Implementation Specifications Overview
There are three levels of Implementation Specifications:
  • Approved: These are completed specifications published on the OGC public web site. They have received consensus approval by the Technical Committee and have been approved by the OGC Planning Committee.
  • Candidate: A Candidate Implementation Specification is a Discussion Paper for public review, a Request for Comment (RFC), a Recommendation Paper, or a Draft Specification that an OGC Technical Committee Special Interest Group (SIG) has begun to review. Candidate Specifications are typically defined, developed, and tested in the OGC Interoperability Program. The results of this work are published as Draft IP Report or IP Reports.
  • Planned: These are specifications are under discussion but not yet part of the formal specification development process. These are not described in this paper. Typically, planned specifications arise from sponsor requests or are unexplored ideas generated during a test bed.
The Interoperability Program has developed specifications for Web Mapping Services, Open Location Services (OpenLS), and Geospatial Fusion Services. Web mapping services are a family of specifications for delivering geospatial data and performing interoperable geoprocessing over the web. Open Location Services are specifications to support mobile geoprocessing across multiple technology platforms.

Geospatial Fusion Services are specifications that facilitate the integration of non-spatial data such as documents, pictures, and audio with spatial data in order to present a complete geographic perspective. This paper will focus on approved specifications for Web Mapping Services because, in general, they are the most mature and applicable to the oil and gas industry.

Approved Spcifications

OpenGIS Simple Features Specification
A Simple Feature is defined by the OpenGIS Abstract specification to have both spatial and non-spatial attributes. Spatial attributes are geometry valued, and simple features are based on 2D geometry with linear interpolation between vertices. The base Geometry class has subclasses for Point, Curve, Surface and Geometry Collection. Each geometric object is associated with a Spatial Reference System, which describes the coordinate space in which the geometric object is defined. The supported geometry types include points, lines, linestrings, curves, and polygons. Feature-to-feature relations are not supported.

The Simple Feature Specification application programming interfaces (APIs) provide for publishing, storage, access, and simple operations on Simple Features. The APIs enable tasks such as the establishment of linear and angular units, spheroids, datums, prime meridians, and map projections. Included are interfaces for common geometric and topological constructs such as convex hull, symmetric difference, closure, intersection, buffer, length, distance, and dozens of others. At the GIS feature level, the API's provide for the creation and management of feature collections and the ability to access features from such collections using geometric, topological, or attribute modifiers.

The Simple Feature Specification is a primary building block for interoperability because it describes a minimum set of geometries for geospatial processing. Many GI software vendors such as ESRI, Intergraph, and Oracle support the Simple Feature Specification.

OpenGIS Geography Markup Language (GML 2.1)
Geography Markup Language (GML) is an XML encoding for the transport and storage of geographic information, including both the geometry and properties of geographic features. GML utilizes the OpenGIS Abstract Specification geometry model; but unlike the Simple Features Specification, the GML Specification includes the ability to handle complex properties.

GML will enable organizations to share geographic information and to link geographic data sets because GML was designed to:
  • Provide a means of encoding spatial information for both data transport and data storage, especially in a wide-area Internet context;
  • Be sufficiently extensible to support a wide variety of spatial tasks, from portrayal to analysis;
  • Establish the foundation for Internet GIS in an incremental and modular fashion;
  • Allow for the efficient encoding of geo-spatial geometry (e.g. data compression);
  • Provide easy-to-understand encoding of spatial information and spatial relationships, including those defined by the OGC Simple Features model;
  • Be able to separate spatial and non-spatial content from data presentation (graphic or otherwise);
  • Permit the easy integration of spatial and non-spatial data, especially for cases in which the nonspatial data is XML-encoded;
  • Enable easy linking of spatial (geometric) elements to other spatial or non-spatial elements;
  • Provide a set of common geographic modeling objects to enable interoperability of independently developed applications.
OpenGIS Web Map Server Interface (WMS 1.1.1) Specification
The OpenGIS Web Map Server Specification (WMS) is a set of interface specifications that provide uniform access by Web clients to maps rendered by map servers on the Internet. Thus, WMS is a service interface specification that :
  • Enables the dynamic construction of a map as a picture, as a series of graphical elements, or as a packaged set of geographic feature data;
  • Answers basic queries about the content of the map;
  • Can inform other programs about the maps it can produce and which of those can be queried further. The Web Map Server Interface provides four protocols (GetCapabilities, GetMap, GetFeatureInfo and DescribeLayer) to support the creation and display of registered and superimposed map-like views of information that come simultaneously from multiple sources that are both remote and heterogeneous.
  • GetCapabilities allows a client (or client proxy) to request a server to expose its mapping content and processing capabilities.
  • GetMap enables a client to request multiple servers to craft "map overlays", possessing the identical spatial reference system, size, scale, and pixel geometry. These overlays can be ordered and placed by the client into a display, and optionally, using transparent pixel technology, the information from several sources can be rendered for immediate human viewing. GetFeatureInfo enables a user to click on a pixel and inquire about the schema and metadata values of the feature(s) represented there.
  • DescribeLayer provides information about the layer. OGC is finalizing standards for Legends and Style Layer Descriptors that will further enhance the ability of WMS to provide consistent depiction of spatial information acquired via distributed servers on the Internet.
Both the Web Map Server (WMS) and the Web Coverage Server (see below) provide for the generation and delivery of raster-based information. The WMS returns an "image," that is, an array of pixel values ready for portrayal. Unlike the WMS, where only visualization and limited query are supported, the coverage server provides for analysis involving the evaluation/manipulation/combination of many coverages to answer specific questions. The Web Feature Service, by contrast, returns a collection of vectors that inform the client of values of interest, such as temperature, ownership, average rainfall, and so on.

OpenGIS® Web Feature Server Specification (WFS)
The Web Feature Server Interface Specification (WFS) describes operations on OpenGIS Simple Features (e.g., points, lines, and polygons) so that servers and clients can communicate at the feature level. A WFS request - like those supported in many GIS and RDBMS packages - consists of a description of the query and data transformation operations that are to be applied to WFS enabled spatial data warehouses on the Web. The request is generated on the client and is posted to a WFS server. The WFS Server reads and executes the request, returning the result in a feature set as GML. A GML enabled client then can use the feature set.

In contrast to the OGC Web Map Server implementation, which delivers a picture, a WFS implementation in a client supports the dynamic exploitation and access of feature (vector) data and associated attributes. This capability opens the door to enhanced spatial analysis, modeling and other operations based on the attributed data. The WFS Specification also describes interfaces to support transactions to create a feature, delete a feature, and update a feature.

Bundled with the WFS specification is the Filter Encoding Specification, which defines a standard encoding for query predicates using XML. Using XML encoding, a query operation can be defined that retrieves objects that lie in a particular region. Similarly, a delete operation could be restricted to those object instances that lie in a particular region and have a particular value for some specified non-spatial property.

OpenGIS Grid Coverages (Grid, Image, DEM) Specification
This specification was designed to promote interoperability between software implementations that provide grid analysis and processing capabilities. Within the OGC context, a Coverage is a function or any set of entities that exhaustively cover a plane. A grid coverage is a specific case of coverage in which a set of grid values covers the surface. Examples of a grid coverage are satellite images, digital elevation models, and digital orthophotos.

The OpenGIS Grid Coverages Implementation Specification APIs provide for basic image access for purposes of requesting and viewing a grid coverage and performing certain kinds of analysis such as histogram calculation, image covariance and other statistical measurements. The specification provides a number of interface features for dealing with color palettes, byte organization, metadata, and coordinate systems (as set forth in the OpenGIS Coordinate Transformation Specification).

OpenGIS Catalog Service Interface Specification
The OpenGIS Catalog Service Interface Specification defines a common interface that enables diverse but conformant applications to perform discovery, browse and query operations against distributed and potentially heterogeneous catalog servers. Spatial Catalog servers typically contain metadata about spatially referenced information such as maps, schematics, diagrams, or textual documents. The specification uses metadata and spatial location to identify and select layers of interest, and provides for interoperability in catalog update, maintenance, and other Librarian functions. The specification is designed for catalogs of imagery, geospatial information, and mixtures of the two. It specifies open APIs that provide discovery services, access services and interfaces for catalog managers, including a complete Catalog Query Language. Detailed implementation guidance is provided for establishing and ending a stateful catalog session to: query the catalog server properties, check the status of a request, cancel a request, issue a query, present the query results, and get the schema of a discovered collection.

OpenGIS Coordinate Transformation Services Specification
This Implementation Specification provides interfaces for general positioning, coordinate systems, and coordinate transformations. In the specification, coordinates can have any number of dimensions, so this specification can handle both 2D and 3D coordinates as well as higher orders.

Earth coordinates, such as the coordinates provided by a GPS receiver or by traditional surveying or navigation methods, are meaningful only as offsets from the origin in a particular spatial reference system. Many people outside the geospatial professions assume that longitude and latitude are universal and sufficient, but in fact there are a number of distinctly different longitude-latitude spatial reference systems in common use. A key requirement for overlaying views of geodata ("maps") from diverse sources is the ability to perform coordinate transformation in such a way that all spatial data use the same spatial reference system. Since there cannot be an assumption that all spatial data sources will be in the same projection or coordinate system, it is necessary for the client or application to be able to specify what coordinate system the data servers should deliver the spatial data to the application in. Therefore, put simply, OGC's OpenGIS Coordinate Transformation Services Specification provides a standard way for software to specify and access coordinate transformation services for use on specified sets of spatial data.

OGC Architechture
A detailed discussion of the OpenGIS architecture is beyond the scope of this paper, but a detailed abstract specification, Topic 12: The OpenGIS Service Architecture, is available at the OpenGIS website. From the perspective of a high level overview, OpenGIS technologies should be viewed as a platform that provides structure for geospatial interoperability between applications. The OpenGIS Framework, see Figure 1, establishes common interfaces, exchange protocols, and services that can be utilized by any application. OpenGIS Implementation Specifications provide guidance to application developers on how to build their applications to comply with this framework. OpenGIS Services are implementations of services that conform to OpenGIS Implementation Specifications. Compliant applications can then "plug into" the framework to join the enterprise operational environment. This loosely coupled approach to enterprise development results in very agile systems.

By using common interfaces, applications can be developed without a-priori or run-time dependencies on any other application. Applications can be added, modified, or replaced without impacting any other applications. In addition, operational workflows can be changed on-the-fly allowing rapid response to dynamic and fluid conditions.



Figure 1. The OpenGIS Service Framework


Application Clients and Servers
The operational view of the architecture is made visible by examining the service framework from the typical n-tiered architecture perspective. OpenGIS Services are accessible from any application on any device (e.g. desktop, notebook, handset, etc.) that has network connectivity and that implements OpenGIS service interface and encoding specifications (Figure 2). Users utilize client-side applications that may access server-side applications, and server-side services such as Registry, Portrayal, Processing depending upon requirements and the preferred implementation approach. Application Clients generally provide useroriented displays of geospatial content and support user interaction such as symbolization and queries.



Figure 2. Application Clients and Servers on the OpenGIS Framework


Client-side applications can:
  • Provide the means to find geospatial-based services and/or data resources through search and discovery mechanisms – use of Registry Services;
  • Provide access to imagery and other geospatial-based Application Services and/or Data Services;
  • Integrate with Web/Portal platforms;
  • Portray geospatial information in graphic, image, and/or text form.
  • Support user interaction via keyboard, cursor or other human-machine interfaces
Server-side applications execute on a server on the network. Examples of Server-side applications include compute-intensive (and/or I/O-intensive), server-based applications like those required for Image Processing.

Server-side Applications Clients:
  • Are comprised of the ‘user application logic’ (business logic) that calls upon supporting Registry, Processing, Portrayal, and Data Services.
  • Interact with Client Services (client-side application components) through a Web/Portal Server.
The OpenGIS Service Framework does not distinguish the many options for deploying applications on a network. Instead, any user facing software component that performs a service that satisfies userrequirements, whether it executes on the client or on the server side of a network connection, is simply an Application Client. The Application Clients described below categorize applications by logical function and not physical deployment. Implementations of OpenGIS Applications are, of course, freely able to mix and match the capabilities into physical implementations to meet market or application-specific requirements.

Applications
The current uses for interoperable geospatial information systems based on standard interfaces are predominantly data sharing and collaboration. Organizations that have business requirements to share disparate data among multiple legacy systems have used OGC compliant software to bridge data islands and break through stove-piped systems. The consolidation of geospatial data holdings under common interfaces represents the first phase of interoperability adoption.

Despite the utility of building loosely coupled systems and lowering integration barriers, the true value of interoperability has yet to be realized. Web Services is an information technology buzzword that promises interoperability between all information systems. OpenGIS standard interfaces are a domain implementation of the Web Services concepts. The tight focus on distributed geoprocessing has led to standards that are being implemented by GI vendors. Ultimately, the promise of interoperability will enable GI systems to be transparently integrated with business information systems that support core business practices such as financials, marketing and operations. These systems will treat geographic data as any other business data sources such as CAD drawing or a spreadsheet.
© GISdevelopment.net. All rights reserved.