SEDRISSEDRIS Technology ConferenceTechnology Conference
How to Produce SEDRIS Transmittals
Presenter:
Paul Berner, Ph.D. Consultant
SEDRISSEDRIS Technology ConferenceTechnology Conference
What is a SEDRIS Transmittal?
• A logical organization of the data into a SEDRIS data model compliant structure.
• A software implementation of the SEDRIS Read API that provides access to the data in its SEDRIS logical structure.
Consumer Application
DataConsumer
Application
SEDRIS transmittal
Native Data Set"A"
ReadAPI"A"
Library Rea
d A
PI
SEDRISSEDRIS Technology ConferenceTechnology Conference
Consumer Application
DataConsumer
Application
SEDRIS transmittal
STF Data Set
ReadAPISTF
Library Rea
d A
PI
What is a SEDRIS Transmittal?
• A logical organization of the data into a SEDRIS data model compliant structure.
• A corresponding STF Data Set
SEDRISSEDRIS Technology ConferenceTechnology Conference
Example Consumer ApplicationConsumer Application
ConvertTo "B"
Application
SEDRIS transmittal
Native Data Set"A"
ReadAPI"A"
Library Rea
d A
PI
Native Data Set"B"
Data Exchange via a SEDRIS Transmittal
Data Exchange via a SEDRIS Transmittal
SEDRISSEDRIS Technology ConferenceTechnology Conference
Example: Data Exchange to STF
Converting to STF with a SEDRIS Read API implemention and
the “Traverse” Application
Consumer Application
TraverseApplication
Writ
e API
STF Data Set
STF Production using a Read API Library
STFWrite
Library
SEDRIS transmittal
Native Data Set"A"
ReadAPI"A"
Library Read
API
STF Production using a Read API Library
SEDRISSEDRIS Technology ConferenceTechnology Conference
Data Conversion
Native Data Set"A"
Converter
Writ
e A
PI
STF Data Set
STF Production using the Write API Library
STFWrite
Library
STF Production Using the Write API Library
SEDRISSEDRIS Technology ConferenceTechnology Conference
Creating a Transmittal• STEP 1
– Logically map Native Data organization to the SEDRIS Data Representation Model
– Model conformance: Objects and Organization» Consumer oriented vice “write only”
– Produce a Mapping Document• STEP 2
– Choose a Transmittal Mechanism:» Native Data + SEDRIS Read API portable implementation» Convert to STF with Traverse + SEDRIS Read API
implementation» Convert to STF with SEDRIS Write API Library
SEDRISSEDRIS Technology ConferenceTechnology Conference
Implementing the SEDRIS Read API
• Understand the Read API interface• SEDRIS Documentation Set - Part 4• Components of the Read API• Implicit Conversions• Context and Inheritance• ANSI C API Versus a C++ Implementation• Fundamental Types
SEDRISSEDRIS Technology ConferenceTechnology Conference
Components of The SEDRIS Read API
C onsum er A pp lica tionLev e l 1 A P I
Lev e l 0 A P ID ata E x trac tion
A P ID a ta M od e l
A P IC onv ers ions
A P I
Lev e l 1L ib ra ry
C onv ers ionsL ib ra ry
D ata M o de lL ib ra ry
N ativ eto
S E D R ISM app ingspec ificL ib ra ry
N ativ e A ccess L ib ra ry
N a tiv e D a ta B ase (s )
API Specification
Reference L ibrary
Developer Library
SEDRISSEDRIS Technology ConferenceTechnology Conference
Understanding the Read API Interface• Implicit Conversions
• World Coordinate Systems– Locations– Reference Vectors– Transformations
• Color Model
• Context and Inheritance• Inheriting Attributes in the Hierarchy• Context: Which Path?
SEDRISSEDRIS Technology ConferenceTechnology Conference
Understanding the Read API Interface
• ANSI C API Versus a C++ Implementation• A stable and universally applicable interface for
consumer applications• A natural fit for an object oriented programming language
SEDRISSEDRIS Technology ConferenceTechnology Conference
Understanding the Read API Interface
• Fundamental Types• Handles that point to implementation specific "opaque"
types–SE_OBJECT–SE_SEARCHFILTER–SE_SEARCHBOUNDARY–SE_ITERATOR
• Tagged Data Structures (Tagged Unions)–SE_FIELDS–SE_COORDINATE_SYSTEM_PARAMETERS–SE_PROPERTY_DATA_VALUE
SEDRISSEDRIS Technology ConferenceTechnology Conference
Understanding the Read API Interface
• Synthetic Environment Control• SE_OpenSE• SE_CloseSE
• Data Retrieval Functions• SE_GetFields• Data Table Retrieval• Image Retrieval
• Object Retrieval Functions• SE_GetNextObject• SE_GetNthComponentOfGivenType• SE_CloneObject
SEDRISSEDRIS Technology ConferenceTechnology Conference
Understanding the Read API Interface
• Search and Iterator Functions• Memory Management Functions
• SE_FreeObject• SE_FreeSearchFilter• SE_FreeSpatialSearchBoundary• SE_FreeIterator
• Coordinate System and Color Model State Functions• SE_SetCoordinateSystemParameters• SE_UseDefaultWorldCoordinateSystemParameters• SE_GetCoordinateSystemParameters
SEDRISSEDRIS Technology ConferenceTechnology Conference
Support Layer• Polymorphic Implementation of almost all API
functions• Implementations for Hidden Types• Implicit Conversions
• Coordinate System & Color Model
• Context Tracking & Inheritance Expansion• Full Search and Filter Functionality• Memory Management
• Dynamic - on demand - component & data loading
SEDRISSEDRIS Technology ConferenceTechnology Conference
Using The Support Layer
C onsum er A pp lica tionLev e l 1 A P I
Lev e l 0 A P ID ata E x trac tion
A P ID a ta M od e l
A P IC onv ers ions
A P I
Lev e l 1L ib ra ry
C onv ers ionsL ib ra ry
D a ta M o de lL ib ra ryN ativ e
toS E D R ISM app ing
S uppo rtLaye r
N ativ e A ccess L ib ra ry
N a tiv e D a ta B ase (s )
API Specification
Reference L ibrary
Developer Library
SEDRISSEDRIS Technology ConferenceTechnology Conference
Support Layer Class Hierarchy
SE_BaseIm age
SE _Internal_Object
SE_Projenitior_Capable
SE_Projenitior
SE_BaseColorDataSE_BaseLocationSE_BaseD ataTable
User_C lass User_C lass User_C lass
User_C lass
U ser_C lass User_C lass U ser_C lass User_C lass
SEDRISSEDRIS Technology ConferenceTechnology Conference
Sub-classing SE_Internal_Object
• Field Methods• virtual SE_ATTRIBUTES_PTR get_fields()= 0• virtual void generate_fields()
• Component Methods• add_component( … )• virtual void load_components()• virtual SE_BOOLEAN components_are_loaded()• virtual SE_BOOLEAN get_nth_component_of_type()
SEDRISSEDRIS Technology ConferenceTechnology Conference
Sub-classing SE_Internal_Object
• Association Methods• add_association( … )• virtual void load_associations()• virtual SE_BOOLEAN associations_are_loaded()
• Support Layer Search Support• virtual void push_search_objects( … )• void place_on_list( … )
SEDRISSEDRIS Technology ConferenceTechnology Conference
Sub-classing Special Classes• SE_BaseImage
• virtual get_image( … )
• SE_BaseDataTable• virtual get_data_table( … )
• SE_BaseLocation• SE_BaseReferenceVector• SE_BaseWorld3x3
• SE_BaseColorData
SEDRISSEDRIS Technology ConferenceTechnology Conference
What Next?
SEDRIS Technology Documentation Set
Part 4:Technical Reference Set
Volume 14: How to Produce SEDRIS Transmittals
Top Related