Title: Digital Photogrammetry Markup Language (DPML)
1Digital Photogrammetry Markup Language (DPML)
- by
- Stephane Fellah
- PCI Geomatics
- ASPRS - April 2001
2Outline
- Introduction
- XML technology overview
- DPML Overview
- Some potential DPML applications
- Conclusion
3Introduction
4A typical photogrammetry shop
- Analytical/Digital photogrammetry environment
- More than one softcopy systems
- Use of other specialized photogrammetric/CAD/GIS/i
mage processing packages - In-house programs and procedures
- In-house workflow
- Automation by scripting
- Heterogeneous platforms and programming languages
5The 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 ?
6Digital 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.
7DPML
- 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
8XML technologies overview
9What 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.
10What 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.
11XML 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
12Sample fragment of XML document
ltcityMembergt ltRoadgt ltgmlnamegtM11lt/gmln
amegt ltlinearGeometrygt
ltgmlLineString srsName"http//www.opengis.net/gm
l/srs/epsg.xml4326"gt
ltgmlcoordgtltgmlXgt0lt/gmlXgtltgmlYgt5.0lt/gmlYgtlt/gml
coordgt ltgmlcoordgtltgmlXgt20.6lt/gmlXgt
ltgmlYgt10.7lt/gmlYgtlt/gmlcoordgt
ltgmlcoordgtltgmlXgt80.5lt/gmlXgtltgmlYgt60.9lt/gmlYgtlt
/gmlcoordgt lt/gmlLineStringgt
lt/linearGeometrygt ltclassificationgtmotorwaylt/
classificationgt ltnumbergt11lt/numbergt
lt/Roadgt lt/cityMembergt
13XML Namespaces
- XML Namespace guarantees uniqueness in the naming
of XML elements and attributes - Involve the use of Uniform Resource Identifiers
(URI) - ltschema targetNamespace"http//www.foo.net/foo"
- xmlnsdpml"http//www.dpml.
org/dpml" - xmlnsxsd"http//www.w3.org
/2000/10/XMLSchema" - xmlnsgml"http//www.opengi
s.net/gml - .
- lt!-- import constructs from the DPML schemas
--gt - ltimport namespace"http//www.dpml.org/dpml"
schemaLocation"dpml.xsd"/gt - . . .
- ltdpmlFrameCamera sidCamera1 typeFramegt
-
- lt/schemagt
14XML 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.)
15Example of Complex Type
ltxsdcomplexType name"RegistrationMarkType"gt
ltxsdannotationgt ltxsddocumentationgt
RegistrationMark can describe a fiducial or a
reseau mark lt/xsddocumentationgt
lt/xsdannotationgt ltxsdsequencegt ltxsdeleme
nt name"Description" minOccurs"0"/gt ltxsdelemen
t name"X" typedpmllength "/gt ltxsdelement
name"Y" typedpmllength "/gt ltxsdelement
name"stdDevX" typedpmllength "
minOccurs"0"/gt ltxsdelement name"stdDevY"
typedpmllength " minOccurs"0"/gt
lt/xsdsequencegt ltxsdattribute name"id"
type"xsdString" use"required"/gt
lt/xsdcomplexTypegt
16Xpath,Xlink,XPointer
- Xpath - Language to used to address parts of an
XML documents - Xpointer - A language thats 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
17Example of XLink
- ltdpml xmlnsxlink"http//www.w3.org/1999/xlin
k xmlnsgml"http//www.open
gis.net/gml - .
- ltFrameCamera xlinktype"simple
gmlremoteSchema"http//www.dpml.org/sensors.xsd
FrameCamera xlinkhref"http//www.acamerareposi
tory.com/sensors.xmlCamera1"/gt
18Extensible 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...)
19Example
StyleSheet
SVG
DPML
XSLT Processor
20DPML Overview
21DPML 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.
22Schemas dependencies of DPML
Sensor
DPML namespace
ltltincludesgtgt
DPML
CS
CS namespace
ltltImportgtgt
ltltincludesgtgt
CT
ltltImportgtgt
ltltImportgtgt
Features
ltltincludesgtgt
Uom
GML namespace
POSC namespace
Geometry
23Geographic 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
24Project Structure
- A DPML document describes a typical
photogrammetric project. Start with ltDPMLgt 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
25Unit 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
26Unit definition example
ltdpml xmlnsum"http//www.posc.org/schemas..
. lt um UnitOfMeasureBlockgt lt um
uomReference um uid"m"
xlink"http//www.posc.org/applications/unitsDict
.xmlm"/gt lt um uomReference um
uid"ft" xlink"http//www.posc.org/applicat
ions/unitsDict.xmlft"/gt lt um
UnitOfMeasure uid"micron" annotation"microns""gt
lt um namegtMicrometerlt/namegt lt um
ConversionToBaseUnit baseUnit"m"gt lt
posc factorgt.000001lt/factorgt lt/ um
ConversionToBaseUnitgt lt/ um
UnitOfMeasuregt lt/ um UnitOfMeasureBlockgt
27Coordinate 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.
28Example of Projection encoding
ltCS_Projection ClassName"Transverse_Mercator"gt
ltCS_Info/gt
ltCS_ProjectionParameter Name"latitude_of_origin"
Value"49"/gt ltCS_ProjectionParameter
Name"central_meridian" Value"-2"/gt
ltCS_ProjectionParameter Name"scale_factor"
Value"0.999601272"/gt
ltCS_ProjectionParameter Name"false_easting"
Value"400000"/gt ltCS_ProjectionParamet
er Name"false_northing" Value"-100000"/gt
lt/CS_Projectiongt
29Example of Horizontal Datum
ltCS_HorizontalDatum DatumType"1001"gt
ltCS_Info AuthorityCode"6277" Authority"EPSG"
Name"OSGB_1936"/gt ltCS_Ellipsoid
SemiMajorAxis"6377563.396" SemiMinorAxis"6356256
.90923729" InverseFlattening"299.3249646"
IvfDefinitive"1"gt ltCS_Info
AuthorityCode"7001" Authority"EPSG" Name"Airy
1830"/gt ltCS_LinearUnit
MetersPerUnit"1"gt ltCS_Info
AuthorityCode"9001" Abbreviation"m"
Authority"EPSG"
Name"metre"/gt lt/CS_LinearUnitgt
lt/CS_Ellipsoidgt ltCS_WGS84ConversionInfo
Dx"375" Dy"-111" Dz"431"
Ex"0" Ey"0" Ez"0" Ppm"0"/gt
lt/CS_HorizontalDatumgt
30Sensor 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)
31Sensor 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
32Abstract Sensor Type Definition
ltxsdcomplexType name"AbstractSensorType"gt
ltxsdsequencegt ltxsdelement name"Name"
type"xsdstring"/gt ltxsdelement
name"Description" type"xsdstring"/gt
lt/xsdsequencegt ltxsdattribute name"sid"
type"xsdID" use"required"/gt ltxsdattribute
name"type" type"SensorType" use"required"/gt lt/x
sdcomplexTypegt
33Ground 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
34GCP Type definition
ltxsdcomplexType nameGCPType"gt
ltcomplexContentgt ltextension
basegmlAbstractFeatureTypegt
ltxsdsequencegt ltxsdelement namePoint"
typegmlPointPropertyType "/gt ltxsdelement
nameStdDevX" typedpmllength "
minOccurs"0"/gt ltxsdelement name"stdDevY"
typedpmllength " minOccurs"0"/gt ltxsdelement
name"stdDevZ" typedpmllength "
minOccurs"0"/gt lt/xsdsequencegt
ltxsdattribute name"id" type"xsdIDREF"
use"required"/gt lt/extensiongt
ltcomplexContentgt lt/xsdcomplexTypegt
35Block 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
36Photos
- Photo is a specialization of abstract Image type.
- Photo only used for FrameCamera
- Photo has the following information
- Datasource information
- Metadata information
- Footprint (gmlPolygonPropertyType)
- InteriorOrientation (measurements and results)
- ExteriorOrientation (Given and computed)
- Measurements (optional)
- PhotoRationalFunction (optional)
37Points 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
38Points 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.
39Some potential DPML applications
40Report generation
Stylesheet2
Stylesheet3
Stylesheet1
HTML page
SVG
DPML
XSL Processor
PDF
41Sensor Repository
Spot Catalog
Softcopy
Sensor Repository
Frame Camera Calibration Centers
Geolocation of dynamic sensor systems
Landsat Catalog
42Ground Control Point Repository
GCP Provider 1
Softcopy 1
GCP Provider 2
GCP repository
Softcopy 2
DPML
DPML
GCP Provider 3
Chip Matching Web Service
Image Chip Server
DPML
Image Server
Image Server 2
43Photogrammetric Web Services
Web Services Client (browser, desktop app..)
(2) query
(3) Bind
(3) Bind
DPML
DPML
Web Services Registry (UUDI for ex.)
Measurement tool
Orthorectification services
Viewer
Bundle Adjustement
(1) registers
Sensor Definition Provider
CT services
44Conclusion
- 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,dimensionalit
y, accuracy, points classification)
45For 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