throbber
GeoTIFF Format Specification
`
`GeoTIFF Revision 1.0
`
`+---------------------------------------------------------------------+
`
`
`
` Specification Version: 1.8.1
` Last Modified: 31 October, 1995
`
`
`Authors:
`
`
`
` Niles Ritter, Jet Propulsion Laboratory
` Cartographic Applications Group
` 4800 Oak Grove Dr.
` Pasadena, CA 91109
` email:ndr@tazboy.jpl.nasa.gov
`
` Mike Ruth, SPOT Image Corp
` Product Development Group
` 1897 Preston White Dr.
` Reston, VA 22091
` email:ruth@spot.com
`
`
`Acknowledgments:
`
`
`
`GeoTIFF Working Group:
` Mike Ruth, Niles Ritter, Ed Grissom, Brett Borup, George Galang,
` John Haller, Gary Stephenson, Steve Covington, Tim Nagy,
` Jamie Moyers, Jim Stickley,Joe Messina, Yves Somer.
`
`Additional advice from discussions with Tom Lane, Sam Leffler regarding
`TIFF implementations.
`
`Roger Lott, Fredrik Lundh, and Jarle Land provided valuable information
`regarding projections, projection code databases and geodetics.
`
`GeoTIFF Mailing list:
` Posting: geotiff@tazboy.jpl.nasa.gov
` Subscription: geotiff-request@tazboy.jpl.nasa.gov
` (send message "subscribe geotiff your-name-here").
`
`
`WhatsApp LLC
`Exhibit 1018
`Page 001
`
`

`

`Disclaimers and Notes for This Version:
`
`
`
`This proposal has not been approved by SPOT, JPL, or any other organization.
`This represents a proposal, which derives from many discussions between an
`international body of TIFF users and developers.
`
`
`
`The authors and their sponsors assume no liability for any special, incidental,
`indirect or consequences of any kind, or any damages whatsoever resulting from
`loss of use, data or profits, whether or not advised of the possibility of
`damage, and on any theory of liability, arising out of or in connection with
`the use of this specification.
`
`
`
`Copyright
`
`
`
`Portions of this specification are copyrighted by Niles Ritter and Mike Ruth.
`Permission to copy without fee all or part of this material is granted provided
`that the copies are not made or distributed for direct or commercial advantage
`and this copyright notice appears.
`
`
`
`Licenses and Trademarks
`
`
`
`Aldus and Adobe are registered trademarks, and TIFF is a registered trademark
`of Aldus Corp., now owned by Adobe. SPOT Image, ESRI, ERDAS, ARC/Info, Intergraph
`and Softdesk are registered trademarks.
`
`Concurrence
`
`
`
` The following members of the GeoTIFF working group have reviewed and approved
`of this revision.
`
`
`
` Name Organization Representing
` -------------------- ----------------------- ------------
` Niles Ritter Jet Propulsion Labs JPL Carto Group
` Mike Ruth SPOT Image Corp. (USA) SPOT Image Corp. (USA)
`
`
`+--------------------------------------------------------------------+
`
`WhatsApp LLC
`Exhibit 1018
`Page 002
`
`

`

`Table of Contents
`
`+--------------------------------------------------------------------+
`
`+--------------------------------------------------------------------+
`
`1 Introduction
`
`+--------------------------------------------------------------------+
`
`+----------------------------------+
`
`1.1 About this Specification
`
`
`
`This is a description of a proposal to specify the content and structure of
`a group of industry-standard tag sets for the management of georeference or
`geocoded raster imagery using Aldus-Adobe's public domain Tagged-Image File
`Format (TIFF).
`
`
`
`This specification closely follows the organization and structure of the TIFF
`specification document.
`
`+----------------------------------+
`
`1.1.1 Background
`
`
`
`TIFF has emerged as one of the world's most popular raster file formats. But
`TIFF remains limited in cartographic applications, since no publicly available,
`stable structure for conveying geographic information presently exists in the
`public domain.
`
`
`
`Several private solutions exist for recording cartographic information in TIFF
`tags. Intergraph has a mature and sophisticated geotie tag implementation,
`but this remains within the private TIFF tagset registered exclusively to
`Intergraph. Other companies (such as ESRI, and Island Graphics) have geographic
`solutions which are also proprietary or limited by specific application to
`their software's architecture.
`
`
`
`Many GIS companies, raster data providers, and their clients have requested
`that the companies concerned with delivery and exploitation of raster geographic
`imagery develop a publicly available, platform interoperable standard for the
`support of geographic TIFF imagery. Such TIFF imagery would originate from
`satellite imaging platforms, aerial platforms, scans of aerial photography
`or paper maps, or as a result of geographic analysis. TIFF images which were
`supported by the public "geotie" tagset would be able to be read and positioned
`correctly in any GIS or digital mapping system which supports the "GeoTIFF"
`standard, as proposed in this document.
`
`WhatsApp LLC
`Exhibit 1018
`Page 003
`
`

