This file is indexed.

/usr/lib/perl5/Geo/GDAL.dox is in libgdal-perl 1.7.3-6ubuntu3.

This file is owned by root:root, with mode 0o644.

The actual contents of the file can be viewed below.

   1
   2
   3
   4
   5
   6
   7
   8
   9
  10
  11
  12
  13
  14
  15
  16
  17
  18
  19
  20
  21
  22
  23
  24
  25
  26
  27
  28
  29
  30
  31
  32
  33
  34
  35
  36
  37
  38
  39
  40
  41
  42
  43
  44
  45
  46
  47
  48
  49
  50
  51
  52
  53
  54
  55
  56
  57
  58
  59
  60
  61
  62
  63
  64
  65
  66
  67
  68
  69
  70
  71
  72
  73
  74
  75
  76
  77
  78
  79
  80
  81
  82
  83
  84
  85
  86
  87
  88
  89
  90
  91
  92
  93
  94
  95
  96
  97
  98
  99
 100
 101
 102
 103
 104
 105
 106
 107
 108
 109
 110
 111
 112
 113
 114
 115
 116
 117
 118
 119
 120
 121
 122
 123
 124
 125
 126
 127
 128
 129
 130
 131
 132
 133
 134
 135
 136
 137
 138
 139
 140
 141
 142
 143
 144
 145
 146
 147
 148
 149
 150
 151
 152
 153
 154
 155
 156
 157
 158
 159
 160
 161
 162
 163
 164
 165
 166
 167
 168
 169
 170
 171
 172
 173
 174
 175
 176
 177
 178
 179
 180
 181
 182
 183
 184
 185
 186
 187
 188
 189
 190
 191
 192
 193
 194
 195
 196
 197
 198
 199
 200
 201
 202
 203
 204
 205
 206
 207
 208
 209
 210
 211
 212
 213
 214
 215
 216
 217
 218
 219
 220
 221
 222
 223
 224
 225
 226
 227
 228
 229
 230
 231
 232
 233
 234
 235
 236
 237
 238
 239
 240
 241
 242
 243
 244
 245
 246
 247
 248
 249
 250
 251
 252
 253
 254
 255
 256
 257
 258
 259
 260
 261
 262
 263
 264
 265
 266
 267
 268
 269
 270
 271
 272
 273
 274
 275
 276
 277
 278
 279
 280
 281
 282
 283
 284
 285
 286
 287
 288
 289
 290
 291
 292
 293
 294
 295
 296
 297
 298
 299
 300
 301
 302
 303
 304
 305
 306
 307
 308
 309
 310
 311
 312
 313
 314
 315
 316
 317
 318
 319
 320
 321
 322
 323
 324
 325
 326
 327
 328
 329
 330
 331
 332
 333
 334
 335
 336
 337
 338
 339
 340
 341
 342
 343
 344
 345
 346
 347
 348
 349
 350
 351
 352
 353
 354
 355
 356
 357
 358
 359
 360
 361
 362
 363
 364
 365
 366
 367
 368
 369
 370
 371
 372
 373
 374
 375
 376
 377
 378
 379
 380
 381
 382
 383
 384
 385
 386
 387
 388
 389
 390
 391
 392
 393
 394
 395
 396
 397
 398
 399
 400
 401
 402
 403
 404
 405
 406
 407
 408
 409
 410
 411
 412
 413
 414
 415
 416
 417
 418
 419
 420
 421
 422
 423
 424
 425
 426
 427
 428
 429
 430
 431
 432
 433
 434
 435
 436
 437
 438
 439
 440
 441
 442
 443
 444
 445
 446
 447
 448
 449
 450
 451
 452
 453
 454
 455
 456
 457
 458
 459
 460
 461
 462
 463
 464
 465
 466
 467
 468
 469
 470
 471
 472
 473
 474
 475
 476
 477
 478
 479
 480
 481
 482
 483
 484
 485
 486
 487
 488
 489
 490
 491
 492
 493
 494
 495
 496
 497
 498
 499
 500
 501
 502
 503
 504
 505
 506
 507
 508
 509
 510
 511
 512
 513
 514
 515
 516
 517
 518
 519
 520
 521
 522
 523
 524
 525
 526
 527
 528
 529
 530
 531
 532
 533
 534
 535
 536
 537
 538
 539
 540
 541
 542
 543
 544
 545
 546
 547
 548
 549
 550
 551
 552
 553
 554
 555
 556
 557
 558
 559
 560
 561
 562
 563
 564
 565
 566
 567
 568
 569
 570
 571
 572
 573
 574
 575
 576
 577
 578
 579
 580
 581
 582
 583
 584
 585
 586
 587
 588
 589
 590
 591
 592
 593
 594
 595
 596
 597
 598
 599
 600
 601
 602
 603
 604
 605
 606
 607
 608
 609
 610
 611
 612
 613
 614
 615
 616
 617
 618
 619
 620
 621
 622
 623
 624
 625
 626
 627
 628
 629
 630
 631
 632
 633
 634
 635
 636
 637
 638
 639
 640
 641
 642
 643
 644
 645
 646
 647
 648
 649
 650
 651
 652
 653
 654
 655
 656
 657
 658
 659
 660
 661
 662
 663
 664
 665
 666
 667
 668
 669
 670
 671
 672
 673
 674
 675
 676
 677
 678
 679
 680
 681
 682
 683
 684
 685
 686
 687
 688
 689
 690
 691
 692
 693
 694
 695
 696
 697
 698
 699
 700
 701
 702
 703
 704
 705
 706
 707
 708
 709
 710
 711
 712
 713
 714
 715
 716
 717
 718
 719
 720
 721
 722
 723
 724
 725
 726
 727
 728
 729
 730
 731
 732
 733
 734
 735
 736
 737
 738
 739
 740
 741
 742
 743
 744
 745
 746
 747
 748
 749
 750
 751
 752
 753
 754
 755
 756
 757
 758
 759
 760
 761
 762
 763
 764
 765
 766
 767
 768
 769
 770
 771
 772
 773
 774
 775
 776
 777
 778
 779
 780
 781
 782
 783
 784
 785
 786
 787
 788
 789
 790
 791
 792
 793
 794
 795
 796
 797
 798
 799
 800
 801
 802
 803
 804
 805
 806
 807
 808
 809
 810
 811
 812
 813
 814
 815
 816
 817
 818
 819
 820
 821
 822
 823
 824
 825
 826
 827
 828
 829
 830
 831
 832
 833
 834
 835
 836
 837
 838
 839
 840
 841
 842
 843
 844
 845
 846
 847
 848
 849
 850
 851
 852
 853
 854
 855
 856
 857
 858
 859
 860
 861
 862
 863
 864
 865
 866
 867
 868
 869
 870
 871
 872
 873
 874
 875
 876
 877
 878
 879
 880
 881
 882
 883
 884
 885
 886
 887
 888
 889
 890
 891
 892
 893
 894
 895
 896
 897
 898
 899
 900
 901
 902
 903
 904
 905
 906
 907
 908
 909
 910
 911
 912
 913
 914
 915
 916
 917
 918
 919
 920
 921
 922
 923
 924
 925
 926
 927
 928
 929
 930
 931
 932
 933
 934
 935
 936
 937
 938
 939
 940
 941
 942
 943
 944
 945
 946
 947
 948
 949
 950
 951
 952
 953
 954
 955
 956
 957
 958
 959
 960
 961
 962
 963
 964
 965
 966
 967
 968
 969
 970
 971
 972
 973
 974
 975
 976
 977
 978
 979
 980
 981
 982
 983
 984
 985
 986
 987
 988
 989
 990
 991
 992
 993
 994
 995
 996
 997
 998
 999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
