The tutorials described below provided complete coverage of the core SEDRIS technologies, SEDRIS-based tools and utilities, and were intended for those interested in gaining a deeper understanding of the technical details and how-to techniques.
These tutorials were designed to impart working knowledge of the key SEDRIS technologies. The tutorials covered the practical aspects of these technologies such that environmental modelers and software engineers could gain a full appreciation for their depth and breadth.
Quick Scroll To:
Introduction to SEDRIS for Managers
Environmental data is an integral part of many of today's information technology applications. The use of environmental data will grow substantially as availability and access to such data increases, and as tools for manipulation of environmental data become less expensive and more sophisticated. This tutorial provides an overview of the fundamental issues in environmental data representation, generation, and interchange. Topics include: background on how environmental databases are created; why database creation is expensive; how environmental databases affect interoperability; the critical issues in interchange; the SEDRIS approach; what SEDRIS is and is not; SEDRIS-based products and activities; an overview of the SEDRIS technology components; and more. Demonstrations of selected SEDRIS technology tools and applications are included.
This tutorial is for those interested in gaining a better appreciation of environmental data generation and consumption issues, interested in better understanding the SEDRIS concepts, or those new to SEDRIS. Project managers, policy and decision makers, systems engineers, and technology managers impacted by environmental data should attend.
The tutorial provides the attendee with a foundation to understand the critical issues in environmental data representation, database creation, interchange, and SEDRIS capabilities and technology components.
SEDRIS - The Technology Components
This tutorial introduces the five SEDRIS technology components (DRM, EDCS, SRM, API, STF) with an emphasis on the DRM. The role that each component plays within the environmental data domain is explored to provide a springboard for understanding the other tutorials and presentations in the conference. This tutorial highlights the most commonly used areas of the DRM, the key DRM classes, and how the EDCS and the SRM components are utilized within the DRM. An overview of the API's powerful capabilities, including its most commonly used functions, is also provided.
This tutorial is for software engineers, systems engineers, and environmental modelers new to SEDRIS technologies.
The tutorial provides an understanding of the five SEDRIS technology components, the basic elements provided within the DRM and API, and is better prepared to take advantage of the remaining conference tutorials and presentations.
SEE-IT is a powerful tool that provides two primary utilities for dealing with terrain databases: it checks for conditions that may be inaccurate descriptions of the physical environment, and it finds conditions that can lead to anomalous behaviors by entities operating in the simulated world. SEE-IT also provides data query and filtering mechanisms for identification, detection, and further diagnosis of environmental data. This tutorial includes examples of finding conditions such as: improper road junctions, misaligned boundaries between features, cracks in the terrain, narrow or sliver polygons, and a variety of other anomalies commonly found in terrain databases.
This tutorial is for environmental modelers and software engineers interested in the verification and analysis of SEDRIS transmittals, and those interested in improving their SEDRIS transmittal production capabilities.
At completion, the attendee has an understanding of the power of SEE-IT, and how it is used to identify and interpret various anomalies that may occur in environmental databases.
In Synthetic Environment Evaluation - Inspection Tool (SEE-IT), Tim Stone and Bob Richbourg began with a discussion of the purpose of SEE-IT and a description of alternate methods available to evaluate and inspect environmental data, illustrating the value of SEE-IT through a time analysis and comparison. They then continued by addressing how SEE-IT relies on SEDRIS, by discussing the SEE-IT software structure. Tim and Bob provided a discussion of SEE-IT anomaly detection, and reviewed numerous detailed examples of viewing and inspecting data with SEE-IT. Data correction / repair via SEE-IT was then addressed and, again, numerous examples were provided. Tim and Bob concluded the tutorial by addressing data query / view operations, and by performing a hands-on tour and demonstration of the SEE-IT system capabilities.
Fundamentals of the DRM
The Data Representation Model (DRM) allows you to describe and articulate your environmental data clearly, while at the same time using the same representation model to understand other's data unambiguously. The DRM includes the logical relationships or associations between data classes. It also ensures the syntax and the structural semantics of the data are fully expressed and correctly understood by users. This tutorial provides a complete introduction to the SEDRIS DRM. It includes: a review of the notation used; the DRM organization and usage with sample applications; how the DRM utilizes the Environmental Data Coding Specification (EDCS) and the Spatial Reference Model (SRM); and a description of the key DRM classes such as metadata, libraries, topology, point-sampled and grid data, organizational schemes, attributes, features, and geometry.
This tutorial is for environmental modelers interested in using SEDRIS, software engineers who plan to implement applications based on SEDRIS technologies, and those interested in gaining a better appreciation for the most fundamental SEDRIS technology, the DRM.
At completion, the attendee is able to read and understand the DRM, the rules defined and imposed by the DRM, the use of the EDCS and SRM, and the use and organization of the data classes in the DRM.
In Fundamentals of the DRM, Michele Worley began with a discussion of what is a data representation model (DRM), with illustrative examples. She proceeded to address what is the SEDRIS DRM, discussing it's classes, broad categories of class functionality, and how the SEDRIS DRM is expressed in actual data sets. Next, Michele provided a detailed overview of key classes and their use in data representation, discussing the fundamentals of geometric, tabular and feature representation, and high-level organizing principles for feature and geometric representation that provide powerful mechanisms for expressing various kinds of semantic information. She then addressed library classes and organizations, followed by metadata requirements and use. Michele concluded the tutorial with a discussion of where attendees could seek additional information on the SEDRIS DRM.
Fundamentals for Accessing Transmittals
This tutorial covers the fundamentals of accessing SEDRIS transmittals through the use of the SEDRIS transmittal access C and C++ APIs. Traversal strategies, object management, and API behaviors are discussed applicable to both the C and C++ APIs. Pseudo code and algorithms for performing common actions across a range of applications are provided. The mechanics of the APIs are provided with an introduction to the C functions and data structures, as well as the C++ classes and methods. Coding samples in both languages are provided.
This tutorial is for software engineers who intend to design and implement SEDRIS-based applications, or those interested in learning the basic functionality of the SEDRIS APIs.
Attendees gain a fundamental understanding of the issues to access SEDRIS transmittals. The attendee also gains basic insight into the functionality and mechanics of the SEDRIS APIs.
In Fundamentals for Accessing Transmittals, Greg Hull and Kevin Wertman began by providing SEDRIS C API background and fundamentals that included discussions of basic definitions, C API components, C API conventions, C API data types, basic tools, and reference material. They then discussed the extraction component of the SEDRIS C API in terms of its capabilities, illustrated through several detailed examples, numerous advanced features of component iterators, and miscellaneous extraction features. Greg and Kevin then addressed the insertion component of the SEDRIS C API, discussing its capabilities, providing numerous illustrative examples, and touching on miscellaneous insertion topics such as inserting image data. They concluded the tutorial by addressing the SEDRIS C++ API, discussing its history, goals, overview, benefits, classes, and providing code comparison examples with that of the SEDRIS C API.
Designed as a standalone technology, the SRM is a unified approach for the representation and use of spatial location information. The SRM provides a complete and concise treatment of the different descriptions of spatial location, and precisely defines the relationship between various spatial reference frames. This tutorial provides a detailed review of the SRM framework and concepts with an emphasis on the modeling implications of different ways of representing spatial location. Challenges and issues in implementing precise and efficient coordinate operations are also discussed.
This tutorial is for those interested in gaining a more complete understanding of the SRM and the theory of accurately representing spatial locations in modeling.
At completion, the attendee has an appreciation for the complexities involved in accurately representing spatial location. Topics such as object reference models, spatial reference frames, ellipsoids and geoids are covered, among others.
In SEDRIS Spatial Reference Model (SRM), Paul Berner and Ralph Toms began the tutorial by identifying that there would be two aspects of the SRM discussed in this tutorial -- the SRM as an international standard, and the implementation of the SRM in SEDRIS. They proceeded to address simulation interoperability and a spatial reference model in terms of why a SRM is needed, interoperability examples, and SRM requirements. Paul and Ralph then discussed the SRM scope, goals, and key concepts. They then went into detail on the SRM concepts, discussing spatial objects and object-space, position-space and normal embeddings, reference datums, object reference models, coordinate systems, spatial reference frames, vertical offset surfaces, and spatial operations and the abstract SRM API, providing numerous examples along the way. They then covered the details of computational considerations such as accuracy, errors, testing, and algorithm design. Paul and Ralph continued with discussions of spatial operation quality, accuracy, conformance verification, and acceptance testing. They concluded the tutorial by addressing the structure of ISO/IEC 18026, the SRM standard, and discussing SRM concept management.
Performing the operations described in the Spatial Reference Model (SRM) can be accomplished by user applications through the use of the SRM Application Program Interface (API). The SRM API provides a unified mechanism for interconverting spatial locations between representations. This tutorial presents an overview of the SRM API design and what to expect from it, as well as providing several examples on how to use the API to accomplish typical tasks in coordinate conversion.
This tutorial is for those interested in using the SRM API to perform operations on spatial data, including coordinate conversions and datum shifts.
At completion, the attendee has an understanding of how to use the SRM API to convert coordinates from one Spatial Reference Frame to another. The attendee also gains an understanding of other operations available in the SRM API.
In SRM for Programmers, Cameron Kellough began the tutorial by identifying the SRM API implementations (C, C++ and Java), and noted that the remainder of the presentation would cover conceptual information about the APIs, uses examples from the C++ API, and that other API versions are similar. He then introduced important concepts, and discussed spatial operations. Cameron concluded the tutorial by addressing implementation details affecting applications, and working through examples performing SRM operations.
Environmental Data Coding Specification (EDCS)
Designed as a standalone technology, the EDCS is the means for identifying the classification and characteristics of environmental objects. The EDCS unifies the characterization of environmental "things" regardless of the method by which such "things" are represented (e.g., as surfaces, features, etc.), or whether they are cast as individual primitives or structured collections. The EDCS tutorial introduces the concept of a coding specification, how it is applied to environmental data, and the major environmental coding systems currently in use. It reviews how the structure and function of the EDCS standard covers all domains of the environment, and how EDCS relates to other coding systems. Examples from various environmental domains are provided. Use of EDCS within the SEDRIS Data Representation Model is described, and mappings between the EDCS and external environmental coding specifications is described.
This tutorial is for those desiring to define the semantics of environmental data (the environmental "things" and what they "mean"), either as data providers, data consumers, or both. Both project managers and technical implementers will benefit from this tutorial.
The attendee learns about both the current implementation, and the target standardization, of the EDCS. Related standards and coding conventions are discussed as a starting point for the attendee developing mappings to/from coding systems they may be currently using. Planned developments of the EDCS are addressed in order to assist attendees in preparing to use the EDCS within their domain and ensuring that ongoing EDCS developments can be taken into account in project planning. Mechanisms for elaborating the EDCS are defined, and attendees are encouraged to get involved in extending the EDCS to meet their project requirements.
In Environmental Data Coding Specification (EDCS), Peggy Gravitz began with a discussion of using SEDRIS for data interchange, describing it as a high-level process, and addressed how the EDCS supports the data interchange process through discussions of the steps in the SEDRIS production and consumption processes. She proceeded to address the motivation for an EDCS, discussed its critical requirements, and provided extensive discussion and examples of other available environmental data coding methods. Next, Peggy discussed ISO/IEC 18025, the EDCS standard, addressing its background, purpose, an overview of its content, and its development approach. She then addressed specifics regarding the EDCS standard, discussing through illustrative examples its use of references, dictionary structures, and content examples. Peggy also discussed using the EDCS with a demonstration walk-through of the EDCS standard, addressing methods for searching its content, and discussing the registration of new EDCS dictionary entries. She then addressed applying the EDCS, providing several examples of EDCS use cases and implementations, and discussed mapping to and from the EDCS through descriptions of mapping cases and patterns, as well as illustrations of other EDCS mappings. Peggy concluded the tutorial with a brief description of EDCS support and participation, addressing the SEDRIS web site, on-line user support, documentation, and coding references.
Advanced Application of the DRM
This tutorial covers the effective application of the SEDRIS Data Representation Model (DRM) for modeling of domain-specific environmental data, such as terrain, atmosphere, ocean and space. Advanced topics in handling tabular data, gridded data, ocean features, air/atmosphere features, hierarchy and classification, attribution of effects, raster and vector data, terrain features, along with examples are covered.
This tutorial is for environmental modelers and software engineers who are experienced users of SEDRIS, interested in the newest developments as well as future advancements.
Attendees gain a working understanding of the various techniques for use of the DRM in modeling or converting domain-specific data sets into SEDRIS.
In Advanced Application of the DRM - Introduction, Paul Berner introduced the tutorial speakers, and presented a brief overview of the 3-part tutorial agenda.
In Advanced Application of the DRM - Terrain, Kevin Trott began by discussing the definition, sources, and uses of raster data (e.g., images), gridded data (e.g., property grids), vector data (e.g., features), and polygonal data (e.g., geometry), with examples of each. He addressed each of these types of data in the SEDRIS Data Representation Model. During his discussion of gridded data, Kevin also addressed the DTED-based SEDRIS transmittal structure. During his discussion of vector data, Kevin also addressed the VPF-based SEDRIS transmittal structure and feature topology (feature nodes, edges, faces, rings, and the relationships between them). Kevin concluded the terrain portion of the tutorial with an overall summary of terrain data.
In Advanced Application of the DRM - Ocean, Paul Berner began with a discussion of tabular data, with a property table example. He discussed data tables, including what they can represent, arbitrary dimensions, and other capabilities. Paul then addressed property grids as data tables whose cells form a grid in space. Specifically, he discussed grid structure (layout, location and alignment), and then transitioned to a property grid example demonstrating such principles for sea surface temperature and also providing other examples. Further, Paul addressed property characteristic enumerants and data table compression. He then discussed ocean features, and provided ocean acoustic feature examples. Paul concluded the ocean portion of the tutorial with a discussion of hierarchical organization and classification.
* Louis Hembree could not attend the conference, and his slides were presented by Paul Berner.
In Advanced Application of the DRM - Atmosphere, Paul Berner (in Louis Hembree's absence) began by emphasizing that to prepare for the process of mapping a native atmospheric data set into the SEDRIS Data Representation Model (DRM), one must become familiar with the SEDRIS DRM and supporting documentation. He proceeded to address the basic mapping process, discussing determination of initial class structures and completion of class fields. Paul then provided general notes, and pointed out the relevant parts of the SEDRIS DRM. He provided atmospheric mapping examples for atmospheric forecast grids, point data (e.g., surface observations), and profile data (e.g., radiosonde). Paul concluded the atmospheric portion of the tutorial with a discussion of Gridded Binary (GRIB) to STF conversion software.
Advanced Use of the SEDRIS SDK
This tutorial covers the more advanced aspects of the SEDRIS APIs, such as the many traversal techniques, creating and accessing images and data tables, sharing of objects, object IDs, and Inter Transmittal Referencing. The attendee participates in taking easy to understand environmental data and mapping it to the DRM, as well as constructing the software to produce a transmittal from it.
This tutorial is for experienced SEDRIS developers, developers dealing with large environmental data sets, and developers looking for an understanding of advanced traversal techniques for accessing SEDRIS transmittals.
At completion, the attendee has an understanding of the various how-to techniques for use of the SEDRIS API in the creation and extraction of transmittals, and an understanding of the role of a TCRS for both producers and consumers of environmental data.
In Advanced Use of the SEDRIS SDK, Warren Macchi, Kevin Wertman and Jesse Campos began with a short introduction to the SEDRIS Transmittal Access C++ API. They then had the attendees break up into workshop groups, provided them sample code, and had them work through a list of exercises of increasing level of complexity. During the course of the workshop, they discussed the use of SEDRIS documentation resources and tools, traversal techniques, searching, DRM traversal branching and decision making, the efficiency rule of “don’t touch me more than once”, instancing and sharing, choosing organization hierarchies, inter-transmittal references, and the use of TCRS tools. Following the workshop, they concluded the tutorial with discussions of the development of SEDRIS, applying SEDRIS technologies, developing SEDRIS expertise, and data sets.
This tutorial is conducted in two consecutive parts. Part 1 covers creation and writing of SEDRIS transmittals. Part 2 focuses on accessing or extracting data from SEDRIS transmittals. Common application development techniques and strategies utilized in the production and consumption of SEDRIS transmittals are covered. The steps in development of mapping documents and the effective use of the SEDRIS API is discussed. A number of examples based on actual use cases are reviewed.
This tutorial is for software engineers who intend to develop tools, utilities, or conversion applications either to operate on or produce SEDRIS transmittals.
At completion, the attendee has an understanding of the various techniques for using the SEDRIS technology components for the creation and extraction of SEDRIS data.
Jesse began the consumption portion of the tutorial with a brief overview of using SEDRIS. He provided a synopsis of the translation process through the explanation of a language analogy. Jesse discussed in detail the transmittal consumption process. Specifically, he addressed native data analysis, preparation of a mapping document, learning the implementation details and extraction capabilities, determining a consumption/translation philosophy and strategies, and creating consumption software. Jesse concluded the consumption portion of the tutorial with a discussion of expanding the user's consumption base.