`

`
`
`The savings to the users and providers of raster data and exploitation softwares
`are potentially significant. With a platform interoperable GeoTIFF file,
`companies could stop spending excessive development resource in support of
`any and all proprietary formats which are invented. Data providers may be able
`to produce off-the-shelf imagery products which can be delivered in the "generic"
`TIFF format quickly and possibly at lower cost. End-users will have the advantage
`of developed software that exploits the GeoTIFF tags transparently. Most
`importantly, the same raster TIFF image which can be read and modified in one
`GIS environment may be equally exploitable in another GIS environment without
`requiring any file duplication or import/export operation.
`
`+----------------------------------+
`
`1.1.2 History
`
`
`
`The initial efforts to define a TIFF "geotie" specification began under the
`leadership of Ed Grissom at Intergraph, and others in the early 1990's. In
`1994 a formal GeoTIFF mailing-list was created and maintained by Niles Ritter
`at JPL, which quickly grew to over 140 subscribers from government and industry.
`The purpose of the list is to discuss common goals and interests in developing
`an industry-wide GeoTIFF standard, and culminated in a conference in March
`of 1995 hosted by SPOT Image, with representatives from USGS, Intergraph, ESRI,
`ERDAS, SoftDesk, MapInfo, NASA/JPL, and others, in which the current working
`proposal for GeoTIFF was outlined. The outline was condensed into a prerelease
`GeoTIFF specification document by Niles Ritter, and Mike Ruth of SPOT Image.
`
`Following discussions with Dr. Roger Lott of the European Petroleum Survey
`Group (EPSG), the GeoTIFF projection parametrization method was extensively
`modified, and brought into compatibility with both the POSC Epicentre model,
`and the Federal Geographic Data Committee (FGDC) metadata approaches.
`
`+----------------------------------+
`
`1.1.3 Scope
`
`
`
`The GeoTIFF spec defines a set of TIFF tags provided to describe all "Cartographic"
`information associated with TIFF imagery that originates from satellite imaging
`systems, scanned aerial photography, scanned maps, digital elevation models,
`or as a result of geographic analyses. Its aim is to allow means for tying
`a raster image to a known model space or map projection, and for describing
`those projections.
`
`
`
`GeoTIFF does not intend to become a replacement for existing geographic data
`interchange standards, such as the USGS SDTS standard or the FGDC metadata
`standard. Rather, it aims to augment an existing popular raster-data format
`to support georeferencing and geocoding information.
`
`
`
`WhatsApp LLC
`Exhibit 1018
`Page 004
`
`

`