## @ignore Geo::GDALc

## @class Geo::GDAL

## @ignore TIEHASH
## @ignore CLEAR
## @ignore FIRSTKEY
## @ignore NEXTKEY
## @ignore FETCH
## @ignore STORE
## @ignore this
## @ignore UseExceptions
## @ignore PushErrorHandler
## @ignore PopErrorHandler
## @ignore Debug
## @ignore Error
## @ignore ErrorReset
## @ignore GetLastErrorNo
## @ignore GetLastErrorType
## @ignore GetLastErrorMsg
## @ignore ReadDir

## @fn $VersionInfo($request = 'VERSION_NUM')
# @param request A string specifying the request. Currently either
# "VERSION_NUM", "RELEASE_DATE", "RELEASE_NAME", or
# "--version". Default is "VERSION_NUM".
# @return Requested information.

## @fn PushFinderLocation($path)
# Add a path to the set of paths from where GDAL support files are
# sought.

## @fn PopFinderLocation()
# Remove the latest addition from the set of support file search
# paths.

## @fn FinderClean()
# Clear the set of support file search paths.

## @fn $FindFile($class, $basename)
#
# \brief Search for GDAL support files.
#
# An example:
# \code
# use Geo::GDAL;
# $a = Geo::GDAL::FindFile('gdal', 'pcs.csv');
# print STDERR "$a\n";
# \endcode
# Prints (for example):
# \code
# c:\msys\1.0\local\share\gdal\pcs.csv
# \endcode
#
# @param class The class of files to search for. For example 'gdal'.
# @param basename The basename of the file to search for. For example
#  'pcs.csv'.
# @return the path to the searched file or undef.

## @fn SetConfigOption($key, $value)
# @param key A GDAL config option. Possible values include
# 'GDAL_FORCE_CACHING', 'USE_RRD', GDAL_DATA', 'GDAL_SKIP',
# 'GDAL_DRIVER_PATH', 'GDAL_IGNORE_AXIS_ORIENTATION',
# 'GMLJP2OVERRIDE', 'GDAL_DISABLE_READDIR_ON_OPEN',
# 'GDAL_PAM_ENABLED', 'GDAL_PAM_MODE', 'GDAL_PAM_PROXY_DIR',
# 'GDAL_MAX_DATASET_POOL_SIZE', 'GDAL_FORCE_CACHING', 'GDAL_CACHEMAX',
# 'GDAL_SWATH_SIZE', 'PROJSO', 'CENTER_LONG',
# 'OGR_DEBUG_ORGANIZE_POLYGONS', and 'OGR_ORGANIZE_POLYGONS'.
# Consult the GDAL main documentation for the semantics of config options.
# @param value A value for the option, typically 'YES', 'NO',
# undef, a path, or a filename.

## @fn $GetConfigOption($key, $default)
# @param key A GDAL config option.
# @param default A default value for the option.
# @return the value of the GDAL config option or the value of the
# default parameter.

## @ignore CPLBinaryToHex()

## @ignore CPLHexToBinary()

