45
Digital Photogrammetry Markup Language (DPML) by Stephane Fellah PCI Geomatics ASPRS - April 2001

Digital Photogrammetry Markup Language (DPML)

  • Upload
    dillon

  • View
    44

  • Download
    1

Embed Size (px)

DESCRIPTION

Digital Photogrammetry Markup Language (DPML). by Stephane Fellah PCI Geomatics ASPRS - April 2001. Outline. Introduction XML technology overview DPML Overview Some potential DPML applications Conclusion. Introduction. A typical photogrammetry shop. - PowerPoint PPT Presentation

Citation preview

Page 1: Digital Photogrammetry Markup Language (DPML)

Digital Photogrammetry Markup Language (DPML)

by

Stephane Fellah

PCI Geomatics

ASPRS - April 2001

Page 2: Digital Photogrammetry Markup Language (DPML)

Outline

• Introduction• XML technology overview• DPML Overview• Some potential DPML applications• Conclusion

Page 3: Digital Photogrammetry Markup Language (DPML)

Introduction

Page 4: Digital Photogrammetry Markup Language (DPML)

A typical photogrammetry shop

• Analytical/Digital photogrammetry environment

• More than one softcopy systems

• Use of other specialized photogrammetric/CAD/GIS/image processing packages

• In-house programs and procedures

• In-house workflow

• Automation by scripting

• Heterogeneous platforms and programming languages

Page 5: Digital Photogrammetry Markup Language (DPML)

The problems

• Numerous proprietary formats for softcopies

• Difficulty to process photogrammetric information to create scripts or reports

• Cross-platform and cross-languages problems

• Difficulty to break softcopy workflow

• Problem of scalability of workflow

How to solve these problems of interoperability ?

Page 6: Digital Photogrammetry Markup Language (DPML)

Digital Photogrammetry Markup Language (DPML)

Definition

Open standard application schema using XML encoding to describe photogrammetric information for both data transport and data storage, especially in a wide-area Internet context.

Page 7: Digital Photogrammetry Markup Language (DPML)

DPML

• Inspired from Open Photogrammetry Initiative

• Based on open standards

• Platform, language and vendor-independent solution

• Extensible• Significant advantages for processing, visualization, and data mining

of photogrammetric data within a distributed computing environment

• Establish the foundation for RS and Photogrammetry Web Services

Page 8: Digital Photogrammetry Markup Language (DPML)

XML technologies overview

Page 9: Digital Photogrammetry Markup Language (DPML)

What is not XML ?

• It is not a programming language.• It is not the next generation of HTML.• It is not a database.• It is not specific to any horizontal or vertical market.• It is not the solution to all your problems, but it can

be a very powerful tool in building such a solution.

Page 10: Digital Photogrammetry Markup Language (DPML)

What is XML ?

• Method for annotating documents with structured data

• Method for conveying the meaning of information

• Looks like HTML : familiar and easy to work with for many

• Extensible

– hierarchical structure is user-defined

– Meaning of XML tags are user-defined

– User can be user-community for application domain

XML is a clearly defined way to structure, describe, and interchange data.

Page 11: Digital Photogrammetry Markup Language (DPML)

XML advantages• Open standard (W3C recommendation)

• Platform and language independent

• Human readable

• Multiple major vendors are building in XML support

• Tools for Java,C,C++,Python,Perl from IBM,Sun,Microsoft,...

• Simple to implement and process

• Does not require to replace existing implementation

• Provide interoperability between heterogeneous systems

• Run over HTTP connection over Internet/Intranet

Page 12: Digital Photogrammetry Markup Language (DPML)

Sample fragment of XML document

<cityMember> <Road> <gml:name>M11</gml:name> <linearGeometry> <gml:LineString srsName="http://www.opengis.net/gml/srs/epsg.xml#4326"> <gml:coord><gml:X>0</gml:X><gml:Y>5.0</gml:Y></gml:coord> <gml:coord><gml:X>20.6</gml:X><gml:Y>10.7</gml:Y></gml:coord> <gml:coord><gml:X>80.5</gml:X><gml:Y>60.9</gml:Y></gml:coord> </gml:LineString> </linearGeometry> <classification>motorway</classification> <number>11</number> </Road> </cityMember>

Page 13: Digital Photogrammetry Markup Language (DPML)

XML Namespaces• XML Namespace guarantees uniqueness in the naming of XML elements

and attributes

• Involve the use of Uniform Resource Identifiers (URI)

<schema targetNamespace="http://www.foo.net/foo"

