Codebase list libgeotiff / 84afafb
Added previously missing files to upstream branch. Francesco Paolo Lovergine 12 years ago
6 changed file(s) with 1883 addition(s) and 0 deletion(s). Raw diff Collapse all Expand all
0 config.log
1 geo_config.h
2 config.cache
3 config.status
4 Makefile
5 *.lib
6 *.ilk
7 *.pdb
8 *.exp
9 *.dll
10 libgeotiff-*.so
11 libgeotiff.so*
12
0 # Doxyfile 1.4.2
1
2 # This file describes the settings to be used by the documentation system
3 # doxygen (www.doxygen.org) for a project
4 #
5 # All text after a hash (#) is considered a comment and will be ignored
6 # The format is:
7 # TAG = value [value, ...]
8 # For lists items can also be appended using:
9 # TAG += value [value, ...]
10 # Values that contain spaces should be placed between quotes (" ")
11
12 #---------------------------------------------------------------------------
13 # Project related configuration options
14 #---------------------------------------------------------------------------
15
16 # The PROJECT_NAME tag is a single word (or a sequence of words surrounded
17 # by quotes) that should identify the project.
18
19 PROJECT_NAME = $(PROJECT)-$(VERSION)
20
21 # The PROJECT_NUMBER tag can be used to enter a project or revision number.
22 # This could be handy for archiving the generated documentation or
23 # if some version control system is used.
24
25 PROJECT_NUMBER =
26
27 # The OUTPUT_DIRECTORY tag is used to specify the (relative or absolute)
28 # base path where the generated documentation will be put.
29 # If a relative path is entered, it will be relative to the location
30 # where doxygen was started. If left blank the current directory will be used.
31
32 OUTPUT_DIRECTORY = $(DOCDIR)
33
34 # The OUTPUT_LANGUAGE tag is used to specify the language in which all
35 # documentation generated by doxygen is written. Doxygen will use this
36 # information to generate all constant output in the proper language.
37 # The default language is English, other supported languages are:
38 # Brazilian, Catalan, Chinese, Chinese-Traditional, Croatian, Czech, Danish,
39 # Dutch, Finnish, French, German, Greek, Hungarian, Italian, Japanese,
40 # Japanese-en (Japanese with English messages), Korean, Korean-en, Norwegian,
41 # Polish, Portuguese, Romanian, Russian, Serbian, Slovak, Slovene, Spanish,
42 # Swedish, and Ukrainian.
43
44 OUTPUT_LANGUAGE = English
45
46 # This tag can be used to specify the encoding used in the generated output.
47 # The encoding is not always determined by the language that is chosen,
48 # but also whether or not the output is meant for Windows or non-Windows users.
49 # In case there is a difference, setting the USE_WINDOWS_ENCODING tag to YES
50 # forces the Windows encoding (this is the default for the Windows binary),
51 # whereas setting the tag to NO uses a Unix-style encoding (the default for
52 # all platforms other than Windows).
53
54 USE_WINDOWS_ENCODING = NO
55
56 # If the BRIEF_MEMBER_DESC tag is set to YES (the default) Doxygen will
57 # include brief member descriptions after the members that are listed in
58 # the file and class documentation (similar to JavaDoc).
59 # Set to NO to disable this.
60
61 BRIEF_MEMBER_DESC = YES
62
63 # If the REPEAT_BRIEF tag is set to YES (the default) Doxygen will prepend
64 # the brief description of a member or function before the detailed description.
65 # Note: if both HIDE_UNDOC_MEMBERS and BRIEF_MEMBER_DESC are set to NO, the
66 # brief descriptions will be completely suppressed.
67
68 REPEAT_BRIEF = YES
69
70 # This tag implements a quasi-intelligent brief description abbreviator
71 # that is used to form the text in various listings. Each string
72 # in this list, if found as the leading text of the brief description, will be
73 # stripped from the text and the result after processing the whole list, is
74 # used as the annotated text. Otherwise, the brief description is used as-is.
75 # If left blank, the following values are used ("$name" is automatically
76 # replaced with the name of the entity): "The $name class" "The $name widget"
77 # "The $name file" "is" "provides" "specifies" "contains"
78 # "represents" "a" "an" "the"
79
80 ABBREVIATE_BRIEF =
81
82 # If the ALWAYS_DETAILED_SEC and REPEAT_BRIEF tags are both set to YES then
83 # Doxygen will generate a detailed section even if there is only a brief
84 # description.
85
86 ALWAYS_DETAILED_SEC = NO
87
88 # If the INLINE_INHERITED_MEMB tag is set to YES, doxygen will show all
89 # inherited members of a class in the documentation of that class as if those
90 # members were ordinary class members. Constructors, destructors and assignment
91 # operators of the base classes will not be shown.
92
93 INLINE_INHERITED_MEMB = NO
94
95 # If the FULL_PATH_NAMES tag is set to YES then Doxygen will prepend the full
96 # path before files name in the file list and in the header files. If set
97 # to NO the shortest path that makes the file name unique will be used.
98
99 FULL_PATH_NAMES = NO
100
101 # The STRIP_FROM_INC_PATH tag can be used to strip a user-defined part of
102 # the path mentioned in the documentation of a class, which tells
103 # the reader which header file to include in order to use a class.
104 # If left blank only the name of the header file containing the class
105 # definition is used. Otherwise one should specify the include paths that
106 # are normally passed to the compiler using the -I flag.
107
108 STRIP_FROM_INC_PATH = $(SRCDIR)
109
110 # If the SHORT_NAMES tag is set to YES, doxygen will generate much shorter
111 # (but less readable) file names. This can be useful is your file systems
112 # doesn't support long names like on DOS, Mac, or CD-ROM.
113
114 SHORT_NAMES = NO
115
116 # If the JAVADOC_AUTOBRIEF tag is set to YES then Doxygen
117 # will interpret the first line (until the first dot) of a JavaDoc-style
118 # comment as the brief description. If set to NO, the JavaDoc
119 # comments will behave just like the Qt-style comments (thus requiring an
120 # explicit @brief command for a brief description.
121
122 JAVADOC_AUTOBRIEF = YES
123
124 # The MULTILINE_CPP_IS_BRIEF tag can be set to YES to make Doxygen
125 # treat a multi-line C++ special comment block (i.e. a block of //! or ///
126 # comments) as a brief description. This used to be the default behaviour.
127 # The new default is to treat a multi-line C++ comment block as a detailed
128 # description. Set this tag to YES if you prefer the old behaviour instead.
129
130 MULTILINE_CPP_IS_BRIEF = NO
131
132 # If the DETAILS_AT_TOP tag is set to YES then Doxygen
133 # will output the detailed description near the top, like JavaDoc.
134 # If set to NO, the detailed description appears after the member
135 # documentation.
136
137 DETAILS_AT_TOP = NO
138
139 # If the INHERIT_DOCS tag is set to YES (the default) then an undocumented
140 # member inherits the documentation from any documented member that it
141 # re-implements.
142
143 INHERIT_DOCS = YES
144
145 # If member grouping is used in the documentation and the DISTRIBUTE_GROUP_DOC
146 # tag is set to YES, then doxygen will reuse the documentation of the first
147 # member in the group (if any) for the other members of the group. By default
148 # all members of a group must be documented explicitly.
149
150 DISTRIBUTE_GROUP_DOC = NO
151
152 # The TAB_SIZE tag can be used to set the number of spaces in a tab.
153 # Doxygen uses this value to replace tabs by spaces in code fragments.
154
155 TAB_SIZE = 8
156
157 # This tag can be used to specify a number of aliases that acts
158 # as commands in the documentation. An alias has the form "name=value".
159 # For example adding "sideeffect=\par Side Effects:\n" will allow you to
160 # put the command \sideeffect (or @sideeffect) in the documentation, which
161 # will result in a user-defined paragraph with heading "Side Effects:".
162 # You can put \n's in the value part of an alias to insert newlines.
163
164 ALIASES =
165
166 # Set the OPTIMIZE_OUTPUT_FOR_C tag to YES if your project consists of C
167 # sources only. Doxygen will then generate output that is more tailored for C.
168 # For instance, some of the names that are used will be different. The list
169 # of all members will be omitted, etc.
170
171 OPTIMIZE_OUTPUT_FOR_C = YES
172
173 # Set the OPTIMIZE_OUTPUT_JAVA tag to YES if your project consists of Java sources
174 # only. Doxygen will then generate output that is more tailored for Java.
175 # For instance, namespaces will be presented as packages, qualified scopes
176 # will look different, etc.
177
178 OPTIMIZE_OUTPUT_JAVA = NO
179
180 # Set the SUBGROUPING tag to YES (the default) to allow class member groups of
181 # the same type (for instance a group of public functions) to be put as a
182 # subgroup of that type (e.g. under the Public Functions section). Set it to
183 # NO to prevent subgrouping. Alternatively, this can be done per class using
184 # the \nosubgrouping command.
185
186 SUBGROUPING = YES
187
188 #---------------------------------------------------------------------------
189 # Build related configuration options
190 #---------------------------------------------------------------------------
191
192 # If the EXTRACT_ALL tag is set to YES doxygen will assume all entities in
193 # documentation are documented, even if no documentation was available.
194 # Private class members and static file members will be hidden unless
195 # the EXTRACT_PRIVATE and EXTRACT_STATIC tags are set to YES
196
197 EXTRACT_ALL = NO
198
199 # If the EXTRACT_PRIVATE tag is set to YES all private members of a class
200 # will be included in the documentation.
201
202 EXTRACT_PRIVATE = NO
203
204 # If the EXTRACT_STATIC tag is set to YES all static members of a file
205 # will be included in the documentation.
206
207 EXTRACT_STATIC = NO
208
209 # If the EXTRACT_LOCAL_CLASSES tag is set to YES classes (and structs)
210 # defined locally in source files will be included in the documentation.
211 # If set to NO only classes defined in header files are included.
212
213 EXTRACT_LOCAL_CLASSES = YES
214
215 # If the HIDE_UNDOC_MEMBERS tag is set to YES, Doxygen will hide all
216 # undocumented members of documented classes, files or namespaces.
217 # If set to NO (the default) these members will be included in the
218 # various overviews, but no documentation section is generated.
219 # This option has no effect if EXTRACT_ALL is enabled.
220
221 HIDE_UNDOC_MEMBERS = NO
222
223 # If the HIDE_UNDOC_CLASSES tag is set to YES, Doxygen will hide all
224 # undocumented classes that are normally visible in the class hierarchy.
225 # If set to NO (the default) these classes will be included in the various
226 # overviews. This option has no effect if EXTRACT_ALL is enabled.
227
228 HIDE_UNDOC_CLASSES = NO
229
230 # If the HIDE_FRIEND_COMPOUNDS tag is set to YES, Doxygen will hide all
231 # friend (class|struct|union) declarations.
232 # If set to NO (the default) these declarations will be included in the
233 # documentation.
234
235 HIDE_FRIEND_COMPOUNDS = NO
236
237 # If the HIDE_IN_BODY_DOCS tag is set to YES, Doxygen will hide any
238 # documentation blocks found inside the body of a function.
239 # If set to NO (the default) these blocks will be appended to the
240 # function's detailed documentation block.
241
242 HIDE_IN_BODY_DOCS = NO
243
244 # The INTERNAL_DOCS tag determines if documentation
245 # that is typed after a \internal command is included. If the tag is set
246 # to NO (the default) then the documentation will be excluded.
247 # Set it to YES to include the internal documentation.
248
249 INTERNAL_DOCS = NO
250
251 # If the CASE_SENSE_NAMES tag is set to NO then Doxygen will only generate
252 # file names in lower-case letters. If set to YES upper-case letters are also
253 # allowed. This is useful if you have classes or files whose names only differ
254 # in case and if your file system supports case sensitive file names. Windows
255 # and Mac users are advised to set this option to NO.
256
257 CASE_SENSE_NAMES = YES
258
259 # If the HIDE_SCOPE_NAMES tag is set to NO (the default) then Doxygen
260 # will show members with their full class and namespace scopes in the
261 # documentation. If set to YES the scope will be hidden.
262
263 HIDE_SCOPE_NAMES = NO
264
265 # If the SHOW_INCLUDE_FILES tag is set to YES (the default) then Doxygen
266 # will put a list of the files that are included by a file in the documentation
267 # of that file.
268
269 SHOW_INCLUDE_FILES = YES
270
271 # If the INLINE_INFO tag is set to YES (the default) then a tag [inline]
272 # is inserted in the documentation for inline members.
273
274 INLINE_INFO = YES
275
276 # If the SORT_MEMBER_DOCS tag is set to YES (the default) then doxygen
277 # will sort the (detailed) documentation of file and class members
278 # alphabetically by member name. If set to NO the members will appear in
279 # declaration order.
280
281 SORT_MEMBER_DOCS = YES
282
283 # If the SORT_BRIEF_DOCS tag is set to YES then doxygen will sort the
284 # brief documentation of file, namespace and class members alphabetically
285 # by member name. If set to NO (the default) the members will appear in
286 # declaration order.
287
288 SORT_BRIEF_DOCS = NO
289
290 # If the SORT_BY_SCOPE_NAME tag is set to YES, the class list will be
291 # sorted by fully-qualified names, including namespaces. If set to
292 # NO (the default), the class list will be sorted only by class name,
293 # not including the namespace part.
294 # Note: This option is not very useful if HIDE_SCOPE_NAMES is set to YES.
295 # Note: This option applies only to the class list, not to the
296 # alphabetical list.
297
298 SORT_BY_SCOPE_NAME = NO
299
300 # The GENERATE_TODOLIST tag can be used to enable (YES) or
301 # disable (NO) the todo list. This list is created by putting \todo
302 # commands in the documentation.
303
304 GENERATE_TODOLIST = YES
305
306 # The GENERATE_TESTLIST tag can be used to enable (YES) or
307 # disable (NO) the test list. This list is created by putting \test
308 # commands in the documentation.
309
310 GENERATE_TESTLIST = YES
311
312 # The GENERATE_BUGLIST tag can be used to enable (YES) or
313 # disable (NO) the bug list. This list is created by putting \bug
314 # commands in the documentation.
315
316 GENERATE_BUGLIST = YES
317
318 # The GENERATE_DEPRECATEDLIST tag can be used to enable (YES) or
319 # disable (NO) the deprecated list. This list is created by putting
320 # \deprecated commands in the documentation.
321
322 GENERATE_DEPRECATEDLIST= YES
323
324 # The ENABLED_SECTIONS tag can be used to enable conditional
325 # documentation sections, marked by \if sectionname ... \endif.
326
327 ENABLED_SECTIONS =
328
329 # The MAX_INITIALIZER_LINES tag determines the maximum number of lines
330 # the initial value of a variable or define consists of for it to appear in
331 # the documentation. If the initializer consists of more lines than specified
332 # here it will be hidden. Use a value of 0 to hide initializers completely.
333 # The appearance of the initializer of individual variables and defines in the
334 # documentation can be controlled using \showinitializer or \hideinitializer
335 # command in the documentation regardless of this setting.
336
337 MAX_INITIALIZER_LINES = 30
338
339 # Set the SHOW_USED_FILES tag to NO to disable the list of files generated
340 # at the bottom of the documentation of classes and structs. If set to YES the
341 # list will mention the files that were used to generate the documentation.
342
343 SHOW_USED_FILES = YES
344
345 #---------------------------------------------------------------------------
346 # configuration options related to warning and progress messages
347 #---------------------------------------------------------------------------
348
349 # The QUIET tag can be used to turn on/off the messages that are generated
350 # by doxygen. Possible values are YES and NO. If left blank NO is used.
351
352 QUIET = NO
353
354 # The WARNINGS tag can be used to turn on/off the warning messages that are
355 # generated by doxygen. Possible values are YES and NO. If left blank
356 # NO is used.
357
358 WARNINGS = YES
359
360 # If WARN_IF_UNDOCUMENTED is set to YES, then doxygen will generate warnings
361 # for undocumented members. If EXTRACT_ALL is set to YES then this flag will
362 # automatically be disabled.
363
364 WARN_IF_UNDOCUMENTED = YES
365
366 # If WARN_IF_DOC_ERROR is set to YES, doxygen will generate warnings for
367 # potential errors in the documentation, such as not documenting some
368 # parameters in a documented function, or documenting parameters that
369 # don't exist or using markup commands wrongly.
370
371 WARN_IF_DOC_ERROR = YES
372
373 # The WARN_FORMAT tag determines the format of the warning messages that
374 # doxygen can produce. The string should contain the $file, $line, and $text
375 # tags, which will be replaced by the file and line number from which the
376 # warning originated and the warning text. Optionally the format may contain
377 # $version, which will be replaced by the version of the file (if it could
378 # be obtained via FILE_VERSION_FILTER)
379
380 WARN_FORMAT = "$file:$line: $text"
381
382 # The WARN_LOGFILE tag can be used to specify a file to which warning
383 # and error messages should be written. If left blank the output is written
384 # to stderr.
385
386 WARN_LOGFILE =
387
388 #---------------------------------------------------------------------------
389 # configuration options related to the input files
390 #---------------------------------------------------------------------------
391
392 # The INPUT tag can be used to specify the files and/or directories that contain
393 # documented source files. You may enter file names like "myfile.cpp" or
394 # directories like "/usr/src/myproject". Separate the files or directories
395 # with spaces.
396
397 INPUT = $(SRCDIR)
398
399 # If the value of the INPUT tag contains directories, you can use the
400 # FILE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp
401 # and *.h) to filter out the source-files in the directories. If left
402 # blank the following patterns are tested:
403 # *.c *.cc *.cxx *.cpp *.c++ *.java *.ii *.ixx *.ipp *.i++ *.inl *.h *.hh *.hxx
404 # *.hpp *.h++ *.idl *.odl *.cs *.php *.php3 *.inc *.m *.mm
405
406 FILE_PATTERNS = *.h \
407 *.cpp \
408 *.c \
409 *.dox
410
411 # The RECURSIVE tag can be used to turn specify whether or not subdirectories
412 # should be searched for input files as well. Possible values are YES and NO.
413 # If left blank NO is used.
414
415 RECURSIVE = YES
416
417 # The EXCLUDE tag can be used to specify files and/or directories that should
418 # excluded from the INPUT source files. This way you can easily exclude a
419 # subdirectory from a directory tree whose root is specified with the INPUT tag.
420
421 EXCLUDE = .svn
422
423 # The EXCLUDE_SYMLINKS tag can be used select whether or not files or
424 # directories that are symbolic links (a Unix filesystem feature) are excluded
425 # from the input.
426
427 EXCLUDE_SYMLINKS = NO
428
429 # If the value of the INPUT tag contains directories, you can use the
430 # EXCLUDE_PATTERNS tag to specify one or more wildcard patterns to exclude
431 # certain files from those directories.
432
433 EXCLUDE_PATTERNS =
434
435 # The EXAMPLE_PATH tag can be used to specify one or more files or
436 # directories that contain example code fragments that are included (see
437 # the \include command).
438
439 EXAMPLE_PATH = $(SRCDIR)
440
441 # If the value of the EXAMPLE_PATH tag contains directories, you can use the
442 # EXAMPLE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp
443 # and *.h) to filter out the source-files in the directories. If left
444 # blank all files are included.
445
446 EXAMPLE_PATTERNS =
447
448 # If the EXAMPLE_RECURSIVE tag is set to YES then subdirectories will be
449 # searched for input files to be used with the \include or \dontinclude
450 # commands irrespective of the value of the RECURSIVE tag.
451 # Possible values are YES and NO. If left blank NO is used.
452
453 EXAMPLE_RECURSIVE = NO
454
455 # The IMAGE_PATH tag can be used to specify one or more files or
456 # directories that contain image that are included in the documentation (see
457 # the \image command).
458
459 IMAGE_PATH =
460
461 # The INPUT_FILTER tag can be used to specify a program that doxygen should
462 # invoke to filter for each input file. Doxygen will invoke the filter program
463 # by executing (via popen()) the command <filter> <input-file>, where <filter>
464 # is the value of the INPUT_FILTER tag, and <input-file> is the name of an
465 # input file. Doxygen will then use the output that the filter program writes
466 # to standard output. If FILTER_PATTERNS is specified, this tag will be
467 # ignored.
468
469 INPUT_FILTER =
470
471 # If the FILTER_SOURCE_FILES tag is set to YES, the input filter (if set using
472 # INPUT_FILTER) will be used to filter the input files when producing source
473 # files to browse (i.e. when SOURCE_BROWSER is set to YES).
474
475 FILTER_SOURCE_FILES = NO
476
477 #---------------------------------------------------------------------------
478 # configuration options related to source browsing
479 #---------------------------------------------------------------------------
480
481 # If the SOURCE_BROWSER tag is set to YES then a list of source files will
482 # be generated. Documented entities will be cross-referenced with these sources.
483 # Note: To get rid of all source code in the generated output, make sure also
484 # VERBATIM_HEADERS is set to NO.
485
486 SOURCE_BROWSER = NO
487
488 # Setting the INLINE_SOURCES tag to YES will include the body
489 # of functions and classes directly in the documentation.
490
491 INLINE_SOURCES = YES
492
493 # Setting the STRIP_CODE_COMMENTS tag to YES (the default) will instruct
494 # doxygen to hide any special comment blocks from generated source code
495 # fragments. Normal C and C++ comments will always remain visible.
496
497 STRIP_CODE_COMMENTS = YES
498
499 # If the REFERENCED_BY_RELATION tag is set to YES (the default)
500 # then for each documented function all documented
501 # functions referencing it will be listed.
502
503 REFERENCED_BY_RELATION = YES
504
505 # If the REFERENCES_RELATION tag is set to YES (the default)
506 # then for each documented function all documented entities
507 # called/used by that function will be listed.
508
509 REFERENCES_RELATION = YES
510
511 # If the VERBATIM_HEADERS tag is set to YES (the default) then Doxygen
512 # will generate a verbatim copy of the header file for each class for
513 # which an include is specified. Set to NO to disable this.
514
515 VERBATIM_HEADERS = YES
516
517 #---------------------------------------------------------------------------
518 # configuration options related to the alphabetical class index
519 #---------------------------------------------------------------------------
520
521 # If the ALPHABETICAL_INDEX tag is set to YES, an alphabetical index
522 # of all compounds will be generated. Enable this if the project
523 # contains a lot of classes, structs, unions or interfaces.
524
525 ALPHABETICAL_INDEX = NO
526
527 # If the alphabetical index is enabled (see ALPHABETICAL_INDEX) then
528 # the COLS_IN_ALPHA_INDEX tag can be used to specify the number of columns
529 # in which this list will be split (can be a number in the range [1..20])
530
531 COLS_IN_ALPHA_INDEX = 5
532
533 # In case all classes in a project start with a common prefix, all
534 # classes will be put under the same header in the alphabetical index.
535 # The IGNORE_PREFIX tag can be used to specify one or more prefixes that
536 # should be ignored while generating the index headers.
537
538 IGNORE_PREFIX =
539
540 #---------------------------------------------------------------------------
541 # configuration options related to the HTML output
542 #---------------------------------------------------------------------------
543
544 # If the GENERATE_HTML tag is set to YES (the default) Doxygen will
545 # generate HTML output.
546
547 GENERATE_HTML = $(GENERATE_HTML)
548
549 # The HTML_OUTPUT tag is used to specify where the HTML docs will be put.
550 # If a relative path is entered the value of OUTPUT_DIRECTORY will be
551 # put in front of it. If left blank `html' will be used as the default path.
552
553 HTML_OUTPUT = html
554
555 # The HTML_FILE_EXTENSION tag can be used to specify the file extension for
556 # each generated HTML page (for example: .htm,.php,.asp). If it is left blank
557 # doxygen will generate files with .html extension.
558
559 HTML_FILE_EXTENSION = .html
560
561 # The HTML_HEADER tag can be used to specify a personal HTML header for
562 # each generated HTML page. If it is left blank doxygen will generate a
563 # standard header.
564
565 HTML_HEADER =
566
567 # The HTML_FOOTER tag can be used to specify a personal HTML footer for
568 # each generated HTML page. If it is left blank doxygen will generate a
569 # standard footer.
570
571 HTML_FOOTER =
572
573 # The HTML_STYLESHEET tag can be used to specify a user-defined cascading
574 # style sheet that is used by each HTML page. It can be used to
575 # fine-tune the look of the HTML output. If the tag is left blank doxygen
576 # will generate a default style sheet. Note that doxygen will try to copy
577 # the style sheet file to the HTML output directory, so don't put your own
578 # stylesheet in the HTML output directory as well, or it will be erased!
579
580 HTML_STYLESHEET =
581
582 # If the HTML_ALIGN_MEMBERS tag is set to YES, the members of classes,
583 # files or namespaces will be aligned in HTML using tables. If set to
584 # NO a bullet list will be used.
585
586 HTML_ALIGN_MEMBERS = YES
587
588 # If the GENERATE_HTMLHELP tag is set to YES, additional index files
589 # will be generated that can be used as input for tools like the
590 # Microsoft HTML help workshop to generate a compressed HTML help file (.chm)
591 # of the generated HTML documentation.
592
593 GENERATE_HTMLHELP = $(GENERATE_CHM)
594
595 # If the GENERATE_HTMLHELP tag is set to YES, the CHM_FILE tag can
596 # be used to specify the file name of the resulting .chm file. You
597 # can add a path in front of the file if the result should not be
598 # written to the html output directory.
599
600 CHM_FILE = ../$(PROJECT).chm
601
602 # If the GENERATE_HTMLHELP tag is set to YES, the HHC_LOCATION tag can
603 # be used to specify the location (absolute path including file name) of
604 # the HTML help compiler (hhc.exe). If non-empty doxygen will try to run
605 # the HTML help compiler on the generated index.hhp.
606
607 HHC_LOCATION = $(HHC_PATH)
608
609 # If the GENERATE_HTMLHELP tag is set to YES, the GENERATE_CHI flag
610 # controls if a separate .chi index file is generated (YES) or that
611 # it should be included in the master .chm file (NO).
612
613 GENERATE_CHI = $(GENERATE_CHI)
614
615 # If the GENERATE_HTMLHELP tag is set to YES, the BINARY_TOC flag
616 # controls whether a binary table of contents is generated (YES) or a
617 # normal table of contents (NO) in the .chm file.
618
619 BINARY_TOC = NO
620
621 # The TOC_EXPAND flag can be set to YES to add extra items for group members
622 # to the contents of the HTML help documentation and to the tree view.
623
624 TOC_EXPAND = NO
625
626 # The DISABLE_INDEX tag can be used to turn on/off the condensed index at
627 # top of each HTML page. The value NO (the default) enables the index and
628 # the value YES disables it.
629
630 DISABLE_INDEX = NO
631
632 # This tag can be used to set the number of enum values (range [1..20])
633 # that doxygen will group on one line in the generated HTML documentation.
634
635 ENUM_VALUES_PER_LINE = 4
636
637 # If the GENERATE_TREEVIEW tag is set to YES, a side panel will be
638 # generated containing a tree-like index structure (just like the one that
639 # is generated for HTML Help). For this to work a browser that supports
640 # JavaScript, DHTML, CSS and frames is required (for instance Mozilla 1.0+,
641 # Netscape 6.0+, Internet explorer 5.0+, or Konqueror). Windows users are
642 # probably better off using the HTML help feature.
643
644 GENERATE_TREEVIEW = NO
645
646 # If the treeview is enabled (see GENERATE_TREEVIEW) then this tag can be
647 # used to set the initial width (in pixels) of the frame in which the tree
648 # is shown.
649
650 TREEVIEW_WIDTH = 250
651
652 #---------------------------------------------------------------------------
653 # configuration options related to the LaTeX output
654 #---------------------------------------------------------------------------
655
656 # If the GENERATE_LATEX tag is set to YES (the default) Doxygen will
657 # generate Latex output.
658
659 GENERATE_LATEX = $(GENERATE_LATEX)
660
661 # The LATEX_OUTPUT tag is used to specify where the LaTeX docs will be put.
662 # If a relative path is entered the value of OUTPUT_DIRECTORY will be
663 # put in front of it. If left blank `latex' will be used as the default path.
664
665 LATEX_OUTPUT =
666
667 # The LATEX_CMD_NAME tag can be used to specify the LaTeX command name to be
668 # invoked. If left blank `latex' will be used as the default command name.
669
670 LATEX_CMD_NAME = latex
671
672 # The MAKEINDEX_CMD_NAME tag can be used to specify the command name to
673 # generate index for LaTeX. If left blank `makeindex' will be used as the
674 # default command name.
675
676 MAKEINDEX_CMD_NAME = makeindex
677
678 # If the COMPACT_LATEX tag is set to YES Doxygen generates more compact
679 # LaTeX documents. This may be useful for small projects and may help to
680 # save some trees in general.
681
682 COMPACT_LATEX = NO
683
684 # The PAPER_TYPE tag can be used to set the paper type that is used
685 # by the printer. Possible values are: a4, a4wide, letter, legal and
686 # executive. If left blank a4wide will be used.
687
688 PAPER_TYPE = $(PAPER_SIZE)
689
690 # The EXTRA_PACKAGES tag can be to specify one or more names of LaTeX
691 # packages that should be included in the LaTeX output.
692
693 EXTRA_PACKAGES =
694
695 # The LATEX_HEADER tag can be used to specify a personal LaTeX header for
696 # the generated latex document. The header should contain everything until
697 # the first chapter. If it is left blank doxygen will generate a
698 # standard header. Notice: only use this tag if you know what you are doing!
699
700 LATEX_HEADER =
701
702 # If the PDF_HYPERLINKS tag is set to YES, the LaTeX that is generated
703 # is prepared for conversion to pdf (using ps2pdf). The pdf file will
704 # contain links (just like the HTML output) instead of page references
705 # This makes the output suitable for online browsing using a pdf viewer.
706
707 PDF_HYPERLINKS = NO
708
709 # If the USE_PDFLATEX tag is set to YES, pdflatex will be used instead of
710 # plain latex in the generated Makefile. Set this option to YES to get a
711 # higher quality PDF documentation.
712
713 USE_PDFLATEX = YES
714
715 # If the LATEX_BATCHMODE tag is set to YES, doxygen will add the \\batchmode.
716 # command to the generated LaTeX files. This will instruct LaTeX to keep
717 # running if errors occur, instead of asking the user for help.
718 # This option is also used when generating formulas in HTML.
719
720 LATEX_BATCHMODE = YES
721
722 # If LATEX_HIDE_INDICES is set to YES then doxygen will not
723 # include the index chapters (such as File Index, Compound Index, etc.)
724 # in the output.
725
726 LATEX_HIDE_INDICES = NO
727
728 #---------------------------------------------------------------------------
729 # configuration options related to the RTF output
730 #---------------------------------------------------------------------------
731
732 # If the GENERATE_RTF tag is set to YES Doxygen will generate RTF output
733 # The RTF output is optimized for Word 97 and may not look very pretty with
734 # other RTF readers or editors.
735
736 GENERATE_RTF = $(GENERATE_RTF)
737
738 # The RTF_OUTPUT tag is used to specify where the RTF docs will be put.
739 # If a relative path is entered the value of OUTPUT_DIRECTORY will be
740 # put in front of it. If left blank `rtf' will be used as the default path.
741
742 RTF_OUTPUT = rtf
743
744 # If the COMPACT_RTF tag is set to YES Doxygen generates more compact
745 # RTF documents. This may be useful for small projects and may help to
746 # save some trees in general.
747
748 COMPACT_RTF = NO
749
750 # If the RTF_HYPERLINKS tag is set to YES, the RTF that is generated
751 # will contain hyperlink fields. The RTF file will
752 # contain links (just like the HTML output) instead of page references.
753 # This makes the output suitable for online browsing using WORD or other
754 # programs which support those fields.
755 # Note: wordpad (write) and others do not support links.
756
757 RTF_HYPERLINKS = NO
758
759 # Load stylesheet definitions from file. Syntax is similar to doxygen's
760 # config file, i.e. a series of assignments. You only have to provide
761 # replacements, missing definitions are set to their default value.
762
763 RTF_STYLESHEET_FILE =
764
765 # Set optional variables used in the generation of an rtf document.
766 # Syntax is similar to doxygen's config file.
767
768 RTF_EXTENSIONS_FILE =
769
770 #---------------------------------------------------------------------------
771 # configuration options related to the man page output
772 #---------------------------------------------------------------------------
773
774 # If the GENERATE_MAN tag is set to YES (the default) Doxygen will
775 # generate man pages
776
777 GENERATE_MAN = $(GENERATE_MAN)
778
779 # The MAN_OUTPUT tag is used to specify where the man pages will be put.
780 # If a relative path is entered the value of OUTPUT_DIRECTORY will be
781 # put in front of it. If left blank `man' will be used as the default path.
782
783 MAN_OUTPUT = man
784
785 # The MAN_EXTENSION tag determines the extension that is added to
786 # the generated man pages (default is the subroutine's section .3)
787
788 MAN_EXTENSION = .1
789
790 # If the MAN_LINKS tag is set to YES and Doxygen generates man output,
791 # then it will generate one additional man file for each entity
792 # documented in the real man page(s). These additional files
793 # only source the real man page, but without them the man command
794 # would be unable to find the correct page. The default is NO.
795
796 MAN_LINKS = NO
797
798 #---------------------------------------------------------------------------
799 # configuration options related to the XML output
800 #---------------------------------------------------------------------------
801
802 # If the GENERATE_XML tag is set to YES Doxygen will
803 # generate an XML file that captures the structure of
804 # the code including all documentation.
805
806 GENERATE_XML = $(GENERATE_XML)
807
808 # The XML_OUTPUT tag is used to specify where the XML pages will be put.
809 # If a relative path is entered the value of OUTPUT_DIRECTORY will be
810 # put in front of it. If left blank `xml' will be used as the default path.
811
812 XML_OUTPUT = xml
813
814 # The XML_SCHEMA tag can be used to specify an XML schema,
815 # which can be used by a validating XML parser to check the
816 # syntax of the XML files.
817
818 XML_SCHEMA =
819
820 # The XML_DTD tag can be used to specify an XML DTD,
821 # which can be used by a validating XML parser to check the
822 # syntax of the XML files.
823
824 XML_DTD =
825
826 # If the XML_PROGRAMLISTING tag is set to YES Doxygen will
827 # dump the program listings (including syntax highlighting
828 # and cross-referencing information) to the XML output. Note that
829 # enabling this will significantly increase the size of the XML output.
830
831 XML_PROGRAMLISTING = YES
832
833 #---------------------------------------------------------------------------
834 # configuration options for the AutoGen Definitions output
835 #---------------------------------------------------------------------------
836
837 # If the GENERATE_AUTOGEN_DEF tag is set to YES Doxygen will
838 # generate an AutoGen Definitions (see autogen.sf.net) file
839 # that captures the structure of the code including all
840 # documentation. Note that this feature is still experimental
841 # and incomplete at the moment.
842
843 GENERATE_AUTOGEN_DEF = NO
844
845 #---------------------------------------------------------------------------
846 # configuration options related to the Perl module output
847 #---------------------------------------------------------------------------
848
849 # If the GENERATE_PERLMOD tag is set to YES Doxygen will
850 # generate a Perl module file that captures the structure of
851 # the code including all documentation. Note that this
852 # feature is still experimental and incomplete at the
853 # moment.
854
855 GENERATE_PERLMOD = NO
856
857 # If the PERLMOD_LATEX tag is set to YES Doxygen will generate
858 # the necessary Makefile rules, Perl scripts and LaTeX code to be able
859 # to generate PDF and DVI output from the Perl module output.
860
861 PERLMOD_LATEX = NO
862
863 # If the PERLMOD_PRETTY tag is set to YES the Perl module output will be
864 # nicely formatted so it can be parsed by a human reader. This is useful
865 # if you want to understand what is going on. On the other hand, if this
866 # tag is set to NO the size of the Perl module output will be much smaller
867 # and Perl will parse it just the same.
868
869 PERLMOD_PRETTY = YES
870
871 # The names of the make variables in the generated doxyrules.make file
872 # are prefixed with the string contained in PERLMOD_MAKEVAR_PREFIX.
873 # This is useful so different doxyrules.make files included by the same
874 # Makefile don't overwrite each other's variables.
875
876 PERLMOD_MAKEVAR_PREFIX =
877
878 #---------------------------------------------------------------------------
879 # Configuration options related to the preprocessor
880 #---------------------------------------------------------------------------
881
882 # If the ENABLE_PREPROCESSING tag is set to YES (the default) Doxygen will
883 # evaluate all C-preprocessor directives found in the sources and include
884 # files.
885
886 ENABLE_PREPROCESSING = YES
887
888 # If the MACRO_EXPANSION tag is set to YES Doxygen will expand all macro
889 # names in the source code. If set to NO (the default) only conditional
890 # compilation will be performed. Macro expansion can be done in a controlled
891 # way by setting EXPAND_ONLY_PREDEF to YES.
892
893 MACRO_EXPANSION = YES
894
895 # If the EXPAND_ONLY_PREDEF and MACRO_EXPANSION tags are both set to YES
896 # then the macro expansion is limited to the macros specified with the
897 # PREDEFINED and EXPAND_AS_PREDEFINED tags.
898
899 EXPAND_ONLY_PREDEF = YES
900
901 # If the SEARCH_INCLUDES tag is set to YES (the default) the includes files
902 # in the INCLUDE_PATH (see below) will be search if a #include is found.
903
904 SEARCH_INCLUDES = YES
905
906 # The INCLUDE_PATH tag can be used to specify one or more directories that
907 # contain include files that are not input files but should be processed by
908 # the preprocessor.
909
910 INCLUDE_PATH =
911
912 # You can use the INCLUDE_FILE_PATTERNS tag to specify one or more wildcard
913 # patterns (like *.h and *.hpp) to filter out the header-files in the
914 # directories. If left blank, the patterns specified with FILE_PATTERNS will
915 # be used.
916
917 INCLUDE_FILE_PATTERNS =
918
919 # The PREDEFINED tag can be used to specify one or more macro names that
920 # are defined before the preprocessor is started (similar to the -D option of
921 # gcc). The argument of the tag is a list of macros of the form: name
922 # or name=definition (no spaces). If the definition and the = are
923 # omitted =1 is assumed. To prevent a macro definition from being
924 # undefined via #undef or recursively expanded use the := operator
925 # instead of the = operator.
926
927 PREDEFINED =
928 # If the MACRO_EXPANSION and EXPAND_ONLY_PREDEF tags are set to YES then
929 # this tag can be used to specify a list of macro names that should be expanded.
930 # The macro definition that is found in the sources will be used.
931 # Use the PREDEFINED tag if you want to use a different macro definition.
932
933 EXPAND_AS_DEFINED =
934
935 # If the SKIP_FUNCTION_MACROS tag is set to YES (the default) then
936 # doxygen's preprocessor will remove all function-like macros that are alone
937 # on a line, have an all uppercase name, and do not end with a semicolon. Such
938 # function macros are typically used for boiler-plate code, and will confuse
939 # the parser if not removed.
940
941 SKIP_FUNCTION_MACROS = YES
942
943 #---------------------------------------------------------------------------
944 # Configuration::additions related to external references
945 #---------------------------------------------------------------------------
946
947 # The TAGFILES option can be used to specify one or more tagfiles.
948 # Optionally an initial location of the external documentation
949 # can be added for each tagfile. The format of a tag file without
950 # this location is as follows:
951 # TAGFILES = file1 file2 ...
952 # Adding location for the tag files is done as follows:
953 # TAGFILES = file1=loc1 "file2 = loc2" ...
954 # where "loc1" and "loc2" can be relative or absolute paths or
955 # URLs. If a location is present for each tag, the installdox tool
956 # does not have to be run to correct the links.
957 # Note that each tag file must have a unique name
958 # (where the name does NOT include the path)
959 # If a tag file is not located in the directory in which doxygen
960 # is run, you must also specify the path to the tagfile here.
961
962 TAGFILES =
963
964 # When a file name is specified after GENERATE_TAGFILE, doxygen will create
965 # a tag file that is based on the input files it reads.
966
967 GENERATE_TAGFILE = $(DOCDIR)/$(PROJECT).tag
968
969 # If the ALLEXTERNALS tag is set to YES all external classes will be listed
970 # in the class index. If set to NO only the inherited external classes
971 # will be listed.
972
973 ALLEXTERNALS = NO
974
975 # If the EXTERNAL_GROUPS tag is set to YES all external groups will be listed
976 # in the modules index. If set to NO, only the current project's groups will
977 # be listed.
978
979 EXTERNAL_GROUPS = YES
980
981 # The PERL_PATH should be the absolute path and name of the perl script
982 # interpreter (i.e. the result of `which perl').
983
984 PERL_PATH = $(PERL_PATH)
985
986 #---------------------------------------------------------------------------
987 # Configuration options related to the dot tool
988 #---------------------------------------------------------------------------
989
990 # If the CLASS_DIAGRAMS tag is set to YES (the default) Doxygen will
991 # generate a inheritance diagram (in HTML, RTF and LaTeX) for classes with base
992 # or super classes. Setting the tag to NO turns the diagrams off. Note that
993 # this option is superseded by the HAVE_DOT option below. This is only a
994 # fallback. It is recommended to install and use dot, since it yields more
995 # powerful graphs.
996
997 CLASS_DIAGRAMS = YES
998
999 # If set to YES, the inheritance and collaboration graphs will hide
1000 # inheritance and usage relations if the target is undocumented
1001 # or is not a class.
1002
1003 HIDE_UNDOC_RELATIONS = YES
1004
1005 # If you set the HAVE_DOT tag to YES then doxygen will assume the dot tool is
1006 # available from the path. This tool is part of Graphviz, a graph visualization
1007 # toolkit from AT&T and Lucent Bell Labs. The other options in this section
1008 # have no effect if this option is set to NO (the default)
1009
1010 HAVE_DOT = $(HAVE_DOT)
1011
1012 # If the CLASS_GRAPH and HAVE_DOT tags are set to YES then doxygen
1013 # will generate a graph for each documented class showing the direct and
1014 # indirect inheritance relations. Setting this tag to YES will force the
1015 # the CLASS_DIAGRAMS tag to NO.
1016
1017 CLASS_GRAPH = YES
1018
1019 # If the COLLABORATION_GRAPH and HAVE_DOT tags are set to YES then doxygen
1020 # will generate a graph for each documented class showing the direct and
1021 # indirect implementation dependencies (inheritance, containment, and
1022 # class references variables) of the class with other documented classes.
1023
1024 COLLABORATION_GRAPH = YES
1025
1026 # If the UML_LOOK tag is set to YES doxygen will generate inheritance and
1027 # collaboration diagrams in a style similar to the OMG's Unified Modeling
1028 # Language.
1029
1030 UML_LOOK = NO
1031
1032 # If set to YES, the inheritance and collaboration graphs will show the
1033 # relations between templates and their instances.
1034
1035 TEMPLATE_RELATIONS = NO
1036
1037 # If the ENABLE_PREPROCESSING, SEARCH_INCLUDES, INCLUDE_GRAPH, and HAVE_DOT
1038 # tags are set to YES then doxygen will generate a graph for each documented
1039 # file showing the direct and indirect include dependencies of the file with
1040 # other documented files.
1041
1042 INCLUDE_GRAPH = YES
1043
1044 # If the ENABLE_PREPROCESSING, SEARCH_INCLUDES, INCLUDED_BY_GRAPH, and
1045 # HAVE_DOT tags are set to YES then doxygen will generate a graph for each
1046 # documented header file showing the documented files that directly or
1047 # indirectly include this file.
1048
1049 INCLUDED_BY_GRAPH = YES
1050
1051 # If the CALL_GRAPH and HAVE_DOT tags are set to YES then doxygen will
1052 # generate a call dependency graph for every global function or class method.
1053 # Note that enabling this option will significantly increase the time of a run.
1054 # So in most cases it will be better to enable call graphs for selected
1055 # functions only using the \callgraph command.
1056
1057 CALL_GRAPH = NO
1058
1059 # If the GRAPHICAL_HIERARCHY and HAVE_DOT tags are set to YES then doxygen
1060 # will graphical hierarchy of all classes instead of a textual one.
1061
1062 GRAPHICAL_HIERARCHY = YES
1063
1064 # The DOT_IMAGE_FORMAT tag can be used to set the image format of the images
1065 # generated by dot. Possible values are png, jpg, or gif
1066 # If left blank png will be used.
1067
1068 DOT_IMAGE_FORMAT = png
1069
1070 # The tag DOT_PATH can be used to specify the path where the dot tool can be
1071 # found. If left blank, it is assumed the dot tool can be found in the path.
1072
1073 DOT_PATH = $(DOT_PATH)
1074
1075 # The DOTFILE_DIRS tag can be used to specify one or more directories that
1076 # contain dot files that are included in the documentation (see the
1077 # \dotfile command).
1078
1079 DOTFILE_DIRS =
1080
1081 # The MAX_DOT_GRAPH_WIDTH tag can be used to set the maximum allowed width
1082 # (in pixels) of the graphs generated by dot. If a graph becomes larger than
1083 # this value, doxygen will try to truncate the graph, so that it fits within
1084 # the specified constraint. Beware that most browsers cannot cope with very
1085 # large images.
1086
1087 MAX_DOT_GRAPH_WIDTH = 1024
1088
1089 # The MAX_DOT_GRAPH_HEIGHT tag can be used to set the maximum allows height
1090 # (in pixels) of the graphs generated by dot. If a graph becomes larger than
1091 # this value, doxygen will try to truncate the graph, so that it fits within
1092 # the specified constraint. Beware that most browsers cannot cope with very
1093 # large images.
1094
1095 MAX_DOT_GRAPH_HEIGHT = 1024
1096
1097 # The MAX_DOT_GRAPH_DEPTH tag can be used to set the maximum depth of the
1098 # graphs generated by dot. A depth value of 3 means that only nodes reachable
1099 # from the root by following a path via at most 3 edges will be shown. Nodes
1100 # that lay further from the root node will be omitted. Note that setting this
1101 # option to 1 or 2 may greatly reduce the computation time needed for large
1102 # code bases. Also note that a graph may be further truncated if the graph's
1103 # image dimensions are not sufficient to fit the graph (see MAX_DOT_GRAPH_WIDTH
1104 # and MAX_DOT_GRAPH_HEIGHT). If 0 is used for the depth value (the default),
1105 # the graph is not depth-constrained.
1106
1107 MAX_DOT_GRAPH_DEPTH = 0
1108
1109 # If the GENERATE_LEGEND tag is set to YES (the default) Doxygen will
1110 # generate a legend page explaining the meaning of the various boxes and
1111 # arrows in the dot generated graphs.
1112
1113 GENERATE_LEGEND = YES
1114
1115 # If the DOT_CLEANUP tag is set to YES (the default) Doxygen will
1116 # remove the intermediate dot files that are used to generate
1117 # the various graphs.
1118
1119 DOT_CLEANUP = YES
1120
1121 #---------------------------------------------------------------------------
1122 # Configuration::additions related to the search engine
1123 #---------------------------------------------------------------------------
1124
1125 # The SEARCHENGINE tag specifies whether or not a search engine should be
1126 # used. If set to NO the values of all tags below this one will be ignored.
1127
1128 SEARCHENGINE = NO
0 <html>
1 <head>
2 <title>geotifcp - Copy TIFF, Installing GeoTIFF Metadata</title>
3 </head>
4
5 <body BGCOLOR="#FFFFFF">
6
7 <h1>geotifcp - Copy TIFF with updated GeoTIFF Metadata</h1>
8
9 <pre>
10 Syntax: geotifcp [options] [-e esri_worldfile] [-g metadata] input output
11 </pre>
12
13 The program geotifcp is identical in function to the LIBTIFF program
14 "tiffcp", with the additional feature that if the "-g <metadata>"
15 option is used the GeoTIFF information from the file <metadata>
16 will be installed into the output file. The "-e worldfile" option will
17 override the tiepoint and scale information from the metadata file based
18 on the contents of the ESRI worldfile. <p>
19
20 If the "-g" option is not used the geotiff information from the source
21 file is preserved in the new output file.<p>
22
23 "geotifcp" inherits all the other file-transformation capabilities
24 of the tiffcp program; for help on the additional parameters give
25 the command:<p>
26 <pre>
27 % geotifcp -h
28 </pre>
29
30 The metadata format is the same as is described in the <a href="listgeo.html">
31 listgeo</a> program. Normally metadata files for use with geotifcp are
32 generated from a similar file with listgeo, and then modified by hand
33 as required. <p>
34
35 <h2>See Also:</h2>
36
37 <ol>
38 <li>
39 <a href="listgeo.html">listgeo</a> - Dump GeoTIFF Metadata<p>
40
41 <li>
42 <a href="http://www.remotesensing.org/geotiff/geotiff.html">
43 http://www.remotesensing.org/geotiff/geotiff.html</a> - GeoTIFF/libgeotiff Home Page<p>
44
45 </ol>
46 </body>
47 </html>
0 /*! \page index
1
2 <center><title>
3 LIBGEOTIFF
4 </title></center>
5
6 <h2>Functions</h2>
7
8 <ul>
9 <li> GTIFFree(): Free GeoTIFF access handle.
10 <li> GTIFGetDefn(): Read and Normalize GeoTIFF Definition.
11 <li> GTIFKeyGet(): Read GeoTIFF GeoKey.
12 <li> GTIFKeySet(): Write GeoTIFF GeoKey.
13 <li> GTIFNew(): Create GeoTIFF access handle.
14 <li> GTIFWriteKeys(): Flush GeoTIFF Keys.
15 <li> SetCSVFilenameHook(): Override CSV File Searching.
16 <li> XTIFFClose(): Close GeoTIFF file.
17 <li> XTIFFOpen(): Open GeoTIFF file.
18 </ul>
19
20 <h2>General Notes</h2>
21
22 The libgeotiff library should compile cleanly with most ANSI-C or
23 ANSI C++ compilers. All headers have appropriate <b>extern "C" {}</b>
24 protection to ensure that entry points retain C linkage even if compiled
25 with a C++ compiler. <p>
26
27 <h2>Source Tree</h2>
28
29 The <a href="http://www.remotesensing.org/cgi-bin/cvsweb.cgi/osrs/geotiff">
30 current CVS tree</a> is available on the web. The source can be
31 downloaded anonymously using the <tt>cvs checkout osrs/geotiff/libgeotiff</tt>
32 command after logging in using the instructions on the remotesensing.org
33 <a href="/docs/howto-cvs.php3">CVS howto page</a>.<p>
34
35 <h2>Include Files</h2>
36
37 <ul>
38 <li> xtiffio.h: the primary interface header file for all TIFF
39 routines, using the extended GeoTIFF tags.<p>
40
41 <li> geotiffio.h: the primary interface header file for all GTIF
42 routines, keys and code values.<p>
43
44 <li> geotiff.h: an interface header file for all GTIF
45 routines, if code values are not required.<p>
46
47 <li> geokeys.h: defines all valid GEOTIFF GeoKeys.<p>
48
49 <li> geo_normalize.h: Defined all functions and structures related
50 to normalization of GeoTIFF information based on CSV files.<p>
51
52 </ul>
53
54 <h2>Licensing</h2>
55
56 All the source code in this toolkit are either in the public domain, or under
57 an X style license. In any event it is all considered to be free to use
58 for any purpose (including commercial software). No credit is required
59 though some of the code requires that the specific source code modules
60 retain their existing copyright statements. The CSV files, and other tables
61 derived from the EPSG coordinate system database are also free for commercial
62 and non-commercial use. In particular, no part of this code is
63 <i>copyleft</i>, nor does it imply any requirement for users to disclose
64 this or their own source code.<p>
65
66 */
0 <html>
1 <head>
2 <title>listgeo - Dump GeoTIFF Metadata</title>
3 </head>
4
5 <body BGCOLOR="#FFFFFF">
6
7 <h1>listgeo - Dump GeoTIFF Metadata</h1>
8
9 <pre><b>
10 Usage: listgeo [-tfw] [-no_norm] [-proj4] [-t tabledir] inputfile
11 </b></pre>
12
13 The program listgeo takes a GeoTIFF file as input and dumps to
14 the standard output a GeoTIFF "metadata" file, which is human
15 readable, and may also be used as input to other programs which
16 use the "GTIFImport" routine, such as <a href="geotiff.html">geotifcp</a>.<p>
17
18 The <b>-tfw</b> flag may be passed to force generation of an ESRI style .tfw
19 file as well as the metadata file. The ESRI world file is always given
20 the same basename as the input file, with the extension .tfw. If one
21 exists already it will be overwritten.<p>
22
23 The <b>-no_norm</b> flag will supress reporting of normalized parameters, and
24 reporting of corner points. <p>
25
26 The <b>-proj4</b> flag forces listgeo to report the PROJ.4 projection
27 string it uses for reprojecting corners to lat/long.<p>
28
29 The <b>-t tabledir</b> flag overrides the programs concept of how to file the
30 EPSG CSV files, causing it to look in directory "tabledir". <p>
31
32 <h2>GeoTIFF Metadata Format</h2>
33
34 For the formalist junkies, we will define a GeoTIFF metadata format
35 in an unambiguous fashion, and follow that by a concrete example.<p>
36
37 The metadata format is defined as follows (all strings not placed
38 between <braces> are string literals, case-sensitive, and any entry
39 followed by "*" or "*<number>" indicates multiple entries):<p>
40
41 <pre>
42 &lt;Geotiff_Metadata&gt; = &lt;Geotiff_Header&gt; + &lt;GeoTIFF_Body&gt; + &lt;GeoTIFF_Trailer&gt;
43
44 &lt;Geotiff_Header&gt; = &lt;White_Space&gt; + Geotiff_Information: + &lt;Return&gt;
45 &lt;GeoTIFF_Trailer&gt; = &lt;White_Space&gt; + End_Of_Geotiff. + &lt;Return&gt;
46 &lt;GeoTIFF_Body&gt; = &lt;GeoTIFF_Info&gt; + &lt;GeoTIFF_Tags&gt; + &lt;GeoTIFF_Keys&gt;
47 &lt;GeoTIFF_Info&gt; = &lt;GeoTIFF_Version&gt; + &lt;GeoTIFF_Revision&gt;
48 &lt;GeoTIFF_Version&gt; = Version: + &lt;Single_Space&gt; + &lt;Version&gt; + &lt;Return&gt;
49 &lt;Version&gt; = &lt;Integer&gt;
50 &lt;GeoTIFF_Revision&gt; = Revision: +
51 &lt;Single_Space&gt; + &lt;Major_Rev&gt; + &lt;Period&gt; + &lt;Minor_Rev&gt; + &lt;Return&gt;
52 &lt;Major_Rev&gt; = &lt;Integer&gt;
53 &lt;Minor_Rev&gt; = &lt;Integer&gt;
54 &lt;GeoTIFF_Tags&gt; = &lt;Tag_Header&gt; + &lt;Tag_Entry&gt;* + &lt;Tag_Trailer&gt;
55 &lt;Tag_Header&gt; = &lt;White_Space&gt; + Tagged_Information: + &lt;Return&gt;
56 &lt;Tag_Trailer&gt; = &lt;White_Space&gt; + End_Of_Tags. + &lt;Return&gt;
57 &lt;Tag_Entry&gt; = &lt;Tag_Entry_Header&gt; + &lt;Tag_Entry_Row&gt;*
58 &lt;Tag_Entry_Header&gt; = &lt;White_Space&gt; +
59 &lt;Tag_Name&gt; + &lt;Tag_Dimension&gt; + &lt;Colon&gt; + &lt;Return&gt;
60 &lt;Tag_Dimension&gt; = "(" + &lt;NRows&gt; + &lt;Comma&gt; + &lt;NCols&gt; + ")"
61 &lt;NRows&gt; = &lt;Integer&gt;
62 &lt;NCols&gt; = &lt;Integer&gt;
63 &lt;Tag_Entry_Row&gt; = &lt;White_Space&gt; + &lt;Double_Float&gt;*&lt;NCols&gt; + &lt;Return&gt;
64 &lt;GeoTIFF_Keys&gt; = &lt;Key_Header&gt; + &lt;Key_Entry&gt;* + &lt;Key_Trailer&gt;
65 &lt;Key_Header&gt; = &lt;White_Space&gt; + Keyed_Information: + &lt;Return&gt;
66 &lt;Key_Trailer&gt; = &lt;White_Space&gt; + End_Of_Keys. + &lt;Return&gt;
67 &lt;Key_Entry&gt; = &lt;Key_Entry_Header&gt; + &lt;Key_Entry_Value&gt;
68 &lt;Key_Entry_Header&gt; = &lt;White_Space&gt; +
69 &lt;Key_Name&gt; + &lt;Key_Dimension&gt; + &lt;Colon&gt; + &lt;Return&gt;
70 &lt;Key_Dimension&gt; = "(" + &lt;Key_Format&gt; + &lt;Comma&gt; + &lt;Key_Count&gt; + ")"
71 &lt;Key_Entry_Value&gt; = (&lt;Key_Value&gt; | &lt;Numeric_Value&gt; | &lt;Ascii_Value&gt;)
72 &lt;Numeric_Value&gt; = (&lt;Integer&gt; | &lt;Double_Float&gt;)
73 &lt;Ascii_Value&gt; = &lt;Double_Quote&gt; + &lt;String&gt; + &lt;Double_Quote&gt;
74
75 &lt;Tag_Name&gt; = All symbolic tag names defined in GeoTIFF spec.
76 &lt;Key_Name&gt; = All symbolic key names defined in GeoTIFF spec.
77 &lt;Key_Value&gt; = All symbolic value names defined in GeoTIFF spec.
78 &lt;Key_Format&gt; = (Short | Ascii | Double)
79 </pre>
80
81 And for the pedantic:
82 <pre>
83 &lt;White_Space&gt; = (&lt;Single_Space&gt; | &lt;Tab&gt;)*
84 &lt;Double_Float&gt; = &lt;Mantissa&gt;&lt;Exponent&gt;
85 &lt;Mantissa&gt; = &lt;Sign&gt;&lt;Integer&gt;&lt;Period&gt;&lt;Integer&gt;
86 &lt;Exponent&gt; = ( |e&lt;Sign&gt;&lt;Integer&gt;)
87 &lt;Sign&gt; = ( |+|-)
88 &lt;Integer&gt; = (0|1|2|3|4|5|6|7|8|9)*
89 ...
90 </pre>
91
92 Following the formal metadata report, there is an optional (use -no_norm
93 to supress) report on the <i>normalized</i> projection parameters for the
94 file. This is an attempt to lookup PCS and GCS definitions to get detailed
95 datum, ellipsoid, and projection definitions for the file. In general it
96 requires access to the EPSG CSV files to work properly. The GEOTIFF_CSV
97 environment variable can be used to point to directory containing the EPSG
98 CSV files (normally distributed with libgeotiff, or this executable). If
99 GEOTIFF_CSV is not defined listgeo will look for a csv subdirectory, or
100 the /usr/local/shared/epsg_csv directory. The -t commandline switch can
101 also be used to indicate where the CSV files are located.<p>
102
103 Following the normalized projection information listgeo will report the
104 positions of the four corner coordinates, and if possible their lat/long
105 equivelents. The corner coordinates are reported for tiepoint+scale and
106 transformation matrix formulations of GeoTIFF files, but not for multiple
107 tiepoint formulations. The lat/long coordinates are only available if
108 listgeo is compiled with PROJ.4, if the projection definition can be
109 normalized, and if it is a projection supported by the listgeo PROJ.4
110 binding.<p>
111
112 Example (default output of listgeo):<p>
113
114 <pre>
115 Geotiff_Information:
116 Version: 1
117 Key_Revision: 1.0
118 Tagged_Information:
119 ModelTiepointTag (2,3):
120 0 0 0
121 440720 3751320 0
122 ModelPixelScaleTag (1,3):
123 60 60 0
124 End_Of_Tags.
125 Keyed_Information:
126 GTModelTypeGeoKey (Short,1): ModelTypeProjected
127 GTRasterTypeGeoKey (Short,1): RasterPixelIsArea
128 GTCitationGeoKey (Ascii,17): "UTM 11 S E000"
129 GeogLinearUnitsGeoKey (Short,1): Linear_Meter
130 GeogAngularUnitsGeoKey (Short,1): Angular_Degree
131 ProjectedCSTypeGeoKey (Short,1): PCS_NAD27_UTM_zone_11N
132 End_Of_Keys.
133 End_Of_Geotiff.
134
135 PCS = 26711 (NAD27 / UTM zone 11N)
136 Projection = 16011 (UTM zone 11N)
137 Projection Method: CT_TransverseMercator
138 ProjNatOriginLatGeoKey: 0.000000 ( 0d 0' 0.00"N)
139 ProjNatOriginLongGeoKey: -117.000000 (117d 0' 0.00"W)
140 ProjScaleAtNatOriginGeoKey: 0.999600
141 ProjFalseEastingGeoKey: 500000.000000
142 ProjFalseNorthingGeoKey: 0.000000
143 GCS: 4267/NAD27
144 Datum: 6267/North American Datum 1927
145 Ellipsoid: 7008/Clarke 1866 (6378206.40,6356583.80)
146 Prime Meridian: 8901/Greenwich (0.000000/ 0d 0' 0.00"E)
147 Projection Linear Units: 9001/metre (1.000000m)
148
149 Corner Coordinates:
150 Upper Left ( 440720.000,3751320.000) (117d38'28.21"W, 33d54' 8.47"N)
151 Lower Left ( 440720.000,3720600.000) (117d38'20.79"W, 33d37'31.04"N)
152 Upper Right ( 471440.000,3751320.000) (117d18'32.07"W, 33d54'13.08"N)
153 Lower Right ( 471440.000,3720600.000) (117d18'28.50"W, 33d37'35.61"N)
154 Center ( 456080.000,3735960.000) (117d28'27.39"W, 33d45'52.46"N)
155 </pre>
156
157 <h2>See Also:</h2>
158
159 <ol>
160 <li>
161 <a href="geotifcp.html">geotiffcp</a> - Copy TIFF installing GeoTIFF
162 metadata.<p>
163 <li>
164 <a href="http://www.remotesensing.org/geotiff/geotiff.html">
165 http://www.remotesensing.org/geotiff/geotiff.html</a> - GeoTIFF/libgeotiff Home Page<p>
166
167 </ol>
168 </body>
169 </html>
0 -------------------------------------------------------------
1
2 Manual for Libgeotiff Library and Utilities
3
4 -------------------------------------------------------------
5
6 Documentation Author: Niles Ritter
7 Last Modified: 31 Jul 95
8
9 See: http://www.remotesensing.org/geotiff/api/index.html
10 for up to date API documentation
11
12 -------------------------------------------------------------
13 Contents:
14
15 1. The LibGeoTIFF library
16
17 1.1 Preliminaries
18 1.2 Calling Sequences
19 1.3 Examples
20
21 2. The LibGeoTIFF Utilities
22
23 2.1 listgeo - dump a GeoTIFF metadata file
24 2.2 geotifcp - install GeoTIFF from metadata
25
26 -------------------------------------------------------------
27 1. The LibGeoTIFF library
28
29 -------------------------------------------------------------
30 1.1 Preliminaries
31
32 -------------------
33 1.1.1 Compliance:
34
35 ANSI-C: The GeoTIFF library is fully ANSI compliant and
36 should compile under any ANSI compiler. It is not guaranteed
37 to compile under K&R compilers.
38
39 C++: All headers have the appropriate C++ bindings permitting
40 the correct linkage to C++ routines.
41
42 -------------------
43 1.1.2 Interfaces:
44
45 xtiffio.h: the primary interface header file for all TIFF
46 routines, using the extended GeoTIFF tags.
47
48 geotiffio.h: the primary interface header file for all GTIF
49 routines, keys and code values.
50
51 geotiff.h: an interface header file for all GTIF
52 routines, if code values are not required.
53
54 geokeys.h: defines all valid GEOTIFF GeoKeys.
55
56 -------------------
57 1.1.3 Defined macros:
58
59 All of the tag, key and key-value symbolic names in the GeoTIFF spec are
60 supported and defined by the inclusion of "geotiffio.h". In addition,
61 the following useful values are defined:
62
63 GvCurrentVersion: The current GeoTIFF Directory version. Should always be 1.
64 GvCurrentRevision: The current GeoTIFF Key Revision.
65 GvCurrentMinorRev: The current GeoTIFF Key-Value (minor) Revision.
66
67 KvUndefined: The universal Key value for "undefined" items.
68 KvUserDefined: The universal Key value for "user-defined" items.
69
70
71 -------------------
72 1.1.4 Defined Types:
73
74 TIFF the type of a TIFF file descriptor (if LIBTIFF is used).
75 GTIF the type of a GeoTIFF file descriptor.
76 GTIFPrintMethod the type of a print method passed to GTIFPrint().
77 GTIFReadMethod the type of a read method passed to GTIFImport().
78 geokey_t the type of a GeoTIFF key variable.
79 tagtype_t the type of a TIFF tag variable, such as TYPE_DOUBLE.
80
81
82 -------------------
83 1.1.5 Key and Code Databases:
84
85 All geokeys are defined and named in the database file
86 "geokeys.inc", which in turn is included in "geokeys.h"
87 and several other files. The symbolic enumerated names are identical
88 to those used in the Appendix of the GeoTIFF spec.
89
90 The geokey code values are stored in the other database files
91 having the ".inc" suffix, which in turn are all referenced by
92 the file "geovalues.h". The ones with names beginning with
93 "epsg_" are codes registered in the EPSG/POSC tables, while
94 those beginning with "geo_" are specific to GeoTIFF.
95
96
97 -------------------------------------------------------------
98 1.2 Calling Sequences
99
100 -------------------
101 1.2.1 TIFF-level interface
102
103
104 1.2.1.1 GTIFNew -- Set up a new GeoTIFF file Descriptor
105 GTIF* GTIFNew(void *tif);
106
107 GTIFNew() takes an existing TIFF file descriptor and creates
108 a GTIF GeoTIFF file-I/O object for reading and writing
109 GeoTIFF keys and values. The TIFF file must currently be open,
110 though it may be either read or write mode.
111
112
113 1.2.1.2 GTIFFree
114 void GTIFFree(GTIF *gtif);
115
116 Destroys the GeoTIFF file descriptor following reading or writing
117 the keys.
118
119
120 1.2.1.3 GTIFWriteKeys
121 int GTIFWriteKeys(GTIF *gtif);
122
123 This routine must be called for a new GeoTIFF file after all of
124 the desired Keys are defined and set with GTIFSetKey(). This does
125 not explicitly write anything out to the file, but it does call
126 the TIFF-level routines to install the TIFF tag values, which
127 in turn are written to the file when the TIFF file descriptor
128 is closed. A GeoTIFF file cannot be opened for updating; only
129 pure read or write is supported.
130
131
132 1.2.1.4 GTIFDirectoryInfo
133 void GTIFDirectoryInfo(GTIF *gtif, int *versions, int *keycount);
134
135 Returns header information about the GeoTIFF file directory. The <versions>
136 is an array of 3 integers, giving the GeoTIFF Version, followed by
137 the major and minor revisions. The <keycount> argument returns the number
138 of keys currently defined in this file.
139
140 -------------------
141 1.2.2 GeoKey Access
142
143
144 1.2.2.1 GTIFKeyInfo
145 int GTIFKeyInfo(GTIF *gtif, geokey_t key, int *size, tagtype_t* type);
146
147 Returns the number of values defined for key <key> if currently defined in the file, and
148 returns in <size> the size of individual key values, and the <type>. If the
149 key is not defined, 0 is returned. You may pass in NULL pointers to any parameters
150 you do not need (such as the type).
151
152
153 1.2.2.1 GTIFKeyGet
154 int GTIFKeyGet(GTIF *gtif, geokey_t key, void *val, int index, int count);
155
156 Accesses the key value(s). If there are multiple values (such as ASCII), they
157 may be accessed individually, starting at <index> and returning <count> values.
158 The total number of values accessed is returned. Note: unline TIFFGetField()
159 memory is not allocated for multiple-value arrays such as ASCII. To get the
160 length of an array call GTIFKeyInfo first, which returns the size and count
161 of the data. If the values are key-codes they should be declared of type
162 "geocode_t", which is unsigned SHORT.
163
164
165 1.2.2.1 GTIFKeySet
166 int GTIFKeySet(GTIF *gtif, geokey_t keyID, tagtype_t type, int count,...);
167
168 Defines and sets the specified key values. Note that this does not install the
169 tag-level information in the file; to do that you must call GTIFWriteKeys().
170 For single-valued non-ASCII keys (which are most of them), you must pass the
171 values in by value not reference. You must use the correct type for the
172 values: doubles for floating point, strings for ASCII, and "geocode_t" for
173 SHORT codes (the symbolic names may be used in most cases).
174
175
176 1.2.3 Metadata Import-Export utilities
177
178 void GTIFPrint(GTIF *gtif, GTIFPrintMethod print, void *fd);
179 int GTIFImport(GTIF *gtif, GTIFReadMethod scan, void *fd);
180
181 char* GTIFKeyName(geokey_t key);
182 char* GTIFValueName(geokey_t key,int value);
183 char* GTIFTypeName(tagtype_t type);
184 char* GTIFTagName(int tag);
185 int GTIFKeyCode(char * key);
186 int GTIFValueCode(geokey_t key,char *value);
187 int GTIFTypeCode(char *type);
188 int GTIFTagCode(char *tag);
189
190 The GTIFPrint() routine dumps a GeoTIFF metadata stream out to
191 a specified file <fd>, either for human interpretation or for
192 input to another program. If <fd> is NULL the data is written
193 to the standard output.
194
195 The GTIFImport() routine performs the inverse; given a metadata file
196 specified by <fd> (or stdin if <fd> is NULL) install the corresponding
197 tags and keys into the current GeoTIFF file. Note that the
198 import routine only calls GTIFKeySet(), and so it is up to the
199 client program to call GTIFWriteKey() in order to explicitly
200 write the keys out to the file.
201
202 The GTIFxxxName() routines all take a numeric code, key or tag and
203 return a pointer to a static string name associated with the value.
204 In the case of Key-Values, the key must be explicitly defined in
205 order to establish the scope of the name-search. A string is always
206 returned; however, if the code is not recognized the string is
207 of the format "Unknown-%d", where %d is the input code value.
208
209 The GTIFxxxCode() routines perform the reverse operation; given
210 an ASCII string name it tries to find the corresponding code,
211 key or tag numerical value, in a case-sensitive manner. If the
212 string is not recognized the value -1 is return (no valid codes
213 are negative). For consistency, any strings of the form "Unknown-%d"
214 where %d is a decimal integer will return the specified integer.
215
216 Note: be careful when assigning variables to GTIFxxxCode; for example,
217 the geokey_t type is unsigned, and so if -1 is returned, this will
218 result in a value of 65535. To be safe, always use signed integers
219 for the assignment, and pass them on to an unsigned type after
220 checking that the value is positive.
221
222
223 -------------------------------------------------------------
224 1.3 Examples
225
226
227 A typical use of LIBGEOTIFF for creating a GeoTIFF file is
228
229 #include "xtiffio.h" /* for TIFF */
230 #include "geotiffio.h" /* for GeoTIFF */
231 void main()
232 {
233 TIFF *tif=(TIFF*)0; /* TIFF-level descriptor */
234 GTIF *gtif=(GTIF*)0; /* GeoKey-level descriptor */
235
236 /* Open TIFF descriptor to write GeoTIFF tags */
237 tif=XTIFFOpen(fname,"w");
238 if (!tif) goto failure;
239
240 /* Open GTIF Key parser */
241 gtif = GTIFNew(tif);
242 if (!gtif) goto failure;
243
244 /* Set up standar TIFF file */
245 TIFFSetField(tif,TIFFTAG_IMAGEWIDTH, WIDTH);
246 /* set other TIFF tags and write out image ... */
247
248 /* Set GeoTIFF information */
249 GTIFKeySet(gtif, GTModelTypeGeoKey, TYPE_SHORT, 1, ModelGeographic);
250 /* set other GeoTIFF keys ... */
251
252 /* Store the keys into the TIFF Tags */
253 GTIFWriteKeys(gtif);
254
255 /* get rid of the key parser */
256 GTIFFree(gtif);
257
258 /* save and close the TIFF file descriptor */
259 XTIFFClose(tif);
260
261 exit (0);
262 failure:
263 exit (-1);
264 }
265
266 While a typical use of the code for reading tags is:
267
268 #include "xtiffio.h" /* for TIFF */
269 #include "geotiffio.h" /* for GeoTIFF */
270 enum {VERSION=0,MAJOR,MINOR};
271 void main()
272 {
273 TIFF *tif=(TIFF*)0; /* TIFF-level descriptor */
274 GTIF *gtif=(GTIF*)0; /* GeoKey-level descriptor */
275 int versions[3];
276 int cit_length;
277 geocode_t model; /* all key-codes are of this type */
278 char *citation;
279
280 /* Open TIFF descriptor to read GeoTIFF tags */
281 tif=XTIFFOpen(fname,"r");
282 if (!tif) goto failure;
283
284 /* Open GTIF Key parser; keys will be read at this time. */
285 gtif = GTIFNew(tif);
286 if (!gtif) goto failure;
287
288 /* Get the GeoTIFF directory info */
289 GTIFDirectoryInfo(gtif,versions,0);
290 if (versions[MAJOR] > 1)
291 {
292 printf("this file is too new for me\n"); goto failure;
293 }
294 if (!GTIFKeyGet(gtif, GTModelTypeGeoKey, &model, 0, 1))
295 {
296 printf("Yikes! no Model Type\n") goto failure;
297 }
298
299 /* ASCII keys are variable-length; compute size */
300 cit_length = GTIFKeyInfo(gtif,GTCitationGeoKey,&size,&type);
301 if (cit_length > 0)
302 {
303 citation = malloc(size*cit_length);
304 if (!citation) goto failure;
305 GTIFKeyGet(gtif, GTCitationGeoKey, citation, 0, cit_length);
306 printf("Citation:%s\n",citation);
307 }
308
309 /* Get some TIFF info on this image */
310 TIFFGetField(tif,TIFFTAG_IMAGEWIDTH, &width);
311
312 /* get rid of the key parser */
313 GTIFFree(gtif);
314
315 /* close the TIFF file descriptor */
316 XTIFFClose(tif);
317
318 exit (0);
319 failure:
320 exit (-1);
321 }
322
323
324
325 -------------------------------------------------------------
326 2. The LibGeoTIFF Utilities
327
328 -------------------------------------------------------------
329 2.1 listgeo - dump a GeoTIFF metadata file
330
331 Syntax: listgeo [-tfw] [-no_norm] [-t tabledir] inputfile
332
333 The program listgeo takes a GeoTIFF file as input and dumps to
334 the standard output a GeoTIFF "metadata" file, which is human
335 readable, and may also be used as input to other programs which
336 use the "GTIFImport" routine, such as geotifcp, below.
337
338 The -tfw flag may be passed to force generation of an ESRI style .tfw
339 file as well as the metadata file.
340
341 The -no_norm flag will supress reporting of normalized parameters, and
342 reporting of corner points.
343
344 The "-t tabledir" flag overrides the programs concept of how to file the
345 EPSG CSV files, causing it to look in directory "tabledir".
346
347 ------------------------
348 GeoTIFF Metadata Format:
349
350 For the formalist junkies, we will define a GeoTIFF metadata format
351 in an unambiguous fashion, and follow that by a concrete example.
352
353 The metadata format is defined as follows (all strings not placed
354 between <braces> are string literals, case-sensitive, and any entry
355 followed by "*" or "*<number>" indicates multiple entries):
356
357 <Geotiff_Metadata> = <Geotiff_Header> + <GeoTIFF_Body> + <GeoTIFF_Trailer>
358
359 <Geotiff_Header> = <White_Space> + Geotiff_Information: + <Return>
360 <GeoTIFF_Trailer> = <White_Space> + End_Of_Geotiff. + <Return>
361 <GeoTIFF_Body> = <GeoTIFF_Info> + <GeoTIFF_Tags> + <GeoTIFF_Keys>
362 <GeoTIFF_Info> = <GeoTIFF_Version> + <GeoTIFF_Revision>
363 <GeoTIFF_Version> = Version: + <Single_Space> + <Version> + <Return>
364 <Version> = <Integer>
365 <GeoTIFF_Revision> = Revision: +
366 <Single_Space> + <Major_Rev> + <Period> + <Minor_Rev> + <Return>
367 <Major_Rev> = <Integer>
368 <Minor_Rev> = <Integer>
369 <GeoTIFF_Tags> = <Tag_Header> + <Tag_Entry>* + <Tag_Trailer>
370 <Tag_Header> = <White_Space> + Tagged_Information: + <Return>
371 <Tag_Trailer> = <White_Space> + End_Of_Tags. + <Return>
372 <Tag_Entry> = <Tag_Entry_Header> + <Tag_Entry_Row>*
373 <Tag_Entry_Header> = <White_Space> +
374 <Tag_Name> + <Tag_Dimension> + <Colon> + <Return>
375 <Tag_Dimension> = "(" + <NRows> + <Comma> + <NCols> + ")"
376 <NRows> = <Integer>
377 <NCols> = <Integer>
378 <Tag_Entry_Row> = <White_Space> + <Double_Float>*<NCols> + <Return>
379 <GeoTIFF_Keys> = <Key_Header> + <Key_Entry>* + <Key_Trailer>
380 <Key_Header> = <White_Space> + Keyed_Information: + <Return>
381 <Key_Trailer> = <White_Space> + End_Of_Keys. + <Return>
382 <Key_Entry> = <Key_Entry_Header> + <Key_Entry_Value>
383 <Key_Entry_Header> = <White_Space> +
384 <Key_Name> + <Key_Dimension> + <Colon> + <Return>
385 <Key_Dimension> = "(" + <Key_Format> + <Comma> + <Key_Count> + ")"
386 <Key_Entry_Value> = (<Key_Value> | <Numeric_Value> | <Ascii_Value>)
387 <Numeric_Value> = (<Integer> | <Double_Float>)
388 <Ascii_Value> = <Double_Quote> + <String> + <Double_Quote>
389
390 <Tag_Name> = All symbolic tag names defined in GeoTIFF spec.
391 <Key_Name> = All symbolic key names defined in GeoTIFF spec.
392 <Key_Value> = All symbolic value names defined in GeoTIFF spec.
393 <Key_Format> = (Short | Ascii | Double)
394
395 And for the pedantic:
396 <White_Space> = (<Single_Space> | <Tab>)*
397 <Double_Float> = <Mantissa><Exponent>
398 <Mantissa> = <Sign><Integer><Period><Integer>
399 <Exponent> = ( |e<Sign><Integer>)
400 <Sign> = ( |+|-)
401 <Integer> = (0|1|2|3|4|5|6|7|8|9)*
402 ...
403
404
405 Example (default output of listgeo):
406
407 Geotiff_Information:
408 Version: 1
409 Key_Revision: 0.2
410 Tagged_Information:
411 ModelTiepointTag (2,3):
412 0 0 0
413 130 32 0
414 ModelPixelScaleTag (1,3):
415 1 1 0
416 End_Of_Tags.
417 Keyed_Information:
418 GTModelTypeGeoKey (Short,1): ModelTypeGeographic
419 GTRasterTypeGeoKey (Short,1): RasterPixelIsArea
420 GTCitationGeoKey (Ascii,16): "Just An Example"
421 GeographicTypeGeoKey (Short,1): User-Defined
422 GeogCitationGeoKey (Ascii,24): "Everest Ellipsoid Used."
423 GeogGeodeticDatumGeoKey (Short,1): User-Defined
424 GeogLinearUnitsGeoKey (Short,1): Linear_Meter
425 GeogAngularUnitsGeoKey (Short,1): Angular_Degree
426 GeogEllipsoidGeoKey (Short,1): Ellipse_Everest_1830_1967_Definition
427 GeogSemiMajorAxisGeoKey (Double,1): 6377298.556
428 GeogInvFlatteningGeoKey (Double,1): 300.8017
429 End_Of_Keys.
430 End_Of_Geotiff.
431
432
433 -------------------------------------------------------------
434 2.2 geotifcp - Copy a TIFF file and install GeoTIFF info from metadata.
435
436 Syntax: geotifcp [options] [-e esri_worldfile] [-g metadata] input output
437
438 The program geotifcp is identical in function to the LIBTIFF program
439 "tiffcp", with the additional feature that if the "-g <metadata>"
440 option is used the GeoTIFF information from the file <metadata>
441 will be installed into the output file. The "-e worldfile" option will
442 override the tiepoint and scale information from the metadata file based
443 on the contents of the ESRI worldfile.
444
445 If the "-g" option is not used, the opposite effect occurs: all
446 GeoTIFF information is filtered out of the input file before being
447 written to the new output file.
448
449 "geotifcp" inherits all the other file-transformation capabilities
450 of the tiffcp program; for help on the additional parameters give
451 the command:
452
453 % geotifcp -h
454
455 -------------------------------------------------------------