## @fn \@GCPsToGeoTransform(\@GCPs, $ApproxOK = 1)
# Compute transformation coefficients from a set of Geo::GDAL::GCP
# objects
# The geo transformation has the form
# \code
# x = a + column * b + row * c
# y = d + column * e + row * f
# \endcode
# where<br/>
# (column,row) is the location in pixel coordinates<br/>
# (x,y) is the location in projection coordinates<br/>
# @param GCPs A set of Geo::GDAL::GCP objects.
# @param ApproxOK Minimize the error in the coefficient.
# @return [$a, $b, $c, $d, $e, $f]

## @ignore AllRegister()

## @fn $GetCacheMax()
# @return maximum amount of memory (as bytes) for caching within GDAL.

## @fn SetCacheMax($Bytes)
# @param Bytes New maximum amount of memory for caching within GDAL.

## @fn $GetCacheUsed()
# @return the amount of memory currently used for caching within GDAL.

## @fn $GetDataTypeSize($GDALDataType)
# @param GDALDataType An integer (one of keys of
# %Geo::GDAL::TYPE_INT2STRING).
# @return the size as the number of bits.

## @fn @DataTypeValueRange($DataType)
# @param DataType Data type as string (one of Byte UInt16 Int16 UInt32
# Int32 Float32 Float64 CInt16 CInt32 CFloat32 CFloat64).
# @return the minimum, maximum range of the data type.

## @fn $DataTypeIsComplex($GDALDataType)
# @param GDALDataType An integer (one of keys of
# %Geo::GDAL::TYPE_INT2STRING).
# @return true if the data type is a complex number.

## @fn $DecToDMS($angle, $axis, $precision=2)
# Convert decimal degrees to degrees, minutes, and seconds string
# @param angle A number
# @param axis A string specifying latitude or longitude ('Long').
# @param precision
# @return a string nndnn'nn.nn'"L where n is a number and L is either
# N or E

## @fn $PackedDMSToDec($packed)
# @param packed DMS as a number DDDMMMSSS.SS
# @return decimal degrees

## @fn $DecToPackedDMS($dec)
# @param dec Decimal degrees
# @return packed DMS, i.e., a number DDDMMMSSS.SS

## @fn $NodeType($type)
# Convert between integer and string expressions of CPLXMLNodeTypes
# @param type
# @return type

## @fn \@ParseXMLString($XML)
# Parses a given XML into an array of arrays and returns a reference
# to that. An array in the structure is: (CPLXMLNodeType, value,
# child, child, ...). CPLXMLNodeType is an integer.
# @param XML
# @return an XMLTree

## @fn @NodeData($node)
# @param node
# @return ($NodeType, $value)

## @fn @Children($node)
# @param node
# @return

## @fn @Child($node, $i)
# @param node
# @param i 0 .. number of children - 1
# @return

## @fn $SerializeXMLTree(\@XMLTree)
# @param XMLTree
# @return XML

## @fn @Drivers()
# An example:
# \code
# use Geo::GDAL;
# for my $driver (Geo::GDAL::Drivers) {
#    print $driver->{ShortName},"\n";
# }
# \endcode
# Prints short names of all available GDAL raster drivers.
# @return all GDAL raster driver objects in a list.

## @fn $GetDriverCount()
# @return the number of available GDAL raster drivers.

## @fn Geo::GDAL::Driver Driver($driver)
# Create a driver object for the internal GDAL driver.
# \note aka GetDriver
# @param driver The name or number of the driver.
# @return a new Geo::GDAL::Driver object

## @fn Geo::GDAL::Driver GetDriverByName($ShortName)
# @param ShortName A short name of the driver.
# @return a new Geo::GDAL::Driver object

## @fn Geo::GDAL::Driver IdentifyDriver($name, $siblings)
# @param name A dataset path.
# @param siblings [optional] A list of names of files in the directory specified by \a name.
# @return a new Geo::GDAL::Driver object

## @fn ComputeMedianCutPCT($red, $green, $blue, $num_colors, $colors, $callback, $callback_data)
# \brief Compute an "optimal" color table for a three band image.
# @param red a Geo::GDAL::Band object
# @param green a Geo::GDAL::Band object
# @param blue a Geo::GDAL::Band object
# @param num_colors the desired number of colors 
# @param colors an empty Geo::GDAL::ColorTable object
# @param callback [optional] a reference to a subroutine, which will
# be called with parameters (number progress, string msg, callback_data)
# @param callback_data [optional]

## @fn DitherRGB2PCT($red, $green, $blue, $target, $colors, $callback, $callback_data)
# \brief Dither a three band image into one band using a color table.
# @param red a Geo::GDAL::Band object
# @param green a Geo::GDAL::Band object
# @param blue a Geo::GDAL::Band object
# @param target a Geo::GDAL::Band object
# @param colors a Geo::GDAL::ColorTable object
# @param callback [optional] a reference to a subroutine, which will
# be called with parameters (number progress, string msg, callback_data)
# @param callback_data [optional]

## @fn ReprojectImage($src_ds, $dst_ds, $src_wkt=undef, $dst_wkt=undef, $ResampleAlg='NearestNeighbour', $WarpMemoryLimit=0, $maxerror=0.0, $callback, $callback_data)
# @param src_ds Source dataset.
# @param dst_ds Destination dataset.
# @param src_wkt Source projection as a WKT.
# @param dst_wkt Destination projection as a WKT.
# @param ResampleAlg One of NearestNeighbour Bilinear Cubic or CubicSpline.
# @param WarpMemoryLimit The amount of memory allowed for caching. Default is 0, i.e., no limit.
# @param maxerror Maximum error measured in input pixels that is
# allowed in approximating the transformation. Default is 0.0, i.e.,
# exact calculations.
# @param callback [optional] a reference to a subroutine, which will
# be called with parameters (number progress, string msg, callback_data)
# @param callback_data [optional]