xmlns:dpml="http://www.dpml.org/dpml"

xmlns:xsd="http://www.w3.org/2000/10/XMLSchema"

xmlns:gml="http://www.opengis.net/gml”

….

<!-- import constructs from the DPML schemas -->

<import namespace="http://www.dpml.org/dpml" schemaLocation="dpml.xsd"/>

. . .

<dpml:FrameCamera sid=“Camera1” type=“Frame”>

</schema>

Page 14: Digital Photogrammetry Markup Language (DPML)

XML Schema

• XML Schemas are based on XML, not some specialized syntax

• XML schemas support multiples data types

• XML schemas allows vocabularies extension and inheritance relationships between elements without invalidating documents

• XML schemas support namespace integration

• XML schemas support attribute groups

• Binding tools are available (Java-XML binding for ex.)

Page 15: Digital Photogrammetry Markup Language (DPML)

Example of Complex Type

<xsd:complexType name="RegistrationMarkType"> <xsd:annotation> <xsd:documentation>

RegistrationMark can describe a fiducial or a reseau mark </xsd:documentation> </xsd:annotation> <xsd:sequence>

<xsd:element name="Description" minOccurs="0"/><xsd:element name="X" type=”dpml:length "/><xsd:element name="Y" type=”dpml:length "/><xsd:element name="stdDevX" type=”dpml:length " minOccurs="0"/><xsd:element name="stdDevY" type=”dpml:length " minOccurs="0"/>

</xsd:sequence> <xsd:attribute name="id" type="xsd:String" use="required"/> </xsd:complexType>

Page 16: Digital Photogrammetry Markup Language (DPML)

Xpath,Xlink,XPointer

• Xpath - Language to used to address parts of an XML documents

• Xpointer - A language that’s used to address the internal structure of XML documents (based upon Xpath)