`The tags documented in this spec are to be considered completely orthogonal
`to the raster-data descriptions of the TIFF spec, and impose no restrictions
`on how the standard TIFF tags are to be interpreted, which color spaces or
`compression types are to be used, etc.
`
`
`
`+----------------------------------+
`
`1.1.4 Features
`
`
`
`GeoTIFF fully complies with the TIFF 6.0 specifications, and its extensions
`do not in any way go against the TIFF recommendations, nor do they limit the
`scope of raster data supported by TIFF.
`
`
`
`GeoTIFF uses a small set of reserved TIFF tags to store a broad range of
`georeferencing information, catering to geographic as well as projected
`coordinate systems needs. Projections include UTM, US State Plane and National
`Grids, as well as the underlying projection types such as Transverse Mercator,
`Lambert Conformal Conic, etc. No information is stored in private structures,
`IFD's or other mechanisms which would hide information from naive TIFF reading
`software.
`
`
`
`GeoTIFF uses a "MetaTag" (GeoKey) approach to encode dozens of information
`elements into just 6 tags, taking advantage of TIFF platform-independent data
`format representation to avoid cross-platform interchange difficulties. These
`keys are designed in a manner parallel to standard TIFF tags, and closely follow
`the TIFF discipline in their structure and layout. New keys may be defined
`as needs arise, within the current framework, and without requiring the
`allocation of new tags from Aldus/Adobe.
`
`
`
`GeoTIFF uses numerical codes to describe projection types, coordinate systems,
`datums, ellipsoids, etc. The projection, datums and ellipsoid codes are derived
`from the EPSG list compiled by the Petrotechnical Open Software Corporation
`(POSC), and mechanisms for adding further international projections, datums
`and ellipsoids has been established. The GeoTIFF information content is designed
`to be compatible with the data decomposition approach used by the National
`Spatial Data Infrastructure (NSDI) of the U.S. Federal Geographic Data Committee
`(FGDC).
`
`
`
`While GeoTIFF provides a robust framework for specifying a broad class of existing
`Projected coordinate systems, it is also fully extensible, permitting internal,
`private or proprietary information storage. However, since this standard arose
`from the need to avoid multiple proprietary encoding systems, use of private
`implementations is to be discouraged.
`
`+----------------------------------+
`
`WhatsApp LLC
`Exhibit 1018
`Page 005
`
`

`

`1.2 Revision Notes
`
`
`
`This is the final release of GeoTIFF Revision 1.0, supporting the new EPSG
`2.x codes.
`
`
`
`Changes from 1.8 document: minor spelling and typo corrections.
`
`
`
`+----------------------------------+
`
`1.2.1 Revision Nomenclature
`
`A Revision of GeoTIFF specifications will be denoted by two integers separated
`by a decimal, indicating the Major and Minor revision numbers. GeoTIFF stores
`most of its information using a "Key-Code" pairing system; the Major revision
`number will only be incremented when a substantial addition or modification
`is made to the list of information Keys, while the Minor Revision number permits
`incremental augmentation of the list of valid codes.
`
`+----------------------------------+
`
`1.2.2 New Features
`
`
`
`Revision 1.0 New Transformation Matrix Tag.
`
`Index Table added in Section 6.4 to assist in looking up geodesy codes.
`
`+----------------------------------+
`
`1.2.3 Clarifications
`
`Revision 1.0:
`
` o The former ModelTransformationTag (33920) conflicts with
` an internal Intergraph implementation and is being deprecated,
` in favor of a new tag (34264, registered to JPL).
`
` o The "Origin" keys have been renamed with "Natural" or "Nat"
` prefixes, to distinguish from "False" origins, and to have
` a closer match to EPSG/POSC terminology. All Revision 0.2
` names shall be recognized in a backward-compatible fashion.
`
` o The GeoTIFF/Cartlab web page addresses have been moved out
` of the author's ~ndr/ personal directory, and may now be found at:
`
` http://www-mipl.jpl.nasa.gov/cartlab/geotiff/geotiff.html
`
`Revision 0.2:
`
` o South Oriented Gauss Conformal is Transverse Mercator with South
`
`WhatsApp LLC
`Exhibit 1018
`Page 006
`
`

`

` pointing up, and so has been given a distinct code, rather than
` aliased to Transverse Mercator.
`
`Revision 0.1:
`
` o GeoTIFF-writers shall store the GeoKey entries in key-sorted order
` within the GeoKeyDirectoryTag. This is a change from preliminary
` discussions which permitted arbitrary order, and more closely follows
` the TIFF discipline.
`
` o The third value "ScaleZ" in ModelPixelScaleTag = (ScaleX, ScaleY,
` ScaleZ) shall by default be set to 0, not 1, as suggested in preliminary
` discussions. This is because most standard model spaces are
` 2-dimensional (flat), and therefore its vertical shape is
` independent of the pixel-value.
`
` o The code 32767 shall be used to imply "user-defined", rather than
` 16384. This avoids breaking up the reserved public GeoKey code space
` into two discontiguous ranges, 0-16383 and 16385-32767.
`
` o If a GeoKey is coded "undefined", then it is exactly that; no
` parameters should be provided (e.g. EllipsoidSemiMajorAxis, etc).
` To provide parameters for a non-coded attribute, use "user-defined".
`
`
`
`
`+----------------------------------+
`
`1.2.4 Organizational changes
`
`
`
`None.
`
`+----------------------------------+
`
`1.2.5 Changes in Requirements
`
` Changes to this preliminary revision:
`
` o Support for new transformation matrix tag (34264) required.
`
`
`+----------------------------------+
`
`1.2.6 Agenda for Future Development
`
`
`
`Revision 1.0, which is the first true "Baseline" revision, is proposed to support
`well-documented, public, relatively simple Projected Coordinate Systems (PCS),
`including most commonly used and supported in the international public domains
`today, together with their underlying map-projection systems. Following the
`critiques of the 0.x Revision phase, the 1.0 Revision spec is hereby released
`in Sept '95.
`
`WhatsApp LLC
`Exhibit 1018
`Page 007
`
`