## @fn Geo::GDAL::Dataset AutoCreateWarpedVRT(Geo::GDAL::Dataset src, $src_wkt=undef, $dst_wkt=undef, $ResampleAlg='NearestNeighbour', $maxerror=0.0)
# @param src
# @param src_wkt A WKT string.
# @param dst_wkt A WKT string.
# @param ResampleAlg one of 'NearestNeighbour', 'Bilinear', 'Cubic', or 'CubicSpline'.
# @param maxerror
# @return a new Geo::GDAL::Dataset object

## @fn ComputeProximity(Geo::GDAL::Band src, Geo::GDAL::Band proximity, \%options, $callback, $callback_data)
# @param src The raster from which the proximities are computed from.
# @param proximity The raster to which the proximities are computed to.
# @param options Options. Supported key, value pairs are 
# - VALUES => n[,n]* A list of target pixel values to measure the
# distance from.  If this option is not provided proximity will be
# computed from non-zero pixel values.  Currently pixel values are
# internally processed as integers.
# - DISTUNITS => PIXEL|GEO Indicates whether distances will be
# computed in pixel units or in georeferenced units.  The default is
# pixel units.  This also determines the interpretation of MAXDIST.
# - MAXDIST => n The maximum distance to search.  Proximity distances
# greater than this value will not be computed.  Instead output pixels
# will be set to a nodata value.
# - NODATA => n The NODATA value to use on the output band for pixels
# that are beyond MAXDIST.  If not provided, the hProximityBand will
# be queried for a nodata value.  If one is not found, 65535 will be
# used.
# - FIXED_BUF_VAL => n If this option is set, all pixels within the
# MAXDIST threadhold are set to this fixed value instead of to a
# proximity distance.
# @param callback [optional] a reference to a subroutine, which will
# be called with parameters (number progress, string msg, callback_data)
# @param callback_data [optional]

## @fn RasterizeLayer(Geo::GDAL::Dataset ds, \@bands, Geo::OGR::Layer layer, $transformer, $arg, \@burn_values, \%options, $callback, $callback_data)
# @param ds
# @param bands A reference to a list of bands to be updated.
# @param layer
# @param transformer Not supported, must be undef.
# @param arg Transformer argument, must be undef.
# @param burn_values Values to be used for burning the geometries. One for each layer.
# @param options Not used.
# @param callback [optional] a reference to a subroutine, which will
# be called with parameters (number progress, string msg, callback_data)
# @param callback_data [optional]

## @fn Polygonize(Geo::GDAL::Band src, Geo::GDAL::Band mask, Geo::OGR::Layer out, $PixValField, \%options, $callback, $callback_data)
# @param src
# @param mask All pixels in the mask band with a value other than zero
# will be considered suitable for collection as polygons. Must be
# undef if not used.
# @param out
# @param PixValField The index (or name) of the field in output layer
# into which the pixel value of the polygon should be written.
# @param options Not used.
# @param callback [optional] a reference to a subroutine, which will
# be called with parameters (number progress, string msg, callback_data)
# @param callback_data [optional]

## @fn SieveFilter(Geo::GDAL::Band src, Geo::GDAL::Band mask, Geo::GDAL::Band dst, $threshold, $connectedness, \%options, $callback, $callback_data)
# Removes small raster polygons.
# @param src
# @param mask
# @param dst
# @param threshold An integer.
# @param connectedness 4 or 8
# @param options Not used.
# @param callback [optional] a reference to a subroutine, which will
# be called with parameters (number progress, string msg, callback_data)
# @param callback_data [optional]

## @fn RegenerateOverviews(Geo::GDAL::Band src, \@overviews, $resampling, $callback, $callback_data)
# @todo This is not yet available
# @param src
# @param overviews A list of Geo::GDAL::Band's for the overviews.
# @param resampling 'NEAREST', 'AVERAGE', or 'GAUSS'
# @param callback [optional] a reference to a subroutine, which will
# be called with parameters (number progress, string msg, callback_data)
# @param callback_data [optional]

## @fn RegenerateOverview(Geo::GDAL::Band src, Geo::GDAL::Band overview, $resampling, $callback, $callback_data)
# @param src
# @param overview
# @param resampling 'NEAREST', 'AVERAGE', or 'GAUSS'
# @param callback [optional] a reference to a subroutine, which will
# be called with parameters (number progress, string msg, callback_data)
# @param callback_data [optional]

## @fn \@GeneralCmdLineProcessor(\@argv, $options = 0)
# @param argv
# @param options integer
# @return arrayref

## @fn $PackCharacter($DataType)
# Get the character that is needed for Perl's pack and unpack when
# they are used with Geo::GDAL::Band::ReadRaster and
# Geo::GDAL::Band::WriteRaster. Note that Geo::GDAL::Band::ReadTile
# and Geo::GDAL::Band::WriteTile have simpler interfaces that do not
# require pack and unpack.
# @param DataType GDAL data type value, typically from $band->{DataType}
# @return character which can be used in Perl's pack and unpack

