Hue: Difference between revisions
en>Semperveritas Undid revision 509539205 by 71.104.50.63 (talk) |
en>Josh3580 m Reverted edits by 50.70.114.58 (talk): unexplained content removal (HG) |
||
Line 1: | Line 1: | ||
A '''world file''' is a [[plain text]] computer [[data file]] used by [[geographic information system]]s (GIS) to [[georeference]] [[Raster graphics|raster]] map images. The file specification was introduced by [[Esri]].<ref>{{cite web |title=FAQ: What is the format of the world file used for georeferencing images? |publisher=[[Esri]] |date=2007-03-21 |accessdate=2007-04-17 |url=http://support.esri.com/index.cfm?fa=knowledgebase.techarticles.articleShow&d=17489 }}</ref><ref>Esri also has another ''world file'' format that applies to computer-aided design or [[CAD]] drawing files. That standard refers to the format of plain text computer files with names ending in <code>.wld</code> and is not discussed in this article.</ref> | |||
Small-scale rectangular raster image maps can have an associated world file for GIS map software which describes the location, scale and rotation of the map. These world files are six-line files with decimal numbers on each line. | |||
==Definition== | |||
[[File:WorldFileParametersSchemas.gif|right|thumb|upright=2.0|Graphical view of world files parameters and computed values of the four first upper left pixels of an image.]] | |||
World files do not specify a coordinate system; this information is generally stored somewhere else in the raster file itself or in another companion file, e.g. Esri's [[Shapefile#Shapefile_projection_format_.28.prj.29|.prj]] file. The generic meaning of world file parameters are: | |||
*Line 1: ''A'': pixel size in the ''x''-direction in map units/pixel | |||
*Line 2: ''D'': rotation about ''y''-axis | |||
*Line 3: ''B'': rotation about ''x''-axis | |||
*Line 4: ''E'': pixel size in the ''y''-direction in map units, almost always negative<ref>The ''E'' parameter is often a negative number. This is because most image files store data from top to bottom, while the software utilizes traditional [[Cartesian coordinates]] with the origin in the conventional lower-left corner. If your raster appears upside-down, you may need to add a minus sign. The parameter therefore describes the map distance between consecutive image lines.</ref> | |||
*Line 5: ''C'': ''x''-coordinate of the center of the upper left pixel | |||
*Line 6: ''F'': ''y''-coordinate of the center of the upper left pixel | |||
This description is however misleading in that the D and B rotation parameters are not really rotations (in degrees or gradients) and in that as soon as D or B are not zero, the A and E parameters do not correspond to the pixel size any more. The A, D, B and E parameters are sometimes named "x-scale", "y-skew", "x-skew" and "y-scale". A better description of the A, D, B and E parameters would be: | |||
*Line 1: ''A'': x component of the pixel width (x-scale) | |||
*Line 2: ''D'': y component of the pixel width (y-skew) | |||
*Line 3: ''B'': x component of the pixel height (x-skew) | |||
*Line 4: ''E'': y component of the pixel height (y-scale), almost always negative | |||
All four parameters are expressed in the map units depending on the coordinate system associated with the raster. | |||
When D or B are different from zero the pixel width is given by: | |||
<math>\sqrt{A^2+D^2}</math> | |||
and the pixel height by | |||
<math>\sqrt{B^2+E^2}</math> | |||
World files describing a map on the [[Universal Transverse Mercator coordinate system]] (UTM) use these conventions: | |||
*''D'' and ''B'' are usually 0, since the image pixels are usually made to align with the UTM grid | |||
*''C'' is the UTM easting | |||
*''F'' is the UTM northing | |||
*Units are always [[meters]] per pixel | |||
The above description applies also to a rectangular, non-rotated image which might be, for example, overlaid on an orthogonally projected map. If the world file describes an image that is rotated from the axis of the target projection, however, then A, D, B and E must be derived from the required affine transformation (see below). Specifically, A and E will no longer be the meter/pixel measurement on their respective axes. | |||
These values are used in a six-parameter [[affine transformation]]: | |||
:<math> | |||
\begin{bmatrix} x\prime \\ | |||
y\prime \end{bmatrix} | |||
= \begin{bmatrix} A & B & C\\ | |||
D & E & F\end{bmatrix} | |||
\begin{bmatrix} x \\ | |||
y \\ | |||
1 \end{bmatrix}</math> | |||
which can be written as this set of equations: | |||
:<math>\begin{align} | |||
x' &= A\,x + B\,y + C \\ | |||
y' &= D\,x + E\,y + F | |||
\end{align}</math> | |||
where: | |||
:''x''' is the calculated UTM easting of the pixel on the map | |||
:''y''' is the calculated UTM northing of the pixel on the map | |||
:''x'' is the column number of the pixel in the image counting from left | |||
:''y'' is the row number of the pixel in the image counting from top | |||
:''A'' or ''x''-scale; dimension of a pixel in map units in ''x''-direction | |||
:''B'', ''D'' are rotation terms | |||
:''C'', ''F'' are translation terms: ''x'', ''y'' map coordinates of the center of the upper-left pixel | |||
:''E'' is negative of ''y''-scale: dimension of a pixel in map units in ''y''-direction | |||
The ''y''-scale (''E'') is negative because the origins of an image and the UTM coordinate system are different. The origin of an image is located in the upper-left corner, whereas the origin of the map coordinate system is located in the lower-left corner. Row values in the image increase from the origin downward, while ''y''-coordinate values in the map increase from the origin upward. Many mapping programs are unable to handle "upside down" images (i.e. those with a positive ''y''-scale). | |||
To go from UTM(x'y') to pixel position(x,y) one can use the equation: | |||
:<math>\begin{align} | |||
x=(Ex'-By'+BF-EC)/(AE-DB)\\ | |||
y=(-Dx'+Ay'+DC-AF)/(AE-DB) | |||
\end{align}</math> | |||
Example: | |||
Original <code>falknermap.jpg</code> is 800×600 pixels (map not shown). | |||
Its world file is <code>falknermap.jgw</code> and contains: | |||
32.0 | |||
0.0 | |||
0.0 | |||
-32.0 | |||
691200.0 | |||
4576000.0 | |||
<!-- no image (was unsourced and removed) | |||
<table align="right" border="0" cellspacing="0" cellpadding="0"> | |||
<tr><td>[[image:falknerisland.jpg|USGS map of Falkner Island]]</td></tr> | |||
</table> | |||
--> | |||
The position of [[Falkner Island]] light on the map image is: | |||
x = 171 pixels from left | |||
y = 343 pixels from top | |||
This gives: | |||
x1 = 696672 meters Easting | |||
y1 = 4565024 meters Northing | |||
The UTM (grid) zone is not given so the coordinates are ambiguous — they can represent a position in any of the approximately 120 [[Universal Transverse Mercator coordinate system#Notation|UTM grid zones]]. In this case, approximate latitude and longitude (41.2, −072.7) were looked up in a gazetteer and the UTM (grid) zone was found to be 18 using a Web-based converter. | |||
==The filename== | |||
The name of the world file is based on the raster file's name. | |||
One convention is to append the letter "w" to the end of the raster filename: | |||
''falknermap.jpg'' → ''falknermap.jpgw''. | |||
An alternative naming convention is also honored, and in fact is more widespread. | |||
The second letter of the original filename extension is removed, and the letter "w" | |||
is added at the end. For example, | |||
''falknermap.jpg'' → ''falknermap.jgw'' or | |||
''falknermap.tif'' → ''falknermap.tfw''. | |||
This convention was developed for filenames that need to conform to the [[8.3 filename|8.3 file naming]] convention. | |||
==Localization== | |||
When writing World Files it is advisable to ignore localization settings and always use '.' as the decimal separator. Also, negative numbers should be specified with the '-' character exclusively. This ensures maximum portability of the images. | |||
==See also== | |||
*[[Esri grid]] – embeds a similar georeferencing context within a single raster file | |||
*[[MapInfo TAB format]] - a popular geospatial vector data format for GIS software | |||
==Notes and references== | |||
<references/> | |||
==External links== | |||
*[http://www.kralidis.ca/gis/worldfile.htm Esri World File Format] | |||
*[http://egb13.net/2009/03/worldfile-calculator/ Online Worldfile Calculator] | |||
[[Category:GIS file formats]] | |||
[[Category:Cartography]] |
Revision as of 21:25, 22 January 2014
A world file is a plain text computer data file used by geographic information systems (GIS) to georeference raster map images. The file specification was introduced by Esri.[1][2]
Small-scale rectangular raster image maps can have an associated world file for GIS map software which describes the location, scale and rotation of the map. These world files are six-line files with decimal numbers on each line.
Definition
World files do not specify a coordinate system; this information is generally stored somewhere else in the raster file itself or in another companion file, e.g. Esri's .prj file. The generic meaning of world file parameters are:
- Line 1: A: pixel size in the x-direction in map units/pixel
- Line 2: D: rotation about y-axis
- Line 3: B: rotation about x-axis
- Line 4: E: pixel size in the y-direction in map units, almost always negative[3]
- Line 5: C: x-coordinate of the center of the upper left pixel
- Line 6: F: y-coordinate of the center of the upper left pixel
This description is however misleading in that the D and B rotation parameters are not really rotations (in degrees or gradients) and in that as soon as D or B are not zero, the A and E parameters do not correspond to the pixel size any more. The A, D, B and E parameters are sometimes named "x-scale", "y-skew", "x-skew" and "y-scale". A better description of the A, D, B and E parameters would be:
- Line 1: A: x component of the pixel width (x-scale)
- Line 2: D: y component of the pixel width (y-skew)
- Line 3: B: x component of the pixel height (x-skew)
- Line 4: E: y component of the pixel height (y-scale), almost always negative
All four parameters are expressed in the map units depending on the coordinate system associated with the raster.
When D or B are different from zero the pixel width is given by:
and the pixel height by
World files describing a map on the Universal Transverse Mercator coordinate system (UTM) use these conventions:
- D and B are usually 0, since the image pixels are usually made to align with the UTM grid
- C is the UTM easting
- F is the UTM northing
- Units are always meters per pixel
The above description applies also to a rectangular, non-rotated image which might be, for example, overlaid on an orthogonally projected map. If the world file describes an image that is rotated from the axis of the target projection, however, then A, D, B and E must be derived from the required affine transformation (see below). Specifically, A and E will no longer be the meter/pixel measurement on their respective axes.
These values are used in a six-parameter affine transformation:
which can be written as this set of equations:
where:
- x' is the calculated UTM easting of the pixel on the map
- y' is the calculated UTM northing of the pixel on the map
- x is the column number of the pixel in the image counting from left
- y is the row number of the pixel in the image counting from top
- A or x-scale; dimension of a pixel in map units in x-direction
- B, D are rotation terms
- C, F are translation terms: x, y map coordinates of the center of the upper-left pixel
- E is negative of y-scale: dimension of a pixel in map units in y-direction
The y-scale (E) is negative because the origins of an image and the UTM coordinate system are different. The origin of an image is located in the upper-left corner, whereas the origin of the map coordinate system is located in the lower-left corner. Row values in the image increase from the origin downward, while y-coordinate values in the map increase from the origin upward. Many mapping programs are unable to handle "upside down" images (i.e. those with a positive y-scale).
To go from UTM(x'y') to pixel position(x,y) one can use the equation:
Example:
Original falknermap.jpg
is 800×600 pixels (map not shown).
Its world file is falknermap.jgw
and contains:
32.0 0.0 0.0 -32.0 691200.0 4576000.0
The position of Falkner Island light on the map image is:
x = 171 pixels from left y = 343 pixels from top
This gives:
x1 = 696672 meters Easting y1 = 4565024 meters Northing
The UTM (grid) zone is not given so the coordinates are ambiguous — they can represent a position in any of the approximately 120 UTM grid zones. In this case, approximate latitude and longitude (41.2, −072.7) were looked up in a gazetteer and the UTM (grid) zone was found to be 18 using a Web-based converter.
The filename
The name of the world file is based on the raster file's name.
One convention is to append the letter "w" to the end of the raster filename: falknermap.jpg → falknermap.jpgw.
An alternative naming convention is also honored, and in fact is more widespread. The second letter of the original filename extension is removed, and the letter "w" is added at the end. For example, falknermap.jpg → falknermap.jgw or falknermap.tif → falknermap.tfw. This convention was developed for filenames that need to conform to the 8.3 file naming convention.
Localization
When writing World Files it is advisable to ignore localization settings and always use '.' as the decimal separator. Also, negative numbers should be specified with the '-' character exclusively. This ensures maximum portability of the images.
See also
- Esri grid – embeds a similar georeferencing context within a single raster file
- MapInfo TAB format - a popular geospatial vector data format for GIS software
Notes and references
- ↑ Template:Cite web
- ↑ Esri also has another world file format that applies to computer-aided design or CAD drawing files. That standard refers to the format of plain text computer files with names ending in
.wld
and is not discussed in this article. - ↑ The E parameter is often a negative number. This is because most image files store data from top to bottom, while the software utilizes traditional Cartesian coordinates with the origin in the conventional lower-left corner. If your raster appears upside-down, you may need to add a minus sign. The parameter therefore describes the map distance between consecutive image lines.