`

`
`
`In the coming year, incremental 1.x augmentations to the "codes" list will
`be established, as well as discussions regarding the future "2.0" requirements.
`
`
`
`The Revision 2.0 phase is proposed to extend the capability of the GeoTIFF
`tagsets beyond PCS projections into more complex map projection geometries,
`including single-project, single-vendor, or proprietary cartographic
`solutions.
`
`
`
`TBD: Sounding Datums and related parameters for Digital Elevation Models (DEM's)
`and bathymetry -- Revision 2?
`
`
`
`+----------------------------------+
`
`1.3 Administration
`
`+----------------------------------+
`
`1.3.1 Information and Support:
`
`The most recent version of the GeoTIFF spec, EPSG/POSC tables, and source code
`is available via anonymous FTP at:
`
`
`
` ftp://mtritter.jpl.nasa.gov/pub/tiff/geotiff/
`
`and is mirrored at the USGS:
`
`
` ftp://ftpmcmc.cr.usgs.gov/release/geotiff/jpl_mirror/
`
` There are several subdirectories called spec/ tables/ and code/.
`
` The USGS also has an archive of prototype GeoTIFF images at:
`
` ftp://ftpmcmc.cr.usgs.gov/release/geotiff/images/
`
`
`Information and a hypertext version of the GeoTIFF spec is available via WWW
`at the following site:
`
`
` http://www-mipl.jpl.nasa.gov/cartlab/geotiff/geotiff.html
`
`
`A mailing-list is currently active to discuss the on-going development of this
`standard. To subscribe to this list, send e-mail to:
`
`
` GeoTIFF-request@tazboy.jpl.nasa.gov
`
`
`with no subject and the body of the message reading:
`
`
`
`WhatsApp LLC
`Exhibit 1018
`Page 008
`
`

`

` subscribe geotiff your-name-here
`
`
`To post inquiries directly to the list, send email to:
`
`
` geotiff@tazboy.jpl.nasa.gov
`
`
`
`
`+----------------------------------+
`
`1.3.2 Private Keys and Codes:
`
`As with TIFF, in GeoTIFF private "GeoKeys" and codes may be used, starting
`with 32768 and above. Unlike the TIFF spec, however, these private key-spaces
`will not be reserved, and are only to be used for private, internal purposes.
`
`+----------------------------------+
`
`1.3.3 Proposed Revisions to GeoTIFF
`
`Should a feature arise which is not currently supported, it should be formally
`proposed for addition to the GeoTIFF spec, through the official mailing-list.
`
`
`
`The current maintainer of the GeoTIFF specification is Niles Ritter, though
`this may change at a later time. Projection codes are maintained through EPSG/POSC,
`and a mechanism for change/additions will be established through the GeoTIFF
`mailing list.
`
`
`
`+--------------------------------------------------------------------+
`
`2 Baseline GeoTIFF
`
`+--------------------------------------------------------------------+
`
`
`
`+----------------------------------+
`
`2.1 Notation
`
`This spec follows the notation remarks of the TIFF 6.0 spec, regarding "is",
`"shall", "should", and "may"; the first two indicate mandatory requirements,
`"should" indicates a strong recommendation, while "may" indicates an option.
`
`+----------------------------------+
`
`2.2 GeoTIFF Design Considerations
`
`Every effort has been made to adhere to the philosophy of TIFF data abstraction.
`The GeoTIFF tags conform to a hierarchical data structure of tags and keys,
`similar to the tags which have been implemented in the "basic" and "extended"
`
`WhatsApp LLC
`Exhibit 1018
`Page 009
`
`

`

`TIFF tags already supported in TIFF Version 6 specification. The following
`are some points considered in the design of GeoTIFF:
`
` o
`
` Private binary structures, while permitted under the TIFF spec, are in general
`difficult to maintain, and are intrinsically platform- dependent. Whenever
`possible, information should be sorted into their intrinsic data-types, and
`placed into appropriately named tags. Also, implementors of TIFF readers would
`be more willing to honor a new tag specification if it does not require parsing
`novel binary structures.
`
` o
`
` Any Tag value which is to be used as a "keyword" switch or modifier should
`be a SHORT type, rather than an ASCII string. This avoids common mistakes of
`mis-spelling a keyword, as well as facilitating an implementation in code using
`the "switch/case" features of most languages. In general, scanning ASCII strings
`for keywords (CaseINSensitiVE?) is a hazardous (not to mention slower and more
`complex) operation.
`
` o
`
` True "Extensibility" strongly suggests that the Tags defined have a
`sufficiently abstract definition so that the same tag and its values may be
`used and interpreted in different ways as more complex information spaces are
`developed. For example, the old SubFileType tag (255) had to be obsoleted and
`replaced with a NewSubFileType tag, because images began appearing which could
`not fit into the narrowly defined classes for that Tag. Conversely, the
`YCbCrSubsampling Tag has taken on new meaning and importance as the JPEG
`compression standard for TIFF becomes finalized.
`
`+----------------------------------+
`
`2.3 GeoTIFF Software Requirements
`
`GeoTIFF requires support for all documented TIFF 6.0 tag data-types, and in
`particular requires the IEEE double-precision floating point "DOUBLE" type
`tag. Most of the parameters for georeferencing will not have sufficient accuracy
`with single-precision IEEE, nor with RATIONAL format storage. The only other
`alternative for storing high-precision values would be to encode as ASCII,
`but this does not conform to TIFF recommendations for data encoding.
`
`
`
`It is worth emphasizing here that the TIFF spec indicates that TIFF-compliant
`readers shall honor the 'byte-order' indicator, meaning that 4-byte integers
`from files created on opposite order machines will be swapped in software,
`and that 8-byte DOUBLE's will be 8-byte swapped.
`
` A
`
` GeoTIFF reader/writer, in addition to supporting the standard TIFF tag types,
`must also have an additional module which can parse the "Geokey" MetaTag
`information. A public-domain software package for performing this function
`is now available; see the "References" in section 5 for the location.
`
`
`
`
`
`WhatsApp LLC
`Exhibit 1018
`Page 010
`
`