• Xlink - An XML language that specifies contructs for advanced linking in XML documents (relies on Xpointer for linking parts of documents

Page 17: Digital Photogrammetry Markup Language (DPML)

Example of XLink

<dpml xmlns:xlink="http://www.w3.org/1999/xlink” xmlns:gml="http://www.opengis.net/gml”

….

<FrameCamera xlink:type="simple” gml:remoteSchema="http://www.dpml.org/sensors.xsd#FrameCamera” xlink:href="http://www.acamerarepository.com/sensors.xml#Camera1"/>

Page 18: Digital Photogrammetry Markup Language (DPML)

Extensible Stylesheet Language (XSL,XSLT)

• XML based syntax

• Based on notion of templates and patterns

• Use of XSL processor to perform transformations

• XSL transformations used to :

– Transform one vocabulary to another

– Create dynamic document that can be rearranged, processed or filtered.

– Format for presentation (DPML to SVG,HTML,PDF...)

Page 19: Digital Photogrammetry Markup Language (DPML)

Example

DPMLXSLT

Processor

StyleSheet

SVG

Page 20: Digital Photogrammetry Markup Language (DPML)

DPML Overview

Page 21: Digital Photogrammetry Markup Language (DPML)

DPML Design goals

Based on existing XML-schema standards (GML, CS, Units ..)

To be sufficiently extensible to support a wide variety of sensors and customized information

Provide efficient and easy-to-understand encoding of photogrammetry information

Provide a set common photogrammetric modeling objects to enable interoperability of independently-developed applications.

Page 22: Digital Photogrammetry Markup Language (DPML)

Schemas dependencies of DPML

Features

Geometry

‘GML’ namespace

<<includes>>

‘DPML’ namespace

‘POSC’ namespace

Uom

Sensor

DPMLCS

CT<<includes>>

<<includes>>

‘CS’ namespace

<<Import>> <<Import>>

<<Import>>

Page 23: Digital Photogrammetry Markup Language (DPML)

Geographic Markup Language (GML 2.0)

• OGC Recommendation Paper, 20 February 2001 OGC Document Number: 01-029

• XML encoding of geospatial information both data transport and data storage, especially in a wide-area Internet context;

• Based on OGC Simple Feature Specification

• Definition of Feature, Geometry and Link XML schemas

• Extensible to support a wide variety of spatial tasks, from portrayal to analysis;

• Enable interoperability of independently-developed applications.

• Foundation for Internet GIS

Page 24: Digital Photogrammetry Markup Language (DPML)

Project Structure• A DPML document describes a typical photogrammetric

project. Start with <DPML> tag.

• A project has the following elements

– Project metadata and default parameters used in the project

– Unit dictionary

– Coordinate System dictionary

– Sensors dictionary

– Ground Control Points dictionary

– One or several block of images

– One or several block of models

Page 25: Digital Photogrammetry Markup Language (DPML)

Unit dictionary

• Based on OGC Document 01-008r2 Unit of measure (originally from POSC specification). Not final specs.

• DPML defines built-in set of dimensionalities (Length, Angle,.. .) that are used consistently in the schema.

• Units can be defined explicitly or by reference to a remote source (repository maintained by a standard body)

• Will be integrated in GML 3.0

• Still some problems of consistency between the different specification of OGC

• Would be nice if definition of dimensionality needs to be solved

Page 26: Digital Photogrammetry Markup Language (DPML)

Unit definition example

<dpml xmlns:um="http://www.posc.org/schemas”..

….< um :UnitOfMeasureBlock> < um :uomReference um : uid="m" xlink="http://www.posc.org/applications/unitsDict.xml#m"/> < um : uomReference um : uid="ft" xlink="http://www.posc.org/applications/unitsDict.xml#ft"/> < um : UnitOfMeasure uid="micron" annotation="microns""> < um : name>Micrometer</name> < um : ConversionToBaseUnit baseUnit="#m"> < posc: factor>.000001</factor> </ um : ConversionToBaseUnit> </ um : UnitOfMeasure></ um : UnitOfMeasureBlock>

Page 27: Digital Photogrammetry Markup Language (DPML)

Coordinate Systems Dictionary

• Based on OGC 01-009 and OGC 00-045 Documents

• The dictionary supports definitions for coordinate systems and transformations.

• CS can be defined explicitly or by reference to a remote source (repository maintained by a standard body)

• CS will be integrated in GML in the next release (replacing SRS)

• An XML schema needs to be defined, only DTD is available today.

Page 28: Digital Photogrammetry Markup Language (DPML)

Example of Projection encoding

<CS_Projection ClassName="Transverse_Mercator"> <CS_Info/> <CS_ProjectionParameter Name="latitude_of_origin" Value="49"/> <CS_ProjectionParameter Name="central_meridian" Value="-2"/> <CS_ProjectionParameter Name="scale_factor" Value="0.999601272"/> <CS_ProjectionParameter Name="false_easting" Value="400000"/> <CS_ProjectionParameter Name="false_northing" Value="-100000"/> </CS_Projection>

Page 29: Digital Photogrammetry Markup Language (DPML)

Example of Horizontal Datum

<CS_HorizontalDatum DatumType="1001"> <CS_Info AuthorityCode="6277" Authority="EPSG" Name="OSGB_1936"/> <CS_Ellipsoid SemiMajorAxis="6377563.396" SemiMinorAxis="6356256.90923729"

InverseFlattening="299.3249646" IvfDefinitive="1"> <CS_Info AuthorityCode="7001" Authority="EPSG" Name="Airy 1830"/> <CS_LinearUnit MetersPerUnit="1"> <CS_Info AuthorityCode="9001" Abbreviation="m" Authority="EPSG" Name="metre"/> </CS_LinearUnit>

</CS_Ellipsoid> <CS_WGS84ConversionInfo Dx="375" Dy="-111" Dz="431"

Ex="0" Ey="0" Ez="0" Ppm="0"/> </CS_HorizontalDatum>

Page 30: Digital Photogrammetry Markup Language (DPML)

Sensor model design

• Sensor model describes the physical and geometrical properties of each kind of photogrammetric, remote sensing and other sensors that produces imagery type of data.

• Sensor model schema is described in a separated schema file (sensors.xsd) .

• Aimed to be extensible to support new type of sensors and parameters.

• Sensor model can be defined explicitly or by reference to a remote source (repository maintained by a standard body)

Page 31: Digital Photogrammetry Markup Language (DPML)

Sensor model design

• Initial version will include only model for frame camera (including digital)

• Future version will include scanning sensor (SPOT, Landsat, IRS,…)

• Interaction with ISO/TC211 project 19130 "Sensor and Data Models for Imagery and Gridded Data” and SensorML (CEOS) definition.

• The model includes only the minimum requirement for performing photogrammetric operations such as bundle adjustement, interior orientation

Page 32: Digital Photogrammetry Markup Language (DPML)

Abstract Sensor Type Definition

<xsd:complexType name="AbstractSensorType"> <xsd:sequence>

<xsd:element name="Name" type="xsd:string"/><xsd:element name="Description" type="xsd:string"/>

</xsd:sequence> <xsd:attribute name="sid" type="xsd:ID" use="required"/> <xsd:attribute name="type" type="SensorType" use="required"/></xsd:complexType>

Page 33: Digital Photogrammetry Markup Language (DPML)

Ground Control Points dictionary

• GCP extends GML Feature

• GCP can be extended to add additional metadata information

• GCPs can be defined explicitly or by reference to a remote source (Web Feature Server, image chip server,…. )

• GCP has elements describing accuracy

• GCP can be reused in several blocks by reference

• Would be nice to have an XML schema standard to describe accuracy

Page 34: Digital Photogrammetry Markup Language (DPML)

GCP Type definition

<xsd:complexType name=”GCPType"> <complexContent> <extension base=“gml:AbstractFeatureType”> <xsd:sequence>

<xsd:element name=”Point" type=”gml:PointPropertyType "/><xsd:element name=”StdDevX" type=”dpml:length " minOccurs="0"/><xsd:element name="stdDevY" type=”dpml:length " minOccurs="0"/><xsd:element name="stdDevZ" type=”dpml:length " minOccurs="0"/>

</xsd:sequence> <xsd:attribute name="id" type="xsd:IDREF" use="required"/> </extension> <complexContent> </xsd:complexType>

Page 35: Digital Photogrammetry Markup Language (DPML)

Block Structure

• DPML documents can contain one or more blocks of images

• Block is an abstract type

• Specialization of block for aerial photo.

• Block are composed of the following elements :

– Metadata information

– List of images

– Bundle points

– Bundle results

Page 36: Digital Photogrammetry Markup Language (DPML)

Photos

• Photo is a specialization of abstract Image type.

• Photo only used for FrameCamera

• Photo has the following information

– Datasource information

– Metadata information

– Footprint (gml:PolygonPropertyType)

– InteriorOrientation (measurements and results)

– ExteriorOrientation (Given and computed)

– Measurements (optional)

– PhotoRationalFunction (optional)

Page 37: Digital Photogrammetry Markup Language (DPML)

Points in DPML• Several types of point in DPML

– Ground Control Point

– Tie Point

– Check Point

– Bundle Point

– Image Point

– Sensor Position

• Still some works to be done on the classification and definition.

• The most difficult part of the specification

Page 38: Digital Photogrammetry Markup Language (DPML)

Points in DPML

• Points in DPML are recorded as GML point features• Error estimates and measurement method, are recorded as

feature attributes or properties

• Points can be retrieved from a Web Feature Server by using XLink

• Points are described as complex type to allow extensibility

• Uom of measure from POSC specs have been in a consistent way in all measurements and points definition.

Page 39: Digital Photogrammetry Markup Language (DPML)

Some potential DPML applications

Page 40: Digital Photogrammetry Markup Language (DPML)

Report generation

DPML XSL Processor

Stylesheet2

HTML page

Stylesheet3

SVG

Stylesheet1

PDF

Page 41: Digital Photogrammetry Markup Language (DPML)

Sensor Repository

SpotCatalog

Sensor Repository

Frame CameraCalibration

Centers

LandsatCatalog

Softcopy

Geolocation of dynamic sensor

systems

Page 42: Digital Photogrammetry Markup Language (DPML)

Ground Control Point Repository

GCP repository

GCP Provider 1

GCP Provider 2

GCP Provider 3

Image Chip Server

Softcopy 1

Softcopy 2

Chip MatchingWeb Service

DPMLDPML

Image ServerImage Server 2

DPML

Page 43: Digital Photogrammetry Markup Language (DPML)

Photogrammetric Web Services

Measurement tool

Viewer

Bundle Adjustement

Web Services Client(browser, desktop app..)

Orthorectification services

Sensor DefinitionProvider

Web ServicesRegistry

(UUDI for ex.)

(1) registers

(2) query(3) Bind

CT services

(3) Bind

DPML DPML

Page 44: Digital Photogrammetry Markup Language (DPML)

Conclusion

• DPML draft specification will be public in June

• Focus on Frame Camera. More sensors support will be added later

• Will be distributed and tested for international community approval

• Specification will be done in coordination with current specification in OGC and ISO/TC 211

• Looking to be hosted and funded by international organization (OGC, ISPRS, ISO/TC 211…)

• Still some issues to be solved (unit,dimensionality, accuracy, points classification)

Page 45: Digital Photogrammetry Markup Language (DPML)

For more information

• www.dpml.org

• www.opengis.org

• www.opengis.net

• www.w3c.org

• www.xmlhack.org

• www.posc.org/schemas

• Open Photogrammetry Initiative Z/I Imaging