## @fn Geo::GDAL::Dataset Open($name, $access='ReadOnly')
# An example
# \code
# use Geo::GDAL;
# $ds = Geo::GDAL::Open('existing.tiff', 'Update');
# \endcode
# @param name
# @param access either 'ReadOnly' or 'Update'
# @return a new Geo::GDAL::Dataset object

## @fn Geo::GDAL::Dataset OpenShared($name, $access='ReadOnly')
# @param name
# @param access either 'ReadOnly' or 'Update'
# @return a new Geo::GDAL::Dataset object

## @fn $GetDataTypeName($GDALDataType)
# @deprecated use string names
# @param GDALDataType
# @return

## @fn $GetDataTypeByName($GDALDataType)
# @deprecated use string names
# @param GDALDataType
# @return

## @fn $GetColorInterpretationName($ColorInterpretation)
# @deprecated use string names
# @param ColorInterpretation
# @return

## @fn $GetPaletteInterpretationName($PaletteInterpretation)
# @deprecated use string names
# @param PaletteInterpretation
# @return


## @class Geo::GDAL::MajorObject
# @isa (Geo::GDAL)

## @ignore DISOWN
## @ignore ACQUIRE

## @attr DOMAINS
# a class specific list, well known metadata domains

## @cmethod Domains
# @return the class specific DOMAINS list

## @method $Description($description)
# @param description [optional]
# @return the description in a non-void context.

## @method $GetDescription()
# @return

## @method SetDescription($NewDesc)
# @param NewDesc

## @method \%Metadata(\%metadata = undef, $domain = '')
# @param metadata
# @param domain
# @return the metadata in a non-void context.

## @method \%GetMetadata($domain = "")
# @param domain
# @return

## @method SetMetadata(\%metadata, $domain = "")
# @param metadata
# @param domain


## @class Geo::GDAL::Driver
# @isa (Geo::GDAL::MajorObject Geo::GDAL)

## @ignore DISOWN
## @ignore ACQUIRE

## @ignore Register()

## @ignore Deregister()

## @attr ShortName
# $driver->{ShortName}

## @attr LongName
# $driver->{LongName}

## @attr HelpTopic
# $driver->{HelpTopic}

## @method Rename($NewName, $OldName)
# Rename (move) a GDAL dataset.
# @param NewName String.
# @param OldName String.

# @method $Name
# @return The short name of the driver.

## @cmethod @Capabilities()
# @return A list of capabilities. The class method returns a list of
# all potential capabilities a driver may have; the object method
# returns a list of all capabilities the driver has.
# Examples.
# \code
# @all_capabilities = Geo::GDAL::Driver::Capabilities;
# @capabilities_of_the_geotiff_driver = Geo::GDAL::Driver('GTiff')->Capabilities;
# \endcode

## @method $TestCapability($cap)
# Test whether the driver has the specified capability.
# @param cap A capability string.
# @return a boolean value.

## @method $Extension()
# @return a suggested extension or extensions (e.g., ext1/ext2) for
# datasets.

## @method $MIMEType()
# @return a suggested MIME type for datasets.

## @method @CreationOptionList()
# @return a list of options, each option is a hashref, the keys are
# name, type and description or Value. Value is a listref.

## @method @CreationDataTypes()
# @return a list of data types (strings) that can be used for new datasets.

## @method Geo::GDAL::Dataset Create($name, $xsize, $ysize, $bands =1, $type = 'Byte', \%options = undef)
# Create a GDAL dataset using this driver.
# \note aka CreateDataset
# @brief Create a new Geo::GDAL::Dataset
# @param name
# @param xsize
# @param ysize
# @param bands
# @param type One of the data types this driver supports.
# @param options An anonymous hash of driver specific parameters.
# @return a new Geo::GDAL::Dataset object

## @method Geo::GDAL::Dataset Copy($name, $src, $strict = 1, \%options = undef)
# Copy a GDAL dataset.
# \note aka CopyDataset
# @brief Create a new Geo::GDAL::Dataset as a copy of an existing dataset.
# @param name
# @param src A Geo::GDAL::Dataset object.
# @param strict
# @param options An anonymous hash of driver specific parameters.
# @return a new Geo::GDAL::Dataset object.

## @method Delete($name)
# @param name


## @class Geo::GDAL::GCP
# @isa (Geo::GDAL)

## @ignore DISOWN
## @ignore ACQUIRE
## @ignore DESTROY

## @cmethod $new($x = 0.0, $y = 0.0, $z = 0.0, $pixel = 0.0, $line = 0.0, $info = "", $id = "")
# @param x
# @param y
# @param z
# @param pixel
# @param line
# @param info
# @param id
# @return a new Geo::GDAL::GCP object

## @attr GCPX
# scalar (access as $gcp->{GCPX})

## @attr GCPY
# scalar (access as $gcp->{GCPY})

## @attr GCPZ
# scalar (access as $gcp->{GCPZ})

## @attr GCPPixel
# scalar (access as $gcp->{GCPPixel})
# the pixel's j coordinate

## @attr GCPLine
# scalar (access as $gcp->{GCPLine})
# the pixel's i coordinate

## @attr Info
# scalar (access as $gcp->{Info})

## @attr Id
# scalar (access as $gcp->{Id})


## @class Geo::GDAL::Dataset
# @isa (Geo::GDAL::MajorObject Geo::GDAL)

## @ignore DISOWN
## @ignore ACQUIRE
## @ignore DESTROY

## @attr RasterXSize
# scalar (access as $dataset->{RasterXSize})