`

`+----------------------------------+
`
`2.4 GeoTIFF File and "Key" Structure
`
`
`
`This section describes the abstract file-format and "GeoKey" data storage
`mechanism used in GeoTIFF. Uses of this mechanism for implementing georeferencing
`and geocoding is detailed in section 2.6 and section 2.7 .
`
` A
`
` GeoTIFF file is a TIFF 6.0 file, and inherits the file structure as described
`in the corresponding portion of the TIFF spec. All GeoTIFF specific information
`is encoded in several additional reserved TIFF tags, and contains no private
`Image File Directories (IFD's), binary structures or other private information
`invisible to standard TIFF readers.
`
`
`
`The number and type of parameters that would be required to describe most popular
`projection types would, if implemented as separate TIFF tags, likely require
`dozens or even hundred of tags, exhausting the limited resources of the TIFF
`tag-space. On the other hand, a private IFD, while providing thousands of free
`tags, is limited in that its tag-values are invisible to non-savvy TIFF readers
`(which don't know that the IFD_OFFSET tag value points to a private IFD).
`
`
`
`To avoid these problems, a GeoTIFF file stores projection parameters in a set
`of "Keys" which are virtually identical in function to a "Tag", but has one
`more level of abstraction above TIFF. Effectively, it is a sort of "Meta-Tag".
`A Key works with formatted tag-values of a TIFF file the way that a TIFF file
`deals with the raw bytes of a data file. Like a tag, a Key has an ID number
`ranging from 0 to 65535, but unlike TIFF tags, all key ID's are available for
`use in GeoTIFF parameter definitions.
`
`
`
`The Keys in GeoTIFF (also call "GeoKeys") are all referenced from the
`GeoKeyDirectoryTag, which defined as follows:
`
`
`GeoKeyDirectoryTag:
` Tag = 34735 (87AF.H)
` Type = SHORT (2-byte unsigned short)
` N = variable, >= 4
` Alias: ProjectionInfoTag, CoordSystemInfoTag
` Owner: SPOT Image, Inc.
`
`
`This tag may be used to store the GeoKey Directory, which defines and references
`the "GeoKeys", as described below.
`
`
`
`The tag is an array of unsigned SHORT values, which are primarily grouped into
`blocks of 4. The first 4 values are special, and contain GeoKey directory header
`information. The header values consist of the following information, in order:
`
`WhatsApp LLC
`Exhibit 1018
`Page 011
`
`