## @attr RasterYSize
# scalar (access as $dataset->{RasterYSize})

## @attr RasterCount
# scalar (access as $dataset->{RasterCount})

## @cmethod Geo::GDAL::Dataset Open($name, $access='ReadOnly')
# An example:
# \code
# use Geo::GDAL;
# $ds = Geo::GDAL::Dataset::Open('/data/dem.tiff', 'Update');
# \endcode
# @param name
# @param access Either 'ReadOnly' or 'Update'.
# @return a new Geo::GDAL::Dataset object.

## @cmethod Geo::GDAL::Dataset OpenShared($name, $access='ReadOnly')
# @param name
# @param access Either ReadOnly or Update.
# @return a new Geo::GDAL::Dataset object.

## @method @Size()
# @return (width, height)

## @method Geo::GDAL::Driver GetDriver()
# @return a new Geo::GDAL::Driver object

## @method Geo::GDAL::Band Band($index)
# Create a band object for the band within the dataset.
# \note aka GetRasterBand
# @param index 1...RasterCount
# @return a new Geo::GDAL::Band object

## @method @Bands()
# @return a list of new Geo::GDAL::Band objects

## @method $Projection($projection)
# Get or set the projection.
# @param projection [optional] as WKT
# @return the projection as WKT

## @method $GetProjection()
# @return the projection as WKT

## @ignore $GetProjectionRef()
# @return the projection as WKT

## @method $SetProjection($proj)
# @param proj projection as WKT

## @method @GeoTransform(@geo_transform)
# Transformation from pixel coordinates (x,y) to projection
# coordinates (Xp, Yp)
# \code
# Xp = geo_transform[0] + x*geo_transform[1] + y*geo_transform[2]
# Yp = geo_transform[3] + x*geo_transform[4] + y*geo_transform[5]
# \endcode
# @param geo_transform [optional]
# @return the geo transform in a non-void context.

## @method \@GetGeoTransform()
# @return a reference to an array of six parameters.

## @method SetGeoTransform(\@GeoTransform)
# @param GeoTransform

## @method BuildOverviews($resampling, \@overviews, $callback, $callback_data)
# @param resampling Either 'NEAREST', 'AVERAGE', or 'AVERAGE_MAGPHASE'.
# @param overviews The list of overview decimation factors to
# build. For example [2,4,8].
# @param callback [optional] a reference to a subroutine, which will
# be called with parameters (number progress, string msg, callback_data)
# @param callback_data [optional]

## @method @GCPs(@GCPs, $GCPProjection)
# Get or set the GCPs and their projection.
# @param GCPs [optional] a list of Geo::GDAL::GCP objects
# @param GCPProjection [optional] Projection string.
# @return a list of Geo::GDAL::GCP objects followed by a GCPProjection

## @method $GetGCPCount()
# @return the number of GCPs

## @method $GetGCPProjection()
# @return projection string.

## @method \@GetGCPs()
# @return 

## @method SetGCPs(\@GCPs, $GCPProjection)
# @param GCPs
# @param GCPProjection

## @method FlushCache()
# Write cached data to disk. There is usually no need to call this
# method.

## @method AddBand($datatype = 'Byte', \%options = 0)
# Add a new band to the dataset. The driver must support the action.
# @param datatype Data type string. The data type must be supported by
# the driver of this dataset. GDAL raster data types are Byte UInt16
# Int16 UInt32 Int32 Float32 Float64 CInt16 CInt32 CFloat32 CFloat64.
# @param options A reference to a hash of format specific key=>value options.

## @method WriteRaster($xoff, $yoff, $xsize, $ysize, $buf, $buf_xsize = undef, $buf_ysize = undef, $buf_type = undef, \@band_list = undef)
# Write a buffer into the raster. Create the buffer with \a pack function of Perl.
# <a href="http://www.gdal.org/classGDALDataset.html">Entry in GDAL docs (method RasterIO)</a>
# @param xoff
# @param yoff
# @param xsize
# @param ysize
# @param buf
# @param buf_xsize
# @param buf_ysize
# @param buf_type
# @param band_list

## @method $ReadRaster($xoff, $yoff, $xsize, $ysize, $buf_xsize = undef, $buf_ysize = undef, $buf_type = undef, \@band_list = undef)
# Read a buffer from the raster.
# @param xoff
# @param yoff
# @param xsize
# @param ysize
# @param buf_xsize
# @param buf_ysize
# @param buf_type
# @param band_list
# @return a buffer, open the buffer with unpack.

## @method CreateMaskBand()


## @class Geo::GDAL::Band
# @isa ( Geo::GDAL::MajorObject Geo::GDAL )

## @ignore DISOWN
## @ignore ACQUIRE

## @attr XSize
# scalar (access as $band->{XSize})

## @attr YSize
# scalar (access as $band->{YSize})

## @method $DataType()
# @return a data type string (Byte, UInt16, Int16, UInt32, Int32, Float32,
# Float64, CInt16, CInt32, CFloat32, or CFloat64).
## @method @Size()
# @return the size of the band as a list (width, height).

## @method @GetBlockSize()
# @return the size of a preferred i/o raster blocks as a list (width,
# height).

## @method $ColorInterpretation($color_interpretation)
# Color interpretation is currently one of Undefined GrayIndex
# PaletteIndex RedBand GreenBand BlueBand AlphaBand HueBand
# SaturationBand LightnessBand CyanBand MagentaBand YellowBand
# BlackBand
# @param color_interpretation [optional] new color interpretation
# @return color interpretation

## @method $NoDataValue($NoDataValue)
# @param NoDataValue [optional]
# Get or set the no data value.
# @note There does not exist a good way to clear the no data
# value. $band->NoDataValue(undef) does not do what you want.
# @return the nodata value.

## @method $GetNoDataValue()
# @return number (the "no data" value) or undef (there is no "no data" value).

## @method SetNoDataValue($NoDataValue)
# @param NoDataValue A number. undef does not do what it should do.

## @method $GetMinimum()
# @return statistical minimum of the band or undef if statistics are
# not kept or computed.

## @method $GetMaximum()
# @return statistical minimum of the band or undef if statistics are
# not kept or computed.

## @method $GetOffset()
# Scale and offset used to store data values in transformed form. The
# conversion function is:
# \code
# Units value = (raw value * scale) + offset
# \endcode
# @return offset or undef.

## @method $GetScale()
# Scale and offset are used to store data values in transformed form. The
# conversion function is:
# \code
# Units value = (raw value * scale) + offset
# \endcode
# @return scale or undef.

## @method @GetStatistics($approx_ok, $force)
# @param approx_ok Whether it is allowed to compute the statistics
# based on overviews or similar.
# @param force Whether to force scanning of the whole raster.
# @return a list ($min, $max, $mean, $stddev).

## @method SetStatistics($min, $max, $mean, $stddev)
# Save the statistics of the band if possible (the format can save
# arbitrary metadata).
# @param min
# @param max
# @param mean
# @param stddev

## @method $GetOverviewCount()
# @return the number of overviews available of the band.

## @method Geo::GDAL::Band GetOverview($band)
# @param band 0..GetOverviewCount-1
# @return a new Geo::GDAL::Band object.

## @method $Checksum($xoff = 0, $yoff = 0, $xsize = undef, $ysize = undef)
# Computes a checksum from the raster or a part of it.
# @param xoff
# @param yoff
# @param xsize
# @param ysize
# @return the checksum.

## @method ComputeRasterMinMax($approx_ok = 0)
# @return arrayref MinMax = [min, max]

## @method ComputeBandStats($samplestep = 1)
# @param samplestep
# @return arrayref Stats [mean, stddev]

## @method Fill($real_part, $imag_part = 0.0)
# Fill the band with a constant value.
# @param real_part Real component of fill value.
# @param imag_part Imaginary component of fill value.

## @method WriteTile($data, $xoff = 0, $yoff = 0)
# @param data A two-dimensional Perl array, organizes as data->[y][x], y =
# 0..height-1, x = 0..width-1.
# @param xoff
# @param yoff

## @method \@ReadTile($xoff = 0, $yoff = 0, $xsize = <width>, $ysize = <height>)
# @param xoff
# @param yoff
# @param xsize
# @param ysize
# @return a two-dimensional Perl array, organizes as data->[y][x], y =
# 0..height-1, x = 0..width-1.

## @method WriteRaster($xoff, $yoff, $xsize, $ysize, $buf, $buf_xsize = undef, $buf_ysize = undef, $buf_type = undef)
# @param xoff
# @param yoff
# @param xsize
# @param ysize
# @param buf The data to be written in a binary buffer. Use the \a
# pack function of Perl to prepare a buffer.
# @param buf_xsize
# @param buf_ysize
# @param buf_type

## @method $ReadRaster($xoff, $yoff, $xsize, $ysize, $buf_xsize = undef, $buf_ysize = undef, $buf_type = undef)
# @param xoff
# @param yoff
# @param xsize
# @param ysize
# @param buf_xsize
# @param buf_ysize
# @param buf_type
# @return the data in a binary buffer. Use the \a unpack function of
# Perl to get the data from the buffer.

## @method @GetHistogram(%parameters)
# Compute histogram from the raster.
# @param parameters Named parameters:
# - \a Min the lower bound, default is -0.5
# - \a Max the upper bound, default is 255.5
# - \a Buckets the number of buckets in the histogram, default is 256
# - \a IncludeOutOfRange whether to use $histogram[0] and
# $histogram[$#histogram] for out of range values, default is false;
# the bucket size is (Max-Min) / Buckets if this is false and
# (Max-Min) / (Buckets-2) if this is true
# - \a ApproxOK if histogram can be computed from overviews, default is false
# - \a Progress an optional progress function, the default is undef
# - \a ProgressData data for the progress function, the default is undef
# @return a list which contains the count of values in each bucket

## @method FlushCache()
# Write cached data to disk. There is usually no need to call this
# method.

## @method Geo::GDAL::ColorTable ColorTable($ColorTable)
# Get or set the color table of this band.
# @param ColorTable [optional] a Geo::GDAL::ColorTable object
# @return a new Geo::GDAL::ColorTable object in a non-void context.

## @method Geo::GDAL::ColorTable GetRasterColorTable()
# @return a color table object.

## @method SetRasterColorTable($ColorTable)
# @param ColorTable A color table object.

## @method CreateMaskBand()

## @method Geo::GDAL::Band GetMaskBand()

## @method $GetMaskFlags()

## @method @CategoryNames(@names)
# @param names [optional]
# @return

## @method $GetRasterCategoryNames()
# @return

## @method SetRasterCategoryNames($names)
# @param names