`

`
`
` Header={KeyDirectoryVersion, KeyRevision, MinorRevision, NumberOfKeys}
`
` where
`
` "KeyDirectoryVersion" indicates the current version of Key
` implementation, and will only change if this Tag's Key
` structure is changed. (Similar to the TIFFVersion (42)).
` The current DirectoryVersion number is 1. This value will
` most likely never change, and may be used to ensure that
` this is a valid Key-implementation.
`
` "KeyRevision" indicates what revision of Key-Sets are used.
`
` "MinorRevision" indicates what set of Key-codes are used. The
` complete revision number is denoted <KeyRevision>.<MinorRevision>
`
` "NumberOfKeys" indicates how many Keys are defined by the rest
` of this Tag.
`
`
`This header is immediately followed by a collection of <NumberOfKeys> KeyEntry
`sets, each of which is also 4-SHORTS long. Each KeyEntry is modeled on the
`"TIFFEntry" format of the TIFF directory header, and is of the form:
`
`
`
` KeyEntry = { KeyID, TIFFTagLocation, Count, Value_Offset }
`
` where
`
` "KeyID" gives the key-ID value of the Key (identical in function
` to TIFF tag ID, but completely independent of TIFF tag-space),
`
` "TIFFTagLocation" indicates which TIFF tag contains the value(s)
` of the Key: if TIFFTagLocation is 0, then the value is SHORT,
` and is contained in the "Value_Offset" entry. Otherwise, the type
` (format) of the value is implied by the TIFF-Type of the tag
` containing the value.
`
` "Count" indicates the number of values in this key.
`
` "Value_Offset" Value_Offset indicates the index-
` offset *into* the TagArray indicated by TIFFTagLocation, if
` it is nonzero. If TIFFTagLocation=0, then Value_Offset
` contains the actual (SHORT) value of the Key, and
` Count=1 is implied. Note that the offset is not a byte-offset,
` but rather an index based on the natural data type of the
` specified tag array.
`
`
`Following the KeyEntry definitions, the KeyDirectory tag may also contain
`additional values. For example, if a Key requires multiple SHORT values, they
`shall be placed at the end of this tag, and the KeyEntry will set
`
`WhatsApp LLC
`Exhibit 1018
`Page 012
`
`

`

`TIFFTagLocation=GeoKeyDirectoryTag, with the Value_Offset pointing to the
`location of the value(s).
`
`
`
`All key-values which are not of type SHORT are to be stored in one of the following
`two tags, based on their format:
`
`
`
`GeoDoubleParamsTag:
` Tag = 34736 (87BO.H)
` Type = DOUBLE (IEEE Double precision)
` N = variable
` Owner: SPOT Image, Inc.
`
`
`This tag is used to store all of the DOUBLE valued GeoKeys, referenced by the
`GeoKeyDirectoryTag. The meaning of any value of this double array is determined
`from the GeoKeyDirectoryTag reference pointing to it. FLOAT values should first
`be converted to DOUBLE and stored here.
`
`
`
`GeoAsciiParamsTag:
` Tag = 34737 (87B1.H)
` Type = ASCII
` Owner: SPOT Image, Inc.
` N = variable
`
`
`This tag is used to store all of the ASCII valued GeoKeys, referenced by the
`GeoKeyDirectoryTag. Since keys use offsets into tags, any special comments
`may be placed at the beginning of this tag. For the most part, the only keys
`that are ASCII valued are "Citation" keys, giving documentation and references
`for obscure projections, datums, etc.
`
`
`
`Note on ASCII Keys:
`
`
`Special handling is required for ASCII-valued keys. While it is true that TIFF
`6.0 permits multiple NULL-delimited strings within a single ASCII tag, the
`secondary strings might not appear in the output of naive "tiffdump" programs.
`For this reason, the null delimiter of each ASCII Key value shall be converted
`to a "|" (pipe) character before being installed back into the ASCII holding
`tag, so that a dump of the tag will look like this.
`
`
`
` AsciiTag="first_value|second_value|etc...last_value|"
`
` A
`
` baseline GeoTIFF-reader must check for and convert the final "|" pipe character
`of a key back into a NULL before returning it to the client software.
`
`
`
`GeoKey Sort Order:
`
`
`WhatsApp LLC
`Exhibit 1018
`Page 013
`
`

`

`In the TIFF spec it is required that TIFF tags be written out to the file in
`tag-ID sorted order. This is done to avoid forcing software to perform N-squared
`sort operations when reading and writing tags.
`
`
`
`To follow the TIFF philosophy, GeoTIFF-writers shall store the GeoKey entries
`in key-sorted order within the CoordSystemInfoTag.
`
`
`
`Example:
`
` GeoKeyDirectoryTag=( 1, 1, 2, 6,
` 1024, 0, 1, 2,
` 1026, 34737,12, 0,
` 2048, 0, 1, 32767,
` 2049, 34737,14, 12,
` 2050, 0, 1, 6,
` 2051, 34736, 1, 0 )
` GeoDoubleParamsTag(34736)=(1.5)
` GeoAsciiParamsTag(34737)=("Custom File|My Geographic|")
`
`
`The first line indicates that this is a Version 1 GeoTIFF GeoKey directory,
`the keys are Rev. 1.2, and there are 6 Keys defined in this tag.
`
`The next line indicates that the first Key (ID=1024 = GTModelTypeGeoKey) has
`the value 2 (Geographic), explicitly placed in the entry list (since
`TIFFTagLocation=0). The next line indicates that the Key 1026 (the
`GTCitationGeoKey) is listed in the GeoAsciiParamsTag (34737) array, starting
`at offset 0 (the first in array), and running for 12 bytes and so has the value
`"Custom File" (the "|" is converted to a null delimiter at the end). Going
`further down the list, the Key 2051 (GeogLinearUnitSizeGeoKey) is located in
`the GeoDoubleParamsTag (34736), at offset 0 and has the value 1.5; the value
`of key 2049 (GeogCitationGeoKey) is "My Geographic".
`
`
`
`The TIFF layer handles all the problems of data structure, platform independence,
`format types, etc, by specifying byte-offsets, byte-order format and count,
`while the Key describes its key values at the TIFF level by specifying Tag
`number, array-index, and count. Since all TIFF information occurs in TIFF arrays
`of some sort, we have a robust method for storing anything in a Key that would
`occur in a Tag.
`
`
`
`With this Key-value approach, there are 65536 Keys which have all the flexibility
`of TIFF tag, with the added advantage that a TIFF dump will provide all the
`information that exists in the GeoTIFF implementation.
`
`
`
`This GeoKey mechanism will be used extensively in section 2.7, where the numerous
`parameters for defining Coordinate Systems and their underlying projections
`are defined.
`
`+----------------------------------+
`
`WhatsApp LLC
`Exhibit 1018
`Page 014
`
`

`

`2.5 Coordinate Systems in GeoTIFF
`
`Geotiff has been designed so that standard map coordinate system definitions
`can be readily stored in a single registered TIFF tag. It has also been designed
`to allow the description of coordinate system definitions which are non-standard,
`and for the description of transformations between coordinate systems, through
`the use of three or four additional TIFF tags.
`
`However, in order for the information to be correctly exchanged between various
`clients and providers of GeoTIFF, it is important to establish a common system
`for describing map projections.
`
`In the TIFF/GeoTIFF framework, there are essentially three different spaces
`upon which coordinate systems may be defined. The spaces are:
`
`
`
` 1) The raster space (Image space) R, used to reference the pixel values
` in an image,
` 2) The Device space D, and
` 3) The Model space, M, used to reference points on the earth.
`
`
`In the sections that follow we shall discuss the relevance and use of each
`of these spaces, and their corresponding coordinate systems, from the standpoint
`of GeoTIFF.
`
`
`
`+----------------------------------+
`
`2.5.1 Device Space and GeoTIFF
`
`
`
`In standard TIFF 6.0 there are tags which relate raster space R with device
`space D, such as monitor, scanner or printer. The list of such tags consists
`of the following:
`
`
`
` ResolutionUnit (296)
` XResolution (282)
` YResolution (283)
` Orientation (274)
` XPosition (286)
` YPosition (287)
`
`
`
`
`In Geotiff, provision is made to identify earth-referenced coordinate systems
`(model space M) and to relate M space with R space. This provision is independent
`of and can co-exist with the relationship between raster and device spaces.
`To emphasize the distinction, this spec shall not refer to "X" and "Y" raster
`coordinates, but rather to raster space "J" (row) and "I" (column) coordinate
`variables instead, as defined in section 2.5.2.2.
`
`
`
`+----------------------------------+
`
`WhatsApp LLC
`Exhibit 1018
`Page 015
`
`

`