## @method Geo::GDAL::RasterAttributeTable AttributeTable($AttributeTable)
# @param AttributeTable [optional] A Geo::GDAL::RasterAttributeTable object.
# @return a new Geo::GDAL::RasterAttributeTable object, whose data is
# contained within the band.

## @method Geo::GDAL::RasterAttributeTable GetDefaultRAT()
# @deprecated use Geo::GDAL::Band::AttributeTable, which makes sure
# the band is not destroyed before the attribute table.
# @return a new Geo::GDAL::RasterAttributeTable object, whose data is
# contained within the band.

## @method SetDefaultRAT($AttributeTable)
# @param AttributeTable a Geo::GDAL::RasterAttributeTable object

## @method Geo::OGR::Layer Contours($DataSource, \%LayerConstructor, $ContourInterval, $ContourBase, \@FixedLevels, $NoDataValue, $IDField, $ElevField, $callback, $callback_data)
# Generate contours for this raster band. This method can also be used with named parameters.
# @param DataSource a Geo::OGR::DataSource object, default is a Memory data source
# @param LayerConstructor data for Geo::OGR::DataSource::CreateLayer, default is {Name => 'contours'}
# @param ContourInterval default is 100
# @param ContourBase default is 0
# @param FixedLevels a reference to a list of fixed contour levels, default is []
# @param NoDataValue default is undef
# @param IDField default is '', i.e., no field
# @param ElevField default is '', i.e., no field
# @param callback [optional] a reference to a subroutine, which will
# be called with parameters (number progress, string msg, callback_data)
# @param callback_data [optional]
# @return

## @method $GetRasterColorInterpretation()
# @deprecated use Geo::GDAL::Band::ColorInterpretation, which understands strings

## @method SetRasterColorInterpretation()
# @deprecated use Geo::GDAL::Band::ColorInterpretation, which understands strings


## @class Geo::GDAL::ColorTable
# @isa ( Geo::GDAL::MajorObject Geo::GDAL )

## @ignore DISOWN
## @ignore ACQUIRE
## @ignore DESTROY

## @cmethod Geo::GDAL::ColorTable new($GDALPaletteInterp = $Geo::GDAL::Const::GPI_RGB)
# @deprecated use Geo::GDAL::ColorTable::create, which uses string constants
# @return a new Geo::GDAL::ColorTable object

## @cmethod Geo::GDAL::ColorTable create($GDALPaletteInterp = 'RGB')
# @return a new Geo::GDAL::ColorTable object

## @method Geo::GDAL::ColorTable Clone()
# @return a new Geo::GDAL::ColorTable object

## @method $GetPaletteInterpretation()
# @return paletter interpretation (string)

## @method $GetCount()
# @return scalar (count of color entries as int)

## @method @ColorEntries(@color_entries)
# Get or set the color entries.
# @param color_entries [optional]
# @return a table of color entries (a list of lists) in a non void context

## @method @ColorEntry($i, @color)
# Get or set a color entry.
# @param i
# @param color [optional]
# @return a color entry

## @method @GetColorEntry($i)
# @param i
# @return array ColorEntry = ($c1, $c2, $c3, $c4)

## @method @GetColorEntryAsRGB($i)
# @param i
# @return array ColorEntry = ($r, $g, $b, $alpha)

## @method SetColorEntry($index, @ColorEntry)
# @param index
# @param ColorEntry a list or a reference to an array

## @method CreateColorRamp($start_index, \@start_color, $end_index, \@end_color)
# @param start_index
# @param start_color
# @param end_index
# @param end_color


## @class Geo::GDAL::RasterAttributeTable
# @isa = ( Geo::GDAL::MajorObject Geo::GDAL )

## @ignore DISOWN
## @ignore ACQUIRE
## @ignore DESTROY

## @cmethod Geo::GDAL::RasterAttributeTable new()
# @return a new Geo::GDAL::RasterAttributeTable object

## @cmethod @FieldTypes()
# @return

## @cmethod @FieldUsages()
# @return

## @method Geo::GDAL::RasterAttributeTable Clone()
# @return a new Geo::GDAL::RasterAttributeTable object

## @method SetRowCount($count)
# @param count

## @method $GetRowCount()

## @method %Columns(%columns)
# A get/set method for the columns of the RAT
# @param columns optional, a the keys are column names and the values are anonymous
# hashes with keys Type and Usage
# @return a hash similar to the optional input parameter

## @method CreateColumn($name, $type, $usage)
# @param name
# @param type one of FieldTypes
# @param usage one of FieldUsages

## @method $GetColumnCount()
# @return

## @method $GetNameOfCol($column)
# @param column
# @return

## @method $GetUsageOfCol($column)
# @param column
# @return

## @method $GetTypeOfCol($column)
# @param column
# @return

## @method $GetColOfUsage($usage)
# @param usage
# @return

## @method $GetRowOfValue($value)
# @param value a pixel value
# @return row index or -1

## @method $Value($row, $column, $value)
# @param row
# @param column
# @param value [optional]
# @return

## @method $GetValueAsString($row, $column)
# @param row
# @param column
# @return

## @method $GetValueAsInt($row, $column)
# @param row
# @param column
# @return

## @method $GetValueAsDouble($row, $column)
# @param row
# @param column
# @return

## @method SetValueAsString($row, $column, $value)
# @param row
# @param column
# @param value

## @method SetValueAsInt($row, $column, $value)
# @param row
# @param column
# @param value

## @method SetValueAsDouble($row, $column, $value)
# @param row
# @param column
# @param value