`2.5.2 Raster Coordinate Systems
`
`+----------------------------------+
`
`2.5.2.1 Raster Data
`
`
`
`Raster data consists of spatially coherent, digitally stored numerical data,
`collected from sensors, scanners, or in other ways numerically derived. The
`manner in which this storage is implemented in a TIFF file is described in
`the standard TIFF specification.
`
`
`
`Raster data values, as read in from a file, are organized by software into
`two dimensional arrays, the indices of the arrays being used as coordinates.
`There may also be additional indices for multispectral data, but these indices
`do not refer to spatial coordinates but spectral, and so of not of concern
`here.
`
`
`
`Many different types of raster data may be georeferenced, and there may be
`subtle ways in which the nature of the data itself influences how the coordinate
`system (Raster Space) is defined for raster data. For example, pixel data derived
`from imaging devices and sensors represent aggregate values collected over
`a small, finite, geographic area, and so it is natural to define coordinate
`systems in which the pixel value is thought of as filling an area. On the other
`hand, digital elevations models may consist of discrete "postings", which may
`best be considered as point measurements at the vertices of a grid, and not
`in the interior of a cell.
`
`2.5.2.2 Raster Space
`
`
`
`The choice of origin for raster space is not entirely arbitrary, and depends
`upon the nature of the data collected. Raster space coordinates shall be referred
`to by their pixel types, i.e., as "PixelIsArea"

This document is available on Docket Alarm but you must sign up to view it.


Or .

Accessing this document will incur an additional charge of $.

After purchase, you can access this document again without charge.

Accept $ Charge
throbber

Still Working On It

This document is taking longer than usual to download. This can happen if we need to contact the court directly to obtain the document and their servers are running slowly.

Give it another minute or two to complete, and then try the refresh button.

throbber

A few More Minutes ... Still Working

It can take up to 5 minutes for us to download a document if the court servers are running slowly.

Thank you for your continued patience.

This document could not be displayed.

We could not find this document within its docket. Please go back to the docket page and check the link. If that does not work, go back to the docket and refresh it to pull the newest information.

Your account does not support viewing this document.

You need a Paid Account to view this document. Click here to change your account type.

Your account does not support viewing this document.

Set your membership status to view this document.

With a Docket Alarm membership, you'll get a whole lot more, including:

  • Up-to-date information for this case.
  • Email alerts whenever there is an update.
  • Full text search for other cases.
  • Get email alerts whenever a new case matches your search.

Become a Member

One Moment Please

The filing “” is large (MB) and is being downloaded.

Please refresh this page in a few minutes to see if the filing has been downloaded. The filing will also be emailed to you when the download completes.

Your document is on its way!

If you do not receive the document in five minutes, contact support at support@docketalarm.com.

Sealed Document

We are unable to display this document, it may be under a court ordered seal.

If you have proper credentials to access the file, you may proceed directly to the court's system using your government issued username and password.


Access Government Site

We are redirecting you
to a mobile optimized page.





Document Unreadable or Corrupt

Refresh this Document
Go to the Docket

We are unable to display this document.

Refresh this Document
Go to the Docket