
    nj             +          S SK Jr  \(       d  S\;   a  SSKJr  OS SKr S SKrS r
S rS rS	 r " S
 S\5      rS qGSNS jrS SK7  S SKJr  S SK r SSS.r\R,                  S\\ R.                     -  \R0                  S\\ R.                     -  \R2                  S\\ R.                     -  \R4                  S\\ R.                     -  \R6                  S\\ R.                     -  \R8                  S\\ R.                     -  \R:                  S\\ R.                     -  \R<                  S\\ R.                     -  \R>                  S\\ R.                     -  0	r S r!S/ 4S jr"S r#S r$S r%S r&S  r'S! r( " S" S#\)5      r*S$ r+S% r,S& r-S' r.S( r/S) r0      GSOS, jr1S- r2           GSPS. jr3S/ r4GSQS0 jr5S1 r6S2 r7\Rp                  S3\Rr                  S4\Rt                  S5\Rv                  S6\Rx                  S7\Rz                  S8\R|                  S9\R~                  S:\R                  S;0	rASS\R                  SSS S S<S<S<S<SSSSS+S+SSSSSSS+SSSS+S*S*SS=SS4"S> jrCS? rDSSSSSSSSS+S S SSSSS+SSSS\R                  \R                  SSSS+S+S+S+SSSSSSSS+S*SS+S=SS4+S@ jrESA rF                                   GSRSB jrGSC rH       GSSSD jrISE rJ     GSTSF jrKSG rLSS\R                  S S SSSSSSSSSSSSSS4SH jrMSI rNSS\R                  SSSSSSSSSSS+SS+S+SSS+SSSSSSSS4SJ jrOSK rP                  GSUSL jrQSM rR                 GSVSN jrSSO rT   GSWSP jrUSQ rVSR rWGSXSS jrXST rYSU rZS SK[r[\[R                  GSYSV j5       r]GSYSW jr^\[R                  SX 5       r_SY r`SZ raS[ rbS\ rcS] rdS^ reS_ rfS` rgSa rhSb riSc rjSd rkSe rlSf rmSg rnSh roSi rpSj rqSk rrSl rsSm rtSn ruSo rvSp rwSq rxSr ry " Ss St\)5      rz\R                  " \z5        Su r|Sv r}Sw r~Sx rSy rSz rS{ rS| rS} rS~ rS rS rS rS rS rS rS rS rS rS rS rS rS rS rS rS rS rS rS rS rS rS r " S S\)5      r\GR:                  " \5        \GR<                  r\GR>                  r\GR@                  r\GRB                  r\GRD                  r " S S\)5      r\GRH                  " \5        S rS rS rS rS rS rS rS rS rS rS rS r\GRb                  r\GRd                  r\GRf                  rS rS rS rS rS rS rS rS rS r " S S\)5      r\GR|                  " \5         " S S\5      r\GR                  " \5        SSKJr  SSKJr   " S S\)5      r\GR                  " \5         " S S\)5      r\GR                  " \5        S rS rS rS rS rS rS rS rS rS rS rS rS rS rS r " S S\)5      r\GR                  " \5         " S S\)5      r\GR                  " \5         " S S\5      r\GR                  " \5        \GR                  r\GR                  r " S S\)5      r\GR                  " \5         " S S\)5      r\GR                  " \5         " S S\)5      r\GR                  " \5         " S S\)5      r\GR                  " \5         " S S\)5      r\GR                  " \5        \GR                  r\GR                  r\GR                  r " S S\)5      r\GR                  " \5         " S S\)5      r\GR                  " \5         " S S\5      r\GR                  " \5         " S S\)5      r\GR                  " \5         " S S\)5      r\GR                  " \5         " S S\)5      r\GR                  " \5        S r " S S\)5      r\GR                  " \5        S r\GR                  rS rS rS rS rS Gr S GrS GrS GrS GrS GrS GrS GrS Gr\GR                  Gr	\GR                  Gr
\GR                  Gr\GR                  Gr\GR                  Gr\GR                  Gr\GR                  GrS GrS GrS Gr " S S\)5      Gr\GR(                  " G\5        S Gr " S S\)5      Gr\GR.                  " G\5        S GrS GrS GrS GrGS  GrGS GrGS GrGS GrGS Gr GS Gr!GS Gr"GS Gr#GS Gr$GS	 Gr%GS
 Gr&GS Gr'GS Gr(GS Gr)GS Gr*GS Gr+GS Gr,GS Gr-GS Gr.GS Gr/GS Gr0GS Gr1GS Gr2GS Gr3GS Gr4GS Gr5GS Gr6GS Gr7GS Gr8GS Gr9GS Gr:GS Gr;\GR<                  " GS 5      Gr< " GS! GS"\)5      Gr=\GR|                  " G\=5        GS# Gr? " GS$ GS%\)5      Gr@\GR                  " G\@5        GS& GrB " GS' GS(\)5      GrC\GR                  " G\C5        GS) GrE " GS* GS+\)5      GrF\GR                  " G\F5        GS, GrH " GS- GS.\)5      GrI\GR                  " G\I5        GS/ GrKGS0 GrL " GS1 GS2\)5      GrM\GR                  " G\M5        GS3 GrOGS4 GrP " GS5 GS6\)5      GrQ\GR                  " G\Q5        GS7 GrS " GS8 GS9\)5      GrT\GR                  " G\T5        GS: GrVGS; GrW " GS< GS=\)5      GrX\GR                  " G\X5        GS> GrZ " GS? GS@\)5      Gr[\GR                  " G\[5        GSA Gr]GSB Gr^ " GSC GSD\)5      Gr_\GR                  " G\_5        GSE GraGSF Grb " GSG GSH\)5      Grc\GR                  " G\c5        GSI GreGSJ Grf " GSK GSL\)5      Grg\GR                  " G\g5        GSM Grig! \	 a    S SKr GNf = f(Z      version_info.   )_gdalNc                      SU R                   R                  5       -   nSU R                  R
                  < SU R                  R                  < SU< S3$ ! [        R                   a    Sn NOf = f)Nz	proxy of  <r   z; z >)this__repr____builtin__	Exception	__class__
__module____name__)selfstrthiss     F/var/www/html/pdf-tiff/venv/lib/python3.13/site-packages/osgeo/gdal.py
_swig_reprr      s_    		 2 2 44 "^^668O8OQXZZ    s   A A/.A/c                    ^  U 4S jnU$ )Nc                   > US:X  a
  T" XU5        g US:X  a  U R                   R                  U5        g [        X5      (       a2  [        [	        [        U 5      U5      [        5      (       a
  T" XU5        g [        SU -  5      e)Nr   thisownz(You cannot add instance attributes to %s)r   ownhasattr
isinstancegetattrtypepropertyAttributeError)r   namevaluesets      r   set_instance_attrE_swig_setattr_nondynamic_instance_variable.<locals>.set_instance_attr   si    6>E"YIIMM% T  ZT
D0I8%T%TE" !Kd!RSS     )r"   r#   s   ` r   *_swig_setattr_nondynamic_instance_variabler'      s    T r%   c                    ^  U 4S jnU$ )Nc                    > [        X5      (       a(  [        [        X5      [        5      (       d
  T" XU5        g [	        SU -  5      e)Nz%You cannot add class attributes to %s)r   r   r   r   r   )clsr    r!   r"   s      r   set_class_attr?_swig_setattr_nondynamic_class_variable.<locals>.set_class_attr)   s:    3j1CX&N&N5! !H3!NOOr%   r&   )r"   r+   s   ` r   '_swig_setattr_nondynamic_class_variabler-   (   s    P
 r%   c                    ^  U 4S jnU$ )zlClass decorator for adding a metaclass to a SWIG wrapped class - a slimmed down version of six.add_metaclassc                 p   > T" U R                   U R                  U R                  R                  5       5      $ N)r   	__bases____dict__copy)r*   	metaclasss    r   wrapper$_swig_add_metaclass.<locals>.wrapper3   s'    s}}cll6G6G6IJJr%   r&   )r4   r5   s   ` r   _swig_add_metaclassr7   1   s    KNr%   c                   <    \ rS rSrSr\" \R                  5      rSrg)_SwigNonDynamicMeta8   zKMeta class to enforce nondynamic attributes (no new attributes) for a classr&   N)	r   r   __qualname____firstlineno____doc__r-   r   __setattr____static_attributes__r&   r%   r   r9   r9   8   s    U9$:J:JKKr%   r9   c                     [         S:X  a  g Sq Ub  US:X  a  SnUc  U nSR                  X5      nSSKJn  U" SR                  X5      [        5        g )Nr   utilsosgeo_utilsz{}.{}r   warnz:{}.py was placed in a namespace, it is now available as {})have_warnedformatwarningsrD   DeprecationWarning)modulesub_package
new_modulerD   s       r   deprecation_warnrL   @   s[     aKkW4#
8J	E	M	Mf	ar%   )*)	gdalconstr
   >)littlebigz%si2z%su2z%si4z%su4z%sf4z%sf8z%st8c                    [        U 5      nUb  US:X  a  g[        5       n[        UR                  S5      UR                  S5      UR                  S5      SU5      nUS:w  a  U$ [	        S5      nUc  gUR                  UUR                  UR                  5      nUR                  S5      R                  U5        [        UR                  S5      UR                  S5      UR                  S5      UR                  S5      U5      nS nS ng)NNULLr            r   GTiff)
Open
ColorTableComputeMedianCutPCTGetRasterBandGetDriverByNameCreateRasterXSizeRasterYSizeSetRasterColorTableDitherRGB2PCT)src_filenamedst_filenamesrc_dscterrgtiff_driverdst_dss          r   RGBFile2PCTFileri   d   s   &^v'|"F003"003"003	%# 	AXj ),|%1163E3EG&q--b1f**1-**1-**1-**1-		#
 &&	
r%   c              #      #    [        XU5      nU(       d  [        U S-   5      e  [        U5      nU(       d  OUv   M  [        U5        g! [        U5        f = f7f)zSIterate over a directory.

recursionLevel = -1 means unlimited level of recursion.
z does not existN)OpenDirOSErrorGetNextDirEntryCloseDir)pathrecursionLeveloptionsdirentrys        r   listdirru      sY     
 	g.#	D,,--!#&%+	  smhsms   "AA AAAc                  (    [         R                  " U 6 $ )zGetUseExceptions() -> int)r   GetUseExceptionsargss    r   rw   rw          !!4((r%   c                  (    [         R                  " U 6 $ )z_GetExceptionsLocal() -> int)r   _GetExceptionsLocalrx   s    r   r|   r|          $$d++r%   c                  (    [         R                  " U 6 $ )z_SetExceptionsLocal(int bVal))r   _SetExceptionsLocalrx   s    r   r   r      r}   r%   c                  (    [         R                  " U 6 $ )z_UseExceptions())r   _UseExceptionsrx   s    r   r   r          &&r%   c                  (    [         R                  " U 6 $ )z_DontUseExceptions())r   _DontUseExceptionsrx   s    r   r   r          ##T**r%   c                  (    [         R                  " U 6 $ )z+_UserHasSpecifiedIfUsingExceptions() -> int)r   "_UserHasSpecifiedIfUsingExceptionsrx   s    r   r   r          33T::r%   c                   .    \ rS rSrSrSS jrS rS rSrg)	ExceptionMgr   a;  
Context manager to manage Python Exception state
for GDAL/OGR/OSR/GNM.

Separate exception state is maintained for each
module (gdal, ogr, etc), and this class appears independently
in all of them. This is built in top of calls to the older
UseExceptions()/DontUseExceptions() functions.

Example::

    >>> print(gdal.GetUseExceptions())
    0
    >>> with gdal.ExceptionMgr():
    ...     # Exceptions are now in use
    ...     print(gdal.GetUseExceptions())
    1
    >>>
    >>> # Exception state has now been restored
    >>> print(gdal.GetUseExceptions())
    0

c                     Xl         g)z;
Save whether or not this context will be using exceptions
N)requestedUseExceptions)r   useExceptionss     r   __init__ExceptionMgr.__init__   s
     '4#r%   c                     [        5       U l        [        U R                  5        [        R
                  S:X  a+   SSKJn  U(       a  UR                  U R                  5        ggg! [         a    Sn N3f = f)zm
On context entry, save the current GDAL exception state, and
set it to the state requested for the context


osgeo.gdalr   
gdal_arrayN)	r|   currentUseExceptionsr   r   r   r   r	   r   ImportError)r   r   s     r   	__enter__ExceptionMgr.__enter__   sl     %8$9!D778""l2"( ..t/J/JK  3  "!
"s   A% %A43A4c                     [        U R                  5        [        R                  S:X  a+   SSKJn  U(       a  UR                  U R                  5        ggg! [         a    Sn N3f = f)za
On exit, restore the GDAL/OGR/OSR/GNM exception state which was
current on entry to the context
r   r   r   N)r   r   r   r   r	   r   r   )r   exc_typeexc_valexc_tbr   s        r   __exit__ExceptionMgr.__exit__   sa    
 	D556""l2"( ..t/H/HI  3  "!
"s   A A%$A%)r   r   NT)	r   r   r;   r<   r=   r   r   r   r?   r&   r%   r   r   r      s    .4L Jr%   r   c                      SSK Jn   U R                  5          SSK Jn  UR                  5          SSK Jn  UR                  " 5          SSK Jn  UR                  " 5          SSK Jn  UR                  5         g! [         a     Nkf = f! [         a     Ndf = f! [         a     N\f = f! [         a     NTf = f! [         a     gf = f)zEnable exceptions in all GDAL related modules (osgeo.gdal, osgeo.ogr, osgeo.osr, osgeo.gnm).
Note: prior to GDAL 3.7, this only affected the calling moduler   gdalr   ogrosrgnmN)r	   r   r   r   r   r   r   r   r   r   r   r   r   s        r   UseExceptionsr      s     !!#'  
  
  
  
  W   A7 B B B'  B7 7
BB
BB
B$#B$'
B43B47
CCc                      SSK Jn   U R                  5          SSK Jn  UR                  5          SSK Jn  UR                  " 5          SSK Jn  UR                  " 5          SSK Jn  UR                  5         g! [         a     Nkf = f! [         a     Ndf = f! [         a     N\f = f! [         a     NTf = f! [         a     gf = f)zDisable exceptions in all GDAL related modules (osgeo.gdal, osgeo.ogr, osgeo.osr, osgeo.gnm).
Note: prior to GDAL 3.7, this only affected the calling moduler   r   r   r   r   r   N)r	   r   r   r   r   r   r   r   r   s        r   DontUseExceptionsr   
  s    ! %%'   '  
  
  
  
  r   c                  (    [         R                  " U 6 $ )zWVSIFReadL(unsigned int nMembSize, unsigned int nMembCount, VSILFILE fp) -> unsigned int)r   	VSIFReadLrx   s    r   r   r   *      ??D!!r%   c                  (    [         R                  " U 6 $ )z2VSIGetMemFileBuffer_unsafe(char const * utf8_path))r   VSIGetMemFileBuffer_unsaferx   s    r   r   r   .      ++T22r%   c                      SSK Jn   [        U S5      (       d2  [        5       (       d"  SU l        SS KnUR                  S[        5        g g g )Nr   r   2hasWarnedAboutUserHasNotSpecifiedIfUsingExceptionsTr   zNeither gdal.UseExceptions() nor gdal.DontUseExceptions() has been explicitly called. In GDAL 4.0, exceptions will be enabled by default.)r	   r   r   r   r   rG   rD   FutureWarning)r   rG   s     r   +_WarnIfUserHasNotSpecifiedIfUsingExceptionsr   3  sG    4MNNWyW{W{BF?BCP	R X|Nr%   c                  2    SSK Jn   U R                  " 5         g )Nr   r   )r	   r   r   r   s    r   ._WarnIfUserHasNotSpecifiedIfUsingOgrExceptionsr   <  s    335r%   TFc                 f   U c  / OU n [        U [        5      (       a  [        U 5      nSnSU;   a  SnOU nUS:X  a  US/-  nOUS:w  a  [        S5      eSU;   a  SnU(       a  US/-  nU(       a  US/-  nU(       a  US/-  nU(       a  US/-  nU(       a  US	/-  nU(       a  US
/-  nU	(       d  US/-  nU
(       d  US/-  nU(       d  US/-  nU(       d  US/-  nU(       a  US/-  nU(       d  US/-  nU(       a  USS/-  nU(       a  USU/-  nUb  U H
  nUSU/-  nM     [	        U5      X4$ )zCreate a InfoOptions() object that can be passed to gdal.Info()
options can be be an array of strings, a string or let empty and filled from other keywords.text-jsonjsonInvalid value for formatz-mmz-histz-proj4-statsz-approx_statsz	-checksum-nogcp-nomd-noratz-noctz-listmddz-noflz-mddall-wkt_format)r   strParseCommandLiner   GDALInfoOptions)rr   rF   deserializecomputeMinMaxreportHistogramsreportProj4statsapproxStatscomputeChecksumshowGCPsshowMetadatashowRATshowColorTablelistMDDshowFileListallMetadataextraMDDomains	wktFormatnew_optionsmdds                       r   InfoOptionsr   B  s{    ObG'3&w/k!FVG9$Kv677k!FE7"KG9$KH:%KH:%KO,,KK=(KH:%KG9$KH:%KG9$KJ<'KG9$KFE?*KM955K%%}, & K(&>>r%   c                 J   [        5         SU;  d  [        US   [        [        45      (       a  [	        S0 UD6u  p#nOUS   u  p#nSSKn[        U [        UR                  45      (       a  [        U 5      n [        X5      nUS:X  a  U(       a  SSK	nUR                  U5      nU$ )a?  Return information on a raster dataset.

Parameters
----------
ds:
    a Dataset object or a filename
kwargs:
    options: return of gdal.InfoOptions(), string or array of strings
    other keywords arguments of gdal.InfoOptions().
    If options is provided as a gdal.InfoOptions() object, other keywords are ignored.
rr   r   Nr   r&   )r   r   listr   r   osPathLikerX   InfoInternalr   loadsdskwargsoptsrF   r   r   retr   s           r   Infor   |  s     01*VI->s"L"L&1&;F&;#{&,Y&7#{"sBKK())"X
r
 CKjjoJr%   c                    U c  / OU n Sn[        U [        5      (       a  [        U 5      nSnSU;   a  SnOU nUS:X  a  US/-  nOUS:w  a  [        S5      eSU;   a  SnU(       a  USU/-  nU(       a  USU/-  nU	(       a  USU	/-  nU
(       a  US	U
/-  nU(       d  US
/-  nU(       d  US/-  nU(       a  US/-  nU H  nX/-  nM
     OUS/-  nUS:X  a  U(       a  US/-  nOU(       d  US/-  n[	        U5      X4$ )aA  Create a VectorInfoOptions() object that can be passed to gdal.VectorInfo()
options can be be an array of strings, a string or let empty and filled from other keywords.

Parameters
----------
options:
    can be be an array of strings, a string or let empty and filled from other keywords.
format:
    "text" or "json"
deserialize:
    if JSON output should be returned as a Python dictionary. Otherwise as a serialized representation.
SQLStatement:
    SQL statement to apply to the source dataset
SQLDialect:
    SQL dialect ('OGRSQL', 'SQLITE', ...)
where:
    WHERE clause to apply to source layer(s)
layers:
    list of layers of interest
featureCount:
    whether to compute and display the feature count
extent:
    whether to compute and display the layer extent
dumpFeatures:
    set to True to get the dump of all features
Tr   r   r   r   -sql-dialect-wherer   z-nocountz	-noextentdummy_dataset_namez-alz	-featuresz-so)r   r   r   r   GDALVectorInfoOptions)rr   rF   r   layersdumpFeaturesfeatureCountextentSQLStatement
SQLDialectwherer   r   layers                r   VectorInfoOptionsr     sI   L ObGK'3&w/k!FVG9$Kv677k!FFL11KJ
33KHe,,KM955KJ<'KK=(K011Kw&   E7"KV},w&!+.DDr%   c                 b   [        5         SU;  d  [        US   [        [        45      (       a  [	        S0 UD6u  p#nOUS   u  p#nSSKn[        U [        UR                  45      (       a  [        U [        [        -  5      n [        X5      nUS:X  a  U(       a  SSKnUR                  U5      nU$ )aQ  Return information on a vector dataset.

Parameters
----------
ds:
    a Dataset object or a filename
kwargs:
    options: return of gdal.VectorInfoOptions(), string or array of strings
    other keywords arguments of gdal.VectorInfoOptions().
    If options is provided as a gdal.VectorInfoOptions() object, other keywords are ignored.
rr   r   Nr   r&   )r   r   r   r   r   r   r   OpenExOF_VERBOSE_ERROR	OF_VECTORVectorInfoInternalr   r   r   s           r   
VectorInfor     s     01*VI->s"L"L&7&A&&A#{&,Y&7#{"sBKK())B(945
R
&CKjjoJr%   c                    U c  / OU n [        U [        5      (       a  [        U 5      nOKU nU(       a  US/-  nU(       a  USU/-  nU(       a  US[        U5      /-  nU(       a  U H
  nUSU/-  nM     [        U5      U4$ )zCreate a MultiDimInfoOptions() object that can be passed to gdal.MultiDimInfo()
options can be be an array of strings, a string or let empty and filled from other keywords.z	-detailed-array-limitz-arrayoption)r   r   r   GDALMultiDimInfoOptions)rr   detailedarrayarrayoptionslimitas_textr   options           r   MultiDimInfoOptionsr    s     ObG'3&w/K=(KHe,,KHc%j11K&77 ' #;/88r%   c                 R   [        5         SU;  d  [        US   [        [        45      (       a  [	        S0 UD6u  p#OUS   nSnSSKn[        U [        UR                  45      (       a  [        U [        [        -  5      n [        X5      nU(       d  SSKnUR                  U5      nU$ )aP  Return information on a dataset.

Parameters
----------
ds:
    a Dataset object or a filename
kwargs:
    options: return of gdal.MultiDimInfoOptions(), string or array of strings
    other keywords arguments of gdal.MultiDimInfoOptions().
    If options is provided as a gdal.MultiDimInfoOptions() object, other keywords are ignored.
rr   Tr   Nr&   )r   r   r   r   r  r   r   r   r   OF_MULTIDIM_RASTERMultiDimInfoInternalr   r   )r   r   r   r  r   r   r   s          r   MultiDimInfor
  "  s     01*VI->s"L"L+5f5gi "sBKK())B(+==>
r
(CjjoJr%   c                 L    [        U [        5      (       a  SU -  $ [        U 5      $ )Nz%.18g)r   floatr   xs    r   _strHighPrecr  B  s!    &q%00GaK<c!f<r%   nearbilinearcubiccubicsplinelanczosaveragermsmodegaussg        AUTOc"           
      	   U S:H  n"U"(       a  / n OU c  / OU n [        U [        5      (       a  [        U 5      n#GOU n#Ub  U#SU/-  n#U[        R                  :w  a  U#S[        U5      /-  n#US:w  a  U#S[        U5      /-  n#US:w  a  U H  n$U#S[        U$5      /-  n#M     US:w  d  US:w  a  U#S[        U5      [        U5      /-  n#O,US:w  a&  US:w  a   U#S[        U5      S	-   [        U5      S	-   /-  n#Ubi  [        U[        5      (       a  U#S
U/-  n#OL[        U[        5      (       a'  UR                  5        H  u  n%n&U#S
U% SU& 3/-  n#M     OU H
  n'U#S
U'/-  n#M     Ub:  U#S[        US   5      [        US   5      [        US   5      [        US   5      /-  n#U(       a  U#S/-  n#U(       a  U#S/-  n#U(       a'  U H!  n(U#S/-  n#U( H  n&U#[        U&5      /-  n#M     M#     U(       a  U H  n)U#S[        U)5      /-  n#M     Ub:  U#S[        US   5      [        US   5      [        US   5      [        US   5      /-  n#U(       aA  U(       a  [        S5      e[        U5      S:X  d   eU#S/-  n#U H  n*U#[        U*5      /-  n#M     Ubi  [        U[        5      (       a  U#SU/-  n#OL[        U[        5      (       a'  UR                  5        H  u  n%n&U#SU% SU& 3/-  n#M     OU H
  n'U#SU'/-  n#M     Ub  U#S[        U5      /-  n#U(       a  U#S/-  n#Ubs  U Hm  n+U#S[        U+R                  5      [        U+R                  5      [        U+R                  5      [        U+R                  5      [        U+R                  5      /-  n#Mo     Ub:  U#S[        US   5      [        US   5      [        US   5      [        US   5      /-  n#Ub  U#S[        U5      /-  n#Ub  U#S[        U5      /-  n#Ub  U#S[        U5      /-  n#U(       a  U#S /-  n#U(       d  U#S!/-  n#U(       d  U#S"/-  n#Ub)  U[         ;   a  U#S#[         U   /-  n#OU#S#[        U5      /-  n#U	S:w  a   U
S:w  a  U#S$[        U	5      [        U
5      /-  n#Ub  [        U[        5      (       a  O8[        U["        5      (       a!  US:  a  S%[        U5      -   nO[        U5      nOSnUb  US%:w  a  U#S&U/-  n#U"(       a  U#$ [%        U#5      U U!4$ )'a  Create a TranslateOptions() object that can be passed to gdal.Translate()

Parameters
----------
options:
    can be be an array of strings, a string or let empty and filled from other keywords.
format:
    output format ("GTiff", etc...)
outputType:
    output type (gdalconst.GDT_Byte, etc...)
bandList:
    array of band numbers (index start at 1)
maskBand:
    mask band to generate or not ("none", "auto", "mask", 1, ...)
width:
    width of the output raster in pixel
height:
    height of the output raster in pixel
widthPct:
    width of the output raster in percentage (100 = original width)
heightPct:
    height of the output raster in percentage (100 = original height)
xRes:
    output horizontal resolution
yRes:
    output vertical resolution
creationOptions:
    list or dict of creation options
srcWin:
    subwindow in pixels to extract: [left_x, top_y, width, height]
projWin:
    subwindow in projected coordinates to extract: [ulx, uly, lrx, lry]
projWinSRS:
    SRS in which projWin is expressed
strict:
    strict mode
unscale:
    unscale values with scale and offset metadata
scaleParams:
    list of scale parameters, each of the form [src_min,src_max] or [src_min,src_max,dst_min,dst_max]
exponents:
    list of exponentiation parameters
outputBounds:
    assigned output bounds: [ulx, uly, lrx, lry]
outputGeotransform:
    assigned geotransform matrix (array of 6 values) (mutually exclusive with outputBounds)
metadataOptions:
    list or dict of metadata options
outputSRS:
    assigned output SRS
nogcp:
    ignore GCP in the raster
GCPs:
    list of GCPs
noData:
    nodata value (or "none" to unset it)
rgbExpand:
    Color palette expansion mode: "gray", "rgb", "rgba"
stats:
    whether to calculate statistics
rat:
    whether to write source RAT
xmp:
    whether to copy XMP metadata
resampleAlg:
    resampling mode
overviewLevel:
    To specify which overview level of source files must be used
callback:
    callback method
callback_data:
    user data for callback
__RETURN_OPTION_LIST__N-of-otz-mask-br   -outsizez%%-co=z-srcwinr   rT   rU   -strictz-unscalez-scalez	-exponentz-a_ullrz:outputBounds and outputGeotransform are mutually exclusive   z-a_gtz-mo-a_srsr   z-gcpz-projwinz-projwin_srs	-a_nodataz-expandr   r   z-noxmp-r-trr  -ovr)r   r   r   rN   GDT_UnknownGetDataTypeNamedictitemsr  r   lenGCPPixelGCPLineGCPXGCPYGCPZmapGRIORAMethodToStringintGDALTranslateOptions),rr   rF   
outputTypebandListmaskBandwidthheightwidthPct	heightPctxResyRescreationOptionssrcWinprojWin
projWinSRSstrictunscalescaleParams	exponentsoutputBoundsoutputGeotransformmetadataOptions	outputSRSnogcpGCPsnoData	rgbExpandr   ratxmpresampleAlgoverviewLevelcallbackcallback_datareturn_option_listr   bkvopt
scaleParamexponentvalgcps,                                               r   TranslateOptionsr^  Q  s   n !$<<"W'3&w/E6?*K...E?:#>??KtGS]33Ktc!f~- A:1JE
CK@@K]yA~JH(<c)nt>STTK&/3//77OT22+113DAqEaS!:#66K 4 +CE3</K +I|F1I'>VTUY@WYeflmnfoYpr~  @F  GH  @I  sJ  K  KKI;&KJ<'K)
z)#ACF8+K $ * %\(-CDD &#I|LO'DlS_`aSbFceqr~  @A  sB  fC  EQ  R^  _`  Ra  Eb  c  cK \]])*a///G9$K)S 122 *&/3//77OT22+113DAqEaS!:#66K 4 +CE3</K + Hc)n55KH:%KS\\(BLQTQ\Q\D]_kloltlt_uwz{~  |D  |D  xE  GS  TW  T\  T\  G]   ^  ^ JWQZ(@,wWXzBZ\hipqris\t  wC  DK  LM  DN  wO  P  PK!NC
O<<KKf)=>>K Is9~66KH:%KH:%KH:%K"55&=k&JKKc+&67719E<#5|D7IJJK J}c$B$Bs++q  &]); ; #M 2 M$&)@FM22K -xGGr%   c                    [        5         SU;  d  [        US   [        [        45      (       a  [	        S0 UD6u  p4nOUS   u  p4nSSKn[        U[        UR                  45      (       a  [        U5      n[        XX4U5      $ )a^  Convert a dataset.

Parameters
----------
destName:
    Output dataset name
srcDS:
    a Dataset object or a filename
kwargs:
    options: return of gdal.TranslateOptions(), string or array of strings
    other keywords arguments of gdal.TranslateOptions().
    If options is provided as a gdal.TranslateOptions() object, other keywords are ignored.
rr   r   Nr&   )	r   r   r   r   r^  r   r   rX   TranslateInternaldestNamesrcDSr   r   rS  rT  r   s          r   	Translaterd    sy     01*VI->s"L"L*:*DV*D'*0*;'%#r{{+,,UXdmLLr%   c+                 
   U S:H  n+U+(       a  / n OU c  / OU n [        U [        5      (       a  [        U 5      n,GOU n,U(       a  U H  n-U,S[        U-5      /-  n,M     U(       a  U H  n-U,S[        U-5      /-  n,M     Ub  U,SU/-  n,U[        R                  :w  a  U,S[        U5      /-  n,U[        R                  :w  a  U,S[        U5      /-  n,Ub:  U,S[        US	   5      [        US
   5      [        US   5      [        US   5      /-  n,Ub  U,S[        U5      /-  n,Ub  Ub  U,S[        U5      [        U5      /-  n,U	S	:w  d  U
S	:w  a  U,S[        U	5      [        U
5      /-  n,Ub  U,S[        U5      /-  n,Ub  U,S[        U5      /-  n,Ub  U,SU/-  n,U(       a  U,S/-  n,U(       a  U,S/-  n,O	Ub  U,S/-  n,U(       a  U,S/-  n,UbU  [        U[        5      (       a'  UR                  5        H  u  n.n/U,SU. SU/ 3/-  n,M     OU H  n0U,S[        U05      /-  n,M     Ub  U,S[        U5      /-  n,UGb  [        R                  S[        R                  S[        R                  S[        R                  S[        R                  S[        R                  S[        R                  S [        R                   S![        R"                  S"[        R$                  S#[        R&                  S$[        R(                  S%[        R*                  S&[        R,                  S'0n1UU1;   a  U,S(U1U   /-  n,OU,S([        U5      /-  n,Ub  U,S)[        U5      /-  n,UbL  [        U[        5      (       a'  UR                  5        H  u  n.n/U,S*U. SU/ 3/-  n,M     OU H
  n0U,S*U0/-  n,M     Ub  U,S+[        U5      /-  n,Ub  U,S,[        U5      /-  n,U(       a  U,S-/-  n,U(       a  U,S./-  n,U(       a  U,S//-  n,U(       a  U,S0/-  n,Ub  U,S1[        U5      /-  n,UbG  [        U[        5      (       a"  UR                  5        H  u  n.n/U,S2W0/-  n,M     OU H
  n0U,S2U0/-  n,M     Ub  U,S3[        U5      /-  n,U b  U,S4[        U 5      /-  n,U!b  U,S5[        U!5      /-  n,U"b  U,S6[        U"5      /-  n,U#b  U,S7[        U#5      /-  n,U$(       a  U,S8/-  n,U%(       d  U,S9/-  n,U&(       a  U,S:[        U&5      /-  n,U'(       a  U,S;/-  n,U(b  [        U([        5      (       a  O8[        U([.        5      (       a!  U(S	:  a  S<[        U(5      -   n(O[        U(5      n(OSn(U(b  U(S<:w  a  U,S=U(/-  n,U+(       a  U,$ [1        U,5      U)U*4$ )>a
  Create a WarpOptions() object that can be passed to gdal.Warp()

Parameters
----------
options:
    can be be an array of strings, a string or let empty and filled from other keywords.
format:
    output format ("GTiff", etc...)
srcBands:
    list of source band numbers (between 1 and the number of input bands)
dstBands:
    list of output band numbers
outputBounds:
    output bounds as (minX, minY, maxX, maxY) in target SRS
outputBoundsSRS:
    SRS in which output bounds are expressed, in the case they are not expressed in dstSRS
xRes:
    output resolution in target SRS
yRes:
    output resolution in target SRS
targetAlignedPixels:
    whether to force output bounds to be multiple of output resolution
width:
    width of the output raster in pixel
height:
    height of the output raster in pixel
srcSRS:
    source SRS
dstSRS:
    output SRS
coordinateOperation:
    coordinate operation as a PROJ string or WKT string
srcAlpha:
    whether to force the last band of the input dataset to be considered as an alpha band.
    If set to False, source alpha warping will be disabled.
dstAlpha:
    whether to force the creation of an output alpha band
outputType:
    output type (gdalconst.GDT_Byte, etc...)
workingType:
    working type (gdalconst.GDT_Byte, etc...)
warpOptions:
    list or dict of warping options
errorThreshold:
    error threshold for approximation transformer (in pixels)
warpMemoryLimit:
    size of working buffer in MB
resampleAlg:
    resampling mode
creationOptions:
    list or dict of creation options
srcNodata:
    source nodata value(s)
dstNodata:
    output nodata value(s)
multithread:
    whether to multithread computation and I/O operations
tps:
    whether to use Thin Plate Spline GCP transformer
rpc:
    whether to use RPC transformer
geoloc:
    whether to use GeoLocation array transformer
polynomialOrder:
    order of polynomial GCP interpolation
transformerOptions:
    list or dict of transformer options
cutlineDSName:
    cutline dataset name
cutlineLayer:
    cutline layer name
cutlineWhere:
    cutline WHERE clause
cutlineSQL:
    cutline SQL statement
cutlineBlend:
    cutline blend distance in pixels
cropToCutline:
    whether to use cutline extent for output bounds
copyMetadata:
    whether to copy source metadata
metadataConflictValue:
    metadata data conflict value
setColorInterpretation:
    whether to force color interpretation of input bands to output bands
overviewLevel:
    To specify which overview level of source files must be used
callback:
    callback method
callback_data:
    user data for callback
r  Nz-srcbandz-dstbandr  r  z-wt-ter   r   rT   rU   z-te_srsr'  -ts-s_srs-t_srs-ct-tapz	-srcalphaz-nosrcalphaz	-dstalphaz-wor!  z-etr  r  r  r  r  r  r  r  maxminmedq1q3sumr&  z-wmr   
-srcnodataz
-dstnodataz-multiz-tpsz-rpcz-geolocz-order-toz-cutlinez-clz-cwherez-csqlz-cblendz-crop_to_cutliner   z-cvmdz-setcir  r(  )r   r   r   rN   r)  r*  r  r+  r,  GRA_NearestNeighbourGRA_Bilinear	GRA_CubicGRA_CubicSplineGRA_LanczosGRA_AverageGRA_RMSGRA_ModeGRA_MaxGRA_MinGRA_MedGRA_Q1GRA_Q3GRA_Sumr4  GDALWarpAppOptions)2rr   rF   srcBandsdstBandsrG  outputBoundsSRSr=  r>  targetAlignedPixelsr9  r:  srcSRSdstSRScoordinateOperationsrcAlphadstAlphawarpOptionserrorThresholdwarpMemoryLimitr?  r6  workingTyperQ  	srcNodata	dstNodatamultithreadtpsrpcgeolocpolynomialOrdertransformerOptionscutlineDSNamecutlineLayercutlineWhere
cutlineSQLcutlineBlendcropToCutlinecopyMetadatametadataConflictValuesetColorInterpretationrR  rS  rT  rU  r   rV  rW  rX  rY  mapMethodToStrings2                                                     r   WarpOptionsr  5  s   f !$<<"W'3&w/
CF33 
CF33 E6?*K...E?:#>??K)///E?;#?@@K#E<Q#@,|\]B_amnz{|n}a~  AM  NZ  [\  N]  A^  _  _K&Is?';<<K 0E<#5|D7IJJKA:1E3u:s6{;;KHc&k22KHc&k22K*E#677KF8#KK=(K!M?*KK=(K"+t,,'--/DAqEaS!:#66K 0 'CE3s8#44K '%E<#?@@K" ..&&
##W))=%%y%%y!!5""F!!5!!5!!5  $  $!!5!" //&7&DEEc+&677&E3#788K&/400+113DAqEaS!:#66K 4 +CE3</K + L#i.99K L#i.99KH:%KF8#KF8#KI;&K&Hc/&:;;K),d33.446DAqE3</K 7 .CE3</K .$JM(:;;K#E3|#455K#Is<'899K!GS_55K#Is<'899K.//KG9$K GS)>%?@@K!H:%K J}c$B$Bs++q  &]); ; #M 2 M$&)@FM22K{+X}EEr%   c                 J   [        5         SU;  d  [        US   [        [        45      (       a  [	        S0 UD6u  p4nOUS   u  p4nSSKn[        U[        UR                  45      (       a  [        U5      /nOr[        U[        5      (       aZ  / nU HQ  n[        U[        UR                  45      (       a  UR                  [        U5      5        M@  UR                  U5        MS     OU/n[        U [        UR                  45      (       a  [        XX4U5      $ [        XX4U5      $ )a  Warp one or several datasets.

Parameters
----------
destNameOrDestDS:
    Output dataset name or object
srcDSOrSrcDSTab:
    an array of Dataset objects or filenames, or a Dataset object or a filename
kwargs:
    options: return of gdal.WarpOptions(), string or array of strings,
    other keywords arguments of gdal.WarpOptions().
    If options is provided as a gdal.WarpOptions() object, other keywords are ignored.
rr   r   Nr&   )r   r   r   r   r  r   r   rX   appendwrapper_GDALWarpDestNamewrapper_GDALWarpDestDS)	destNameOrDestDSsrcDSOrSrcDSTabr   r   rS  rT  r   srcDSTabelts	            r   Warpr  7  s     01*VI->s"L"L*5*?*?'*0*;'/C#566)*	OT	*	*"C#R[[122S	*$	 # $$"S"++$677'(8DTabb%&6$R_``r%   c+           	      
   U S:H  n+U+(       a  / n OU c  / OU n [        U [        5      (       a  [        U 5      n,GOU n,Ub  U,SU/-  n,Ub  U,S[        U5      /-  n,Ub(  U(       a  U,S[        U5      /-  n,OU,S[        U5      /-  n,Ub  U,SU/-  n,Ub  U,S[        U5      /-  n,Ub  U,S	[        U5      /-  n,U	b  U,S
[        U	5      /-  n,Ub?  US:X  a  U,S/-  n,O2US:X  a  U,S/-  n,O%US:X  a  U,S/-  n,OUS:X  a  U,S/-  n,O[        S5      eU(       a  U,S/-  n,U(       a  U,S/-  n,U(       a  U,S/-  n,U
b#  Sn-U
 H  n.U-(       a  U-S-  n-U-U.-  n-M     U,SU-/-  n,UbL  [        U[        5      (       a'  UR                  5        H  u  n/n0U,SU/ SU0 3/-  n,M     OU H
  n1U,SU1/-  n,M     UbL  [        U[        5      (       a'  UR                  5        H  u  n/n0U,SU/ SU0 3/-  n,M     OU H
  n1U,SU1/-  n,M     Ub+  [        U[        5      (       a  U,U/-  n,OU H	  n2U,U2/-  n,M     Ub  U,S[        U5      /-  n,Ub  SSKn3U,S/-  n,[        U[        5      (       a  U,U/-  n,Oe[        UU3R                  5      (       a  U,[        U5      /-  n,O: U,[        US   5      [        US    5      [        US!   5      [        US"   5      /-  n,Ub  U,S$[        U5      /-  n,Ub  U,S%[        U5      /-  n,Ub  U,S&[        U5      /-  n,Ub  SSKn3U,S'/-  n,[        U[        5      (       a  U,U/-  n,Oe[        UU3R                  5      (       a  U,[        U5      /-  n,O: U,[        US   5      [        US    5      [        US!   5      [        US"   5      /-  n,Ub  U,S)[        U5      /-  n,Ub  U,S*[        U5      /-  n,Ub  U,S+[        U5      /-  n,U b  U,S,[        U 5      /-  n,U!b  U,S-[        U!5      /-  n,U"(       a  U,S./-  n,U#b7  U,S//-  n,[        U#[        5      (       a  U,U#/-  n,OU,SR                  U#5      /-  n,U$(       a  U,S0/-  n,U(       a  U,S1/-  n,Ub:  U,S2[        US   5      [        US    5      [        US!   5      [        US"   5      /-  n,Ub  U,S3[        U5      /-  n,Ub  U,S4U/-  n,Ub-  [        U[        5      (       a  U,S5U/-  n,OU H
  n1U,S5U1/-  n,M     Ub  U,S6U/-  n,U%b  U,S7U%/-  n,U&(       a  U,S8/-  n,U'(       a  U,S9/-  n,U(b  U,S:[        U(5      /-  n,U)b  U,S;/-  n,U+(       a  U,$ [        U,5      U)U*4$ ! [         a  n4[        S#U 35      U4eSn4A4ff = f! [         a  n4[        S(U 35      U4eSn4A4ff = f)<ah  
Create a VectorTranslateOptions() object that can be passed to
gdal.VectorTranslate()

Parameters
----------
options:
    can be be an array of strings, a string or let empty and filled from other
    keywords.
format:
    format ("ESRI Shapefile", etc...)
accessMode:
    None for creation, 'update', 'append', 'upsert', 'overwrite'
srcSRS:
    source SRS
dstSRS:
    output SRS (with reprojection if reproject = True)
coordinateOperation:
    coordinate operation as a PROJ string or WKT string
reproject:
    whether to do reprojection
SQLStatement:
    SQL statement to apply to the source dataset
SQLDialect:
    SQL dialect ('OGRSQL', 'SQLITE', ...)
where:
    WHERE clause to apply to source layer(s)
selectFields:
    list of fields to select
addFields:
    whether to add new fields found in source layers (to be used with
    accessMode == 'append' or 'upsert')
forceNullable:
    whether to drop NOT NULL constraints on newly created fields
emptyStrAsNull:
    whether to treat empty string values as NULL
spatFilter:
    spatial filter as (minX, minY, maxX, maxY) bounding box
spatSRS:
    SRS in which the spatFilter is expressed. If not specified, it is assumed to be
    the one of the layer(s)
datasetCreationOptions:
    list or dict of dataset creation options
layerCreationOptions:
    list or dict of layer creation options
layers:
    list of layers to convert
layerName:
    output layer name
geometryType:
    output layer geometry type ('POINT', ....). May be an array of strings
    when using a special value like 'PROMOTE_TO_MULTI', 'CONVERT_TO_LINEAR',
    'CONVERT_TO_CURVE' combined with another one or a geometry type.
dim:
    output dimension ('XY', 'XYZ', 'XYM', 'XYZM', 'layer_dim')
transactionSize:
    number of features to save per transaction (default 100 000). Increase the value
    for better performance when writing into DBMS drivers that have transaction
    support. Set to "unlimited" to load the data into a single transaction.
clipSrc:
    clip geometries to the specified bounding box (expressed in source SRS),
    WKT geometry (POLYGON or MULTIPOLYGON), from a datasource or to the spatial
    extent of the -spat option if you use the "spat_extent" keyword. When
    specifying a datasource, you will generally want to use it in combination with
    the clipSrcLayer, clipSrcWhere or clipSrcSQL options.
clipSrcSQL:
    select desired geometries using an SQL query instead.
clipSrcLayer:
    select the named layer from the source clip datasource.
clipSrcWhere:
    restrict desired geometries based on attribute query.
clipDst:
    clip geometries after reprojection to the specified bounding box (expressed in
    dest SRS), WKT geometry (POLYGON or MULTIPOLYGON) or from a datasource. When
    specifying a datasource, you will generally want to use it in combination of
    the clipDstLayer, clipDstWhere or clipDstSQL options.
clipDstSQL:
    select desired geometries using an SQL query instead.
clipDstLayer:
    select the named layer from the destination clip datasource.
clipDstWhere:
    restrict desired geometries based on attribute query.
simplifyTolerance:
    distance tolerance for simplification. The algorithm used preserves topology per
    feature, in particular for polygon geometries, but not for a whole layer.
segmentizeMaxDist:
    maximum distance between consecutive nodes of a line geometry
makeValid:
    run MakeValid() on geometries
mapFieldType:
    converts any field of the specified type to another type. Valid types are:
    Integer, Integer64, Real, String, Date, Time, DateTime, Binary, IntegerList,
    Integer64List, RealList, StringList. Types can also include subtype between
    parenthesis, such as Integer(Boolean), Real(Float32),... Special value All can
    be used to convert all fields to another type. This is an alternate way to using
    the CAST operator of OGR SQL, that may avoid typing a long SQL query.
    Note that this does not influence the field types used by the source driver,
    and is only an afterwards conversion.
explodeCollections:
    produce one feature for each geometry in any kind of geometry collection in the
    source file, applied after any -sql option. This option is not compatible with
    preserveFID but a SQLStatement (e.g. SELECT fid AS original_fid, * FROM ...)
    can be used to store the original FID if needed.
preserveFID:
    Use the FID of the source features instead of letting the output driver automatically
    assign a new one (for formats that require a FID). If not in append mode, this behavior
    is the default if the output driver has a FID  layer  creation  option,  in which case
    the name of the source FID column will be used and source feature IDs will be attempted
    to be preserved. This behavior can be disabled by setting -unsetFid.
    This option is not compatible with explodeCollections
zField:
    name of field to use to set the Z component of geometries
resolveDomains:
    whether to create an additional field for each field associated with a coded
    field domain.
skipFailures:
    whether to skip failures
limit:
    maximum number of features to read per layer
callback:
    callback method
callback_data:
    user data for callback
r  Nz-frh  ri  r$  rj  r   r   r   updatez-updater  z-append	overwritez
-overwriteupsertz-upsertzunhandled accessModez
-addfieldsz-forceNullablez-emptyStrAsNullr	   ,z-select-dscor!  -lcoz-gtr   z-clipsrcr   rT   rU   zinvalid value for clipSrc: z-clipsrcsqlz-clipsrclayerz-clipsrcwherez-clipdstzinvalid value for clipDst: z-clipdstsqlz-clipdstlayerz-clipdstwhere	-simplifyz-segmentizez
-makevalidz-mapFieldTypez-explodecollectionsz-preserve_fid-spatz	-spat_srsz-nlnz-nltz-dim-zfieldz-resolveDomainsz-skipr   z	-progress)r   r   r   r   r+  r,  r   r   
ValueErrorjoinGDALVectorTranslateOptions)5rr   rF   
accessModer  r  	reprojectr  r   r   r   selectFields	addFieldsforceNullableemptyStrAsNull
spatFilterspatSRSdatasetCreationOptionslayerCreationOptionsr   	layerNamegeometryTypedimtransactionSizeclipSrc
clipSrcSQLclipSrcLayerclipSrcWhereclipDst
clipDstSQLclipDstLayerclipDstWherepreserveFIDsimplifyTolerancesegmentizeMaxDist	makeValidmapFieldTypeexplodeCollectionszFieldresolveDomainsskipFailuresr  rS  rT  rU  r   r\  itemrW  rX  rY  lyrr   exs5                                                        r   VectorTranslateOptionsr  a  s   B !$<<"W'3&w/D&>)KHc&k22K#f+66#f+66*E#677K#FC$566K!JJ88KHc%j11K!X%	{*x'	{*{*~-x'	{* 677L>)K,--K-..K#C$3JCt % Is++K!-0$77288:DAqGs!A3Z#88K ; 2CGS>1K 2  +.550668DAqFqc1#J#77K 9 0CFC=0K 0 &#&&x'!CC5(K " &E3#788KJ<'K'3''y(GR[[11G~-VGAJGAJGAJGAJ	$ K !M3z?;;K#OS->??K#OS->??KJ<'K'3''y(GR[[11G~-VGAJGAJGAJGAJ	$ K !M3z?;;K#OS->??K#OS->??K(K->)?@@K(M3/@+ABBKL>)K#O,,K,,,~- 677122KO,,K!JqM"JqM"JqM"JqM" K KW66K FI..K#,,,55'CFC=0K (?FC=(KIv..K-..KG9$KHc%j11K}$&{3X}MMi ! V$'B7)%LMSUUV2 ! V$'B7)%LMSUUVs0   	9T4 9U 4
U>UU
U3U..U3c                    [        5         SU;  d  [        US   [        [        45      (       a  [	        S0 UD6u  p4nOUS   u  p4nSSKn[        U[        UR                  45      (       a  [        U[        R                  5      n[        U [        UR                  45      (       a  [        XX4U5      $ [        XX4U5      $ )a  Convert one vector dataset

Parameters
----------
destNameOrDestDS:
    Output dataset name or object
srcDS:
    a Dataset object or a filename
kwargs:
    options: return of gdal.VectorTranslateOptions(), string or array of strings,
    other keywords arguments of gdal.VectorTranslateOptions().
    If options is provided as a gdal.VectorTranslateOptions() object,
    other keywords are ignored.
rr   r   Nr&   )r   r   r   r   r  r   r   r   rN   r   #wrapper_GDALVectorTranslateDestName!wrapper_GDALVectorTranslateDestDSr  rc  r   r   rS  rT  r   s          r   VectorTranslater    s      01*VI->s"L"L*@*J6*J'*0*;'%#r{{+,,ui112"S"++$67723CD\ijj01A$Zghhr%   c                 X   U S:H  nU(       a  / n OU c  / OU n [        U [        5      (       a  [        U 5      nGO[U nUb  USU/-  nUbL  [        U[        5      (       a'  UR	                  5        H  u  nnUSU SU 3/-  nM     OU H
  nUSU/-  nM     U(       a  US/-  nU(       a  USU/-  nUS[        U5      /-  nUb  US[        U5      /-  nUb  US	[        U5      /-  nU	b  US
[        U	5      /-  nU
b  US[        U
5      /-  nU(       a  US/-  nU(       a  US/-  nU(       a  US/-  nUS:X  a  US/-  nU(       a  US/-  nU(       a  US/-  nUb,  US:X  a  US/-  nOUS:X  a  US/-  nOUS:X  a  O[        S5      eU(       a  US/-  nU(       a  U$ [        U5      UUU4$ )a	  Create a DEMProcessingOptions() object that can be passed to gdal.DEMProcessing()

Parameters
----------
options:
    can be be an array of strings, a string or let empty and filled from other keywords.
colorFilename:
    (mandatory for "color-relief") name of file that contains palette definition for the "color-relief" processing.
format:
    output format ("GTiff", etc...)
creationOptions:
    list or dict of creation options
computeEdges:
    whether to compute values at raster edges.
alg:
    'Horn' (default) or 'ZevenbergenThorne' for hillshade, slope or aspect. 'Wilson' (default) or 'Riley' for TRI
band:
    source band number to use
zFactor:
    (hillshade only) vertical exaggeration used to pre-multiply the elevations.
scale:
    ratio of vertical units to horizontal.
azimuth:
    (hillshade only) azimuth of the light, in degrees. 0 if it comes from the top of the raster, 90 from the east, ... The default value, 315, should rarely be changed as it is the value generally used to generate shaded maps.
altitude:
    (hillshade only) altitude of the light, in degrees. 90 if the light comes from above the DEM, 0 if it is raking light.
combined:
    (hillshade only) whether to compute combined shading, a combination of slope and oblique shading. Only one of combined, multiDirectional and igor can be specified.
multiDirectional:
    (hillshade only) whether to compute multi-directional shading. Only one of combined, multiDirectional and igor can be specified.
igor:
    (hillshade only) whether to use Igor's hillshading from Maperitive.  Only one of combined, multiDirectional and igor can be specified.
slopeFormat:
    (slope only) "degree" or "percent".
trigonometric:
    (aspect only) whether to return trigonometric angle instead of azimuth. Thus 0deg means East, 90deg North, 180deg West, 270deg South.
zeroForFlat:
    (aspect only) whether to return 0 for flat areas with slope=0, instead of -9999.
addAlpha:
    adds an alpha band to the output file (only for processing = 'color-relief')
colorSelection:
    (color-relief only) Determines how color entries are selected from an input value. Can be "nearest_color_entry", "exact_color_entry" or "linear_interpolation". Defaults to "linear_interpolation"
callback:
    callback method
callback_data:
    user data for callback
r  r  r   r!  z-compute_edges-algr  z-zz-sz-azz-altz	-combinedz-multidirectionalz-igorpercentz-pz-trigonometricz-zero_for_flatnearest_color_entryz-nearest_color_entryexact_color_entryz-exact_color_entrylinear_interpolationz$Unsupported value for colorSelectionz-alpha)r   r   r   r+  r,  r  GDALDEMProcessingOptions)rr   colorFilenamerF   r?  computeEdgesalgbandzFactorscaleazimuthaltitudecombinedmultiDirectionaligorslopeFormattrigonometriczeroForFlataddAlphacolorSelectionrS  rT  rU  r   rW  rX  rY  s                             r   DEMProcessingOptionsr    s'   n !$<<"W'3&w/E6?*K&/400+113DAqEaS!:#66K 4 +CE3</K +,--KFC=(Kc$i((D#g,//KD#e*--KE3w<00KFCM22KK=(K/00KG9$K)#D6!K,--K,--K%!66 677#66 455#99 !GHHH:%K$[1=(MZZr%   c           	      R   [        5         SU;  d  [        US   [        [        45      (       a  [	        S0 UD6u  pEpgOUS   u  pEpgSSKn[        U[        UR                  45      (       a  [        U5      n[        XXR                  5      (       a  [        U5      n[        XX%XFU5      $ )a  Apply a DEM processing.

Parameters
----------
destName:
    Output dataset name
srcDS:
    a Dataset object or a filename
processing:
    one of "hillshade", "slope", "aspect", "color-relief", "TRI", "TPI", "Roughness"
kwargs:
    options: return of gdal.DEMProcessingOptions(), string or array of strings,
    other keywords arguments of gdal.DEMProcessingOptions().
    If options is provided as a gdal.DEMProcessingOptions() object,
    other keywords are ignored.
rr   r   Nr&   )	r   r   r   r   r  r   r   rX   DEMProcessingInternal)	rb  rc  
processingr   r   r  rS  rT  r   s	            r   DEMProcessingr  L  s    $ 01*VI->s"L"L9M9WPV9W6h9?	9J6h%#r{{+,,U---M* *T]jkkr%   c                 t   U S:H  nU(       a  / n OU c  / OU n [        U [        5      (       a  [        U 5      nOU nUb  USU/-  nUbK  [        U[        5      (       a&  UR	                  5        H  u  pUSU SU 3/-  nM     OU H
  nUSU/-  nM     U(       a  US/-  nUb4  U H.  nSnU H  nUS:w  a  US-  nU[        U5      -  nM     USU/-  nM0     Ub  US	[        U5      /-  nUb  US
[        U5      /-  nU(       a  US/-  nU(       a  US/-  nU	(       a  USU	/-  nU(       a  U$ [        U5      X4$ )a3  Create a NearblackOptions() object that can be passed to gdal.Nearblack()

Parameters
----------
options:
    can be be an array of strings, a string or let empty and filled from other keywords.
format:
    output format ("GTiff", etc...)
creationOptions:
    list or dict of creation options
white:
    whether to search for nearly white (255) pixels instead of nearly black pixels.
colors:
    list of colors  to search for, e.g. ((0,0,0),(255,255,255)). The pixels that are considered as the collar are set to 0
maxNonBlack:
    number of non-black (or other searched colors specified with white / colors) pixels that can be encountered before the giving up search inwards. Defaults to 2.
nearDist:
    select how far from black, white or custom colors the pixel values can be and still considered near black, white or custom color.  Defaults to 15.
setAlpha:
    adds an alpha band to the output file.
setMask:
    adds a mask band to the output file.
alg:
    "twopasses" (default), or "floodfill"
callback:
    callback method
callback_data:
    user data for callback
r  r  r   r!  z-whiter	   r  z-colorz-nbz-nearz	-setalphaz-setmaskr  )r   r   r   r+  r,  GDALNearblackOptions)rr   rF   r?  whitecolorsmaxNonBlacknearDistsetAlphasetMaskr  rS  rT  rU  r   rW  rX  rY  color	color_strcpts                       r   NearblackOptionsr  p  s   F !$<<"W'3&w/E6?*K&/400+113DAEaS!:#66K 4 +CE3</K +H:%K	 C B!S(	S)I ! )44   "E3{#344KGS]33KK=(KJ<'KFC=(K -xGGr%   c                 b   [        5         SU;  d  [        US   [        [        45      (       a  [	        S0 UD6u  p4nOUS   u  p4nSSKn[        U[        UR                  45      (       a  [        U5      n[        U [        UR                  45      (       a  [        XX4U5      $ [        XX4U5      $ )a  Convert nearly black/white borders to exact value.

Parameters
----------
destNameOrDestDS:
    Output dataset name or object
srcDS:
    a Dataset object or a filename
kwargs:
    options: return of gdal.NearblackOptions(), string or array of strings,
    other keywords arguments of gdal.NearblackOptions().
    If options is provided as a gdal.NearblackOptions() object, other keywords are ignored.
rr   r   Nr&   )
r   r   r   r   r  r   r   r   wrapper_GDALNearblackDestNamewrapper_GDALNearblackDestDSr  s          r   	Nearblackr    s     01*VI->s"L"L*:*DV*D'*0*;'%#r{{+,,u"S"++$677,-=dVcdd*+;DTabbr%   c           
      2   U S:H  nU(       a  / n OU c  / OU n [        U [        5      (       a  [        U 5      nGOU nUb  USU/-  nU[        R                  :w  a  US[        U5      /-  nUS:w  d  US:w  a  US[        U5      [        U5      /-  nUbL  [        U[        5      (       a'  UR                  5        H  u  nnUSU SU 3/-  nM     OU H
  nUSU/-  nM     Ub;  US[        US   5      [        US	   5      S
[        US   5      [        US   5      /-  nUb  US[        U5      /-  nU	b  USU	/-  nU
b3  [        U
[        [        45      (       a  U
 H
  nUSU/-  nM     OUSU
/-  nUb  US[        U5      /-  nUb  US[        U5      /-  nUb  USU/-  nUb  US[        U5      /-  nUb  US[        U5      /-  nUb:  US[        US   5      [        US   5      [        US	   5      [        US   5      /-  nU(       a  U$ [        U5      UU4$ )aL  Create a GridOptions() object that can be passed to gdal.Grid()

Parameters
----------
options:
    can be be an array of strings, a string or let empty and filled from other keywords.
format:
    output format ("GTiff", etc...)
outputType:
    output type (gdalconst.GDT_Byte, etc...)
width:
    width of the output raster in pixel
height:
    height of the output raster in pixel
creationOptions:
    list or dict of creation options
outputBounds:
    assigned output bounds:
    [ulx, uly, lrx, lry]
outputSRS:
    assigned output SRS
noData:
    nodata value
algorithm:
    e.g "invdist:power=2.0:smoothing=0.0:radius1=0.0:radius2=0.0:angle=0.0:max_points=0:min_points=0:nodata=0.0"
layers:
    list of layers to convert
SQLStatement:
    SQL statement to apply to the source dataset
where:
    WHERE clause to apply to source layer(s)
spatFilter:
    spatial filter as (minX, minY, maxX, maxY) bounding box
zfield:
    Identifies an attribute field on the features to be used to get a Z value from.
    This value overrides Z value read from feature geometry record.
z_increase:
    Addition to the attribute field on the features to be used to get a Z value from.
    The addition should be the same unit as Z value. The result value will be
    Z value + Z increase value. The default value is 0.
z_multiply:
    Multiplication ratio for Z field. This can be used for shift from e.g. foot to meters
    or from  elevation to deep. The result value will be
    (Z value + Z increase value) * Z multiply value. The default value is 1.
callback:
    callback method
callback_data:
    user data for callback
r  r  r  r   r  r   r!  z-txerT   z-tyer   rU   r$  -a-lr   r   r  z-z_increasez-z_multiplyr  )r   r   r   rN   r)  r*  r+  r,  r  tupler   GDALGridOptions)rr   rF   r6  r9  r:  r?  rG  rJ  rM  	algorithmr   r   r   r  zfield
z_increase
z_multiplyrS  rT  rU  r   rW  rX  rY  r   s                            r   GridOptionsr    s   D !$<<"W'3&w/E6?*K...E?:#>??KA:1JE
CK@@K&/400+113DAqEaS!:#66K 4 +CE3</K +#FLa$A<P\]^P_C`bhjv  xD  EF  xG  kH  JV  Wc  de  Wf  Jg  h  hK Hc)n55K D),,K&5$-00#ED%=0K $ f~-#FC$566KHc%j11KIv..K!M3z?;;K!M3z?;;K!GSA%7Z]9KSQ[\]Q^M_adeopqerasttKK((MBBr%   c                 $   [        5         SU;  d  [        US   [        [        45      (       a  [	        S0 UD6u  p4nOUS   u  p4nSSKn[        U[        UR                  45      (       a  [        U[        R                  5      n[        XX4U5      $ )ac  Create raster from the scattered data.

Parameters
----------
destName:
    Output dataset name
srcDS:
    a Dataset object or a filename
kwargs:
    options: return of gdal.GridOptions(), string or array of strings,
    other keywords arguments of gdal.GridOptions()
    If options is provided as a gdal.GridOptions() object, other keywords are ignored.
rr   r   Nr&   )r   r   r   r   r  r   r   r   rN   r   GridInternalra  s          r   Gridr  Y  s     01*VI->s"L"L*5*?*?'*0*;'%#r{{+,,ui112GGr%   c           	         U S:H  nU(       a  / n OU c  / OU n [        U [        5      (       a  [        U 5      nGOU nUb  USU/-  nU[        R                  :w  a  US[        U5      /-  nUbL  [        U[        5      (       a'  UR                  5        H  u  nnUSU SU 3/-  nM     OU H
  n USU /-  nM     Ub  U H  n!US[        U!5      /-  nM     Ub  US[        U5      /-  nUbE  [        U[        [        45      (       a  U H  n"US[        U"5      /-  nM     OUS[        U5      /-  nUb:  US	[        US
   5      [        US   5      [        US   5      [        US   5      /-  nUb  US[        U5      /-  nUbL  [        U[        5      (       a'  UR                  5        H  u  nnUSU SU 3/-  nM     OU H
  n USU /-  nM     U	b  U
b  US[        U	5      [        U
5      /-  nUb  Ub  US[        U5      [        U5      /-  nU(       a  US/-  nU(       a  US/-  nU(       a  US/-  nUbS  Ub  [        S5      e[        U[        [        45      (       a  U H  n"US[        U"5      /-  nM     OUS[        U5      /-  nUb  USU/-  nU(       a  US/-  nUb3  [        U[        [        45      (       a  U H
  n#USU#/-  nM     OUSU/-  nUb  US[        U5      /-  nUb  US[        U5      /-  nUb  US[        U5      /-  nUb  US[        U5      /-  nU(       a  US/-  nU(       a  U$ [        U5      UU4$ )a	  Create a RasterizeOptions() object that can be passed to gdal.Rasterize()

Parameters
----------
options:
    can be be an array of strings, a string or let empty and filled from other keywords.
format:
    output format ("GTiff", etc...)
outputType:
    output type (gdalconst.GDT_Byte, etc...)
creationOptions:
    list or dict of creation options
outputBounds:
    assigned output bounds:
    [minx, miny, maxx, maxy]
outputSRS:
    assigned output SRS
transformerOptions:
    list or dict of transformer options
width:
    width of the output raster in pixel
height:
    height of the output raster in pixel
xRes, yRes:
    output resolution in target SRS
targetAlignedPixels:
    whether to force output bounds to be multiple of output resolution
noData:
    nodata value
initValues:
    Value or list of values to pre-initialize the output image bands with.
     However, it is not marked as the nodata value in the output file.
      If only one value is given, the same value is used in all the bands.
bands:
    list of output bands to burn values into
inverse:
    whether to invert rasterization, i.e. burn the fixed burn value, or the
    burn value associated with the first feature into all parts of the image
    not inside the provided a polygon.
allTouched:
    whether to enable the ALL_TOUCHED rasterization option so that all pixels
    touched by lines or polygons will be updated, not just those on the line
    render path, or whose center point is within the polygon.
burnValues:
    list of fixed values to burn into each band for all objects.
    Excusive with attribute.
attribute:
    identifies an attribute field on the features to be used for a burn-in value.
    The value will be burned into all output bands. Excusive with burnValues.
useZ:
    whether to indicate that a burn value should be extracted from the "Z" values
    of the feature. These values are added to the burn value given by burnValues
    or attribute if provided. As of now, only points and lines are drawn in 3D.
layers:
    list of layers from the datasource that will be used for input features.
SQLStatement:
    SQL statement to apply to the source dataset
SQLDialect:
    SQL dialect ('OGRSQL', 'SQLITE', ...)
where:
    WHERE clause to apply to source layer(s)
optim:
    optimization mode ('RASTER', 'VECTOR')
add:
    set to True to use additive mode instead of replace when burning values
callback:
    callback method
callback_data:
    user data for callback
r  r  r  r   r!  r  r%  z-initrf  r   r   rT   rU   r$  rs  rg  r'  rk  z-iz-atz.burnValues and attribute option are exclusive.z-burnr  z-3dr  r   r   r   z-optimz-add)r   r   r   rN   r)  r*  r+  r,  r  r   r  r   GDALRasterizeOptions)$rr   rF   r6  r?  rM  
initValuesrG  rJ  r  r9  r:  r=  r>  r  bandsinverse
allTouched
burnValues	attributeuseZr   r   r   r   optimaddrS  rT  rU  r   rW  rX  rY  rV  r\  r   s$                                       r   RasterizeOptionsr%  v  s   h !$<<"W'3&w/E6?*K...E?:#>??K&/400+113DAqEaS!:#66K 4 +CE3</K +c!f~- KV55K!*udm44%CGSX#66K & Z99#E<Q#@,|\]B_amnz{|n}a~  AM  NZ  [\  N]  A^  _  _K Hc)n55K),d33.446DAqEaS!:#66K 7 .CE3</K .!3E3u:s6{;;K 0E<#5|D7IJJKF8#KD6!KE7"K!$ PQQ*udm44%CGSX#66K & Z99 D),,KE7"K&E4=22#ED%=0K $ f~-#FC$566K!JJ88KHc%j11KHc%j11KF8#K -xGGr%   c                    [        5         SSKnSU;  d  [        US   [        [        45      (       a  [        S0 UD6u  pEnOUS   u  pEn[        U[        UR                  45      (       a  [        U[        R                  5      n[        U [        UR                  45      (       a  [        XXEU5      $ [        XXEU5      $ )a  Burns vector geometries into a raster

Parameters
----------
destNameOrDestDS:
    Output dataset name or object
srcDS:
    a Dataset object or a filename
kwargs:
    options: return of gdal.RasterizeOptions(), string or array of strings,
    other keywords arguments of gdal.RasterizeOptions()
    If options is provided as a gdal.RasterizeOptions() object, other keywords are ignored.
r   Nrr   r&   )r   r   r   r   r   r%  r   r   rN   r   wrapper_GDALRasterizeDestNamewrapper_GDALRasterizeDestDS)r  rc  r   r   r   rS  rT  s          r   	Rasterizer)  "  s     01*VI->s"L"L*:*DV*D'*0*;'%#r{{+,,ui112"S"++$677,-=dVcdd*+;DTabbr%   c                    U S:H  nU(       a  / n OU c  / OU n [        U [        5      (       a  [        U 5      nGOU nUb  USU/-  nUb  U H  nUS[        U5      /-  nM     U(       a  USU/-  nU(       a  USU/-  nU(       a  USU/-  nUb  US[        U5      /-  nUb  US[        U5      /-  nU(       a  US	/-  nU	(       a  US
/-  nU
b  US[        U
5      /-  nUb  US[        U5      /-  nUb  US[        U5      /-  nUb  US[        U5      /-  nUb  USU/-  nUbL  [        U[        5      (       a'  UR	                  5        H  u  nnUSU SU 3/-  nM     OU H
  nUSU/-  nM     UbL  [        U[        5      (       a'  UR	                  5        H  u  nnUSU SU 3/-  nM     OU H
  nUSU/-  nM     U(       a  U$ [        U5      UU4$ )aF  Create a FootprintOptions() object that can be passed to gdal.Footprint()

Parameters
----------
options:
    can be be an array of strings, a string or let empty and filled from other keywords.
format:
    output format ("GeoJSON", etc...)
bands:
    list of output bands to burn values into
combineBands:
    how to combine bands: "union" (default) or "intersection"
srcNodata:
    source nodata value(s).
ovr:
    overview index.
targetCoordinateSystem:
    "pixel" or "georef"
dstSRS:
    output SRS
datasetCreationOptions:
    list or dict of dataset creation options
layerCreationOptions:
    list or dict of layer creation options
splitPolys:
    whether to split multipolygons as several polygons
convexHull:
    whether to compute the convex hull of polygons/multipolygons
densify:
    tolerance value for polygon densification
simplify:
    tolerance value for polygon simplification
maxPoints:
    maximum number of points (100 by default, "unlimited" for unlimited)
minRingArea:
    Minimum value for the area of a ring The unit of the area is in square pixels if targetCoordinateSystem equals "pixel", or otherwise in georeferenced units of the target vector dataset. This option is applied after the reprojection implied by dstSRS
layerName:
    output layer name
callback:
    callback method
callback_data:
    user data for callback
r  r  r  z-combine_bandsz-t_csri  rr  r(  z-split_polysz-convex_hullz-densifyr  z-max_pointsz-min_ring_areaz	-lyr_namer  r!  r  )r   r   r   r+  r,  GDALFootprintOptions)rr   rF   r  combineBandsr  ovrtargetCoordinateSystemr  
splitPolys
convexHulldensifysimplify	maxPointsminRingArear  r  r  rS  rT  rU  r   rV  rW  rX  rY  s                            r   FootprintOptionsr5  B  sS   ~ !$<<"W'3&w/E6?*Kc!f~- ,l;;K!G%;<<KHf--K L#i.99K?FCH--KN++KN++KJG55KKX77K M3y>::K",c+.>??K K33K!-0$77288:DAqGs!A3Z#88K ; 2CGS>1K 2+.550668DAqFqc1#J#77K 9 0CFC=0K 0  -xGGr%   c                 .   [        5         U SL =(       d    U S:H  =(       a    SU;   =(       a    US   S:H  nU(       a   SU;  a  SSKnUR                  U5      nSUS'   U SL =(       d    U S:H  =(       a    SU;   =(       a    US   S:H  nU(       a  SSKnUR                  U5      nSUS'   S	U;  d  [        US	   [        [        45      (       a  [        S0 UD6u  pgnOUS	   u  pgnSSKn	[        U[        U	R                  45      (       a  [        U[        R                  5      nU(       d  U(       Ga  SSKn
S
[	        U
R                  5       5      -   n [        XXgU5      (       d   [        U5      (       a  [        U5        ggU(       a  [!        US5      nU(       d   e[#        USS5        [%        U5      n[#        USS5        ['        SX5      n[)        U5        SSKnUR-                  U5      [        U5      (       a  [        U5        $ $ U(       d   e[        U5      nUR/                  S5      n/ nU H0  nUR1                  UR3                  5       R5                  5       5        M2     [7        U5      S:X  a!  US   [        U5      (       a  [        U5        $ $ U[        U5      (       a  [        U5        $ $ SSKn	[        U [        U	R                  45      (       a  [        XXgU5      $ [9        XXgU5      $ ! [        U5      (       a  [        U5        f f = f)a  Compute the footprint of a raster

Parameters
----------
destNameOrDestDS:
    Output dataset name or object
srcDS:
    a Dataset object or a filename
kwargs:
    options: return of gdal.FootprintOptions(), string or array of strings,
    other keywords arguments of gdal.FootprintOptions()
    If options is provided as a gdal.FootprintOptions() object, other keywords are ignored.

Examples
--------

1. Special mode to get deserialized GeoJSON (in EPSG:4326 if dstSRS not specified):

>>> deserialized_geojson = gdal.FootPrint(None, src_ds, format="GeoJSON")

2. Special mode to get WKT:

>>> wkt = gdal.FootPrint(None, src_ds, format="WKT")

3. Get result in a GeoPackage

>>> gdal.FootPrintf("out.gpkg", src_ds, format="GPKG")

Nr	   rF   GeoJSONr  r   z	EPSG:4326WKTrr   z/vsimem/rbrT   r   r&   )r   r3   r   r   r   r5  r   r   r   rN   	OF_RASTERuuiduuid4wrapper_GDALFootprintDestNameVSIStatLUnlink	VSIFOpenL	VSIFSeekL	VSIFTellLr   
VSIFCloseLr   r   GetLayerr  GetGeometryRefExportToWktr-  wrapper_GDALFootprintDestDS)r  rc  r   inline_geojson_requestedr3   wkt_requestedr   rS  rT  r   r;  temp_filenamefsizedatar   r   r  wktss                      r   	FootprintrO    s   > 01 0D 8 R<LPR<R  =F =%h/9< HF$:6"&x%-G1AR1G 9F9%h/58 6"$x*VI->s"L"L*:*DV*D'*0*;'%#r{{+,,ui112="S%66	&0tWdee. &&}% '- (mT2q!Q" |!Q" D,1zz$' &&}% ' %$}M*kk!nAKK 0 0 2 > > @A t9>7 &&}% '  &&}% ' "S"++$677,-=dVcdd*+;DTabb &&}% 's    K6 A,K6 A0K6 K6 6Lc           	      (   U S:H  nU(       a  / n OU c  / OU n [        U [        5      (       a  [        U 5      nGODU nUb  US[        U5      /-  nUb:  US[        US   5      [        US   5      [        US   5      [        US   5      /-  nUb  Ub  US	[        U5      [        U5      /-  nU(       a  US
/-  nU(       a  US/-  nUS:w  a  U H  nUS[        U5      /-  nM     U(       a  US/-  nU	b)  U	[        ;   a  US[        U	   /-  nOUS[        U	5      /-  nU
b  US[        U
5      /-  nU(       a  US/-  nUb  US[        U5      /-  nUb  US[        U5      /-  nU(       a  US/-  nU(       a  US/-  nU(       a  U$ [        U5      UU4$ )a  Create a BuildVRTOptions() object that can be passed to gdal.BuildVRT()

Parameters
----------
options:l
    can be be an array of strings, a string or let empty and filled from other keywords.
resolution:
    'highest', 'lowest', 'average', 'user'.
outputBounds:l
    output bounds as (minX, minY, maxX, maxY) in target SRS.
xRes:
    output resolution in target SRS.
yRes:
    output resolution in target SRS.
targetAlignedPixels:
    whether to force output bounds to be multiple of output resolution.
separate:
    whether each source file goes into a separate stacked band in the VRT band.
bandList:
    array of band numbers (index start at 1).
addAlpha:
    whether to add an alpha mask band to the VRT when the source raster have none.
resampleAlg:
    resampling mode.
outputSRS:
    assigned output SRS.
allowProjectionDifference:
    whether to accept input datasets have not the same projection.
    Note: they will *not* be reprojected.
srcNodata:
    source nodata value(s).
VRTNodata:
    nodata values at the VRT band level.
hideNodata:
    whether to make the VRT band not report the NoData value.
strict:
    set to True if warnings should be failures
callback:
    callback method.
callback_data:
    user data for callback.
r  Nz-resolutionrf  r   r   rT   rU   r'  rk  z	-separater  z	-addalphar&  r$  z-allow_projection_differencerr  z
-vrtnodataz-hidenodatar"  )r   r   r   r  r3  GDALBuildVRTOptions)rr   
resolutionrG  r=  r>  r  separater7  r  rQ  rJ  allowProjectionDifferencer  	VRTNodata
hideNodatarC  rS  rT  rU  r   rV  s                        r   BuildVRTOptionsrW  	  s   z !$<<"W'3&w/!M3z?;;K#E<Q#@,|\]B_amnz{|n}a~  AM  NZ  [\  N]  A^  _  _K 0E<#5|D7IJJKF8#KK=(Ktc!f~- K=(K"55&=k&JKKc+&677 Hc)n55K$:;;K L#i.99K L#i.99KM?*KI;&K,hFFr%   c                 L   [        5         SU;  d  [        US   [        [        45      (       a  [	        S0 UD6u  p4nOUS   u  p4n/ n/ nSSKn[        U[        UR                  45      (       a  [        U5      /nO[        U[        5      (       aq  U HQ  n	[        U	[        UR                  45      (       a  UR                  [        U	5      5        M@  UR                  U	5        MS     U(       a  U(       a  [        S5      eOU/nU(       a  [        XX4U5      $ [        XX4U5      $ )a  Build a VRT from a list of datasets.

Parameters
----------
destName:
    Output dataset name.
srcDSOrSrcDSTab:
    An array of Dataset objects or filenames, or a Dataset object or a filename.
kwargs:
    options: return of gdal.BuildVRTOptions(), string or array of strings,
    other keywords arguments of gdal.BuildVRTOptions().
    If options is provided as a gdal.BuildVRTOptions() object,
    other keywords are ignored.
rr   r   Nz.Mix of names and dataset objects not supportedr&   )r   r   r   r   rW  r   r   r  r   BuildVRTInternalObjectsBuildVRTInternalNames)
rb  r  r   r   rS  rT  r  srcDSNamesTabr   r  s
             r   BuildVRTr\  	  s      01*VI->s"L"L*9*CF*C'*0*;'HM/C#566_-.	OT	*	*"C#R[[122$$SX.$	 #
 LMM#$&x4=YY$Xdm\\r%   c	                    U S:H  n	U	(       a  / n OU c  / OU n [        U [        5      (       a  [        U 5      n
OU n
Ub  U
SU/-  n
UbK  [        U[        5      (       a&  UR	                  5        H  u  pU
SU SU 3/-  n
M     OU H
  nU
SU/-  n
M     Ub  U H
  nU
SU/-  n
M     Ub  U H
  nU
SU/-  n
M     Ub  U H
  nU
SU/-  n
M     Ub  U H
  nU
SU/-  n
M     U	(       a  U
$ [        U
5      Xx4$ )	a  Create a MultiDimTranslateOptions() object that can be passed to gdal.MultiDimTranslate()

Parameters
----------
options:
    can be be an array of strings, a string or let empty and filled from other keywords.
format:
    output format ("GTiff", etc...)
creationOptions:
    list or dict of creation options
arraySpecs:
    list of array specifications, each of them being an array name or
    "name={src_array_name},dstname={dst_name},transpose=[1,0],view=[:,::-1]"
groupSpecs:
    list of group specifications, each of them being a group name or
    "name={src_array_name},dstname={dst_name},recursive=no"
subsetSpecs:
    list of subset specifications, each of them being like
    "{dim_name}({min_val},{max_val})" or "{dim_name}({slice_va})"
scaleAxesSpecs:
    list of dimension scaling specifications, each of them being like
    "{dim_name}({scale_factor})"
callback:
    callback method
callback_data:
    user data for callback
r  r  r   r!  r   z-groupz-subsetz
-scaleaxes)r   r   r   r+  r,  GDALMultiDimTranslateOptions)rr   rF   r?  
arraySpecs
groupSpecssubsetSpecsscaleAxesSpecsrS  rT  rU  r   rW  rX  rY  ss                  r   MultiDimTranslateOptionsrd  	  sC   @ !$<<"W'3&w/E6?*K&/400+113DAEaS!:#66K 4 +CE3</K +!!},  !!},  " 	1~- !%#a00 $ (5xOOr%   c                 "   [        5         SU;  d  [        US   [        [        45      (       a  [	        S0 UD6u  p4nOUS   u  p4nSSKn[        U[        UR                  45      (       a   [        U[        [        -  [        -  5      /nOy[        U[        5      (       aa  / nU HX  n[        U[        5      (       a/  UR                  [        U[        [        -  [        -  5      5        MG  UR                  U5        MZ     OU/n[        XX4U5      $ )a  MultiDimTranslate one or several datasets.

Parameters
----------
destName:
    Output dataset name
srcDSOrSrcDSTab:
    an array of Dataset objects or filenames, or a Dataset object or a filename
kwargs:
    options: return of gdal.MultiDimTranslateOptions(), string or array of strings
    other keywords arguments of gdal.MultiDimTranslateOptions().
    If options is provided as a gdal.MultiDimTranslateOptions() object,
    other keywords are ignored.
rr   r   Nr&   )r   r   r   r   rd  r   r   r   r   r:  r  r  %wrapper_GDALMultiDimTranslateDestName)	rb  r  r   r   rS  rT  r   r  r  s	            r   MultiDimTranslaterg  	  s      01*VI->s"L"L*B*LV*L'*0*;'/C#566?,<y,HK],]^_	OT	*	*"C#s##s,<y,HK],] ^_$	 # $$0TUbccr%   c                    U[         R                  :w  a3  [        R                  R	                  U[        U5      5      nU< SU< 3nOUn[        R                  R	                  U S5      n[        R                  R                  XT5        g )Nz:    )	rN   	CPLE_None_pylog_handlererrcode_mapgetr   	level_maploggerlog)	err_levelerr_noerr_msgtypmessagelevels         r   rk  rk  '
  sg    $$$((,,VS[A!7+$$((B7Ee-r%   c           
         SSK nUR                  U 5      [        l        [        R
                  R                  5        VVs0 s H"  u  p4UR                  S5      (       d  M  XCSS _M$     snn[        l        [        UR                  [        UR                  [        UR                  [        UR                   ["        UR$                  0[        l        U(       a  [)        SS5        [+        [        5        gs  snnf )z1Configure GDAL to use Python's logging framework r   NCPLE_   	CPL_DEBUGON)logging	getLoggerrk  ro  rN   r2   r,  
startswithrl  CE_NoneINFOCE_DebugDEBUG
CE_WarningWARN
CE_FailureERRORCE_FatalCRITICALrn  SetConfigOptionSetErrorHandler)logger_nameenable_debugr|  _name_nums        r   ConfigurePythonLoggingr  1
  s    #--k:N FOEWEWE]E]E_!}E_kechcscst{c|/$ab	/E_!}N 	'--GLLGMM'"" N T* N#! "~s    C4 	C4c                      [        U S   [        5      (       a  [        R                  " U 0 UD6$ [        R                  " U 0 UD6$ )z6EscapeString(string_or_bytes, scheme = gdal.CPLES_SQL)r   )r   bytesr   EscapeBinarywrapper_EscapeStringry   r   s     r   EscapeStringr  K
  s?    $q'5!!!!42622))4:6::r%   c                  >    SSK Jn  U" S[        5        [        U 0 UD6$ )zApplyVerticalShiftGrid(Dataset src_ds, Dataset grid_ds, bool inverse=False, double srcUnitToMeter=1.0, double dstUnitToMeter=1.0, char ** options=None) -> Datasetr   rC   z4ApplyVerticalShiftGrid() will be removed in GDAL 4.0)rG   rD   rH   _ApplyVerticalShiftGrid)ry   r   rD   s      r   ApplyVerticalShiftGridr  S
  s#     	?AST"D3F33r%   c              #     #    U(       a  [         O[        nU(       a  [        O[        nU  Vs0 s H  oDU" U5      _M     nnU  H  nU" X@U   5        M      Sv   U  H  nU" XEU   5        M     gs  snf ! U  H  nU" XEU   5        M     f = f7f)a  Temporarily define a set of configuration options.

Parameters
----------
options: dict
     Dictionary of configuration options passed as key, value
thread_local: bool
     Whether the configuration options should be only set on the current
     thread. The default is True.

Returns
-------
     A context manager

Example
-------

    with gdal.config_options({"GDAL_NUM_THREADS": "ALL_CPUS"}):
        gdal.Warp("out.tif", "in.tif", dstSRS="EPSG:4326")
N)GetThreadLocalConfigOptionGetGlobalConfigOptionSetThreadLocalConfigOptionr  )rr   thread_localget_config_optionset_config_optionkeyoldvalss         r   config_optionsr  \
  s     , 7C2H]6B26=>gs%c**gG>#s|, 1Cc3<0  ? Cc3<0 s'   +BA/BA4 B4B

Bc                     [        X0US9$ )a  Temporarily define a configuration option.

Parameters
----------
key: str
     Name of the configuration option
value: str
     Value of the configuration option
thread_local: bool
     Whether the configuration option should be only set on the current
     thread. The default is True.

Returns
-------
     A context manager

Example
-------

    with gdal.config_option("GDAL_NUM_THREADS", "ALL_CPUS"):
        gdal.Warp("out.tif", "in.tif", dstSRS="EPSG:4326")
)r  )r  )r  r!   r  s      r   config_optionr  
  s    . 3,\BBr%   c               #   ^   #    [        S5         Sv   [        5         g! [        5         f = f7f)a  Temporarily install an error handler that silents all warnings and errors.

Returns
-------
     A context manager

Example
-------

    with gdal.ExceptionMgr(useExceptions=False), gdal.quiet_errors():
        gdal.Error(gdal.CE_Failure, gdal.CPLE_AppDefined, "you will never see me")
CPLQuietErrorHandlerN)PushErrorHandlerPopErrorHandlerr&   r%   r   quiet_errorsr  
  s$      +,s   - -*-c                  (    [         R                  " U 6 $ )z3Debug(char const * msg_class, char const * message))r   Debugrx   s    r   r  r  
      ;;r%   c                  (    [         R                  " U 6 $ )z<SetErrorHandler(CPLErrorHandler pfnErrorHandler=0) -> CPLErr)r   r  rx   s    r   r  r  
        $''r%   c                  (    [         R                  " U 6 $ )z1SetCurrentErrorHandlerCatchDebug(int bCatchDebug))r    SetCurrentErrorHandlerCatchDebugrx   s    r   r  r  
  s    11488r%   c                  (    [         R                  " U 6 $ )z=PushErrorHandler(CPLErrorHandler pfnErrorHandler=0) -> CPLErr)r   r  rx   s    r   r  r  
  rz   r%   c                  (    [         R                  " U 6 $ )zPopErrorHandler())r   r  rx   s    r   r  r  
  r  r%   c                  (    [         R                  " U 6 $ )zLError(CPLErr msg_class=CE_Failure, int err_code=0, char const * msg="error"))r   Errorrx   s    r   r  r  
  r  r%   c                  (    [         R                  " U 6 $ )zGGOA2GetAuthorizationURL(char const * pszScope) -> retStringAndCPLFree *)r   GOA2GetAuthorizationURLrx   s    r   r  r  
      (($//r%   c                  (    [         R                  " U 6 $ )z^GOA2GetRefreshToken(char const * pszAuthToken, char const * pszScope) -> retStringAndCPLFree *)r   GOA2GetRefreshTokenrx   s    r   r  r  
  r}   r%   c                  (    [         R                  " U 6 $ )z`GOA2GetAccessToken(char const * pszRefreshToken, char const * pszScope) -> retStringAndCPLFree *)r   GOA2GetAccessTokenrx   s    r   r  r  
  r   r%   c                  (    [         R                  " U 6 $ )zErrorReset())r   
ErrorResetrx   s    r   r  r  
      T""r%   c                  .    [         R                  " U 0 UD6$ )zLwrapper_EscapeString(int len, int scheme=CPLES_SQL) -> retStringAndCPLFree *)r   r  r  s     r   r  r  
  s    %%t6v66r%   c                  .    [         R                  " U 0 UD6$ )z+EscapeBinary(int len, int scheme=CPLES_SQL))r   r  r  s     r   r  r  
  s    t.v..r%   c                  (    [         R                  " U 6 $ )zGetLastErrorNo() -> int)r   GetLastErrorNorx   s    r   r  r  
  r   r%   c                  (    [         R                  " U 6 $ )zGetLastErrorType() -> int)r   GetLastErrorTyperx   s    r   r  r  
  rz   r%   c                  (    [         R                  " U 6 $ )z!GetLastErrorMsg() -> char const *)r   GetLastErrorMsgrx   s    r   r  r  
  r  r%   c                  (    [         R                  " U 6 $ )z!GetErrorCounter() -> unsigned int)r   GetErrorCounterrx   s    r   r  r  
  r  r%   c                  (    [         R                  " U 6 $ )zVSIGetLastErrorNo() -> int)r   VSIGetLastErrorNorx   s    r   r  r  
      ""D))r%   c                  (    [         R                  " U 6 $ )z$VSIGetLastErrorMsg() -> char const *)r   VSIGetLastErrorMsgrx   s    r   r  r  
  r   r%   c                  (    [         R                  " U 6 $ )zVSIErrorReset())r   VSIErrorResetrx   s    r   r  r  
      %%r%   c                  (    [         R                  " U 6 $ )z*PushFinderLocation(char const * utf8_path))r   PushFinderLocationrx   s    r   r  r  
  r   r%   c                  (    [         R                  " U 6 $ )zPopFinderLocation())r   PopFinderLocationrx   s    r   r  r  
  r  r%   c                  (    [         R                  " U 6 $ )zFinderClean())r   FinderCleanrx   s    r   r  r        d##r%   c                  (    [         R                  " U 6 $ )zGFindFile(char const * pszClass, char const * utf8_path) -> char const *)r   FindFilerx   s    r   r  r        >>4  r%   c                  (    [         R                  " U 6 $ )z;ReadDir(char const * utf8_path, int nMaxFiles=0) -> char **)r   ReadDirrx   s    r   r  r        ==$r%   c                  (    [         R                  " U 6 $ )z3ReadDirRecursive(char const * utf8_path) -> char **)r   ReadDirRecursiverx   s    r   r  r    rz   r%   c                  (    [         R                  " U 6 $ )zWOpenDir(char const * utf8_path, int nRecurseDepth=-1, char ** options=None) -> VSIDIR *)r   rl   rx   s    r   rl   rl     r  r%   c                   d   \ rS rSrSr\" S S SS9r\r\" \	R                  SS9r\" \	R                  SS9r\" \	R                  S	S9r\" \	R                   S
S9r\" \	R$                  SS9r\" \	R(                  SS9r\" \	R,                  SS9r\" \	R0                  SS9rS r\	R6                  rS rSrg)DirEntryi  zProxy of C++ DirEntry class.c                 6    U R                   R                  5       $ r0   r   r   r  s    r   <lambda>DirEntry.<lambda>      r%   c                 8    U R                   R                  U5      $ r0   r  r  rX  s     r   r  r        AFFJJqMr%   The membership flagdoczname : p.char
mode : intsize : GIntBigmtime : GIntBigzmodeKnown : boolzsizeKnown : boolzmtimeKnown : boolzextra : p.p.charc                 T    [         R                  " U [         R                  " U6 5        g)z5__init__(DirEntry self, DirEntry entryIn) -> DirEntryN)r   DirEntry_swiginitnew_DirEntryr   ry   s     r   r   DirEntry.__init__$  s    e&8&8$&?@r%   c                 0    [         R                  " U /UQ76 $ )z"IsDirectory(DirEntry self) -> bool)r   DirEntry_IsDirectoryr  s     r   IsDirectoryDirEntry.IsDirectory)      ))$666r%   r&   N)r   r   r;   r<   r=   r   r   r   r   r   DirEntry_name_getr    DirEntry_mode_getr  DirEntry_size_getrL  DirEntry_mtime_getmtimeDirEntry_modeKnown_get	modeKnownDirEntry_sizeKnown_get	sizeKnownDirEntry_mtimeKnown_get
mtimeKnownDirEntry_extra_getextrar   delete_DirEntry__swig_destroy__r  r?   r&   r%   r   r  r    s    '-/IOdeGHE++1EFDE++1BCDE++1FGDU--3IJE55;RSI55;RSI%77=UVJU--3JKEA ,,7r%   r  c                  (    [         R                  " U 6 $ )z)GetNextDirEntry(VSIDIR * dir) -> DirEntry)r   rn   rx   s    r   rn   rn   0  r  r%   c                  (    [         R                  " U 6 $ )zCloseDir(VSIDIR * dir))r   ro   rx   s    r   ro   ro   4  r  r%   c                  (    [         R                  " U 6 $ )z;SetConfigOption(char const * pszKey, char const * pszValue))r   r  rx   s    r   r  r  8  r  r%   c                  (    [         R                  " U 6 $ )zFSetThreadLocalConfigOption(char const * pszKey, char const * pszValue))r   r  rx   s    r   r  r  <  r   r%   c                  (    [         R                  " U 6 $ )zRGetConfigOption(char const * pszKey, char const * pszDefault=None) -> char const *)r   GetConfigOptionrx   s    r   r  r  @  r  r%   c                  (    [         R                  " U 6 $ )zXGetGlobalConfigOption(char const * pszKey, char const * pszDefault=None) -> char const *)r   r  rx   s    r   r  r  D      &&--r%   c                  (    [         R                  " U 6 $ )z]GetThreadLocalConfigOption(char const * pszKey, char const * pszDefault=None) -> char const *)r   r  rx   s    r   r  r  H  r   r%   c                  (    [         R                  " U 6 $ )zGetConfigOptions() -> char **)r   GetConfigOptionsrx   s    r   r  r  L  rz   r%   c                  (    [         R                  " U 6 $ )z]SetPathSpecificOption(char const * pszPathPrefix, char const * pszKey, char const * pszValue))r   SetPathSpecificOptionrx   s    r   r  r  P  r  r%   c                  (    [         R                  " U 6 $ )zUSetCredential(char const * pszPathPrefix, char const * pszKey, char const * pszValue))r   SetCredentialrx   s    r   r  r  T  r  r%   c                  (    [         R                  " U 6 $ )zlGetCredential(char const * pszPathPrefix, char const * pszKey, char const * pszDefault=None) -> char const *)r   GetCredentialrx   s    r   r  r  X  r  r%   c                  (    [         R                  " U 6 $ )ztGetPathSpecificOption(char const * pszPathPrefix, char const * pszKey, char const * pszDefault=None) -> char const *)r   GetPathSpecificOptionrx   s    r   r  r  \  r  r%   c                  (    [         R                  " U 6 $ )z1ClearCredentials(char const * pszPathPrefix=None))r   ClearCredentialsrx   s    r   r  r  `  rz   r%   c                  (    [         R                  " U 6 $ )z9ClearPathSpecificOptions(char const * pszPathPrefix=None))r   ClearPathSpecificOptionsrx   s    r   r   r   d      ))400r%   c                  (    [         R                  " U 6 $ )z3CPLBinaryToHex(int nBytes) -> retStringAndCPLFree *)r   CPLBinaryToHexrx   s    r   r#  r#  h  r   r%   c                  (    [         R                  " U 6 $ )z=CPLHexToBinary(char const * pszHex, int * pnBytes) -> GByte *)r   CPLHexToBinaryrx   s    r   r%  r%  l  r   r%   c                  (    [         R                  " U 6 $ )zGFileFromMemBuffer(char const * utf8_path, GIntBig nBytes) -> VSI_RETVAL)r   FileFromMemBufferrx   s    r   r'  r'  p  r  r%   c                  (    [         R                  " U 6 $ )z,Unlink(char const * utf8_path) -> VSI_RETVAL)r   r?  rx   s    r   r?  r?  t      <<r%   c                  (    [         R                  " U 6 $ )z"UnlinkBatch(char ** files) -> bool)r   UnlinkBatchrx   s    r   r+  r+  x  r  r%   c                  (    [         R                  " U 6 $ )zHasThreadSupport() -> int)r   HasThreadSupportrx   s    r   r-  r-  |  rz   r%   c                  (    [         R                  " U 6 $ )z5Mkdir(char const * utf8_path, int mode) -> VSI_RETVAL)r   Mkdirrx   s    r   r/  r/    r  r%   c                  (    [         R                  " U 6 $ )z+Rmdir(char const * utf8_path) -> VSI_RETVAL)r   Rmdirrx   s    r   r1  r1    r  r%   c                  (    [         R                  " U 6 $ )z>MkdirRecursive(char const * utf8_path, int mode) -> VSI_RETVAL)r   MkdirRecursiverx   s    r   r3  r3    r   r%   c                  (    [         R                  " U 6 $ )z4RmdirRecursive(char const * utf8_path) -> VSI_RETVAL)r   RmdirRecursiverx   s    r   r5  r5    r   r%   c                  (    [         R                  " U 6 $ )z>Rename(char const * pszOld, char const * pszNew) -> VSI_RETVAL)r   Renamerx   s    r   r7  r7    r)  r%   c                  .    [         R                  " U 0 UD6$ )zSync(char const * pszSource, char const * pszTarget, char ** options=None, GDALProgressFunc callback=0, void * callback_data=None) -> bool)r   Syncr  s     r   r9  r9    s    ::t&v&&r%   c                  (    [         R                  " U 6 $ )z3AbortPendingUploads(char const * utf8_path) -> bool)r   AbortPendingUploadsrx   s    r   r;  r;    r}   r%   c                  .    [         R                  " U 0 UD6$ )zCopyFile(char const * pszSource, char const * pszTarget, VSILFILE fpSource=None, GIntBig nSourceSize=-1, char ** options=None, GDALProgressFunc callback=0, void * callback_data=None) -> int)r   CopyFiler  s     r   r=  r=    s    >>4*6**r%   c                  (    [         R                  " U 6 $ )z4GetActualURL(char const * utf8_path) -> char const *)r   GetActualURLrx   s    r   r?  r?        t$$r%   c                  (    [         R                  " U 6 $ )zSGetSignedURL(char const * utf8_path, char ** options=None) -> retStringAndCPLFree *)r   GetSignedURLrx   s    r   rB  rB    r@  r%   c                  (    [         R                  " U 6 $ )z#GetFileSystemsPrefixes() -> char **)r   GetFileSystemsPrefixesrx   s    r   rD  rD        ''..r%   c                  (    [         R                  " U 6 $ )z<GetFileSystemOptions(char const * utf8_path) -> char const *)r   GetFileSystemOptionsrx   s    r   rG  rG        %%t,,r%   c                   6    \ rS rSrSr\" S S SS9rS r\r	Sr
g	)
VSILFILEi  zProxy of C++ VSILFILE class.c                 6    U R                   R                  5       $ r0   r  r  s    r   r  VSILFILE.<lambda>  r  r%   c                 8    U R                   R                  U5      $ r0   r  r  s     r   r  rL    r  r%   r  r  c                     [        S5      eNzNo constructor definedr   r   ry   r   s      r   r   VSILFILE.__init__      566r%   r&   N)r   r   r;   r<   r=   r   r   r   r   r   r?   r&   r%   r   rJ  rJ    s     '-/IOdeG7Hr%   rJ  c                       \ rS rSrSr\" S S SS9r\r\" \	R                  SS9r\" \	R                  SS9r\" \	R                  S	S9rS
 r\	R"                  rS rSrg)StatBufi  zProxy of C++ StatBuf class.c                 6    U R                   R                  5       $ r0   r  r  s    r   r  StatBuf.<lambda>  r  r%   c                 8    U R                   R                  U5      $ r0   r  r  s     r   r  rW    r  r%   r  r  r  r  r  c                 T    [         R                  " U [         R                  " U6 5        g)z4__init__(StatBuf self, StatBuf psStatBuf) -> StatBufN)r   StatBuf_swiginitnew_StatBufr  s     r   r   StatBuf.__init__  s    tU%6%6%=>r%   c                 0    [         R                  " U /UQ76 $ )z IsDirectory(StatBuf self) -> int)r   StatBuf_IsDirectoryr  s     r   r  StatBuf.IsDirectory      ((555r%   r&   N)r   r   r;   r<   r=   r   r   r   r   r   StatBuf_mode_getr  StatBuf_size_getrL  StatBuf_mtime_getr  r   delete_StatBufr	  r  r?   r&   r%   r   rU  rU    sl    &-/IOdeGHE**0ABDE**0EFDU,,2HIE? ++6r%   rU  c                  (    [         R                  " U 6 $ )z5VSIStatL(char const * utf8_path, int nFlags=0) -> int)r   r>  rx   s    r   r>  r>    r  r%   c                  (    [         R                  " U 6 $ )z]GetFileMetadata(char const * utf8_path, char const * domain, char ** options=None) -> char **)r   GetFileMetadatarx   s    r   rg  rg    r  r%   c                  (    [         R                  " U 6 $ )zlSetFileMetadata(char const * utf8_path, char ** metadata, char const * domain, char ** options=None) -> bool)r   SetFileMetadatarx   s    r   ri  ri    r  r%   c                  (    [         R                  " U 6 $ )zCVSIFOpenL(char const * utf8_path, char const * pszMode) -> VSILFILE)r   r@  rx   s    r   r@  r@    r   r%   c                  (    [         R                  " U 6 $ )zpVSIFOpenExL(char const * utf8_path, char const * pszMode, int bSetError=FALSE, char ** options=None) -> VSILFILE)r   VSIFOpenExLrx   s    r   rl  rl    r  r%   c                  (    [         R                  " U 6 $ )zVSIFEofL(VSILFILE fp) -> int)r   VSIFEofLrx   s    r   rn  rn    r  r%   c                  (    [         R                  " U 6 $ )zVSIFFlushL(VSILFILE fp) -> int)r   
VSIFFlushLrx   s    r   rp  rp    r  r%   c                  (    [         R                  " U 6 $ )z%VSIFCloseL(VSILFILE fp) -> VSI_RETVAL)r   rC  rx   s    r   rC  rC    r  r%   c                  (    [         R                  " U 6 $ )z9VSIFSeekL(VSILFILE fp, GIntBig offset, int whence) -> int)r   rA  rx   s    r   rA  rA    r   r%   c                  (    [         R                  " U 6 $ )z!VSIFTellL(VSILFILE fp) -> GIntBig)r   rB  rx   s    r   rB  rB    r   r%   c                  (    [         R                  " U 6 $ )z1VSIFTruncateL(VSILFILE fp, GIntBig length) -> int)r   VSIFTruncateLrx   s    r   ru  ru    r  r%   c                  (    [         R                  " U 6 $ )z5VSISupportsSparseFiles(char const * utf8_path) -> int)r   VSISupportsSparseFilesrx   s    r   rw  rw    rE  r%   c                  (    [         R                  " U 6 $ )zGVSIFGetRangeStatusL(VSILFILE fp, GIntBig offset, GIntBig length) -> int)r   VSIFGetRangeStatusLrx   s    r   ry  ry    r}   r%   c                  (    [         R                  " U 6 $ )z<VSIFWriteL(int nLen, int size, int memb, VSILFILE fp) -> int)r   
VSIFWriteLrx   s    r   r{  r{    r  r%   c                  (    [         R                  " U 6 $ )zVSICurlClearCache())r   VSICurlClearCacherx   s    r   r}  r}    r  r%   c                  (    [         R                  " U 6 $ )z0VSICurlPartialClearCache(char const * utf8_path))r   VSICurlPartialClearCacherx   s    r   r  r    r!  r%   c                  (    [         R                  " U 6 $ )zNetworkStatsReset())r   NetworkStatsResetrx   s    r   r  r    r  r%   c                  (    [         R                  " U 6 $ )zNNetworkStatsGetAsSerializedJSON(char ** options=None) -> retStringAndCPLFree *)r   NetworkStatsGetAsSerializedJSONrx   s    r   r  r  #  s    00$77r%   c                  (    [         R                  " U 6 $ )z3ParseCommandLine(char const * utf8_path) -> char **)r   r   rx   s    r   r   r   '  rz   r%   c                  (    [         R                  " U 6 $ )zGetNumCPUs() -> int)r   
GetNumCPUsrx   s    r   r  r  +  r  r%   c                  (    [         R                  " U 6 $ )z!GetUsablePhysicalRAM() -> GIntBig)r   GetUsablePhysicalRAMrx   s    r   r  r  /  rH  r%   c                   p    \ rS rSrSr\" S S SS9rS r\r	S r
S	 rS
 rS rS rS rS rS rSS jrSrg)MajorObjecti2  z)Proxy of C++ GDALMajorObjectShadow class.c                 6    U R                   R                  5       $ r0   r  r  s    r   r  MajorObject.<lambda>5  r  r%   c                 8    U R                   R                  U5      $ r0   r  r  s     r   r  r  5  r  r%   r  r  c                     [        S5      erO  rP  rQ  s      r   r   MajorObject.__init__7  rS  r%   c                 0    [         R                  " U /UQ76 $ )z0GetDescription(MajorObject self) -> char const *)r   MajorObject_GetDescriptionr  s     r   GetDescriptionMajorObject.GetDescription;      //<t<<r%   c                 0    [         R                  " U /UQ76 $ )z9SetDescription(MajorObject self, char const * pszNewDesc))r   MajorObject_SetDescriptionr  s     r   SetDescriptionMajorObject.SetDescription?  r  r%   c                 0    [         R                  " U /UQ76 $ )z2GetMetadataDomainList(MajorObject self) -> char **)r   !MajorObject_GetMetadataDomainListr  s     r   GetMetadataDomainList!MajorObject.GetMetadataDomainListC      66tCdCCr%   c                 0    [         R                  " U /UQ76 $ )zHGetMetadata_Dict(MajorObject self, char const * pszDomain="") -> char **)r   MajorObject_GetMetadata_Dictr  s     r   GetMetadata_DictMajorObject.GetMetadata_DictG      11$>>>r%   c                 0    [         R                  " U /UQ76 $ )zHGetMetadata_List(MajorObject self, char const * pszDomain="") -> char **)r   MajorObject_GetMetadata_Listr  s     r   GetMetadata_ListMajorObject.GetMetadata_ListK  r  r%   c                 0    [         R                  " U /UQ76 $ )z
SetMetadata(MajorObject self, char ** papszMetadata, char const * pszDomain="") -> CPLErr
SetMetadata(MajorObject self, char * pszMetadataString, char const * pszDomain="") -> CPLErr
)r   MajorObject_SetMetadatar  s     r   SetMetadataMajorObject.SetMetadataO  s    
 ,,T9D99r%   c                 0    [         R                  " U /UQ76 $ )zbGetMetadataItem(MajorObject self, char const * pszName, char const * pszDomain="") -> char const *)r   MajorObject_GetMetadataItemr  s     r   GetMetadataItemMajorObject.GetMetadataItemV      00===r%   c                 0    [         R                  " U /UQ76 $ )zsSetMetadataItem(MajorObject self, char const * pszName, char const * pszValue, char const * pszDomain="") -> CPLErr)r   MajorObject_SetMetadataItemr  s     r   SetMetadataItemMajorObject.SetMetadataItemZ  r  r%   c                 f    U(       a  US S S:X  a  U R                  U5      $ U R                  U5      $ )N   zxml:)r  r  )r   domains     r   GetMetadataMajorObject.GetMetadata^  s4    	F2AJ&($$V,,""6**r%   r&   N)r	   )r   r   r;   r<   r=   r   r   r   r   r   r  r  r  r  r  r  r  r  r  r?   r&   r%   r   r  r  2  sN    4-/IOdeG7H==D??:>>+r%   r  c                       \ rS rSrSr\" S S SS9rS r\r	\" \
R                  SS9r\" \
R                  S	S9r\" \
R                  S
S9rS rS rS rS rS rS rS rS rSrg)Driverif  z$Proxy of C++ GDALDriverShadow class.c                 6    U R                   R                  5       $ r0   r  r  s    r   r  Driver.<lambda>i  r  r%   c                 8    U R                   R                  U5      $ r0   r  r  s     r   r  r  i  r  r%   r  r  c                     [        S5      erO  rP  rQ  s      r   r   Driver.__init__k  rS  r%   zShortName : p.q(const).charzLongName : p.q(const).charzHelpTopic : p.q(const).charc                 J    [        5         [        R                  " U /UQ70 UD6$ )zCreate(Driver self, char const * utf8_path, int xsize, int ysize, int bands=1, GDALDataType eType=GDT_Byte, char ** options=None) -> Dataset)r   r   Driver_CreaterQ  s      r   r]   Driver.Creater  s'     	45 ""49$9&99r%   c                 J    [        5         [        R                  " U /UQ70 UD6$ )z}CreateMultiDimensional(Driver self, char const * utf8_path, char ** root_group_options=None, char ** options=None) -> Dataset)r   r   Driver_CreateMultiDimensionalrQ  s      r   CreateMultiDimensionalDriver.CreateMultiDimensional{  s'     	45 224I$I&IIr%   c                 J    [        5         [        R                  " U /UQ70 UD6$ )zCreateCopy(Driver self, char const * utf8_path, Dataset src, int strict=1, char ** options=None, GDALProgressFunc callback=0, void * callback_data=None) -> Dataset)r   r   Driver_CreateCopyrQ  s      r   
CreateCopyDriver.CreateCopy  s'     	45 &&t=d=f==r%   c                 D    [        5         [        R                  " U /UQ76 $ )z5Delete(Driver self, char const * utf8_path) -> CPLErr)r   r   Driver_Deleter  s     r   DeleteDriver.Delete  s"     	45 ""4/$//r%   c                 0    [         R                  " U /UQ76 $ )zIRename(Driver self, char const * newName, char const * oldName) -> CPLErr)r   Driver_Renamer  s     r   r7  Driver.Rename      ""4/$//r%   c                 0    [         R                  " U /UQ76 $ )zLCopyFiles(Driver self, char const * newName, char const * oldName) -> CPLErr)r   Driver_CopyFilesr  s     r   	CopyFilesDriver.CopyFiles      %%d2T22r%   c                 0    [         R                  " U /UQ76 $ )zRegister(Driver self) -> int)r   Driver_Registerr  s     r   RegisterDriver.Register      $$T1D11r%   c                 0    [         R                  " U /UQ76 $ )zDeregister(Driver self))r   Driver_Deregisterr  s     r   
DeregisterDriver.Deregister      &&t3d33r%   r&   N)r   r   r;   r<   r=   r   r   r   r   r   r   Driver_ShortName_get	ShortNameDriver_LongName_getLongNameDriver_HelpTopic_get	HelpTopicr]   r  r  r  r7  r  r  r  r?   r&   r%   r   r  r  f  s    /-/IOdeG7H339[\I117XYH339[\I:J>00324r%   r  r   r   c                      \ rS rSrSr\" S S SS9rS r\r	\" \
R                  \
R                  SS9r\" \
R                  \
R                  S	S9r\" \
R"                  \
R$                  S
S9r\" \
R(                  \
R*                  SS9rSrg)
ColorEntryi  z"Proxy of C++ GDALColorEntry class.c                 6    U R                   R                  5       $ r0   r  r  s    r   r  ColorEntry.<lambda>  r  r%   c                 8    U R                   R                  U5      $ r0   r  r  s     r   r  r    r  r%   r  r  c                     [        S5      erO  rP  rQ  s      r   r   ColorEntry.__init__  rS  r%   z
c1 : shortz
c2 : shortz
c3 : shortz
c4 : shortr&   N)r   r   r;   r<   r=   r   r   r   r   r   r   ColorEntry_c1_getColorEntry_c1_setc1ColorEntry_c2_getColorEntry_c2_setc2ColorEntry_c3_getColorEntry_c3_setc3ColorEntry_c4_getColorEntry_c4_setc4r?   r&   r%   r   r  r    s    --/IOdeG7H	%))5+B+BHY	ZB	%))5+B+BHY	ZB	%))5+B+BHY	ZB	%))5+B+BHY	ZBr%   r  c                      \ rS rSrSr\" S S SS9r\r\" \	R                  \	R                  SS9r\" \	R                  \	R                  SS9r\" \	R                   \	R"                  S	S9r\" \	R&                  \	R(                  S
S9r\" \	R,                  \	R.                  SS9r\" \	R2                  \	R4                  SS9r\" \	R8                  \	R:                  SS9rS r\	R@                  r!S r"SS jr#Sr$g)GCPi  zProxy of C++ GDAL_GCP class.c                 6    U R                   R                  5       $ r0   r  r  s    r   r  GCP.<lambda>  r  r%   c                 8    U R                   R                  U5      $ r0   r  r  s     r   r  r    r  r%   r  r  zGCPX : doublezGCPY : doublezGCPZ : doublezGCPPixel : doublezGCPLine : doublezInfo : p.charzId : p.charc                 T    [         R                  " U [         R                  " U6 5        g)z__init__(GCP self, double x=0.0, double y=0.0, double z=0.0, double pixel=0.0, double line=0.0, char const * info="", char const * id="") -> GCPN)r   GCP_swiginitnew_GCPr  s     r   r   GCP.__init__  s    4!56r%   c                     SU R                   U R                  U R                  U R                  U R                  U R
                  U R                  4-  nU$ )Nz*%s (%.2fP,%.2fL) -> (%.7fE,%.7fN,%.2f) %s )Idr.  r/  r0  r1  r2  r   )r   r   s     r   __str__GCP.__str__  sD    8wwt||yy$))TYY		<<c jr%   c                 :   [         R                  S/nUR                  [         R                  S[         R                  U R
                  //5        SU R                  -  nSU R                  -  nSU R                  -  nSU R                  -  nSU R                  -  nUR                  [         R                  S[         R                  U//5        UR                  [         R                  S[         R                  U//5        UR                  [         R                  S[         R                  U//5        UR                  [         R                  S[         R                  U//5        U(       a2  UR                  [         R                  S[         R                  U//5        U$ )	Nr  r  z%0.15EPixelLineXYZ)rN   CXT_Elementr  CXT_AttributeCXT_Textr  r.  r/  r0  r1  r2  )r   with_Zbasepixvallinevalxvalyvalzvals           r   	serializeGCP.serialize  s<   ##U+d
kk9**D93E3Etww2OPQ$--'f4<<'g		!d		!d		!d
kk9**Gi6H6H&5QRS
kk9**FY5G5G4QRS
kk9**C)2D2Dd1KLM
kk9**C)2D2Dd1KLM	
++y..i6H6H$5OP
Qkr%   r&   Nr   )%r   r   r;   r<   r=   r   r   r   r   r   GCP_GCPX_getGCP_GCPX_setr0  GCP_GCPY_getGCP_GCPY_setr1  GCP_GCPZ_getGCP_GCPZ_setr2  GCP_GCPPixel_getGCP_GCPPixel_setr.  GCP_GCPLine_getGCP_GCPLine_setr/  GCP_Info_getGCP_Info_setr   
GCP_Id_get
GCP_Id_setr  r   
delete_GCPr	  r  r  r?   r&   r%   r   r  r    s    '-/IOdeGHE&&(:(:@TUDE&&(:(:@TUDE&&(:(:@TUD..0F0FLdeHu,,e.C.CI`aGE&&(:(:@TUD	%""E$4$4:L	MB7 ''r%   r  c                  (    [         R                  " U 6 $ )z$GDAL_GCP_GCPX_get(GCP gcp) -> double)r   GDAL_GCP_GCPX_getrx   s    r   r+  r+    r  r%   c                  (    [         R                  " U 6 $ )z)GDAL_GCP_GCPX_set(GCP gcp, double dfGCPX))r   GDAL_GCP_GCPX_setrx   s    r   r-  r-    r  r%   c                  (    [         R                  " U 6 $ )z$GDAL_GCP_GCPY_get(GCP gcp) -> double)r   GDAL_GCP_GCPY_getrx   s    r   r/  r/    r  r%   c                  (    [         R                  " U 6 $ )z)GDAL_GCP_GCPY_set(GCP gcp, double dfGCPY))r   GDAL_GCP_GCPY_setrx   s    r   r1  r1    r  r%   c                  (    [         R                  " U 6 $ )z$GDAL_GCP_GCPZ_get(GCP gcp) -> double)r   GDAL_GCP_GCPZ_getrx   s    r   r3  r3    r  r%   c                  (    [         R                  " U 6 $ )z)GDAL_GCP_GCPZ_set(GCP gcp, double dfGCPZ))r   GDAL_GCP_GCPZ_setrx   s    r   r5  r5    r  r%   c                  (    [         R                  " U 6 $ )z(GDAL_GCP_GCPPixel_get(GCP gcp) -> double)r   GDAL_GCP_GCPPixel_getrx   s    r   r7  r7    r  r%   c                  (    [         R                  " U 6 $ )z1GDAL_GCP_GCPPixel_set(GCP gcp, double dfGCPPixel))r   GDAL_GCP_GCPPixel_setrx   s    r   r9  r9    r  r%   c                  (    [         R                  " U 6 $ )z'GDAL_GCP_GCPLine_get(GCP gcp) -> double)r   GDAL_GCP_GCPLine_getrx   s    r   r;  r;    rH  r%   c                  (    [         R                  " U 6 $ )z/GDAL_GCP_GCPLine_set(GCP gcp, double dfGCPLine))r   GDAL_GCP_GCPLine_setrx   s    r   r=  r=  
  rH  r%   c                  (    [         R                  " U 6 $ )z*GDAL_GCP_Info_get(GCP gcp) -> char const *)r   GDAL_GCP_Info_getrx   s    r   r?  r?    r  r%   c                  (    [         R                  " U 6 $ )z0GDAL_GCP_Info_set(GCP gcp, char const * pszInfo))r   GDAL_GCP_Info_setrx   s    r   rA  rA    r  r%   c                  (    [         R                  " U 6 $ )z(GDAL_GCP_Id_get(GCP gcp) -> char const *)r   GDAL_GCP_Id_getrx   s    r   rC  rC    r  r%   c                  (    [         R                  " U 6 $ )z,GDAL_GCP_Id_set(GCP gcp, char const * pszId))r   GDAL_GCP_Id_setrx   s    r   rE  rE    r  r%   c                  (    [         R                  " U 6 $ )z=GCPsToGeoTransform(int nGCPs, int bApproxOK=1) -> RETURN_NONE)r   GCPsToGeoTransformrx   s    r   rG  rG    r   r%   c                   Z    \ rS rSrSr\" S S SS9rS r\r	\
R                  rS rS	 rS
rg)
VirtualMemi!  z'Proxy of C++ CPLVirtualMemShadow class.c                 6    U R                   R                  5       $ r0   r  r  s    r   r  VirtualMem.<lambda>$  r  r%   c                 8    U R                   R                  U5      $ r0   r  r  s     r   r  rK  $  r  r%   r  r  c                     [        S5      erO  rP  rQ  s      r   r   VirtualMem.__init__&  rS  r%   c                 0    [         R                  " U /UQ76 $ )zGetAddr(VirtualMem self))r   VirtualMem_GetAddrr  s     r   GetAddrVirtualMem.GetAddr+      ''4t44r%   c                 0    [         R                  " U /UQ76 $ )zKPin(VirtualMem self, size_t start_offset=0, size_t nsize=0, int bWriteOp=0))r   VirtualMem_Pinr  s     r   PinVirtualMem.Pin/      ##D0400r%   r&   N)r   r   r;   r<   r=   r   r   r   r   r   r   delete_VirtualMemr	  rQ  rV  r?   r&   r%   r   rI  rI  !  s6    2-/IOdeG7H..51r%   rI  c                   f    \ rS rSrSr\" S S SS9rS r\r	\
R                  rS rS	 rS
 rS rSrg)AsyncReaderi5  z)Proxy of C++ GDALAsyncReaderShadow class.c                 6    U R                   R                  5       $ r0   r  r  s    r   r  AsyncReader.<lambda>8  r  r%   c                 8    U R                   R                  U5      $ r0   r  r  s     r   r  r]  8  r  r%   r  r  c                     [        S5      erO  rP  rQ  s      r   r   AsyncReader.__init__:  rS  r%   c                 0    [         R                  " U /UQ76 $ )zMGetNextUpdatedRegion(AsyncReader self, double timeout) -> GDALAsyncStatusType)r    AsyncReader_GetNextUpdatedRegionr  s     r   GetNextUpdatedRegion AsyncReader.GetNextUpdatedRegion?      55dBTBBr%   c                 0    [         R                  " U /UQ76 $ )zGetBuffer(AsyncReader self))r   AsyncReader_GetBufferr  s     r   	GetBufferAsyncReader.GetBufferC      **47$77r%   c                 0    [         R                  " U /UQ76 $ )z3LockBuffer(AsyncReader self, double timeout) -> int)r   AsyncReader_LockBufferr  s     r   
LockBufferAsyncReader.LockBufferG      ++D8488r%   c                 0    [         R                  " U /UQ76 $ )zUnlockBuffer(AsyncReader self))r   AsyncReader_UnlockBufferr  s     r   UnlockBufferAsyncReader.UnlockBufferK      --d:T::r%   r&   N)r   r   r;   r<   r=   r   r   r   r   r   r   delete_AsyncReaderr	  rc  rh  rm  rr  r?   r&   r%   r   r[  r[  5  sA    4-/IOdeG7H//C89;r%   r[  c                      \ rS rSrSr\" S S SS9rS r\r	\" \
R                  SS9r\" \
R                  S	S9r\" \
R                  S
S9r\
R"                  rS rS rS rS rS rS rS rS rS rS rS rS rS rS r S r!S r"S r#S r$S r%S r&S r'S  r(S! r)S" r*S# r+S$ r,S% r-S& r.S' r/S( r0S) r1S* r2S+ r3S, r4S- r5S. r6S/ r7S0 r8S\S2 jr9S3 r:S4 r;S5 r<S6 r=S7 r>S8 r?S9 r@S: rAS; rBS< rCS= rDS> rES? rFS@ rGSA rHSB rISC rJSD rKSE rLSFSFS1S1S1S1S1S1\MR                  S1S1SGS14SH jrOSFSFS1SG\MR                  S1S14SI jrP   S]SJ jr)SFSFS1S1S1S1S1S1S1S1S1\MR                  S1S1S14SK jrQ\MR                  SFSFS1S1S1S1S1S1SLSMSFS14SN jrS\MR                  SFSFS1S1SOSOS1S1\MR                  SMS14SP jrUSQ rVS^SR jr+S_SS jrWST r1SU rXSV rYSW rZSX r[SY r\SZ r]S[r^g1)`DatasetiQ  z

Python proxy of a raster :cpp:class:`GDALDataset`.

Since GDAL 3.8, a Dataset can be used as a context manager.
When exiting the context, the Dataset will be closed and
data will be written to disk.

c                 6    U R                   R                  5       $ r0   r  r  s    r   r  Dataset.<lambda>\  r  r%   c                 8    U R                   R                  U5      $ r0   r  r  s     r   r  ry  \  r  r%   r  r  c                     [        S5      erO  rP  rQ  s      r   r   Dataset.__init__^  rS  r%   zRasterXSize : intzRasterYSize : intzRasterCount : intc                 p    [         R                  " U /UQ76 nSU l        SU l        U R	                  5         U$ )a+  
Close(Dataset self) -> CPLErr

Closes opened dataset and releases allocated resources.

This method can be used to force the dataset to close
when one more references to the dataset are still
reachable. If Close is never called, the dataset will
be closed automatically during garbage collection.

r   N)r   Dataset_Closer   r   _invalidate_bandsr   ry   r\  s      r   CloseDataset.Closef  s8     !!$..	 
r%   c                 0    [         R                  " U /UQ76 $ )z!GetDriver(Dataset self) -> Driver)r   Dataset_GetDriverr  s     r   	GetDriverDataset.GetDriver}  r  r%   c                 V    [         R                  " U /UQ76 nU R                  U5        U$ )z.GetRasterBand(Dataset self, int nBand) -> Band)r   Dataset_GetRasterBand_add_band_refr  s      r   r[   Dataset.GetRasterBand  s,    ))$663 
r%   c                 0    [         R                  " U /UQ76 $ )z#GetRootGroup(Dataset self) -> Group)r   Dataset_GetRootGroupr  s     r   GetRootGroupDataset.GetRootGroup  r  r%   c                 0    [         R                  " U /UQ76 $ )z+GetProjection(Dataset self) -> char const *)r   Dataset_GetProjectionr  s     r   GetProjectionDataset.GetProjection  rj  r%   c                 0    [         R                  " U /UQ76 $ )z.GetProjectionRef(Dataset self) -> char const *)r   Dataset_GetProjectionRefr  s     r   GetProjectionRefDataset.GetProjectionRef  rt  r%   c                 0    [         R                  " U /UQ76 $ )z/GetSpatialRef(Dataset self) -> SpatialReference)r   Dataset_GetSpatialRefr  s     r   GetSpatialRefDataset.GetSpatialRef  rj  r%   c                 0    [         R                  " U /UQ76 $ )z7SetProjection(Dataset self, char const * prj) -> CPLErr)r   Dataset_SetProjectionr  s     r   SetProjectionDataset.SetProjection  rj  r%   c                 0    [         R                  " U /UQ76 $ )z;SetSpatialRef(Dataset self, SpatialReference srs) -> CPLErr)r   Dataset_SetSpatialRefr  s     r   SetSpatialRefDataset.SetSpatialRef  rj  r%   c                 6    [         R                  " U /UQ70 UD6$ )z9GetGeoTransform(Dataset self, int * can_return_null=None))r   Dataset_GetGeoTransformrQ  s      r   GetGeoTransformDataset.GetGeoTransform      ,,TCDCFCCr%   c                 0    [         R                  " U /UQ76 $ )z9SetGeoTransform(Dataset self, double [6] argin) -> CPLErr)r   Dataset_SetGeoTransformr  s     r   SetGeoTransformDataset.SetGeoTransform      ,,T9D99r%   c                 6    [         R                  " U /UQ70 UD6$ )zBuildOverviews(Dataset self, char const * resampling="NEAREST", int overviewlist=0, GDALProgressFunc callback=0, void * callback_data=None, char ** options=None) -> int)r   Dataset_BuildOverviewsrQ  s      r   BuildOverviewsDataset.BuildOverviews      ++DB4B6BBr%   c                 0    [         R                  " U /UQ76 $ )z GetGCPCount(Dataset self) -> int)r   Dataset_GetGCPCountr  s     r   GetGCPCountDataset.GetGCPCount  r`  r%   c                 0    [         R                  " U /UQ76 $ )z.GetGCPProjection(Dataset self) -> char const *)r   Dataset_GetGCPProjectionr  s     r   GetGCPProjectionDataset.GetGCPProjection  rt  r%   c                 0    [         R                  " U /UQ76 $ )z2GetGCPSpatialRef(Dataset self) -> SpatialReference)r   Dataset_GetGCPSpatialRefr  s     r   GetGCPSpatialRefDataset.GetGCPSpatialRef  rt  r%   c                 0    [         R                  " U /UQ76 $ )zGetGCPs(Dataset self))r   Dataset_GetGCPsr  s     r   GetGCPsDataset.GetGCPs  r  r%   c                 0    [         R                  " U /UQ76 $ )zJ_SetGCPs(Dataset self, int nGCPs, char const * pszGCPProjection) -> CPLErr)r   Dataset__SetGCPsr  s     r   _SetGCPsDataset._SetGCPs  r  r%   c                 0    [         R                  " U /UQ76 $ )zC_SetGCPs2(Dataset self, int nGCPs, SpatialReference hSRS) -> CPLErr)r   Dataset__SetGCPs2r  s     r   	_SetGCPs2Dataset._SetGCPs2  r  r%   c                 0    [         R                  " U /UQ76 $ )z"FlushCache(Dataset self) -> CPLErr)r   Dataset_FlushCacher  s     r   
FlushCacheDataset.FlushCache  rS  r%   c                 6    [         R                  " U /UQ70 UD6$ )zUAddBand(Dataset self, GDALDataType datatype=GDT_Byte, char ** options=None) -> CPLErr)r   Dataset_AddBandrQ  s      r   AddBandDataset.AddBand  s    $$T;D;F;;r%   c                 0    [         R                  " U /UQ76 $ )z2CreateMaskBand(Dataset self, int nFlags) -> CPLErr)r   Dataset_CreateMaskBandr  s     r   CreateMaskBandDataset.CreateMaskBand  ro  r%   c                 0    [         R                  " U /UQ76 $ )z$GetFileList(Dataset self) -> char **)r   Dataset_GetFileListr  s     r   GetFileListDataset.GetFileList  r`  r%   c                 6    [         R                  " U /UQ70 UD6$ )a  WriteRaster(Dataset self, int xoff, int yoff, int xsize, int ysize, GIntBig buf_len, int * buf_xsize=None, int * buf_ysize=None, GDALDataType * buf_type=None, int band_list=0, GIntBig * buf_pixel_space=None, GIntBig * buf_line_space=None, GIntBig * buf_band_space=None) -> CPLErr)r   Dataset_WriteRasterrQ  s      r   WriteRasterDataset.WriteRaster      ((????r%   c                 0    [         R                  " U /UQ76 $ )zAdviseRead(Dataset self, int xoff, int yoff, int xsize, int ysize, int * buf_xsize=None, int * buf_ysize=None, GDALDataType * buf_type=None, int band_list=0, char ** options=None) -> CPLErr)r   Dataset_AdviseReadr  s     r   
AdviseReadDataset.AdviseRead  rS  r%   c                 6    [         R                  " U /UQ70 UD6$ )a
  BeginAsyncReader(Dataset self, int xOff, int yOff, int xSize, int ySize, size_t buf_len, int buf_xsize, int buf_ysize, GDALDataType bufType=(GDALDataType) 0, int band_list=0, int nPixelSpace=0, int nLineSpace=0, int nBandSpace=0, char ** options=None) -> AsyncReader)r   Dataset_BeginAsyncReaderrQ  s      r   BeginAsyncReaderDataset.BeginAsyncReader      --dDTDVDDr%   c                 0    [         R                  " U /UQ76 $ )z.EndAsyncReader(Dataset self, AsyncReader ario))r   Dataset_EndAsyncReaderr  s     r   EndAsyncReaderDataset.EndAsyncReader  ro  r%   c                 6    [         R                  " U /UQ70 UD6$ )a  GetVirtualMem(Dataset self, GDALRWFlag eRWFlag, int nXOff, int nYOff, int nXSize, int nYSize, int nBufXSize, int nBufYSize, GDALDataType eBufType, int band_list, int bIsBandSequential, size_t nCacheSize, size_t nPageSizeHint, char ** options=None) -> VirtualMem)r   Dataset_GetVirtualMemrQ  s      r   GetVirtualMemDataset.GetVirtualMem      **4A$A&AAr%   c                 6    [         R                  " U /UQ70 UD6$ )a  GetTiledVirtualMem(Dataset self, GDALRWFlag eRWFlag, int nXOff, int nYOff, int nXSize, int nYSize, int nTileXSize, int nTileYSize, GDALDataType eBufType, int band_list, GDALTileOrganization eTileOrganization, size_t nCacheSize, char ** options=None) -> VirtualMem)r   Dataset_GetTiledVirtualMemrQ  s      r   GetTiledVirtualMemDataset.GetTiledVirtualMem  s    //FtFvFFr%   c                 6    [         R                  " U /UQ70 UD6$ )zCreateLayer(Dataset self, char const * name, SpatialReference srs=None, OGRwkbGeometryType geom_type=wkbUnknown, char ** options=None) -> Layer)r   Dataset_CreateLayerrQ  s      r   CreateLayerDataset.CreateLayer  r  r%   c                 6    [         R                  " U /UQ70 UD6$ )z^CopyLayer(Dataset self, Layer src_layer, char const * new_name, char ** options=None) -> Layer)r   Dataset_CopyLayerrQ  s      r   	CopyLayerDataset.CopyLayer      &&t=d=f==r%   c                 0    [         R                  " U /UQ76 $ )z.DeleteLayer(Dataset self, int index) -> OGRErr)r   Dataset_DeleteLayerr  s     r   DeleteLayerDataset.DeleteLayer  r`  r%   c                 0    [         R                  " U /UQ76 $ )z"GetLayerCount(Dataset self) -> int)r   Dataset_GetLayerCountr  s     r   GetLayerCountDataset.GetLayerCount  rj  r%   c                 0    [         R                  " U /UQ76 $ )z/IsLayerPrivate(Dataset self, int index) -> bool)r   Dataset_IsLayerPrivater  s     r   IsLayerPrivateDataset.IsLayerPrivate  ro  r%   c                 0    [         R                  " U /UQ76 $ )z3GetLayerByIndex(Dataset self, int index=0) -> Layer)r   Dataset_GetLayerByIndexr  s     r   GetLayerByIndexDataset.GetLayerByIndex  r  r%   c                 D    [        5         [        R                  " U /UQ76 $ )z>GetLayerByName(Dataset self, char const * layer_name) -> Layer)r   r   Dataset_GetLayerByNamer  s     r   GetLayerByNameDataset.GetLayerByName  s"     	78 ++D8488r%   c                 0    [         R                  " U /UQ76 $ )zResetReading(Dataset self))r   Dataset_ResetReadingr  s     r   ResetReadingDataset.ResetReading  r  r%   c                 6    [         R                  " U /UQ70 UD6$ )zGetNextFeature(Dataset self, bool include_layer=True, bool include_pct=False, GDALProgressFunc callback=0, void * callback_data=None) -> Feature)r   Dataset_GetNextFeaturerQ  s      r   GetNextFeatureDataset.GetNextFeature  r  r%   c                 0    [         R                  " U /UQ76 $ )z6TestCapability(Dataset self, char const * cap) -> bool)r   Dataset_TestCapabilityr  s     r   TestCapabilityDataset.TestCapability  ro  r%   Nc                     [         R                  " XX#5      nU(       a.  SSKnSUl        UR	                  U 5      Ul        U(       a  Xl        U$ )a  ExecuteSQL(self, statement, spatialFilter: ogr.Geometry = None, dialect: Optional[str] = "", keep_ref_on_ds=False) -> ogr.Layer

Execute a SQL statement against the dataset

The result of a SQL query is:
  - None (or an exception if exceptions are enabled) for statements
    that are in error
  - or None for statements that have no results set,
  - or a ogr.Layer handle representing a results set from the query.

Note that this ogr.Layer is in addition to the layers in the data store
and must be released with ReleaseResultSet() before the data source is closed
(destroyed).

Starting with GDAL 3.7, this method can also be used as a context manager,
as a convenient way of automatically releasing the returned result layer.

For more information on the SQL dialect supported internally by OGR
review the OGR SQL document (:ref:`ogr_sql_sqlite_dialect`)
Some drivers (i.e. Oracle and PostGIS) pass the SQL directly through to the
underlying RDBMS.

The SQLITE dialect can also be used (:ref:`sql_sqlite_dialect`)

Parameters
----------
statement:
    the SQL statement to execute (e.g "SELECT * FROM layer")
spatialFilter:
    a geometry which represents a spatial filter. Can be None
dialect:
    allows control of the statement dialect. If set to None or empty string,
    the OGR SQL engine will be used, except for RDBMS drivers that will
    use their dedicated SQL engine, unless OGRSQL is explicitly passed as
    the dialect. The SQLITE dialect can also be used.
keep_ref_on_ds:
    whether the returned layer should keep a (strong) reference on
    the current dataset. Cf example 2 for a use case.

Returns
-------
ogr.Layer:
    a ogr.Layer containing the results of the query, that will be
    automatically released when the context manager goes out of scope.

Examples
--------
1. Use as a context manager:

>>> with ds.ExecuteSQL("SELECT * FROM layer") as lyr:
...     print(lyr.GetFeatureCount())

2. Use keep_ref_on_ds=True to return an object that keeps a reference to its dataset:

>>> def get_sql_lyr():
...     return gdal.OpenEx("test.shp").ExecuteSQL("SELECT * FROM test", keep_ref_on_ds=True)
...
... with get_sql_lyr() as lyr:
...     print(lyr.GetFeatureCount())
r   NT)r   Dataset_ExecuteSQLweakref_to_releaseref_dataset_weak_ref_dataset_strong_ref)r   	statementspatialFilterdialectkeep_ref_on_dssql_lyrr   s          r   
ExecuteSQLDataset.ExecuteSQL  sD    | **4MS"&G(/D(9G%.2+r%   c                     U(       a  [        US5      (       d  [        S5      e[        R                  " X5        U(       a  SUl        SUl        gg)zReleaseResultSet(self, sql_lyr: ogr.Layer)

Release ogr.Layer returned by ExecuteSQL() (when not called as an execution manager)

The sql_lyr object is invalidated after this call.

Parameters
----------
sql_lyr:
    ogr.Layer got with ExecuteSQL()
r!  z^This layer was not returned by ExecuteSQL() and should not be released with ReleaseResultSet()N)r   r   r   Dataset_ReleaseResultSetr   r   )r   r)  s     r   ReleaseResultSetDataset.ReleaseResultSete  sC     77M::|}}&&t5"GOGL r%   c                 0    [         R                  " U /UQ76 $ )z)GetStyleTable(Dataset self) -> StyleTable)r   Dataset_GetStyleTabler  s     r   GetStyleTableDataset.GetStyleTable|  rj  r%   c                 0    [         R                  " U /UQ76 $ )z-SetStyleTable(Dataset self, StyleTable table))r   Dataset_SetStyleTabler  s     r   SetStyleTableDataset.SetStyleTable  rj  r%   c                 0    [         R                  " U /UQ76 $ )z AbortSQL(Dataset self) -> OGRErr)r   Dataset_AbortSQLr  s     r   AbortSQLDataset.AbortSQL  r  r%   c                 6    [         R                  " U /UQ70 UD6$ )z9StartTransaction(Dataset self, int force=FALSE) -> OGRErr)r   Dataset_StartTransactionrQ  s      r   StartTransactionDataset.StartTransaction  r  r%   c                 0    [         R                  " U /UQ76 $ )z)CommitTransaction(Dataset self) -> OGRErr)r   Dataset_CommitTransactionr  s     r   CommitTransactionDataset.CommitTransaction      ..t;d;;r%   c                 0    [         R                  " U /UQ76 $ )z+RollbackTransaction(Dataset self) -> OGRErr)r   Dataset_RollbackTransactionr  s     r   RollbackTransactionDataset.RollbackTransaction  r  r%   c                 0    [         R                  " U /UQ76 $ )zClearStatistics(Dataset self))r   Dataset_ClearStatisticsr  s     r   ClearStatisticsDataset.ClearStatistics  r  r%   c                 0    [         R                  " U /UQ76 $ )zBGetFieldDomainNames(Dataset self, char ** options=None) -> char **)r   Dataset_GetFieldDomainNamesr  s     r   GetFieldDomainNamesDataset.GetFieldDomainNames  r  r%   c                 0    [         R                  " U /UQ76 $ )z>GetFieldDomain(Dataset self, char const * name) -> FieldDomain)r   Dataset_GetFieldDomainr  s     r   GetFieldDomainDataset.GetFieldDomain  ro  r%   c                 0    [         R                  " U /UQ76 $ )z=AddFieldDomain(Dataset self, FieldDomain fieldDomain) -> bool)r   Dataset_AddFieldDomainr  s     r   AddFieldDomainDataset.AddFieldDomain  ro  r%   c                 0    [         R                  " U /UQ76 $ )z:DeleteFieldDomain(Dataset self, char const * name) -> bool)r   Dataset_DeleteFieldDomainr  s     r   DeleteFieldDomainDataset.DeleteFieldDomain  rD  r%   c                 0    [         R                  " U /UQ76 $ )z@UpdateFieldDomain(Dataset self, FieldDomain fieldDomain) -> bool)r   Dataset_UpdateFieldDomainr  s     r   UpdateFieldDomainDataset.UpdateFieldDomain  rD  r%   c                 0    [         R                  " U /UQ76 $ )zCGetRelationshipNames(Dataset self, char ** options=None) -> char **)r   Dataset_GetRelationshipNamesr  s     r   GetRelationshipNamesDataset.GetRelationshipNames  r  r%   c                 0    [         R                  " U /UQ76 $ )z@GetRelationship(Dataset self, char const * name) -> Relationship)r   Dataset_GetRelationshipr  s     r   GetRelationshipDataset.GetRelationship  r  r%   c                 0    [         R                  " U /UQ76 $ )z@AddRelationship(Dataset self, Relationship relationship) -> bool)r   Dataset_AddRelationshipr  s     r   AddRelationshipDataset.AddRelationship  r  r%   c                 0    [         R                  " U /UQ76 $ )z;DeleteRelationship(Dataset self, char const * name) -> bool)r   Dataset_DeleteRelationshipr  s     r   DeleteRelationshipDataset.DeleteRelationship  r  r%   c                 0    [         R                  " U /UQ76 $ )zCUpdateRelationship(Dataset self, Relationship relationship) -> bool)r   Dataset_UpdateRelationshipr  s     r   UpdateRelationshipDataset.UpdateRelationship  r  r%   c                 6    [         R                  " U /UQ70 UD6$ )a  ReadRaster1(Dataset self, double xoff, double yoff, double xsize, double ysize, int * buf_xsize=None, int * buf_ysize=None, GDALDataType * buf_type=None, int band_list=0, GIntBig * buf_pixel_space=None, GIntBig * buf_line_space=None, GIntBig * buf_band_space=None, GDALRIOResampleAlg resample_alg=GRIORA_NearestNeighbour, GDALProgressFunc callback=0, void * callback_data=None, void * inputOutputBuf=None) -> CPLErr)r   Dataset_ReadRaster1rQ  s      r   ReadRaster1Dataset.ReadRaster1  r  r%   r   r  c                 >    SSK Jn  UR                  XX#XEXgUU	U
UUUS9$ )Reading a chunk of a GDAL band into a numpy array. The optional (buf_xsize,buf_ysize,buf_type)
parameters should generally not be specified if buf_obj is specified. The array is returnedr   r   )resample_algrS  rT  
interleave	band_list)osgeor   DatasetReadAsArray)r   xoffyoffxsizeysizebuf_obj	buf_xsize	buf_ysizebuf_typer{  rS  rT  r|  r}  r   s                  r   ReadAsArrayDataset.ReadAsArray  s;     	%,,Te.7H;G7?<I9C8A - C 	Cr%   c	                 8    SSK Jn	  U	R                  XX#UUUUUS9	$ )Nr   r   )r}  r|  r{  rS  rT  )r~  r   DatasetWriteArray)
r   r  r  r  r}  r|  r{  rS  rT  r   s
             r   
WriteArrayDataset.WriteArray  s4     	%++D6?7A9E5=:G , I 	Ir%   c                 V   Uc  UnUc  UnU	c"  [        [        SU R                  S-   5      5      n	[        U5      R                  S:X  a'  Xc:X  a"  Xt:X  a  Uc  U
c  Uc  Uc  U R                  XQUU	S9$ Uc  U R                  S5      R                  n[        R                  " U XX4XVXxU	XU5      $ )Nr   ndarray)r  r  r}  )
r   rangeRasterCountr   r   r  r[   DataTyper   r  )r   r  r  r  r  
buf_stringr  r  r  r}  buf_pixel_spacebuf_line_spacebuf_band_spaces                r   r  r    s     IIU1d&6&6&:;<I 
$$	1)"49I"~'=.BX??:t-6 # 8 8))!,55H((UyIB 	Br%   c                    Uc  U R                   nUc  U R                  nUc"  [        [        SU R                  S-   5      5      nUc  UnUc  UnUc  U R                  S5      R                  n[        R                  " XX#UXVUXXXX5      $ )Nr   )	r^   r_   r   r  r  r[   r  r   rv  )r   r  r  r  r  r  r  r  r}  r  r  r  r{  rS  rT  r  s                   r   
ReadRasterDataset.ReadRaster  s     =$$E=$$EU1d&6&6&:;<III))!,55H((T%,5(,5*6-[ 	[r%   T   c                    SSK Jn  Uc  U R                  nUc  U R                  nUc  U R                  nUc  U R                  nUc  U R	                  S5      R
                  nU	c"  [        [        SU R                  S-   5      5      n	Uc  U R                  XX4XVXxXX5      nOU R                  XX4XVXxXXU5      nUR                  U5      $ )a  Return a NumPy array for the dataset, seen as a virtual memory mapping.
If there are several bands and band_sequential = True, an element is
accessed with array[band][y][x].
If there are several bands and band_sequential = False, an element is
accessed with array[y][x][band].
If there is only one band, an element is accessed with array[y][x].
Any reference to the array must be dropped before the last reference to the
related dataset is also dropped.
r   r   r   )r~  r   r^   r_   r[   r  r   r  r  r  VirtualMemGetArray)r   eAccessr  r  r  r  bufxsizebufysizedatatyper}  band_sequential
cache_sizepage_size_hintrr   r   
virtualmems                   r   GetVirtualMemArrayDataset.GetVirtualMemArray  s     	%=$$E=$$E''H''H))!,55HU1d&6&6&:;<I?++G4Yamv  JT  eJ++G4Yamv  JT  gn  oJ,,j::r%   rV   c                 R   SSK Jn  Uc  U R                  nUc  U R                  nUc  U R	                  S5      R
                  nU	c"  [        [        SU R                  S-   5      5      n	Uc  U R                  XX4XVXxXU5      nOU R                  XX4XVXxXX5      nUR                  U5      $ )a  Return a NumPy array for the dataset, seen as a virtual memory mapping with
a tile organization.
If there are several bands and tile_organization = gdal.GTO_TIP, an element is
accessed with array[tiley][tilex][y][x][band].
If there are several bands and tile_organization = gdal.GTO_BIT, an element is
accessed with array[tiley][tilex][band][y][x].
If there are several bands and tile_organization = gdal.GTO_BSQ, an element is
accessed with array[band][tiley][tilex][y][x].
If there is only one band, an element is accessed with array[tiley][tilex][y][x].
Any reference to the array must be dropped before the last reference to the
related dataset is also dropped.
r   r   r   )r~  r   r^   r_   r[   r  r   r  r  r  r  )r   r  r  r  r  r  	tilexsize	tileysizer  r}  tile_organizationr  rr   r   r  s                  r   GetTiledVirtualMemArrayDataset.GetTiledVirtualMemArray@  s      	%=$$E=$$E))!,55HU1d&6&6&:;<I?00U_ht}  S]  ^J00U_ht}  S]  gJ,,j::r%   c                 
   / nU R                  S5      nUc  U$ SnS[        U5      -   S-   U;   aS  UR                  US[        U5      -   S-      US[        U5      -   S-      45        US-   nS[        U5      -   S-   U;   a  MS  U$ )NSUBDATASETSr   SUBDATASET__NAME_DESC)r  r   r  )r   sd_listsdis       r   GetSubDatasetsDataset.GetSubDatasets_  s    m,:NCF"7*b0NNB}SV3G;<}SV3G;<> ?AA CF"7*b0 r%   c                    U	c"  [        [        SU R                  S-   5      5      n	Uc  SnUc  SnUc  [        R                  nUS::  a  UnUS::  a  UnU
c  / OU
n
UcX  SSKJn  [        Xg-  [        U	5      -  [        R                  " U5      S-  -  5      nUS:  a  S /n[        S5        US   nOSU-  n[        R                  " XX#XEXgXSSSU
5      $ )Nr   r   r      )rU   r   r   z$buf_obj_ar[0] = b' ' * nRequiredSize )r   r  r  rN   GDT_Bytesysr   r4  r-  r   GetDataTypeSizeexecr  )r   r  r  r  r  r  r  r  r  r}  rr   r   nRequiredSize
buf_obj_ars                 r   r  r  m  s   U1d&6&6&:;<III ))H>I>I"W?(	 5I F%J_J_`hJilmJm noMy("V
;<$Q----d$uW`mu  DE  GH  JK  MT  U  	Ur%   c                     [        5         [        U[        5      (       a  U R                  [        U5      5      $ [        U[        5      (       a  U R                  U5      $ [        S[        U5      -  5      e)z)Return the layer given an index or a name%Input %s is not of String or Int type)r   r   r   r  r4  r  	TypeErrorr   )r   iLayers     r   rD  Dataset.GetLayer  s_     	78fc""&&s6{33$$''//Cd6lRSSr%   c                    [        U[        5      (       aj  [        U R                  5       5       H?  nU R	                  U5      R                  5       nX1:X  d  M)  [        R                  " X5      s  $    [        SU-  5      e[        U[        5      (       a  [        R                  " X5      $ [        S[        U5      -  5      e)z.Deletes the layer given an index or layer namezLayer %s not found to deleter  )r   r   r  r  rD  GetNamer   r  r  r4  r  r   )r   r!   r  r    s       r   r   r    s    eS!!4--/0}}Q'//1= 44T== 1 ;eCDDs##,,T99Cd5kQRRr%   c                 p    [        U[        5      (       a  U R                  X5      $ U R                  X5      $ r0   )r   r   r  r  )r   gcpswkt_or_spatial_refs      r   SetGCPsDataset.SetGCPs  s.    (#..==::>>$;;r%   c                     Uc  g SS K n[        U S5      (       d  UR                  5       U l        U R                  R	                  U5        UR                  U 5      Ul        g )Nr   _band_references)r   r   WeakSetr  r$  r"  
_parent_ds)r   r  r   s      r   r  Dataset._add_band_ref  sN    <t/00$+OO$5D!!!$'!++d+r%   c                 \    [        U S5      (       a  U R                   H
  nS Ul        M     g g )Nr  )r   r  r   )r   r  s     r   r  Dataset._invalidate_bands  s,    4+,,-- 	 . -r%   c                 $    U R                  5         g r0   )r  r   s    r   __del__Dataset.__del__  s     r%   c                     U $ r0   r&   r  s    r   r   Dataset.__enter__  s    r%   c                 $    U R                  5         g r0   )r  r  s     r   r   Dataset.__exit__  s    

r%   )r  r   r   )Nr	   F)NNNNNNN)NNNNNNr  )_r   r   r;   r<   r=   r   r   r   r   r   r   Dataset_RasterXSize_getr^   Dataset_RasterYSize_getr_   Dataset_RasterCount_getr  delete_Datasetr	  r  r  r[   r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r   r  r  r  r  r  r  r  r*  r.  r2  r6  r:  r>  rB  rG  rK  rO  rS  rW  r[  r_  rc  rg  rk  ro  rs  rw  rN   GRIORA_NearestNeighbourr  r  r  GF_Readr  GTO_BSQr  r  rD  r  r  r  r  r   r   r?   r&   r%   r   rw  rw  Q  s    -/IOdeG7H588>VWK588>VWK588>VWK++.478;888D:C6;;2345<96@5E9BG@>689:97C9ER .883E<>:>99<<?::==@
  !qD$"dT!*!B!B!"&%"C& &'Q!$ ) A A !%I" >B"NR	B8  at4!TD!#'T ) A A !%[8 *3):):!%TD4$(DD(81#'	;B /8.?.?aa!%TSC$(DIL]L](8$;>U6
TS<
,!
!r%   rw  c                       \ rS rSrSr\" S S SS9rS r\r	\
R                  rS rS	 r/ 4S"S
 jjrS rS rS r/ 4S"S jjrS rS rS rS rS rS rS rS rS rS rS rS rS r S r!S r"S r#S r$S r%g!)#Groupi  zProxy of C++ GDALGroupHS class.c                 6    U R                   R                  5       $ r0   r  r  s    r   r  Group.<lambda>  r  r%   c                 8    U R                   R                  U5      $ r0   r  r  s     r   r  r    r  r%   r  r  c                     [        S5      erO  rP  rQ  s      r   r   Group.__init__  rS  r%   c                 0    [         R                  " U /UQ76 $ )z#GetName(Group self) -> char const *)r   Group_GetNamer  s     r   r  Group.GetName  r  r%   c                 0    [         R                  " U /UQ76 $ )z'GetFullName(Group self) -> char const *)r   Group_GetFullNamer  s     r   GetFullNameGroup.GetFullName  r  r%   c                 <    [         R                  " X5      nUc  / nU$ r0   )r   Group_GetMDArrayNamesr   rr   r   s      r   GetMDArrayNamesGroup.GetMDArrayNames  s!    ))$8;C
r%   c                 0    [         R                  " U /UQ76 $ )zKOpenMDArray(Group self, char const * name, char ** options=None) -> MDArray)r   Group_OpenMDArrayr  s     r   OpenMDArrayGroup.OpenMDArray  r  r%   c                 0    [         R                  " U /UQ76 $ )zWOpenMDArrayFromFullname(Group self, char const * name, char ** options=None) -> MDArray)r   Group_OpenMDArrayFromFullnamer  s     r   OpenMDArrayFromFullnameGroup.OpenMDArrayFromFullname      224?$??r%   c                 0    [         R                  " U /UQ76 $ )zkResolveMDArray(Group self, char const * name, char const * starting_point, char ** options=None) -> MDArray)r   Group_ResolveMDArrayr  s     r   ResolveMDArrayGroup.ResolveMDArray  r  r%   c                 <    [         R                  " X5      nUc  / nU$ r0   )r   Group_GetGroupNamesr  s      r   GetGroupNamesGroup.GetGroupNames  s!    ''6;C
r%   c                 0    [         R                  " U /UQ76 $ )zGOpenGroup(Group self, char const * name, char ** options=None) -> Group)r   Group_OpenGroupr  s     r   	OpenGroupGroup.OpenGroup  r  r%   c                 0    [         R                  " U /UQ76 $ )zSOpenGroupFromFullname(Group self, char const * name, char ** options=None) -> Group)r   Group_OpenGroupFromFullnamer  s     r   OpenGroupFromFullnameGroup.OpenGroupFromFullname  r  r%   c                 0    [         R                  " U /UQ76 $ )z@GetVectorLayerNames(Group self, char ** options=None) -> char **)r   Group_GetVectorLayerNamesr  s     r   GetVectorLayerNamesGroup.GetVectorLayerNames  rD  r%   c                 0    [         R                  " U /UQ76 $ )zMOpenVectorLayer(Group self, char const * name, char ** options=None) -> Layer)r   Group_OpenVectorLayerr  s     r   OpenVectorLayerGroup.OpenVectorLayer  rj  r%   c                 0    [         R                  " U /UQ76 $ )z/GetDimensions(Group self, char ** options=None))r   Group_GetDimensionsr  s     r   GetDimensionsGroup.GetDimensions  r`  r%   c                 0    [         R                  " U /UQ76 $ )z8GetAttribute(Group self, char const * name) -> Attribute)r   Group_GetAttributer  s     r   GetAttributeGroup.GetAttribute
  rS  r%   c                 0    [         R                  " U /UQ76 $ )z/GetAttributes(Group self, char ** options=None))r   Group_GetAttributesr  s     r   GetAttributesGroup.GetAttributes  r`  r%   c                 0    [         R                  " U /UQ76 $ )z(GetStructuralInfo(Group self) -> char **)r   Group_GetStructuralInfor  s     r   GetStructuralInfoGroup.GetStructuralInfo  r  r%   c                 0    [         R                  " U /UQ76 $ )zICreateGroup(Group self, char const * name, char ** options=None) -> Group)r   Group_CreateGroupr  s     r   CreateGroupGroup.CreateGroup  r  r%   c                 0    [         R                  " U /UQ76 $ )zJDeleteGroup(Group self, char const * name, char ** options=None) -> CPLErr)r   Group_DeleteGroupr  s     r   DeleteGroupGroup.DeleteGroup  r  r%   c                 0    [         R                  " U /UQ76 $ )zCreateDimension(Group self, char const * name, char const * type, char const * direction, GUIntBig size, char ** options=None) -> Dimension)r   Group_CreateDimensionr  s     r   CreateDimensionGroup.CreateDimension  rj  r%   c                 0    [         R                  " U /UQ76 $ )zyCreateMDArray(Group self, char const * name, int dimensions, ExtendedDataType data_type, char ** options=None) -> MDArray)r   Group_CreateMDArrayr  s     r   CreateMDArrayGroup.CreateMDArray"  r`  r%   c                 0    [         R                  " U /UQ76 $ )zLDeleteMDArray(Group self, char const * name, char ** options=None) -> CPLErr)r   Group_DeleteMDArrayr  s     r   DeleteMDArrayGroup.DeleteMDArray&  r`  r%   c                 0    [         R                  " U /UQ76 $ )z}CreateAttribute(Group self, char const * name, int dimensions, ExtendedDataType data_type, char ** options=None) -> Attribute)r   Group_CreateAttributer  s     r   CreateAttributeGroup.CreateAttribute*  rj  r%   c                 0    [         R                  " U /UQ76 $ )zNDeleteAttribute(Group self, char const * name, char ** options=None) -> CPLErr)r   Group_DeleteAttributer  s     r   DeleteAttributeGroup.DeleteAttribute.  rj  r%   c                 0    [         R                  " U /UQ76 $ )z2Rename(Group self, char const * newName) -> CPLErr)r   Group_Renamer  s     r   r7  Group.Rename2      !!$...r%   c                 0    [         R                  " U /UQ76 $ )z_SubsetDimensionFromSelection(Group self, char const * selection, char ** options=None) -> Group)r   "Group_SubsetDimensionFromSelectionr  s     r   SubsetDimensionFromSelection"Group.SubsetDimensionFromSelection6      77DtDDr%   r&   N)returnz	list[str])&r   r   r;   r<   r=   r   r   r   r   r   r   delete_Groupr	  r  r  r  r  r  r   r  r  r  r  r  r  r  r   r$  r(  r,  r0  r4  r8  r<  r@  r7  rH  r?   r&   r%   r   r  r    s    *-/IOdeG7H))04 )+ 4@7 ') 2><8656:4486688/Er%   r  c                       \ rS rSrSr\" S S SS9r\r\" \	R                  SS9r\" \	R                  SS9r\" \	R                  S	S9r\" \	R                   S
S9r\" \	R$                  SS9r\	R(                  rS rSrg)
Statisticsi<  zProxy of C++ Statistics class.c                 6    U R                   R                  5       $ r0   r  r  s    r   r  Statistics.<lambda>?  r  r%   c                 8    U R                   R                  U5      $ r0   r  r  s     r   r  rP  ?  r  r%   r  r  zmin : doublezmax : doublezmean : doublezstd_dev : doublezvalid_count : GIntBigc                 T    [         R                  " U [         R                  " U6 5        g)z'__init__(Statistics self) -> StatisticsN)r   Statistics_swiginitnew_Statisticsr  s     r   r   Statistics.__init__H  s    !!$(<(<d(CDr%   r&   N)r   r   r;   r<   r=   r   r   r   r   r   Statistics_min_getrm  Statistics_max_getrl  Statistics_mean_getmeanStatistics_std_dev_getstd_devStatistics_valid_count_getvalid_countdelete_Statisticsr	  r   r?   r&   r%   r   rN  rN  <  s    )-/IOdeGH
5++1D
EC
5++1D
ECE--3GHDu339PQG5;;A]^K..Er%   rN  c                      \ rS rSrSr\" S S SS9rS r\r	\
R                  rS rS	 rS
 rS rS rS rS rS rS rS rS rS rS rS rS rS rS rS rS rS r S r!S r"S r#S r$S  r%S! r&S" r'S# r(S$ r)S% r*S& r+S' r,S( r-S) r.S* r/S+ r0S, r1S- r2S. r3S/ r4S0 r5S1 r6S2 r7S3 r8S4 r9S5 r:S6 r;S7 r<S8 r=S9 r>S: r?     SIS< jr     SIS= jr@S;S;/ 4S> jrS? rA     SIS@ jr  SJSA jrB   SKSB jrCSC rD\" \DSDSE9rESF rFSG rGSHrHg;)LMDArrayiN  z!Proxy of C++ GDALMDArrayHS class.c                 6    U R                   R                  5       $ r0   r  r  s    r   r  MDArray.<lambda>Q  r  r%   c                 8    U R                   R                  U5      $ r0   r  r  s     r   r  rb  Q  r  r%   r  r  c                     [        S5      erO  rP  rQ  s      r   r   MDArray.__init__S  rS  r%   c                 0    [         R                  " U /UQ76 $ )z%GetName(MDArray self) -> char const *)r   MDArray_GetNamer  s     r   r  MDArray.GetNameX  r  r%   c                 0    [         R                  " U /UQ76 $ )z)GetFullName(MDArray self) -> char const *)r   MDArray_GetFullNamer  s     r   r  MDArray.GetFullName\  r`  r%   c                 0    [         R                  " U /UQ76 $ )z/GetTotalElementsCount(MDArray self) -> GUIntBig)r   MDArray_GetTotalElementsCountr  s     r   GetTotalElementsCountMDArray.GetTotalElementsCount`  r  r%   c                 0    [         R                  " U /UQ76 $ )z)GetDimensionCount(MDArray self) -> size_t)r   MDArray_GetDimensionCountr  s     r   GetDimensionCountMDArray.GetDimensionCountd  rD  r%   c                 0    [         R                  " U /UQ76 $ )zGetDimensions(MDArray self))r   MDArray_GetDimensionsr  s     r   r  MDArray.GetDimensionsh  rj  r%   c                 0    [         R                  " U /UQ76 $ )z$GetCoordinateVariables(MDArray self))r   MDArray_GetCoordinateVariablesr  s     r   GetCoordinateVariablesMDArray.GetCoordinateVariablesl      33D@4@@r%   c                 0    [         R                  " U /UQ76 $ )zGetBlockSize(MDArray self))r   MDArray_GetBlockSizer  s     r   GetBlockSizeMDArray.GetBlockSizep  r  r%   c                 0    [         R                  " U /UQ76 $ )z<GetProcessingChunkSize(MDArray self, size_t nMaxChunkMemory))r   MDArray_GetProcessingChunkSizer  s     r   GetProcessingChunkSizeMDArray.GetProcessingChunkSizet  r{  r%   c                 0    [         R                  " U /UQ76 $ )z-GetDataType(MDArray self) -> ExtendedDataType)r   MDArray_GetDataTyper  s     r   GetDataTypeMDArray.GetDataTypex  r`  r%   c                 0    [         R                  " U /UQ76 $ )z*GetStructuralInfo(MDArray self) -> char **)r   MDArray_GetStructuralInfor  s     r   r$  MDArray.GetStructuralInfo|  rD  r%   c                 0    [         R                  " U /UQ76 $ )zGResize(MDArray self, int newDimensions, char ** options=None) -> CPLErr)r   MDArray_Resizer  s     r   ResizeMDArray.Resize  rX  r%   c                 0    [         R                  " U /UQ76 $ )znRead(MDArray self, int nDims1, int nDims2, int nDims3, int nDims4, ExtendedDataType buffer_datatype) -> CPLErr)r   MDArray_Readr  s     r   ReadMDArray.Read  rE  r%   c                 0    [         R                  " U /UQ76 $ )zWriteStringArray(MDArray self, int nDims1, int nDims2, int nDims3, ExtendedDataType buffer_datatype, char ** options) -> CPLErr)r   MDArray_WriteStringArrayr  s     r   WriteStringArrayMDArray.WriteStringArray  rt  r%   c                 0    [         R                  " U /UQ76 $ )zWrite(MDArray self, int nDims1, int nDims2, int nDims3, int nDims4, ExtendedDataType buffer_datatype, GIntBig buf_len) -> CPLErr)r   MDArray_Writer  s     r   WriteMDArray.Write  r  r%   c                 0    [         R                  " U /UQ76 $ )zPAdviseRead(MDArray self, int nDims1, int nDims2, char ** options=None) -> CPLErr)r   MDArray_AdviseReadr  s     r   r  MDArray.AdviseRead  rS  r%   c                 0    [         R                  " U /UQ76 $ )z:GetAttribute(MDArray self, char const * name) -> Attribute)r   MDArray_GetAttributer  s     r   r  MDArray.GetAttribute  r  r%   c                 0    [         R                  " U /UQ76 $ )z1GetAttributes(MDArray self, char ** options=None))r   MDArray_GetAttributesr  s     r   r   MDArray.GetAttributes  rj  r%   c                 0    [         R                  " U /UQ76 $ )zCreateAttribute(MDArray self, char const * name, int dimensions, ExtendedDataType data_type, char ** options=None) -> Attribute)r   MDArray_CreateAttributer  s     r   r<  MDArray.CreateAttribute  r  r%   c                 0    [         R                  " U /UQ76 $ )zPDeleteAttribute(MDArray self, char const * name, char ** options=None) -> CPLErr)r   MDArray_DeleteAttributer  s     r   r@  MDArray.DeleteAttribute  r  r%   c                 0    [         R                  " U /UQ76 $ )z+GetNoDataValueAsRaw(MDArray self) -> CPLErr)r   MDArray_GetNoDataValueAsRawr  s     r   GetNoDataValueAsRawMDArray.GetNoDataValueAsRaw  r  r%   c                 0    [         R                  " U /UQ76 $ )z$GetNoDataValueAsDouble(MDArray self))r   MDArray_GetNoDataValueAsDoubler  s     r   GetNoDataValueAsDoubleMDArray.GetNoDataValueAsDouble  r{  r%   c                 0    [         R                  " U /UQ76 $ )z#GetNoDataValueAsInt64(MDArray self))r   MDArray_GetNoDataValueAsInt64r  s     r   GetNoDataValueAsInt64MDArray.GetNoDataValueAsInt64  r  r%   c                 0    [         R                  " U /UQ76 $ )z$GetNoDataValueAsUInt64(MDArray self))r   MDArray_GetNoDataValueAsUInt64r  s     r   GetNoDataValueAsUInt64MDArray.GetNoDataValueAsUInt64  r{  r%   c                 0    [         R                  " U /UQ76 $ )z=GetNoDataValueAsString(MDArray self) -> retStringAndCPLFree *)r   MDArray_GetNoDataValueAsStringr  s     r   GetNoDataValueAsStringMDArray.GetNoDataValueAsString  r{  r%   c                 0    [         R                  " U /UQ76 $ )z6SetNoDataValueDouble(MDArray self, double d) -> CPLErr)r   MDArray_SetNoDataValueDoubler  s     r   SetNoDataValueDoubleMDArray.SetNoDataValueDouble  r  r%   c                 0    [         R                  " U /UQ76 $ )z6SetNoDataValueInt64(MDArray self, GIntBig v) -> CPLErr)r   MDArray_SetNoDataValueInt64r  s     r   SetNoDataValueInt64MDArray.SetNoDataValueInt64  r  r%   c                 0    [         R                  " U /UQ76 $ )z8SetNoDataValueUInt64(MDArray self, GUIntBig v) -> CPLErr)r   MDArray_SetNoDataValueUInt64r  s     r   SetNoDataValueUInt64MDArray.SetNoDataValueUInt64  r  r%   c                 0    [         R                  " U /UQ76 $ )zASetNoDataValueString(MDArray self, char const * nodata) -> CPLErr)r   MDArray_SetNoDataValueStringr  s     r   SetNoDataValueStringMDArray.SetNoDataValueString  r  r%   c                 0    [         R                  " U /UQ76 $ )z7SetNoDataValueRaw(MDArray self, GIntBig nLen) -> CPLErr)r   MDArray_SetNoDataValueRawr  s     r   SetNoDataValueRawMDArray.SetNoDataValueRaw  rD  r%   c                 0    [         R                  " U /UQ76 $ )z)DeleteNoDataValue(MDArray self) -> CPLErr)r   MDArray_DeleteNoDataValuer  s     r   DeleteNoDataValueMDArray.DeleteNoDataValue  rD  r%   c                 0    [         R                  " U /UQ76 $ )zGetOffset(MDArray self))r   MDArray_GetOffsetr  s     r   	GetOffsetMDArray.GetOffset  r  r%   c                 0    [         R                  " U /UQ76 $ )z2GetOffsetStorageType(MDArray self) -> GDALDataType)r   MDArray_GetOffsetStorageTyper  s     r   GetOffsetStorageTypeMDArray.GetOffsetStorageType  r  r%   c                 0    [         R                  " U /UQ76 $ )zGetScale(MDArray self))r   MDArray_GetScaler  s     r   GetScaleMDArray.GetScale  r  r%   c                 0    [         R                  " U /UQ76 $ )z1GetScaleStorageType(MDArray self) -> GDALDataType)r   MDArray_GetScaleStorageTyper  s     r   GetScaleStorageTypeMDArray.GetScaleStorageType  r  r%   c                 6    [         R                  " U /UQ70 UD6$ )zSSetOffset(MDArray self, double val, GDALDataType storageType=GDT_Unknown) -> CPLErr)r   MDArray_SetOffsetrQ  s      r   	SetOffsetMDArray.SetOffset  r  r%   c                 6    [         R                  " U /UQ70 UD6$ )zRSetScale(MDArray self, double val, GDALDataType storageType=GDT_Unknown) -> CPLErr)r   MDArray_SetScalerQ  s      r   SetScaleMDArray.SetScale      %%d<T<V<<r%   c                 0    [         R                  " U /UQ76 $ )z2SetUnit(MDArray self, char const * unit) -> CPLErr)r   MDArray_SetUnitr  s     r   SetUnitMDArray.SetUnit  r  r%   c                 0    [         R                  " U /UQ76 $ )z%GetUnit(MDArray self) -> char const *)r   MDArray_GetUnitr  s     r   GetUnitMDArray.GetUnit  r  r%   c                 0    [         R                  " U /UQ76 $ )z;SetSpatialRef(MDArray self, SpatialReference srs) -> OGRErr)r   MDArray_SetSpatialRefr  s     r   r  MDArray.SetSpatialRef  rj  r%   c                 0    [         R                  " U /UQ76 $ )z/GetSpatialRef(MDArray self) -> SpatialReference)r   MDArray_GetSpatialRefr  s     r   r  MDArray.GetSpatialRef  rj  r%   c                 0    [         R                  " U /UQ76 $ )z7GetView(MDArray self, char const * viewExpr) -> MDArray)r   MDArray_GetViewr  s     r   GetViewMDArray.GetView  r  r%   c                 0    [         R                  " U /UQ76 $ )z/Transpose(MDArray self, int axisMap) -> MDArray)r   MDArray_Transposer  s     r   	TransposeMDArray.Transpose  r  r%   c                 0    [         R                  " U /UQ76 $ )z$GetUnscaled(MDArray self) -> MDArray)r   MDArray_GetUnscaledr  s     r   GetUnscaledMDArray.GetUnscaled   r`  r%   c                 0    [         R                  " U /UQ76 $ )z6GetMask(MDArray self, char ** options=None) -> MDArray)r   MDArray_GetMaskr  s     r   GetMaskMDArray.GetMask  r  r%   c                 6    [         R                  " U /UQ70 UD6$ )zGetGridded(MDArray self, char const * pszGridOptions, MDArray xArray=None, MDArray yArray=None, char ** options=None) -> MDArray)r   MDArray_GetGriddedrQ  s      r   
GetGriddedMDArray.GetGridded      ''>t>v>>r%   c                 0    [         R                  " U /UQ76 $ )zrAsClassicDataset(MDArray self, size_t iXDim, size_t iYDim, Group hRootGroup=None, char ** options=None) -> Dataset)r   MDArray_AsClassicDatasetr  s     r   AsClassicDatasetMDArray.AsClassicDataset  rt  r%   c                 6    [         R                  " U /UQ70 UD6$ )zGetStatistics(MDArray self, bool approx_ok=FALSE, bool force=TRUE, GDALProgressFunc callback=0, void * callback_data=None) -> Statistics)r   MDArray_GetStatisticsrQ  s      r   GetStatisticsMDArray.GetStatistics  r  r%   c                 6    [         R                  " U /UQ70 UD6$ )zComputeStatistics(MDArray self, bool approx_ok=FALSE, GDALProgressFunc callback=0, void * callback_data=None, char ** options=None) -> Statistics)r   MDArray_ComputeStatisticsrQ  s      r   ComputeStatisticsMDArray.ComputeStatistics  s    ..tEdEfEEr%   c                 0    [         R                  " U /UQ76 $ )zGetResampled(MDArray self, int nDimensions, GDALRIOResampleAlg resample_alg, OSRSpatialReferenceShadow ** srs, char ** options=None) -> MDArray)r   MDArray_GetResampledr  s     r   GetResampledMDArray.GetResampled  r  r%   c                 0    [         R                  " U /UQ76 $ )z1Cache(MDArray self, char ** options=None) -> bool)r   MDArray_Cacher  s     r   CacheMDArray.Cache  r  r%   c                 0    [         R                  " U /UQ76 $ )z4Rename(MDArray self, char const * newName) -> CPLErr)r   MDArray_Renamer  s     r   r7  MDArray.Rename   rX  r%   Nc                    U(       d  S/U R                  5       -  nU(       d-  U R                  5        Vs/ s H  ofR                  5       PM     nnU(       d  S/U R                  5       -  nU(       d;  Sn/ n[        U5       H  nUR	                  U5        Xx-  nM     UR                  5         U(       d  U R                  5       n[        R                  " XX#XE5      $ s  snf )Nr   r   )	rr  r  GetSizereversedr  reverser  r   r  )	r   array_start_idxcount
array_stepbuffer_stridebuffer_datatyper  stridecnts	            r   r  r  $  s     C$"8"8"::/-1-?-?-AC-AcKKM-A%CsT3355*&- e_c""6*mf % 


! ,,./!!$Mkk Ds   Cc                 4    SSK Jn  UR                  XX#XE5      $ Nr   r   )r~  r   MDArrayReadAsArray)r   r-  r.  r/  r1  r  r   s          r   r  MDArray.ReadAsArray=  s     	%,,TEWfppr%   c                    U(       d  S/U R                  5       -  nU(       dL  [        U R                  5       5       Vs/ s H(  o@R                  5       U   R                  5       X   -
  PM*     nn[        R
                  " XX#5      $ s  snf )Nr   )rr  r  r  r*  r   r  )r   r-  r.  rr   r  s        r   r  r  G  sy    C$"8"8"::/V[]a]s]s]uVvxVvQR'')!,4469KKVv%x''uNN ys   /Bc                    S n[        U[        5      (       a7  U R                  SUR                  SS5      R                  SS5      -   S-   5      $ [        U[        5      (       a  U R                  SU" U5      -   S	-   5      $ [        U[
        5      (       a<  U R                  SS
R                  U Vs/ s H
  o2" U5      PM     sn5      -   S	-   5      $ U R                  SU" U5      -   S	-   5      $ s  snf )Nc                    U [         :X  a  g[        U [        5      (       aP  SR                  U R                  U R
                  U R                  4 Vs/ s H  ob  [        U5      OSPM     sn5      $ [        U [        5      (       a  U $ [        U [        [        S5      45      (       a  [        U 5      $  SS K
nXR                  :X  a  g [        U 5      $ s  snf !    N= f)Nz...:r	      /g,r   newaxis)Ellipsisr   slicer  startstopstepr   r4  r   numpyr=  )rX  r  nps      r   	stringify&MDArray.__getitem__.<locals>.stringifyP  s    hAu%%QWWVWV\V\^_^d^dLe"fLeq]3q6#BLe"fggAs##(AT.%9:;;Q-$**_& %
 Vm #gs   C4C Cz["\z\\"z\"z"][]r  )r   r   r  replacer?  r  r  )r   r  rE  r  s       r   __getitem__MDArray.__getitem__N  s    $ c""\\$dF)C)K)KCQV)W"WZ^"^__$&&\\#	$"7#"=>>$&&\\#1M1)A,1M(N"NQT"TUU\\#	$"7#"=>> 2Ns   2C0c                 `   U R                  5       n[        U5      R                  S:X  a  Uc  Uc  Uc  U R                  XUS9$ US:X  a  [        U5      R                  S:X  a  Uc  Uc}  Ucz  [        [
        [        [        [        [        [        [        [        [        [        S.nUR                  UR                  4n	X;  a  [!        S5      e["        R%                  X   5      nOUS:X  a  [        U5      [        / 5      :X  a  ['        U5      S:w  a  U R)                  5       R+                  5       [,        :w  a  [        nU HT  n
[/        U
[0        5      (       a  U
S:  d  U
S	:  a  [        nM,  M.  [/        U
[2        5      (       a  [        nMK  [5        S
5      e   SS KnUR7                  U[        :X  a  SOSU5      n["        R%                  U5      nU(       d  U R)                  5       nU R)                  5       R+                  5       [,        :H  =(       a#    UR+                  5       [,        :H  =(       a    US:H  nU(       d  S/U-  nU(       d[  U(       a'  [        U5      [        / 5      :X  d   e['        U5      /nO-U R9                  5        Vs/ s H  oR;                  5       PM     nnU(       d  S/U-  nU(       d;  Sn/ n[=        U5       H  nUR?                  U5        X-  nM     URA                  5         U(       a  [B        RD                  " XX4Xa5      $ [B        RF                  " XX4XVU5      $ s  snf )Nr  )r-  r/  r   r  ))Br   )rV  r   )hrT   )HrT   )r  r  )Ir  )lr  )qr  )Qr  )rK  r  )dr  z'unhandled type for buffer of type arrayr   l           z7Only lists with integer or float elements are supportedrV  r  )$rr  r   r   r  r  GDT_Int8	GDT_Int16
GDT_UInt16	GDT_Int32
GDT_UInt32	GDT_Int64
GDT_UInt64GDT_Float32GDT_Float64typecodeitemsizer   ExtendedDataTyper]   r-  r  GetClassGEDTC_STRINGr   r4  r  r  r  r  r*  r+  r  r,  r   r  r  )r   bufferr-  r.  r/  r0  r1  dimCountmap_typecode_itemsize_to_gdalr  rX  r  is_1d_stringr  r2  r3  s                   r   r  r  k  s    ))+ <  I-=]27N??6Wa?bb q=T&\22g==]27N!!"#"#""#$$-) ??FOO4C7 IJJ.556S6XYO ]tF|tBx7CK1<L!!#,,.,>'Oa%%W~Z*5 *85))&1O$%^__  [[;(FCQWXF.55oFO ,,./'')224D  FIaIaIcgsIs  F  yA  EF  yFC(N/&\T"X---Foe151C1C1EG1E#1EeGsX~*&- e_c""6*mf % 


!11$\ktt""4%]mstt% Hs   	L+c                 2    SSK Jn  UR                  XX#5      $ r5  )r~  r   MDArrayWriteArray)r   r  r-  r/  r   s        r   r  MDArray.WriteArray  s     	%++DUUr%   c                 *   SSK nU R                  5       nUbS  U R                  XU5      nUR                  XU5      nUR                  [        5      ) nUR
                  R                  XhS9$ UR
                  R                  U R                  XU5      SS9$ )z<Return a numpy masked array of ReadAsArray() with GetMask() r   N)mask)rC  r  r  astypeboolmar  )	r   r-  r.  r/  rC  rn  r  
mask_array
bool_arrays	            r   ReadAsMaskedArrayMDArray.ReadAsMaskedArray  s    
 	||~$$_ZHE))/*MJ$++D11J88>>%>9988>>$"2"2?:"V]a>bbr%   c                     U R                  5       (       d  gSnU R                  5        H  nXR                  5       4-  nM     U$ )zReturn the shape of the array Nr&   )rr  r  r*  )r   shpr  s      r   GetShapeMDArray.GetShape  sB    ##%%c##%# &jr%   zReturns the shape of the array.)fgetr  c                    U R                  5       nUR                  5       [        :X  a8  UR                  5       [        R
                  :X  a  [        R                  " U 5      $ UR                  5       [        :X  a8  UR                  5       [        R                  :X  a  [        R                  " U 5      $ [        R                  " U 5      $ )z&GetNoDataValue(MDArray self) -> value )r  rd  GEDTC_NUMERICGetNumericDataTyperN   r]  r   r  r^  r  r  )r   dts     r   GetNoDataValueMDArray.GetNoDataValue  s     b	-	'B,A,A,CyGZGZ,Z44T:
:	-	'B,A,A,CyG[G[,[55d;
;11$77r%   c                    U R                  5       nUR                  5       [        :X  a8  UR                  5       [        R
                  :X  a  [        R                  " X5      $ UR                  5       [        :X  a8  UR                  5       [        R                  :X  a  [        R                  " X5      $ [        R                  " X5      $ )z-SetNoDataValue(MDArray self, value) -> CPLErr)r  rd  r|  r}  rN   r]  r   r  r^  r  r  )r   r!   r~  s      r   SetNoDataValueMDArray.SetNoDataValue  s     b	-	'B,A,A,CyGZGZ,Z224?
?	-	'B,A,A,CyG[G[,[33D@
@//<<r%   r&   NNNNNNN)NNN)Ir   r   r;   r<   r=   r   r   r   r   r   r   delete_MDArrayr	  r  r  rn  rr  r  ry  r~  r  r  r$  r  r  r  r  r  r  r   r<  r@  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r   r$  r7  r  rL  r  rt  rx  shaper  r  r?   r&   r%   r   r`  r`  N  s   ,-/IOdeG7H++26@<8A7A6<1/;0578::>A@AA?>??<<4?3>>=22882462?;BF701
  $!#l4 '+ !%&*"q ,0 O?>  $!#Tun '+!%V '+ !%c ((IJE
8
=r%   r`  c                       \ rS rSrSr\" S S SS9rS r\r	\
R                  rS rS	 rS
 rS rS rS rS rS rS rS rS rS rS rS rS rS rS rS rS rS r S r!S r"Sr#g) 	Attributei  z#Proxy of C++ GDALAttributeHS class.c                 6    U R                   R                  5       $ r0   r  r  s    r   r  Attribute.<lambda>  r  r%   c                 8    U R                   R                  U5      $ r0   r  r  s     r   r  r    r  r%   r  r  c                     [        S5      erO  rP  rQ  s      r   r   Attribute.__init__  rS  r%   c                 0    [         R                  " U /UQ76 $ )z'GetName(Attribute self) -> char const *)r   Attribute_GetNamer  s     r   r  Attribute.GetName	  r  r%   c                 0    [         R                  " U /UQ76 $ )z+GetFullName(Attribute self) -> char const *)r   Attribute_GetFullNamer  s     r   r  Attribute.GetFullName  rj  r%   c                 0    [         R                  " U /UQ76 $ )z1GetTotalElementsCount(Attribute self) -> GUIntBig)r   Attribute_GetTotalElementsCountr  s     r   rn  Attribute.GetTotalElementsCount      44TADAAr%   c                 0    [         R                  " U /UQ76 $ )z+GetDimensionCount(Attribute self) -> size_t)r   Attribute_GetDimensionCountr  s     r   rr  Attribute.GetDimensionCount  r  r%   c                 0    [         R                  " U /UQ76 $ )z!GetDimensionsSize(Attribute self))r   Attribute_GetDimensionsSizer  s     r   GetDimensionsSizeAttribute.GetDimensionsSize  r  r%   c                 0    [         R                  " U /UQ76 $ )z/GetDataType(Attribute self) -> ExtendedDataType)r   Attribute_GetDataTyper  s     r   r  Attribute.GetDataType  rj  r%   c                 0    [         R                  " U /UQ76 $ )z#ReadAsRaw(Attribute self) -> CPLErr)r   Attribute_ReadAsRawr  s     r   	ReadAsRawAttribute.ReadAsRaw!  r`  r%   c                 0    [         R                  " U /UQ76 $ )z,ReadAsString(Attribute self) -> char const *)r   Attribute_ReadAsStringr  s     r   ReadAsStringAttribute.ReadAsString%  ro  r%   c                 0    [         R                  " U /UQ76 $ )z ReadAsInt(Attribute self) -> int)r   Attribute_ReadAsIntr  s     r   	ReadAsIntAttribute.ReadAsInt)  r`  r%   c                 0    [         R                  " U /UQ76 $ )z&ReadAsDouble(Attribute self) -> double)r   Attribute_ReadAsDoubler  s     r   ReadAsDoubleAttribute.ReadAsDouble-  ro  r%   c                 0    [         R                  " U /UQ76 $ )z,ReadAsStringArray(Attribute self) -> char **)r   Attribute_ReadAsStringArrayr  s     r   ReadAsStringArrayAttribute.ReadAsStringArray1  r  r%   c                 0    [         R                  " U /UQ76 $ )zReadAsIntArray(Attribute self))r   Attribute_ReadAsIntArrayr  s     r   ReadAsIntArrayAttribute.ReadAsIntArray5  rt  r%   c                 0    [         R                  " U /UQ76 $ )z!ReadAsDoubleArray(Attribute self))r   Attribute_ReadAsDoubleArrayr  s     r   ReadAsDoubleArrayAttribute.ReadAsDoubleArray9  r  r%   c                 0    [         R                  " U /UQ76 $ )z0WriteRaw(Attribute self, GIntBig nLen) -> CPLErr)r   Attribute_WriteRawr  s     r   WriteRawAttribute.WriteRaw=  rS  r%   c                 0    [         R                  " U /UQ76 $ )z7WriteString(Attribute self, char const * val) -> CPLErr)r   Attribute_WriteStringr  s     r   WriteStringAttribute.WriteStringA  rj  r%   c                 0    [         R                  " U /UQ76 $ )z8WriteStringArray(Attribute self, char ** vals) -> CPLErr)r   Attribute_WriteStringArrayr  s     r   r  Attribute.WriteStringArrayE  r  r%   c                 0    [         R                  " U /UQ76 $ )z+WriteInt(Attribute self, int val) -> CPLErr)r   Attribute_WriteIntr  s     r   WriteIntAttribute.WriteIntI  rS  r%   c                 0    [         R                  " U /UQ76 $ )z1WriteDouble(Attribute self, double val) -> CPLErr)r   Attribute_WriteDoubler  s     r   WriteDoubleAttribute.WriteDoubleM  rj  r%   c                 0    [         R                  " U /UQ76 $ )z5WriteDoubleArray(Attribute self, int nList) -> CPLErr)r   Attribute_WriteDoubleArrayr  s     r   WriteDoubleArrayAttribute.WriteDoubleArrayQ  r  r%   c                 0    [         R                  " U /UQ76 $ )z6Rename(Attribute self, char const * newName) -> CPLErr)r   Attribute_Renamer  s     r   r7  Attribute.RenameU  r  r%   c                    U R                  5       nUR                  5       nU[        :X  ad  U R                  5       S:X  a@  U R	                  5       nUR                  5       [        :X  a   SSKnUR                  U5      $ U$ U R                  5       $ U[        :X  a  UR                  5       [        [        [        [        [         4;   a4  U R                  5       S:X  a  U R#                  5       $ U R%                  5       $ U R                  5       S:X  a  U R'                  5       $ U R)                  5       $ U R+                  5       $ !    U$ = f)z?Read an attribute and return it with the most appropriate type r   r   N)r  rd  re  rn  r  
GetSubTypeGEDTST_JSONr   r   r  r|  r}  r  rX  rY  rZ  r[  r  r  r  r  r  )r   r~  dt_classrc  r   s        r   r  Attribute.ReadZ  s   bh	\	!'')Q.##%aK/!!ZZ]* h'')
)	]	"""$8Y
T](^^++-2)),,..++-2**,,//11^^hs   (D> >Ec                    [        U[        [        S5      45      (       a.  US:  a  US::  a  U R                  U5      $ U R	                  U5      $ [        U[
        5      (       a  U R	                  U5      $ [        U[        5      (       a7  U R                  5       R                  5       [        :w  a  U R                  U5      $ [        U[        5      (       a  [        U5      S:X  aH  U R                  5       R                  5       [        :X  a  U R                  U5      $ U R                  U5      $ [        US   [        [        S5      [
        45      (       a  U R                  U5      $ [        US   [        5      (       a  U R                  U5      $ [        U[         5      (       aJ  U R                  5       R#                  5       [$        :X  a$  SS KnU R                  UR)                  U5      5      $ U R+                  U5      $ )Nr<  rW  ir   )r   r4  r   r  r  r  r   r  rd  GEDTC_COMPOUNDr  r   r-  re  r  r  r+  r  r  r   dumpsr  )r   r\  r   s      r   r  Attribute.Writev  s   	C#tN34	5	5KC:$5]]3''%%c**	C		$$	C		$"2"2"4"="="?>"Q$$	C		s8q=((*l:**3//**3//c!fsD$8%@AA&&s+
+c!fc""&&s+
+	C		4#3#3#5#@#@#Bk#Q
!!$**S/2
2]]3r%   r&   N)$r   r   r;   r<   r=   r   r   r   r   r   r   delete_Attributer	  r  r  rn  rr  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r7  r  r  r?   r&   r%   r   r  r    s    .-/IOdeG7H--48B>>86969>;>58=58=3
8 r%   r  c                   ~    \ rS rSrSr\" S S SS9rS r\r	\
R                  rS rS	 rS
 rS rS rS rS rS rSrg)	Dimensioni  z#Proxy of C++ GDALDimensionHS class.c                 6    U R                   R                  5       $ r0   r  r  s    r   r  Dimension.<lambda>  r  r%   c                 8    U R                   R                  U5      $ r0   r  r  s     r   r  r    r  r%   r  r  c                     [        S5      erO  rP  rQ  s      r   r   Dimension.__init__  rS  r%   c                 0    [         R                  " U /UQ76 $ )z'GetName(Dimension self) -> char const *)r   Dimension_GetNamer  s     r   r  Dimension.GetName  r  r%   c                 0    [         R                  " U /UQ76 $ )z+GetFullName(Dimension self) -> char const *)r   Dimension_GetFullNamer  s     r   r  Dimension.GetFullName  rj  r%   c                 0    [         R                  " U /UQ76 $ )z'GetType(Dimension self) -> char const *)r   Dimension_GetTyper  s     r   GetTypeDimension.GetType  r  r%   c                 0    [         R                  " U /UQ76 $ )z,GetDirection(Dimension self) -> char const *)r   Dimension_GetDirectionr  s     r   GetDirectionDimension.GetDirection  ro  r%   c                 0    [         R                  " U /UQ76 $ )z#GetSize(Dimension self) -> GUIntBig)r   Dimension_GetSizer  s     r   r*  Dimension.GetSize  r  r%   c                 0    [         R                  " U /UQ76 $ )z.GetIndexingVariable(Dimension self) -> MDArray)r   Dimension_GetIndexingVariabler  s     r   GetIndexingVariableDimension.GetIndexingVariable  r  r%   c                 0    [         R                  " U /UQ76 $ )z:SetIndexingVariable(Dimension self, MDArray array) -> bool)r   Dimension_SetIndexingVariabler  s     r   SetIndexingVariableDimension.SetIndexingVariable  r  r%   c                 0    [         R                  " U /UQ76 $ )z6Rename(Dimension self, char const * newName) -> CPLErr)r   Dimension_Renamer  s     r   r7  Dimension.Rename  r  r%   r&   N)r   r   r;   r<   r=   r   r   r   r   r   r   delete_Dimensionr	  r  r  r  r  r*  r  r  r7  r?   r&   r%   r   r  r    sV    .-/IOdeG7H--48494@@3r%   r  c                       \ rS rSrSr\" S S SS9rS r\r	\
R                  r\S 5       r\S	 5       r\S
 5       rS rS rS rS rS rS rS rS rS rS rS rSrg)rc  i  z*Proxy of C++ GDALExtendedDataTypeHS class.c                 6    U R                   R                  5       $ r0   r  r  s    r   r  ExtendedDataType.<lambda>  r  r%   c                 8    U R                   R                  U5      $ r0   r  r  s     r   r  r	    r  r%   r  r  c                     [        S5      erO  rP  rQ  s      r   r   ExtendedDataType.__init__  rS  r%   c                  (    [         R                  " U 6 $ )z+Create(GDALDataType dt) -> ExtendedDataType)r   ExtendedDataType_Createrx   s    r   r]   ExtendedDataType.Create  s     ,,d33r%   c                  (    [         R                  " U 6 $ )zmCreateString(size_t nMaxStringLength=0, GDALExtendedDataTypeSubType eSubType=GEDTST_NONE) -> ExtendedDataType)r   ExtendedDataType_CreateStringrx   s    r   CreateStringExtendedDataType.CreateString  s     22D99r%   c                  (    [         R                  " U 6 $ )zTCreateCompound(char const * name, size_t nTotalSize, int nComps) -> ExtendedDataType)r   ExtendedDataType_CreateCompoundrx   s    r   CreateCompoundExtendedDataType.CreateCompound  s     44d;;r%   c                 0    [         R                  " U /UQ76 $ )z.GetName(ExtendedDataType self) -> char const *)r   ExtendedDataType_GetNamer  s     r   r  ExtendedDataType.GetName  rt  r%   c                 0    [         R                  " U /UQ76 $ )z<GetClass(ExtendedDataType self) -> GDALExtendedDataTypeClass)r   ExtendedDataType_GetClassr  s     r   rd  ExtendedDataType.GetClass  rD  r%   c                 0    [         R                  " U /UQ76 $ )z9GetNumericDataType(ExtendedDataType self) -> GDALDataType)r   #ExtendedDataType_GetNumericDataTyper  s     r   r}  #ExtendedDataType.GetNumericDataType      88EEEr%   c                 0    [         R                  " U /UQ76 $ )z(GetSize(ExtendedDataType self) -> size_t)r   ExtendedDataType_GetSizer  s     r   r*  ExtendedDataType.GetSize  rt  r%   c                 0    [         R                  " U /UQ76 $ )z3GetMaxStringLength(ExtendedDataType self) -> size_t)r   #ExtendedDataType_GetMaxStringLengthr  s     r   GetMaxStringLength#ExtendedDataType.GetMaxStringLength  r!  r%   c                 0    [         R                  " U /UQ76 $ )z@GetSubType(ExtendedDataType self) -> GDALExtendedDataTypeSubType)r   ExtendedDataType_GetSubTyper  s     r   r  ExtendedDataType.GetSubType  r  r%   c                 0    [         R                  " U /UQ76 $ )z$GetComponents(ExtendedDataType self))r   ExtendedDataType_GetComponentsr  s     r   GetComponentsExtendedDataType.GetComponents  r{  r%   c                 0    [         R                  " U /UQ76 $ )zCCanConvertTo(ExtendedDataType self, ExtendedDataType other) -> bool)r   ExtendedDataType_CanConvertTor  s     r   CanConvertToExtendedDataType.CanConvertTo  r  r%   c                 0    [         R                  " U /UQ76 $ )z=Equals(ExtendedDataType self, ExtendedDataType other) -> bool)r   ExtendedDataType_Equalsr  s     r   EqualsExtendedDataType.Equals  r  r%   c                 $    U R                  U5      $ r0   )r6  r   others     r   __eq__ExtendedDataType.__eq__  s    [[r%   c                 .    U R                  U5      (       + $ r0   )r;  r9  s     r   __ne__ExtendedDataType.__ne__  s    U###r%   r&   N)r   r   r;   r<   r=   r   r   r   r   r   r   delete_ExtendedDataTyper	  staticmethodr]   r  r  r  rd  r}  r*  r'  r  r.  r2  r6  r;  r>  r?   r&   r%   r   rc  rc    s    5-/IOdeG7H444 4 : : < <;<F;F>A@:
 $r%   rc  c                   p    \ rS rSrSr\" S S SS9rS r\r	\
R                  r\S 5       rS	 rS
 rS rSrg)EDTComponenti  z&Proxy of C++ GDALEDTComponentHS class.c                 6    U R                   R                  5       $ r0   r  r  s    r   r  EDTComponent.<lambda>  r  r%   c                 8    U R                   R                  U5      $ r0   r  r  s     r   r  rE    r  r%   r  r  c                     [        S5      erO  rP  rQ  s      r   r   EDTComponent.__init__  rS  r%   c                  (    [         R                  " U 6 $ )zOCreate(char const * name, size_t offset, ExtendedDataType type) -> EDTComponent)r   EDTComponent_Createrx   s    r   r]   EDTComponent.Create  s     (($//r%   c                 0    [         R                  " U /UQ76 $ )z*GetName(EDTComponent self) -> char const *)r   EDTComponent_GetNamer  s     r   r  EDTComponent.GetName  r  r%   c                 0    [         R                  " U /UQ76 $ )z&GetOffset(EDTComponent self) -> size_t)r   EDTComponent_GetOffsetr  s     r   r  EDTComponent.GetOffset  ro  r%   c                 0    [         R                  " U /UQ76 $ )z.GetType(EDTComponent self) -> ExtendedDataType)r   EDTComponent_GetTyper  s     r   r  EDTComponent.GetType#  r  r%   r&   N)r   r   r;   r<   r=   r   r   r   r   r   r   delete_EDTComponentr	  rA  r]   r  r  r  r?   r&   r%   r   rC  rC    sM    1-/IOdeG7H000 0797r%   rC  c                   <   \ rS rSrSr\" S S SS9rS r\r	\" \
R                  SS9r\" \
R                  S	S9r\" \
R                  S
S9rS rS rS rS rS rS rS rS rS rS rS rSTS jrS rS rS rS r S r!S r"S r#S r$S r%S  r&S! r'S" r(S# r)S$ r*STS% jr+S& r,S' r-S( r.S) r/S* r0S+ r1S, r2S- r3S. r4S/ r5S0 r6S1 r7S2 r8S3 r9S4 r:S5 r;S6 r<S7 r=S8 r>S9 r?S: r@S; rAS< rBS= rCS> rDS? rES@ rFSA rGSB rHSC rISD rJSE rKSF rLSG rMSHSHSISISISISISISI\NR                  SISISI4SJ jrP  SUSK jr3SHSHSISISISISISI\NR                  SISI4SL jrQSHSH\NR                  SISI4SM jrR\NR                  SHSHSISISISISISNSHSI4SO jrT\NR                  SI4SP jrU\NR                  SHSHSISISQSQSISNSI4
SR jrVSSrWgI)VBandi)  z(Proxy of C++ GDALRasterBandShadow class.c                 6    U R                   R                  5       $ r0   r  r  s    r   r  Band.<lambda>,  r  r%   c                 8    U R                   R                  U5      $ r0   r  r  s     r   r  rY  ,  r  r%   r  r  c                     [        S5      erO  rP  rQ  s      r   r   Band.__init__.  rS  r%   zXSize : intzYSize : intzDataType : GDALDataTypec                 0    [         R                  " U /UQ76 $ )z GetDataset(Band self) -> Dataset)r   Band_GetDatasetr  s     r   
GetDatasetBand.GetDataset5  r  r%   c                 0    [         R                  " U /UQ76 $ )zGetBand(Band self) -> int)r   Band_GetBandr  s     r   GetBandBand.GetBand9  rE  r%   c                 0    [         R                  " U /UQ76 $ )zGetBlockSize(Band self))r   Band_GetBlockSizer  s     r   r~  Band.GetBlockSize=  r  r%   c                 0    [         R                  " U /UQ76 $ )z=GetActualBlockSize(Band self, int nXBlockOff, int nYBlockOff))r   Band_GetActualBlockSizer  s     r   GetActualBlockSizeBand.GetActualBlockSizeA  r  r%   c                 0    [         R                  " U /UQ76 $ )z4GetColorInterpretation(Band self) -> GDALColorInterp)r   Band_GetColorInterpretationr  s     r   GetColorInterpretationBand.GetColorInterpretationE  r  r%   c                 0    [         R                  " U /UQ76 $ )z:GetRasterColorInterpretation(Band self) -> GDALColorInterp)r   !Band_GetRasterColorInterpretationr  s     r   GetRasterColorInterpretation!Band.GetRasterColorInterpretationI  r  r%   c                 0    [         R                  " U /UQ76 $ )z@SetColorInterpretation(Band self, GDALColorInterp val) -> CPLErr)r   Band_SetColorInterpretationr  s     r   SetColorInterpretationBand.SetColorInterpretationM  r  r%   c                 0    [         R                  " U /UQ76 $ )zFSetRasterColorInterpretation(Band self, GDALColorInterp val) -> CPLErr)r   !Band_SetRasterColorInterpretationr  s     r   SetRasterColorInterpretation!Band.SetRasterColorInterpretationQ  r  r%   c                     U R                   [        R                  :X  a  [        R                  " U 5      $ U R                   [        R
                  :X  a  [        R                  " U 5      $ [        R                  " U 5      $ )z#GetNoDataValue(Band self) -> value )r  rN   r]  r   Band_GetNoDataValueAsInt64r^  Band_GetNoDataValueAsUInt64Band_GetNoDataValuer  s    r   r  Band.GetNoDataValueU  s[     ==I///33D99==I00044T::((..r%   c                 0    [         R                  " U /UQ76 $ )z GetNoDataValueAsInt64(Band self))r   r}  r  s     r   r  Band.GetNoDataValueAsInt64b  r  r%   c                 0    [         R                  " U /UQ76 $ )z!GetNoDataValueAsUInt64(Band self))r   r~  r  s     r   r  Band.GetNoDataValueAsUInt64f  r  r%   c                     U R                   [        R                  :X  a  [        R                  " X5      $ U R                   [        R
                  :X  a  [        R                  " X5      $ [        R                  " X5      $ )z*SetNoDataValue(Band self, value) -> CPLErr)r  rN   r]  r   Band_SetNoDataValueAsInt64r^  Band_SetNoDataValueAsUInt64Band_SetNoDataValue)r   r!   s     r   r  Band.SetNoDataValuej  s[     ==I///33D@@==I00044TAA((55r%   c                 0    [         R                  " U /UQ76 $ )z5SetNoDataValueAsInt64(Band self, GIntBig v) -> CPLErr)r   r  r  s     r   SetNoDataValueAsInt64Band.SetNoDataValueAsInt64w  r  r%   c                 0    [         R                  " U /UQ76 $ )z7SetNoDataValueAsUInt64(Band self, GUIntBig v) -> CPLErr)r   r  r  s     r   SetNoDataValueAsUInt64Band.SetNoDataValueAsUInt64{  r  r%   c                 0    [         R                  " U /UQ76 $ )z&DeleteNoDataValue(Band self) -> CPLErr)r   Band_DeleteNoDataValuer  s     r   r  Band.DeleteNoDataValue  ro  r%   c                 0    [         R                  " U /UQ76 $ )z&GetUnitType(Band self) -> char const *)r   Band_GetUnitTyper  s     r   GetUnitTypeBand.GetUnitType  r  r%   c                 0    [         R                  " U /UQ76 $ )z2SetUnitType(Band self, char const * val) -> CPLErr)r   Band_SetUnitTyper  s     r   SetUnitTypeBand.SetUnitType  r  r%   c                 0    [         R                  " U /UQ76 $ )z,GetRasterCategoryNames(Band self) -> char **)r   Band_GetRasterCategoryNamesr  s     r   GetRasterCategoryNamesBand.GetRasterCategoryNames  r  r%   c                 0    [         R                  " U /UQ76 $ )z:SetRasterCategoryNames(Band self, char ** names) -> CPLErr)r   Band_SetRasterCategoryNamesr  s     r   SetRasterCategoryNamesBand.SetRasterCategoryNames  r  r%   c                 0    [         R                  " U /UQ76 $ )zGetMinimum(Band self))r   Band_GetMinimumr  s     r   
GetMinimumBand.GetMinimum  r  r%   c                 0    [         R                  " U /UQ76 $ )zGetMaximum(Band self))r   Band_GetMaximumr  s     r   
GetMaximumBand.GetMaximum  r  r%   c                 0    [         R                  " U /UQ76 $ )zGetOffset(Band self))r   Band_GetOffsetr  s     r   r  Band.GetOffset  rX  r%   c                 0    [         R                  " U /UQ76 $ )zGetScale(Band self))r   Band_GetScaler  s     r   r  Band.GetScale  r  r%   c                 0    [         R                  " U /UQ76 $ )z*SetOffset(Band self, double val) -> CPLErr)r   Band_SetOffsetr  s     r   r  Band.SetOffset  rX  r%   c                 0    [         R                  " U /UQ76 $ )z)SetScale(Band self, double val) -> CPLErr)r   Band_SetScaler  s     r   r  Band.SetScale  r  r%   c                 0    [         R                  " U /UQ76 $ )z<GetStatistics(Band self, int approx_ok, int force) -> CPLErr)r   Band_GetStatisticsr  s     r   r  Band.GetStatistics  rS  r%   c                     [        U5      S:X  a
  US   US'   SnSU;   aA  US   S:X  a  SUS'   O2US   S:X  a  SUS'   O#[        US   [        5      (       a  [        S5      e[        R
                  " U /UQ70 UD6$ )zYComputeStatistics(Band self, bool approx_ok, callback=None, callback_data=None) -> CPLErrr   r   	approx_okr&   FT(approx_ok value should be 0/1/False/True)r-  r   r4  r   r   Band_ComputeStatisticsrQ  s      r   r  Band.ComputeStatistics  s     t9>"&q'F;D& k"a'&+{#$)&*{#F;/55 JKK++DB4B6BBr%   c                 0    [         R                  " U /UQ76 $ )zVSetStatistics(Band self, double min, double max, double mean, double stddev) -> CPLErr)r   Band_SetStatisticsr  s     r   SetStatisticsBand.SetStatistics  rS  r%   c                 0    [         R                  " U /UQ76 $ )z"GetOverviewCount(Band self) -> int)r   Band_GetOverviewCountr  s     r   GetOverviewCountBand.GetOverviewCount  rj  r%   c                     [         R                  " U /UQ76 n[        U S5      (       a4  U R                  5       (       a  U R                  5       R	                  U5        U$ )z%GetOverview(Band self, int i) -> Bandr  )r   Band_GetOverviewr   r  r  r  s      r   GetOverviewBand.GetOverview  L    $$T1D14&&4??+<+<OO++C0 
r%   c                 6    [         R                  " U /UQ70 UD6$ )zVChecksum(Band self, int xoff=0, int yoff=0, int * xsize=None, int * ysize=None) -> int)r   Band_ChecksumrQ  s      r   ChecksumBand.Checksum  s    ""49$9&99r%   c                    [        U5      S:X  a
  US   US'   SnSU;   aA  US   S:X  a  SUS'   O2US   S:X  a  SUS'   O#[        US   [        5      (       a  [        S5      eSU;   a  US   US	'   US	 [        R
                  " U /UQ70 UD6$ )
zfComputeRasterMinMax(Band self, bool approx_ok=False, bool can_return_none=False) -> (min, max) or Noner   r   r  r&   FTr  can_return_nullcan_return_none)r-  r   r4  r   r   Band_ComputeRasterMinMaxrQ  s      r   ComputeRasterMinMaxBand.ComputeRasterMinMax  s     t9>"&q'F;D& k"a'&+{#$)&*{#F;/55 JKK &(./@(AF$%()--dDTDVDDr%   c                 0    [         R                  " U /UQ76 $ )z-ComputeBandStats(Band self, int samplestep=1))r   Band_ComputeBandStatsr  s     r   ComputeBandStatsBand.ComputeBandStats  rj  r%   c                 0    [         R                  " U /UQ76 $ )zAFill(Band self, double real_fill, double imag_fill=0.0) -> CPLErr)r   	Band_Fillr  s     r   Fill	Band.Fill  s    t+d++r%   c                 6    [         R                  " U /UQ70 UD6$ )zWriteRaster(Band self, int xoff, int yoff, int xsize, int ysize, GIntBig buf_len, int * buf_xsize=None, int * buf_ysize=None, GDALDataType * buf_type=None, GIntBig * buf_pixel_space=None, GIntBig * buf_line_space=None) -> CPLErr)r   Band_WriteRasterrQ  s      r   r  Band.WriteRaster  r  r%   c                 0    [         R                  " U /UQ76 $ )zFlushCache(Band self))r   Band_FlushCacher  s     r   r  Band.FlushCache  r  r%   c                 0    [         R                  " U /UQ76 $ )z,GetRasterColorTable(Band self) -> ColorTable)r   Band_GetRasterColorTabler  s     r   GetRasterColorTableBand.GetRasterColorTable  rt  r%   c                 0    [         R                  " U /UQ76 $ )z&GetColorTable(Band self) -> ColorTable)r   Band_GetColorTabler  s     r   GetColorTableBand.GetColorTable  rS  r%   c                 0    [         R                  " U /UQ76 $ )z5SetRasterColorTable(Band self, ColorTable arg) -> int)r   Band_SetRasterColorTabler  s     r   r`   Band.SetRasterColorTable  rt  r%   c                 0    [         R                  " U /UQ76 $ )z/SetColorTable(Band self, ColorTable arg) -> int)r   Band_SetColorTabler  s     r   SetColorTableBand.SetColorTable  rS  r%   c                 0    [         R                  " U /UQ76 $ )z0GetDefaultRAT(Band self) -> RasterAttributeTable)r   Band_GetDefaultRATr  s     r   GetDefaultRATBand.GetDefaultRAT  rS  r%   c                 0    [         R                  " U /UQ76 $ )z;SetDefaultRAT(Band self, RasterAttributeTable table) -> int)r   Band_SetDefaultRATr  s     r   SetDefaultRATBand.SetDefaultRAT  rS  r%   c                     [         R                  " U /UQ76 n[        U S5      (       a4  U R                  5       (       a  U R                  5       R	                  U5        U$ )zGetMaskBand(Band self) -> Bandr  )r   Band_GetMaskBandr   r  r  r  s      r   GetMaskBandBand.GetMaskBand  r  r%   c                 0    [         R                  " U /UQ76 $ )zGetMaskFlags(Band self) -> int)r   Band_GetMaskFlagsr  s     r   GetMaskFlagsBand.GetMaskFlags&  r  r%   c                 0    [         R                  " U /UQ76 $ )z/CreateMaskBand(Band self, int nFlags) -> CPLErr)r   Band_CreateMaskBandr  s     r   r  Band.CreateMaskBand*  r`  r%   c                 0    [         R                  " U /UQ76 $ )zIsMaskBand(Band self) -> bool)r   Band_IsMaskBandr  s     r   
IsMaskBandBand.IsMaskBand.  r  r%   c                 6    [         R                  " U /UQ70 UD6$ )zGetHistogram(Band self, double min=-0.5, double max=255.5, int buckets=256, int include_out_of_range=0, int approx_ok=1, GDALProgressFunc callback=0, void * callback_data=None) -> CPLErr)r   Band_GetHistogramrQ  s      r   GetHistogramBand.GetHistogram2  r  r%   c                 6    [         R                  " U /UQ70 UD6$ )zGetDefaultHistogram(Band self, double * min_ret=None, double * max_ret=None, int * buckets_ret=None, GUIntBig ** ppanHistogram=None, int force=1, GDALProgressFunc callback=0, void * callback_data=None) -> CPLErr)r   Band_GetDefaultHistogramrQ  s      r   GetDefaultHistogramBand.GetDefaultHistogram6  r  r%   c                 0    [         R                  " U /UQ76 $ )zPSetDefaultHistogram(Band self, double min, double max, int buckets_in) -> CPLErr)r   Band_SetDefaultHistogramr  s     r   SetDefaultHistogramBand.SetDefaultHistogram:  rt  r%   c                 0    [         R                  " U /UQ76 $ )z(HasArbitraryOverviews(Band self) -> bool)r   Band_HasArbitraryOverviewsr  s     r   HasArbitraryOverviewsBand.HasArbitraryOverviews>  r  r%   c                 0    [         R                  " U /UQ76 $ )z&GetCategoryNames(Band self) -> char **)r   Band_GetCategoryNamesr  s     r   GetCategoryNamesBand.GetCategoryNamesB  rj  r%   c                 0    [         R                  " U /UQ76 $ )zASetCategoryNames(Band self, char ** papszCategoryNames) -> CPLErr)r   Band_SetCategoryNamesr  s     r   SetCategoryNamesBand.SetCategoryNamesF  rj  r%   c                 6    [         R                  " U /UQ70 UD6$ )zGetVirtualMem(Band self, GDALRWFlag eRWFlag, int nXOff, int nYOff, int nXSize, int nYSize, int nBufXSize, int nBufYSize, GDALDataType eBufType, size_t nCacheSize, size_t nPageSizeHint, char ** options=None) -> VirtualMem)r   Band_GetVirtualMemrQ  s      r   r  Band.GetVirtualMemJ  r  r%   c                 6    [         R                  " U /UQ70 UD6$ )zTGetVirtualMemAuto(Band self, GDALRWFlag eRWFlag, char ** options=None) -> VirtualMem)r   Band_GetVirtualMemAutorQ  s      r   GetVirtualMemAutoBand.GetVirtualMemAutoN  r  r%   c                 6    [         R                  " U /UQ70 UD6$ )zGetTiledVirtualMem(Band self, GDALRWFlag eRWFlag, int nXOff, int nYOff, int nXSize, int nYSize, int nTileXSize, int nTileYSize, GDALDataType eBufType, size_t nCacheSize, char ** options=None) -> VirtualMem)r   Band_GetTiledVirtualMemrQ  s      r   r  Band.GetTiledVirtualMemR  r  r%   c                 0    [         R                  " U /UQ76 $ )zjGetDataCoverageStatus(Band self, int nXOff, int nYOff, int nXSize, int nYSize, int nMaskFlagStop=0) -> int)r   Band_GetDataCoverageStatusr  s     r   GetDataCoverageStatusBand.GetDataCoverageStatusV  r  r%   c                 0    [         R                  " U /UQ76 $ )zAdviseRead(Band self, int xoff, int yoff, int xsize, int ysize, int * buf_xsize=None, int * buf_ysize=None, GDALDataType * buf_type=None, char ** options=None) -> CPLErr)r   Band_AdviseReadr  s     r   r  Band.AdviseReadZ  r  r%   c                 0    [         R                  " U /UQ76 $ )zAsMDArray(Band self) -> MDArray)r   Band_AsMDArrayr  s     r   	AsMDArrayBand.AsMDArray^  rX  r%   c                 0    [         R                  " U /UQ76 $ )z4_EnablePixelTypeSignedByteWarning(Band self, bool b))r   &Band__EnablePixelTypeSignedByteWarningr  s     r   !_EnablePixelTypeSignedByteWarning&Band._EnablePixelTypeSignedByteWarningb      ;;DH4HHr%   c                 6    [         R                  " U /UQ70 UD6$ )al  ReadRaster1(Band self, double xoff, double yoff, double xsize, double ysize, int * buf_xsize=None, int * buf_ysize=None, GDALDataType * buf_type=None, GIntBig * buf_pixel_space=None, GIntBig * buf_line_space=None, GDALRIOResampleAlg resample_alg=GRIORA_NearestNeighbour, GDALProgressFunc callback=0, void * callback_data=None, void * inputOutputBuf=None) -> CPLErr)r   Band_ReadRaster1rQ  s      r   rw  Band.ReadRaster1f  r  r%   c                 6    [         R                  " U /UQ70 UD6$ )zGReadBlock(Band self, int xoff, int yoff, void * buf_obj=None) -> CPLErr)r   Band_ReadBlockrQ  s      r   	ReadBlockBand.ReadBlockj  s    ##D:4:6::r%   r   Nc                 z    Uc  U R                   nUc  U R                  n[        R                  " XX#UXVUXXUU5      $ r0   )XSizeYSizer   r=	  )r   r  r  r  r  r  r  r  r  r  r{  rS  rT  r  s                 r   r  Band.ReadRastero  sI     =JJE=JJE%%d$u&/H&5&2m&-	/ 	/r%   c                     Uc  UnUc  Un[        U5      R                  S:X  a#  Xc:X  a  Xt:X  a  Uc  U	c  U
c  U R                  XQUS9$ Uc  U R                  n[        R
                  " U XX4XVXxX5      $ )Nr  )r  r  )r   r   r  r  r   r  )r   r  r  r  r  r  r  r  r  r  r  s              r   r  r    s    
 II 
$$	1)"49I"~'=??:t?DD}}H%%dUy2 	2r%   c                 :    SSK Jn  UR                  XUX4XVXxU	U
US9$ )rz  r   r   r{  rS  rT  )r~  r   BandReadAsArray)r   r  r  	win_xsize	win_ysizer  r  r  r  r{  rS  rT  r   s                r   r  Band.ReadAsArray  s6     	%))$d+4+48D4<9F * H 	Hr%   c           
      4    SSK Jn  UR                  XX#UUUS9$ )Nr   r   rI	  )r~  r   BandWriteArray)r   r  r  r  r{  rS  rT  r   s           r   r  Band.WriteArray  s.     	%((d7C3;8E ) G 	Gr%   r  c                 $   SSK Jn  Uc  U R                  nUc  U R                  nUc  U R                  nUc  U R                  nUc  U R                  nUc  U R                  XX4XVXxX5
      nOU R                  XX4XVXxXU5      nUR                  U5      $ zReturn a NumPy array for the band, seen as a virtual memory mapping.
An element is accessed with array[y][x].
Any reference to the array must be dropped before the last reference to the
related dataset is also dropped.
r   r   )r~  r   rD	  rE	  r  r  r  )r   r  r  r  r  r  r  r  r  r  r  rr   r   r  s                 r   r  Band.GetVirtualMemArray  s     ']jje]jjehhh_--gT%[coy  Kj--gT%[coy  LS  Tj..z:
:r%   c                 |    SSK Jn  Uc  U R                  U5      nOU R                  X5      nUR                  U5      $ rR	  )r~  r   r'	  r  )r   r  rr   r   r  s        r   GetVirtualMemAutoArrayBand.GetVirtualMemAutoArray  s=     '_11':j11'Cj..
<
<r%   rV   c                     SSK Jn  Uc  U R                  nUc  U R                  nUc  U R                  nU
c  U R                  XX4XVXxU	5	      nOU R                  XX4XVXxX5
      nUR                  U5      $ )a  Return a NumPy array for the band, seen as a virtual memory mapping with
a tile organization.
An element is accessed with array[tiley][tilex][y][x].
Any reference to the array must be dropped before the last reference to the
related dataset is also dropped.
r   r   )r~  r   rD	  rE	  r  r  r  )r   r  r  r  r  r  r  r  r  r  rr   r   r  s                r   r  Band.GetTiledVirtualMemArray  s     ']jje]jjeh_227$uaj  wA  Bj227$uaj  wA  Kj..
<
<r%   r&   )rK  CPLErrr  )Xr   r   r;   r<   r=   r   r   r   r   r   r   Band_XSize_getrD	  Band_YSize_getrE	  Band_DataType_getr  r_  rc  r~  rj  rn  rr  rv  rz  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r`   r  r  r  r  r	  r  r	  r	  r	  r	  r	  r	  r 	  r  r'	  r  r.	  r  r5	  r9	  rw  rA	  rN   r  r  r  r  r  r  rU	  r  r?   r&   r%   r   rW  rW  )  sr   3-/IOdeG7HU))/ABEU))/ABE//5STH2/4:>D>D	/=>	6=>933>>2210105C(58:E28,=2;5;555462>E;=88?CD=21I=;
  at4!TD#' ) A A !%/* >B9=22  !qDD"dT4!*!B!B!"&	H" &'Q ) A A !%	G *3):):!%TD4$((81#'	;6 .7->-> = /8.?.?aa#'tsc&**:D=r%   rW  c                   x    \ rS rSrSr\" S S SS9r\rS r	\
R                  rS rS	 rS
 rS rS rS rS rSrg)rY   i  z(Proxy of C++ GDALColorTableShadow class.c                 6    U R                   R                  5       $ r0   r  r  s    r   r  ColorTable.<lambda>  r  r%   c                 8    U R                   R                  U5      $ r0   r  r  s     r   r  r_	    r  r%   r  r  c                 Z    [         R                  " U [         R                  " U0 UD65        g)zJ__init__(ColorTable self, GDALPaletteInterp palette=GPI_RGB) -> ColorTableN)r   ColorTable_swiginitnew_ColorTablerQ  s      r   r   ColorTable.__init__   s"    !!$(<(<d(Mf(MNr%   c                 0    [         R                  " U /UQ76 $ )z$Clone(ColorTable self) -> ColorTable)r   ColorTable_Cloner  s     r   CloneColorTable.Clone  r  r%   c                 0    [         R                  " U /UQ76 $ )z>GetPaletteInterpretation(ColorTable self) -> GDALPaletteInterp)r   #ColorTable_GetPaletteInterpretationr  s     r   GetPaletteInterpretation#ColorTable.GetPaletteInterpretation	  r!  r%   c                 0    [         R                  " U /UQ76 $ )z GetCount(ColorTable self) -> int)r   ColorTable_GetCountr  s     r   GetCountColorTable.GetCount  r`  r%   c                 0    [         R                  " U /UQ76 $ )z7GetColorEntry(ColorTable self, int entry) -> ColorEntry)r   ColorTable_GetColorEntryr  s     r   GetColorEntryColorTable.GetColorEntry  rt  r%   c                 0    [         R                  " U /UQ76 $ )zHGetColorEntryAsRGB(ColorTable self, int entry, ColorEntry centry) -> int)r   ColorTable_GetColorEntryAsRGBr  s     r   GetColorEntryAsRGBColorTable.GetColorEntryAsRGB  r  r%   c                 0    [         R                  " U /UQ76 $ )z<SetColorEntry(ColorTable self, int entry, ColorEntry centry))r   ColorTable_SetColorEntryr  s     r   SetColorEntryColorTable.SetColorEntry  rt  r%   c                 0    [         R                  " U /UQ76 $ )zlCreateColorRamp(ColorTable self, int nStartIndex, ColorEntry startcolor, int nEndIndex, ColorEntry endcolor))r   ColorTable_CreateColorRampr  s     r   CreateColorRampColorTable.CreateColorRamp  r  r%   r&   N)r   r   r;   r<   r=   r   r   r   r   r   r   delete_ColorTabler	  rg	  rk	  ro	  rs	  rw	  r{	  r	  r?   r&   r%   r   rY   rY     sT    3-/IOdeGHO ..3F6;@;=r%   rY   c                       \ rS rSrSr\" S S SS9r\rS r	\
R                  rS rS	 rS
 rS rS rS rS rS rS rS rS rS rS rS rS rS rS rS rS rS r S r!S r"S"S jr#S#S  jr$S!r%g)$RasterAttributeTablei#  z2Proxy of C++ GDALRasterAttributeTableShadow class.c                 6    U R                   R                  5       $ r0   r  r  s    r   r  RasterAttributeTable.<lambda>&  r  r%   c                 8    U R                   R                  U5      $ r0   r  r  s     r   r  r	  &  r  r%   r  r  c                 T    [         R                  " U [         R                  " U6 5        g)z;__init__(RasterAttributeTable self) -> RasterAttributeTableN)r   RasterAttributeTable_swiginitnew_RasterAttributeTabler  s     r   r   RasterAttributeTable.__init__)      ++D%2P2PRV2WXr%   c                 0    [         R                  " U /UQ76 $ )z8Clone(RasterAttributeTable self) -> RasterAttributeTable)r   RasterAttributeTable_Cloner  s     r   rg	  RasterAttributeTable.Clone.  r  r%   c                 0    [         R                  " U /UQ76 $ )z0GetColumnCount(RasterAttributeTable self) -> int)r   #RasterAttributeTable_GetColumnCountr  s     r   GetColumnCount#RasterAttributeTable.GetColumnCount2  r!  r%   c                 0    [         R                  " U /UQ76 $ )zAGetNameOfCol(RasterAttributeTable self, int iCol) -> char const *)r   !RasterAttributeTable_GetNameOfColr  s     r   GetNameOfCol!RasterAttributeTable.GetNameOfCol6  r  r%   c                 0    [         R                  " U /UQ76 $ )zGGetUsageOfCol(RasterAttributeTable self, int iCol) -> GDALRATFieldUsage)r   "RasterAttributeTable_GetUsageOfColr  s     r   GetUsageOfCol"RasterAttributeTable.GetUsageOfCol:  rJ  r%   c                 0    [         R                  " U /UQ76 $ )zEGetTypeOfCol(RasterAttributeTable self, int iCol) -> GDALRATFieldType)r   !RasterAttributeTable_GetTypeOfColr  s     r   GetTypeOfCol!RasterAttributeTable.GetTypeOfCol>  r  r%   c                 0    [         R                  " U /UQ76 $ )zIGetColOfUsage(RasterAttributeTable self, GDALRATFieldUsage eUsage) -> int)r   "RasterAttributeTable_GetColOfUsager  s     r   GetColOfUsage"RasterAttributeTable.GetColOfUsageB  rJ  r%   c                 0    [         R                  " U /UQ76 $ )z-GetRowCount(RasterAttributeTable self) -> int)r    RasterAttributeTable_GetRowCountr  s     r   GetRowCount RasterAttributeTable.GetRowCountF  re  r%   c                 0    [         R                  " U /UQ76 $ )zOGetValueAsString(RasterAttributeTable self, int iRow, int iCol) -> char const *)r   %RasterAttributeTable_GetValueAsStringr  s     r   GetValueAsString%RasterAttributeTable.GetValueAsStringJ      ::4G$GGr%   c                 0    [         R                  " U /UQ76 $ )zCGetValueAsInt(RasterAttributeTable self, int iRow, int iCol) -> int)r   "RasterAttributeTable_GetValueAsIntr  s     r   GetValueAsInt"RasterAttributeTable.GetValueAsIntN  rJ  r%   c                 0    [         R                  " U /UQ76 $ )zIGetValueAsDouble(RasterAttributeTable self, int iRow, int iCol) -> double)r   %RasterAttributeTable_GetValueAsDoubler  s     r   GetValueAsDouble%RasterAttributeTable.GetValueAsDoubleR  r	  r%   c                 0    [         R                  " U /UQ76 $ )zVSetValueAsString(RasterAttributeTable self, int iRow, int iCol, char const * pszValue))r   %RasterAttributeTable_SetValueAsStringr  s     r   SetValueAsString%RasterAttributeTable.SetValueAsStringV  r	  r%   c                 0    [         R                  " U /UQ76 $ )zHSetValueAsInt(RasterAttributeTable self, int iRow, int iCol, int nValue))r   "RasterAttributeTable_SetValueAsIntr  s     r   SetValueAsInt"RasterAttributeTable.SetValueAsIntZ  rJ  r%   c                 0    [         R                  " U /UQ76 $ )zOSetValueAsDouble(RasterAttributeTable self, int iRow, int iCol, double dfValue))r   %RasterAttributeTable_SetValueAsDoubler  s     r   SetValueAsDouble%RasterAttributeTable.SetValueAsDouble^  r	  r%   c                 0    [         R                  " U /UQ76 $ )z2SetRowCount(RasterAttributeTable self, int nCount))r    RasterAttributeTable_SetRowCountr  s     r   SetRowCount RasterAttributeTable.SetRowCountb  re  r%   c                 0    [         R                  " U /UQ76 $ )zvCreateColumn(RasterAttributeTable self, char const * pszName, GDALRATFieldType eType, GDALRATFieldUsage eUsage) -> int)r   !RasterAttributeTable_CreateColumnr  s     r   CreateColumn!RasterAttributeTable.CreateColumnf  r  r%   c                 0    [         R                  " U /UQ76 $ )z3GetLinearBinning(RasterAttributeTable self) -> bool)r   %RasterAttributeTable_GetLinearBinningr  s     r   GetLinearBinning%RasterAttributeTable.GetLinearBinningj  r	  r%   c                 0    [         R                  " U /UQ76 $ )zVSetLinearBinning(RasterAttributeTable self, double dfRow0Min, double dfBinSize) -> int)r   %RasterAttributeTable_SetLinearBinningr  s     r   SetLinearBinning%RasterAttributeTable.SetLinearBinningn  r	  r%   c                 0    [         R                  " U /UQ76 $ )z?GetRowOfValue(RasterAttributeTable self, double dfValue) -> int)r   "RasterAttributeTable_GetRowOfValuer  s     r   GetRowOfValue"RasterAttributeTable.GetRowOfValuer  rJ  r%   c                 0    [         R                  " U /UQ76 $ )z9ChangesAreWrittenToFile(RasterAttributeTable self) -> int)r   ,RasterAttributeTable_ChangesAreWrittenToFiler  s     r   ChangesAreWrittenToFile,RasterAttributeTable.ChangesAreWrittenToFilev  s    AA$NNNr%   c                 0    [         R                  " U /UQ76 $ )z'DumpReadable(RasterAttributeTable self))r   !RasterAttributeTable_DumpReadabler  s     r   DumpReadable!RasterAttributeTable.DumpReadablez  r  r%   c                 0    [         R                  " U /UQ76 $ )zDSetTableType(RasterAttributeTable self, GDALRATTableType eTableType))r   !RasterAttributeTable_SetTableTyper  s     r   SetTableType!RasterAttributeTable.SetTableType~  r  r%   c                 0    [         R                  " U /UQ76 $ )z;GetTableType(RasterAttributeTable self) -> GDALRATTableType)r   !RasterAttributeTable_GetTableTyper  s     r   GetTableType!RasterAttributeTable.GetTableType  r  r%   c                 2    SSK Jn  UR                  XX#5      $ r5  )r~  r   RATWriteArray)r   r  fieldr@  r   s        r   r  RasterAttributeTable.WriteArray  s    $''UBBr%   Nc                 2    SSK Jn  UR                  XX#5      $ r5  )r~  r   RATReadArray)r   r	  r@  lengthr   s        r   r   RasterAttributeTable.ReadAsArray  s    $&&tEBBr%   r&   r  )r   N)&r   r   r;   r<   r=   r   r   r   r   r   r   delete_RasterAttributeTabler	  rg	  r	  r	  r	  r	  r	  r	  r	  r	  r	  r	  r	  r	  r	  r	  r	  r	  r	  r	  r	  r	  r	  r  r  r?   r&   r%   r   r	  r	  #  s    =-/IOdeGHY 88=FDEDECHEHHEHCDHHEODDDC
Cr%   r	  c                   `    \ rS rSrSr\" S S SS9rS r\r	\
R                  rS rS	 rS
 rSrg)SubdatasetInfoi  z,Proxy of C++ GDALSubdatasetInfoShadow class.c                 6    U R                   R                  5       $ r0   r  r  s    r   r  SubdatasetInfo.<lambda>  r  r%   c                 8    U R                   R                  U5      $ r0   r  r  s     r   r  r	    r  r%   r  r  c                     [        S5      erO  rP  rQ  s      r   r   SubdatasetInfo.__init__  rS  r%   c                 0    [         R                  " U /UQ76 $ )z>GetPathComponent(SubdatasetInfo self) -> retStringAndCPLFree *)r   SubdatasetInfo_GetPathComponentr  s     r   GetPathComponentSubdatasetInfo.GetPathComponent  r  r%   c                 0    [         R                  " U /UQ76 $ )zDGetSubdatasetComponent(SubdatasetInfo self) -> retStringAndCPLFree *)r   %SubdatasetInfo_GetSubdatasetComponentr  s     r   GetSubdatasetComponent%SubdatasetInfo.GetSubdatasetComponent  r	  r%   c                 0    [         R                  " U /UQ76 $ )z^ModifyPathComponent(SubdatasetInfo self, char const * pszNewFileName) -> retStringAndCPLFree *)r   "SubdatasetInfo_ModifyPathComponentr  s     r   ModifyPathComponent"SubdatasetInfo.ModifyPathComponent  rJ  r%   r&   N)r   r   r;   r<   r=   r   r   r   r   r   r   delete_SubdatasetInfor	  r	  r	  r	  r?   r&   r%   r   r	  r	    s>    7-/IOdeG7H22BHEr%   r	  c                  (    [         R                  " U 6 $ )zIGetSubdatasetInfo(char const * pszFileName) -> GDALSubdatasetInfoShadow *)r   GetSubdatasetInforx   s    r   r
  r
    r  r%   c                       \ rS rSrSr\" S S SS9r\rS r	\
R                  rS rS	 rS
 rS rS rS rS rS rS rS rS rS rS rS rS rS rS rS rS rS r S r!S r"Sr#g) Relationshipi  z*Proxy of C++ GDALRelationshipShadow class.c                 6    U R                   R                  5       $ r0   r  r  s    r   r  Relationship.<lambda>  r  r%   c                 8    U R                   R                  U5      $ r0   r  r  s     r   r  r
    r  r%   r  r  c                 T    [         R                  " U [         R                  " U6 5        g)z__init__(Relationship self, char const * name, char const * leftTableName, char const * rightTableName, GDALRelationshipCardinality cardinality) -> RelationshipN)r   Relationship_swiginitnew_Relationshipr  s     r   r   Relationship.__init__  s    ##D%*@*@$*GHr%   c                 0    [         R                  " U /UQ76 $ )z*GetName(Relationship self) -> char const *)r   Relationship_GetNamer  s     r   r  Relationship.GetName  r  r%   c                 0    [         R                  " U /UQ76 $ )z@GetCardinality(Relationship self) -> GDALRelationshipCardinality)r   Relationship_GetCardinalityr  s     r   GetCardinalityRelationship.GetCardinality  r  r%   c                 0    [         R                  " U /UQ76 $ )z3GetLeftTableName(Relationship self) -> char const *)r   Relationship_GetLeftTableNamer  s     r   GetLeftTableNameRelationship.GetLeftTableName  r  r%   c                 0    [         R                  " U /UQ76 $ )z4GetRightTableName(Relationship self) -> char const *)r   Relationship_GetRightTableNamer  s     r   GetRightTableNameRelationship.GetRightTableName  r{  r%   c                 0    [         R                  " U /UQ76 $ )z6GetMappingTableName(Relationship self) -> char const *)r    Relationship_GetMappingTableNamer  s     r   GetMappingTableName Relationship.GetMappingTableName  re  r%   c                 0    [         R                  " U /UQ76 $ )z<SetMappingTableName(Relationship self, char const * pszName))r    Relationship_SetMappingTableNamer  s     r   SetMappingTableName Relationship.SetMappingTableName  re  r%   c                 0    [         R                  " U /UQ76 $ )z0GetLeftTableFields(Relationship self) -> char **)r   Relationship_GetLeftTableFieldsr  s     r   GetLeftTableFieldsRelationship.GetLeftTableFields  r  r%   c                 0    [         R                  " U /UQ76 $ )z1GetRightTableFields(Relationship self) -> char **)r    Relationship_GetRightTableFieldsr  s     r   GetRightTableFields Relationship.GetRightTableFields  re  r%   c                 0    [         R                  " U /UQ76 $ )z6SetLeftTableFields(Relationship self, char ** pFields))r   Relationship_SetLeftTableFieldsr  s     r   SetLeftTableFieldsRelationship.SetLeftTableFields  r  r%   c                 0    [         R                  " U /UQ76 $ )z7SetRightTableFields(Relationship self, char ** pFields))r    Relationship_SetRightTableFieldsr  s     r   SetRightTableFields Relationship.SetRightTableFields  re  r%   c                 0    [         R                  " U /UQ76 $ )z7GetLeftMappingTableFields(Relationship self) -> char **)r   &Relationship_GetLeftMappingTableFieldsr  s     r   GetLeftMappingTableFields&Relationship.GetLeftMappingTableFields  r;	  r%   c                 0    [         R                  " U /UQ76 $ )z8GetRightMappingTableFields(Relationship self) -> char **)r   'Relationship_GetRightMappingTableFieldsr  s     r   GetRightMappingTableFields'Relationship.GetRightMappingTableFields      <<TIDIIr%   c                 0    [         R                  " U /UQ76 $ )z=SetLeftMappingTableFields(Relationship self, char ** pFields))r   &Relationship_SetLeftMappingTableFieldsr  s     r   SetLeftMappingTableFields&Relationship.SetLeftMappingTableFields  r;	  r%   c                 0    [         R                  " U /UQ76 $ )z>SetRightMappingTableFields(Relationship self, char ** pFields))r   'Relationship_SetRightMappingTableFieldsr  s     r   SetRightMappingTableFields'Relationship.SetRightMappingTableFields  r;
  r%   c                 0    [         R                  " U /UQ76 $ )z2GetType(Relationship self) -> GDALRelationshipType)r   Relationship_GetTyper  s     r   r  Relationship.GetType  r  r%   c                 0    [         R                  " U /UQ76 $ )z5SetType(Relationship self, GDALRelationshipType type))r   Relationship_SetTyper  s     r   SetTypeRelationship.SetType  r  r%   c                 0    [         R                  " U /UQ76 $ )z6GetForwardPathLabel(Relationship self) -> char const *)r    Relationship_GetForwardPathLabelr  s     r   GetForwardPathLabel Relationship.GetForwardPathLabel  re  r%   c                 0    [         R                  " U /UQ76 $ )z=SetForwardPathLabel(Relationship self, char const * pszLabel))r    Relationship_SetForwardPathLabelr  s     r   SetForwardPathLabel Relationship.SetForwardPathLabel  re  r%   c                 0    [         R                  " U /UQ76 $ )z7GetBackwardPathLabel(Relationship self) -> char const *)r   !Relationship_GetBackwardPathLabelr  s     r   GetBackwardPathLabel!Relationship.GetBackwardPathLabel  r  r%   c                 0    [         R                  " U /UQ76 $ )z>SetBackwardPathLabel(Relationship self, char const * pszLabel))r   !Relationship_SetBackwardPathLabelr  s     r   SetBackwardPathLabel!Relationship.SetBackwardPathLabel  r  r%   c                 0    [         R                  " U /UQ76 $ )z6GetRelatedTableType(Relationship self) -> char const *)r    Relationship_GetRelatedTableTyper  s     r   GetRelatedTableType Relationship.GetRelatedTableType
  re  r%   c                 0    [         R                  " U /UQ76 $ )z<SetRelatedTableType(Relationship self, char const * pszType))r    Relationship_SetRelatedTableTyper  s     r   SetRelatedTableType Relationship.SetRelatedTableType  re  r%   r&   N)$r   r   r;   r<   r=   r   r   r   r   r   r   delete_Relationshipr	  r  r
  r
  r
  r
  r!
  r%
  r)
  r-
  r1
  r5
  r9
  r>
  rB
  r  rI
  rM
  rQ
  rU
  rY
  r]
  ra
  r?   r&   r%   r   r
  r
    s    5-/IOdeGHI 007>@ACCBCBCIJIJ77CCDDCCr%   r
  c                  .    [         R                  " U 0 UD6$ )z\TermProgress_nocb(double dfProgress, char const * pszMessage=None, void * pData=None) -> int)r   TermProgress_nocbr  s     r   re
  re
        ""D3F33r%   c                  .    [         R                  " U 0 UD6$ )zComputeMedianCutPCT(Band red, Band green, Band blue, int num_colors, ColorTable colors, GDALProgressFunc callback=0, void * callback_data=None) -> int)r   rZ   r  s     r   rZ   rZ         $$d5f55r%   c                  .    [         R                  " U 0 UD6$ )zDitherRGB2PCT(Band red, Band green, Band blue, Band target, ColorTable colors, GDALProgressFunc callback=0, void * callback_data=None) -> int)r   ra   r  s     r   ra   ra     s    ///r%   c                  .    [         R                  " U 0 UD6$ )a   ReprojectImage(Dataset src_ds, Dataset dst_ds, char const * src_wkt=None, char const * dst_wkt=None, GDALResampleAlg eResampleAlg=GRA_NearestNeighbour, double WarpMemoryLimit=0.0, double maxerror=0.0, GDALProgressFunc callback=0, void * callback_data=None, char ** options=None) -> CPLErr)r   ReprojectImager  s     r   rk
  rk
  #      000r%   c                  .    [         R                  " U 0 UD6$ )zComputeProximity(Band srcBand, Band proximityBand, char ** options=None, GDALProgressFunc callback=0, void * callback_data=None) -> int)r   ComputeProximityr  s     r   rn
  rn
  '      !!42622r%   c                  .    [         R                  " U 0 UD6$ )zRasterizeLayer(Dataset dataset, int bands, Layer layer, void * pfnTransformer=None, void * pTransformArg=None, int burn_values=0, char ** options=None, GDALProgressFunc callback=0, void * callback_data=None) -> int)r   RasterizeLayerr  s     r   rq
  rq
  +  rl
  r%   c                  .    [         R                  " U 0 UD6$ )zPolygonize(Band srcBand, Band maskBand, Layer outLayer, int iPixValField, char ** options=None, GDALProgressFunc callback=0, void * callback_data=None) -> int)r   
Polygonizer  s     r   rs
  rs
  /      T,V,,r%   c                  .    [         R                  " U 0 UD6$ )zFPolygonize(Band srcBand, Band maskBand, Layer outLayer, int iPixValField, char ** options=None, GDALProgressFunc callback=0, void * callback_data=None) -> int)r   FPolygonizer  s     r   rv
  rv
  3      d-f--r%   c                  .    [         R                  " U 0 UD6$ )zFillNodata(Band targetBand, Band maskBand, double maxSearchDist, int smoothingIterations, char ** options=None, GDALProgressFunc callback=0, void * callback_data=None) -> int)r   
FillNodatar  s     r   ry
  ry
  7  rt
  r%   c                  .    [         R                  " U 0 UD6$ )zSieveFilter(Band srcBand, Band maskBand, Band dstBand, int threshold, int connectedness=4, char ** options=None, GDALProgressFunc callback=0, void * callback_data=None) -> int)r   SieveFilterr  s     r   r{
  r{
  ;  rw
  r%   c                  .    [         R                  " U 0 UD6$ )zRegenerateOverviews(Band srcBand, int overviewBandCount, char const * resampling="average", GDALProgressFunc callback=0, void * callback_data=None) -> int)r   RegenerateOverviewsr  s     r   r}
  r}
  ?  rh
  r%   c                  .    [         R                  " U 0 UD6$ )zRegenerateOverview(Band srcBand, Band overviewBand, char const * resampling="average", GDALProgressFunc callback=0, void * callback_data=None) -> int)r   RegenerateOverviewr  s     r   r
  r
  C  s    ##T4V44r%   c                  .    [         R                  " U 0 UD6$ )zContourGenerate(Band srcBand, double contourInterval, double contourBase, int fixedLevelCount, int useNoData, double noDataValue, Layer dstLayer, int idField, int elevField, GDALProgressFunc callback=0, void * callback_data=None) -> int)r   ContourGenerater  s     r   r
  r
  G  s      $1&11r%   c                  .    [         R                  " U 0 UD6$ )zContourGenerateEx(Band srcBand, Layer dstLayer, char ** options=None, GDALProgressFunc callback=0, void * callback_data=None) -> int)r   ContourGenerateExr  s     r   r
  r
  K  rf
  r%   c                  .    [         R                  " U 0 UD6$ )a  ViewshedGenerate(Band srcBand, char const * driverName, char const * targetRasterName, char ** creationOptions, double observerX, double observerY, double observerHeight, double targetHeight, double visibleVal, double invisibleVal, double outOfRangeVal, double noDataVal, double dfCurvCoeff, GDALViewshedMode mode, double maxDistance, GDALProgressFunc callback=0, void * callback_data=None, GDALViewshedOutputType heightMode=GVOT_NORMAL, char ** options=None) -> Dataset)r   ViewshedGenerater  s     r   r
  r
  ]  ro
  r%   c                  (    [         R                  " U 6 $ )zAutoCreateWarpedVRT(Dataset src_ds, char const * src_wkt=None, char const * dst_wkt=None, GDALResampleAlg eResampleAlg=GRA_NearestNeighbour, double maxerror=0.0) -> Dataset)r   AutoCreateWarpedVRTrx   s    r   r
  r
  a  r}   r%   c                  (    [         R                  " U 6 $ )z`CreatePansharpenedVRT(char const * pszXML, Band panchroBand, int nInputSpectralBands) -> Dataset)r   CreatePansharpenedVRTrx   s    r   r
  r
  e  r  r%   c                   `    \ rS rSrSr\" S S SS9rS r\r	\
R                  rS rS	 rS
 rSrg)GDALTransformerInfoShadowih  z-Proxy of C++ GDALTransformerInfoShadow class.c                 6    U R                   R                  5       $ r0   r  r  s    r   r  "GDALTransformerInfoShadow.<lambda>k  r  r%   c                 8    U R                   R                  U5      $ r0   r  r  s     r   r  r
  k  r  r%   r  r  c                     [        S5      erO  rP  rQ  s      r   r   "GDALTransformerInfoShadow.__init__m  rS  r%   c                 0    [         R                  " U /UQ76 $ )z
TransformPoint(GDALTransformerInfoShadow self, int bDstToSrc, double [3] inout) -> int
TransformPoint(GDALTransformerInfoShadow self, int bDstToSrc, double x, double y, double z=0.0) -> int
)r   (GDALTransformerInfoShadow_TransformPointr  s     r   TransformPoint(GDALTransformerInfoShadow.TransformPointr  s    
 ==dJTJJr%   c                 0    [         R                  " U /UQ76 $ )zQTransformPoints(GDALTransformerInfoShadow self, int bDstToSrc, int nCount) -> int)r   )GDALTransformerInfoShadow_TransformPointsr  s     r   TransformPoints)GDALTransformerInfoShadow.TransformPointsy  s    >>tKdKKr%   c                 6    [         R                  " U /UQ70 UD6$ )zTransformGeolocations(GDALTransformerInfoShadow self, Band xBand, Band yBand, Band zBand, GDALProgressFunc callback=0, void * callback_data=None, char ** options=None) -> int)r   /GDALTransformerInfoShadow_TransformGeolocationsrQ  s      r   TransformGeolocations/GDALTransformerInfoShadow.TransformGeolocations}  s    DDT[D[TZ[[r%   r&   N)r   r   r;   r<   r=   r   r   r   r   r   r    delete_GDALTransformerInfoShadowr	  r
  r
  r
  r?   r&   r%   r   r
  r
  h  s>    8-/IOdeG7H==KL\r%   r
  c                  (    [         R                  " U 6 $ )zSTransformer(Dataset src, Dataset dst, char ** options) -> GDALTransformerInfoShadow)r   Transformerrx   s    r   r
  r
    r  r%   c                   B   \ rS rSrSr\" S S SS9rS r\r	\" \
R                  SS9r\" \
R                  S	S9r\" \
R                  S
S9r\" \
R"                  SS9r\" \
R&                  SS9r\" \
R*                  SS9r\
R.                  rS r\" \
R4                  SS9rSrg)SuggestedWarpOutputResi  z*Proxy of C++ SuggestedWarpOutputRes class.c                 6    U R                   R                  5       $ r0   r  r  s    r   r  SuggestedWarpOutputRes.<lambda>  r  r%   c                 8    U R                   R                  U5      $ r0   r  r  s     r   r  r
    r  r%   r  r  c                     [        S5      erO  rP  rQ  s      r   r   SuggestedWarpOutputRes.__init__  rS  r%   zwidth : intzheight : intzxmin : doublezymin : doublezxmax : doublezymax : doublec                 0    [         R                  " U /UQ76 $ )z,GetGeotransform(SuggestedWarpOutputRes self))r   &SuggestedWarpOutputRes_GetGeotransformr  s     r   GetGeotransform&SuggestedWarpOutputRes.GetGeotransform  r;	  r%   zgeotransform : double[6]r&   N)r   r   r;   r<   r=   r   r   r   r   r   r    SuggestedWarpOutputRes_width_getr9  !SuggestedWarpOutputRes_height_getr:  SuggestedWarpOutputRes_xmin_getxminSuggestedWarpOutputRes_ymin_getyminSuggestedWarpOutputRes_xmax_getxmaxSuggestedWarpOutputRes_ymax_getymaxdelete_SuggestedWarpOutputResr	  r
  r
  geotransformr?   r&   r%   r   r
  r
    s    5-/IOdeG7HU;;ASTEe==CVWFE99?STDE99?STDE99?STDE99?STD::I EHHNmnLr%   r
  c                  (    [         R                  " U 6 $ )zpSuggestedWarpOutputFromTransformer(Dataset src, GDALTransformerInfoShadow transformer) -> SuggestedWarpOutputRes)r   "SuggestedWarpOutputFromTransformerrx   s    r   r
  r
    r   r%   c                  (    [         R                  " U 6 $ )zVSuggestedWarpOutputFromOptions(Dataset src, char ** options) -> SuggestedWarpOutputRes)r   SuggestedWarpOutputFromOptionsrx   s    r   r
  r
    s    //66r%   c                  ~    [        U S   [        5      (       a  [        R                  " U 6 $ [        R                  " U 6 $ )a
  
Suggest output dataset size and extent.

SuggestedWarpOutput(src: Dataset, transformer: Transformer) -> SuggestedWarpOutputRes
SuggestedWarpOutput(src: Dataset, options: list[str]) -> SuggestedWarpOutputRes

This function is used to suggest the size, and georeferenced extents
appropriate given the indicated transformation and input file.  It walks
the edges of the input file (approximately 20 sample points along each
edge) transforming into output coordinates in order to get an extents box.

Then a resolution is computed with the intent that the length of the
distance from the top left corner of the output imagery to the bottom right
corner would represent the same number of pixels as in the source image.
Note that if the image is somewhat rotated the diagonal taken isn't of the
whole output bounding rectangle, but instead of the locations where the
top/left and bottom/right corners transform.  The output pixel size is
always square.  This is intended to approximately preserve the resolution
of the input data in the output file.

There are 2 forms of this method:

- one that takes the output of gdal.Transformer(src, dst, options) as the second argument.
  The src argument of the gdal.Transformer() call should nominally be the src
  argument passed to this function.
  The dst argument of the gdal.Transformer() call should nominally be None
  The third argument of the gdal.Transformer() call should be a list of strings,
  that are transforming options accepted by
  :cpp:func:`GDALCreateGenImgProjTransformer2` (e.g ``DST_SRS``)

- one that takes a list of strings as the second argument. Those strings
  are the transforming options accepted by
  :cpp:func:`GDALCreateGenImgProjTransformer2` (e.g ``DST_SRS``)

Parameters
----------

src: Dataset
    Source dataset
transformer: Transformer
    The return value of gdal.Transformer(src, None, options)
    (exclusive with below options parameter)
options: list[str]
    List of strings that are the transforming options accepted by
    :cpp:func:`GDALCreateGenImgProjTransformer2` (e.g ``DST_SRS``)
    (exclusive with above transformer parameter)

Returns
-------

A SuggestedWarpOutputRes class instance with the following members:
- width: number of pixels in width of the output dataset
- height: number of pixels in height of the output dataset
- xmin: minimum value of the georeferenced X coordinates
- ymin: maximum value of the georeferenced Y coordinates
- xmax: minimum value of the georeferenced X coordinates
- ymax: maximum value of the georeferenced Y coordinates
- geotransform: affine geotransformation matrix (6 values)

Example
-------

>>> ds = gdal.Open("my.tif")
... res = gdal.SuggestedWarpOutput(ds, ["DST_SRS=EPSG:4326"])
... print(res.width, res.height, res.xmin, res.ymin, res.xmax, res.ymax, res.geotransform)

r   )r   r
  r   r
  r
  rx   s    r   SuggestedWarpOutputr
    s9    H $q'45577>>33T::r%   c                  .    [         R                  " U 0 UD6$ )z_ApplyVerticalShiftGrid(Dataset src_ds, Dataset grid_ds, bool inverse=False, double srcUnitToMeter=1.0, double dstUnitToMeter=1.0, char ** options=None) -> Dataset)r   r  r  s     r   r  r    s    (($9&99r%   c                  (    [         R                  " U 6 $ )zMApplyGeoTransform(double [6] padfGeoTransform, double dfPixel, double dfLine))r   ApplyGeoTransformrx   s    r   r
  r
    r  r%   c                  (    [         R                  " U 6 $ )z0InvGeoTransform(double [6] gt_in) -> RETURN_NONE)r   InvGeoTransformrx   s    r   r
  r
    r  r%   c                  (    [         R                  " U 6 $ )z?VersionInfo(char const * request="VERSION_NUM") -> char const *)r   VersionInforx   s    r   r
  r
     r  r%   c                  (    [         R                  " U 6 $ )zAllRegister())r   AllRegisterrx   s    r   r
  r
    r  r%   c                  (    [         R                  " U 6 $ )zGDALDestroyDriverManager())r   GDALDestroyDriverManagerrx   s    r   r
  r
    r!  r%   c                  (    [         R                  " U 6 $ )zGetCacheMax() -> GIntBig)r   GetCacheMaxrx   s    r   r
  r
    r  r%   c                  (    [         R                  " U 6 $ )zGetCacheUsed() -> GIntBig)r   GetCacheUsedrx   s    r   r
  r
    r@  r%   c                  (    [         R                  " U 6 $ )zSetCacheMax(GIntBig nBytes))r   SetCacheMaxrx   s    r   r
  r
    r  r%   c                  (    [         R                  " U 6 $ )z.GetDataTypeSize(GDALDataType eDataType) -> int)r   r  rx   s    r   r  r    r  r%   c                  (    [         R                  " U 6 $ )z0DataTypeIsComplex(GDALDataType eDataType) -> int)r   DataTypeIsComplexrx   s    r   r
  r
    r  r%   c                  (    [         R                  " U 6 $ )z7GetDataTypeName(GDALDataType eDataType) -> char const *)r   r*  rx   s    r   r*  r*     r  r%   c                  (    [         R                  " U 6 $ )z?GetDataTypeByName(char const * pszDataTypeName) -> GDALDataType)r   GetDataTypeByNamerx   s    r   r
  r
  $  r  r%   c                  (    [         R                  " U 6 $ )z=DataTypeUnion(GDALDataType a, GDALDataType b) -> GDALDataType)r   DataTypeUnionrx   s    r   r
  r
  (  r  r%   c                  (    [         R                  " U 6 $ )zHGetColorInterpretationName(GDALColorInterp eColorInterp) -> char const *)r   GetColorInterpretationNamerx   s    r   r
  r
  ,  r   r%   c                  (    [         R                  " U 6 $ )zNGetPaletteInterpretationName(GDALPaletteInterp ePaletteInterp) -> char const *)r   GetPaletteInterpretationNamerx   s    r   r
  r
  0      --t44r%   c                  (    [         R                  " U 6 $ )zDDecToDMS(double arg1, char const * arg2, int arg3=2) -> char const *)r   DecToDMSrx   s    r   r
  r
  4  r  r%   c                  (    [         R                  " U 6 $ )z)PackedDMSToDec(double dfPacked) -> double)r   PackedDMSToDecrx   s    r   r
  r
  8  r   r%   c                  (    [         R                  " U 6 $ )z&DecToPackedDMS(double dfDec) -> double)r   DecToPackedDMSrx   s    r   r
  r
  <  r   r%   c                  (    [         R                  " U 6 $ )z3ParseXMLString(char * pszXMLString) -> CPLXMLNode *)r   ParseXMLStringrx   s    r   r
  r
  @  r   r%   c                  (    [         R                  " U 6 $ )z?SerializeXMLTree(CPLXMLNode * xmlnode) -> retStringAndCPLFree *)r   SerializeXMLTreerx   s    r   r
  r
  D  rz   r%   c                  (    [         R                  " U 6 $ )zTGetJPEG2000Structure(char const * pszFilename, char ** options=None) -> CPLXMLNode *)r   GetJPEG2000Structurerx   s    r   r
  r
  H  rH  r%   c                  (    [         R                  " U 6 $ )zeGetJPEG2000StructureAsString(char const * pszFilename, char ** options=None) -> retStringAndCPLFree *)r   GetJPEG2000StructureAsStringrx   s    r   r
  r
  L  r
  r%   c                  (    [         R                  " U 6 $ )zHasTriangulation() -> int)r   HasTriangulationrx   s    r   r
  r
  P  rz   r%   c                  (    [         R                  " U 6 $ )zGetDriverCount() -> int)r   GetDriverCountrx   s    r   r
  r
  T  r   r%   c                  (    [         R                  " U 6 $ )z,GetDriverByName(char const * name) -> Driver)r   r\   rx   s    r   r\   r\   X  r  r%   c                  (    [         R                  " U 6 $ )zGetDriver(int i) -> Driver)r   r  rx   s    r   r  r  \  r   r%   c                  <    [        5         [        R                  " U 6 $ )zGOpen(char const * utf8_path, GDALAccess eAccess=GA_ReadOnly) -> Dataset)r   r   rX   rx   s    r   rX   rX   `  s     01 ::tr%   c                  B    [        5         [        R                  " U 0 UD6$ )zOpenEx(char const * utf8_path, unsigned int nOpenFlags=0, char ** allowed_drivers=None, char ** open_options=None, char ** sibling_files=None) -> Dataset)r   r   r   r  s     r   r   r   h  s      01 <<(((r%   c                  <    [        5         [        R                  " U 6 $ )zMOpenShared(char const * utf8_path, GDALAccess eAccess=GA_ReadOnly) -> Dataset)r   r   
OpenSharedrx   s    r   r
  r
  p  s     01 T""r%   c                  (    [         R                  " U 6 $ )zLIdentifyDriver(char const * utf8_path, char ** papszSiblings=None) -> Driver)r   IdentifyDriverrx   s    r   r
  r
  x  r   r%   c                  .    [         R                  " U 0 UD6$ )zIdentifyDriverEx(char const * utf8_path, unsigned int nIdentifyFlags=0, char ** allowed_drivers=None, char ** sibling_files=None) -> Driver)r   IdentifyDriverExr  s     r   r
  r
  |  ro
  r%   c                  (    [         R                  " U 6 $ )zEGeneralCmdLineProcessor(char ** papszArgv, int nOptions=0) -> char **)r   GeneralCmdLineProcessorrx   s    r   r
  r
    r  r%   RELEASE_NAMEc                   N    \ rS rSrSr\" S S SS9r\rS r	\
R                  rSrg	)
r   i  z#Proxy of C++ GDALInfoOptions class.c                 6    U R                   R                  5       $ r0   r  r  s    r   r  GDALInfoOptions.<lambda>  r  r%   c                 8    U R                   R                  U5      $ r0   r  r  s     r   r  r
    r  r%   r  r  c                 T    [         R                  " U [         R                  " U6 5        g)zB__init__(GDALInfoOptions self, char ** options) -> GDALInfoOptionsN)r   GDALInfoOptions_swiginitnew_GDALInfoOptionsr  s     r   r   GDALInfoOptions.__init__      &&tU-F-F-MNr%   r&   N)r   r   r;   r<   r=   r   r   r   r   r   r   delete_GDALInfoOptionsr	  r?   r&   r%   r   r   r     /    .-/IOdeGHO 33r%   r   c                  (    [         R                  " U 6 $ )zTInfoInternal(Dataset hDataset, GDALInfoOptions infoOptions) -> retStringAndCPLFree *)r   r   rx   s    r   r   r     r@  r%   c                   N    \ rS rSrSr\" S S SS9r\rS r	\
R                  rSrg	)
r   i  z)Proxy of C++ GDALVectorInfoOptions class.c                 6    U R                   R                  5       $ r0   r  r  s    r   r  GDALVectorInfoOptions.<lambda>  r  r%   c                 8    U R                   R                  U5      $ r0   r  r  s     r   r  r    r  r%   r  r  c                 T    [         R                  " U [         R                  " U6 5        g)zN__init__(GDALVectorInfoOptions self, char ** options) -> GDALVectorInfoOptionsN)r   GDALVectorInfoOptions_swiginitnew_GDALVectorInfoOptionsr  s     r   r   GDALVectorInfoOptions.__init__  s    ,,T53R3RTX3YZr%   r&   N)r   r   r;   r<   r=   r   r   r   r   r   r   delete_GDALVectorInfoOptionsr	  r?   r&   r%   r   r   r     s/    4-/IOdeGH[ 99r%   r   c                  (    [         R                  " U 6 $ )z`VectorInfoInternal(Dataset hDataset, GDALVectorInfoOptions infoOptions) -> retStringAndCPLFree *)r   r   rx   s    r   r   r     r   r%   c                   N    \ rS rSrSr\" S S SS9r\rS r	\
R                  rSrg	)
r   i  z+Proxy of C++ GDALMultiDimInfoOptions class.c                 6    U R                   R                  5       $ r0   r  r  s    r   r   GDALMultiDimInfoOptions.<lambda>  r  r%   c                 8    U R                   R                  U5      $ r0   r  r  s     r   r  r    r  r%   r  r  c                 T    [         R                  " U [         R                  " U6 5        g)zR__init__(GDALMultiDimInfoOptions self, char ** options) -> GDALMultiDimInfoOptionsN)r    GDALMultiDimInfoOptions_swiginitnew_GDALMultiDimInfoOptionsr  s     r   r    GDALMultiDimInfoOptions.__init__  s    ..tU5V5VX\5]^r%   r&   N)r   r   r;   r<   r=   r   r   r   r   r   r   delete_GDALMultiDimInfoOptionsr	  r?   r&   r%   r   r   r     s/    6-/IOdeGH_ ;;r%   r   c                  (    [         R                  " U 6 $ )zdMultiDimInfoInternal(Dataset hDataset, GDALMultiDimInfoOptions infoOptions) -> retStringAndCPLFree *)r   r	  rx   s    r   r	  r	    rH  r%   c                   N    \ rS rSrSr\" S S SS9r\rS r	\
R                  rSrg	)
r5  i  z(Proxy of C++ GDALTranslateOptions class.c                 6    U R                   R                  5       $ r0   r  r  s    r   r  GDALTranslateOptions.<lambda>  r  r%   c                 8    U R                   R                  U5      $ r0   r  r  s     r   r  r    r  r%   r  r  c                 T    [         R                  " U [         R                  " U6 5        g)zL__init__(GDALTranslateOptions self, char ** options) -> GDALTranslateOptionsN)r   GDALTranslateOptions_swiginitnew_GDALTranslateOptionsr  s     r   r   GDALTranslateOptions.__init__  r	  r%   r&   N)r   r   r;   r<   r=   r   r   r   r   r   r   delete_GDALTranslateOptionsr	  r?   r&   r%   r   r5  r5    /    3-/IOdeGHY 88r%   r5  c                  (    [         R                  " U 6 $ )zTranslateInternal(char const * dest, Dataset dataset, GDALTranslateOptions translateOptions, GDALProgressFunc callback=0, void * callback_data=None) -> Dataset)r   r`  rx   s    r   r`  r`    r  r%   c                   N    \ rS rSrSr\" S S SS9r\rS r	\
R                  rSrg	)
r  i  z&Proxy of C++ GDALWarpAppOptions class.c                 6    U R                   R                  5       $ r0   r  r  s    r   r  GDALWarpAppOptions.<lambda>  r  r%   c                 8    U R                   R                  U5      $ r0   r  r  s     r   r  r'    r  r%   r  r  c                 T    [         R                  " U [         R                  " U6 5        g)zH__init__(GDALWarpAppOptions self, char ** options) -> GDALWarpAppOptionsN)r   GDALWarpAppOptions_swiginitnew_GDALWarpAppOptionsr  s     r   r   GDALWarpAppOptions.__init__  s    ))$0L0Ld0STr%   r&   N)r   r   r;   r<   r=   r   r   r   r   r   r   delete_GDALWarpAppOptionsr	  r?   r&   r%   r   r  r    s/    1-/IOdeGHU 66r%   r  c                  (    [         R                  " U 6 $ )zwrapper_GDALWarpDestDS(Dataset dstDS, int object_list_count, GDALWarpAppOptions warpAppOptions, GDALProgressFunc callback=0, void * callback_data=None) -> int)r   r  rx   s    r   r  r    rE  r%   c                  (    [         R                  " U 6 $ )zwrapper_GDALWarpDestName(char const * dest, int object_list_count, GDALWarpAppOptions warpAppOptions, GDALProgressFunc callback=0, void * callback_data=None) -> Dataset)r   r  rx   s    r   r  r    r!  r%   c                   N    \ rS rSrSr\" S S SS9r\rS r	\
R                  rSrg	)
r  i  z.Proxy of C++ GDALVectorTranslateOptions class.c                 6    U R                   R                  5       $ r0   r  r  s    r   r  #GDALVectorTranslateOptions.<lambda>  r  r%   c                 8    U R                   R                  U5      $ r0   r  r  s     r   r  r2    r  r%   r  r  c                 T    [         R                  " U [         R                  " U6 5        g)zX__init__(GDALVectorTranslateOptions self, char ** options) -> GDALVectorTranslateOptionsN)r   #GDALVectorTranslateOptions_swiginitnew_GDALVectorTranslateOptionsr  s     r   r   #GDALVectorTranslateOptions.__init__  s    11$8\8\^b8cdr%   r&   N)r   r   r;   r<   r=   r   r   r   r   r   r   !delete_GDALVectorTranslateOptionsr	  r?   r&   r%   r   r  r    s/    9-/IOdeGHe >>r%   r  c                  (    [         R                  " U 6 $ )zwrapper_GDALVectorTranslateDestDS(Dataset dstDS, Dataset srcDS, GDALVectorTranslateOptions options, GDALProgressFunc callback=0, void * callback_data=None) -> int)r   r  rx   s    r   r  r    s    22D99r%   c                  (    [         R                  " U 6 $ )zwrapper_GDALVectorTranslateDestName(char const * dest, Dataset srcDS, GDALVectorTranslateOptions options, GDALProgressFunc callback=0, void * callback_data=None) -> Dataset)r   r  rx   s    r   r  r    s    44d;;r%   c                   N    \ rS rSrSr\" S S SS9r\rS r	\
R                  rSrg	)
r  i  z,Proxy of C++ GDALDEMProcessingOptions class.c                 6    U R                   R                  5       $ r0   r  r  s    r   r  !GDALDEMProcessingOptions.<lambda>  r  r%   c                 8    U R                   R                  U5      $ r0   r  r  s     r   r  r=    r  r%   r  r  c                 T    [         R                  " U [         R                  " U6 5        g)zT__init__(GDALDEMProcessingOptions self, char ** options) -> GDALDEMProcessingOptionsN)r   !GDALDEMProcessingOptions_swiginitnew_GDALDEMProcessingOptionsr  s     r   r   !GDALDEMProcessingOptions.__init__  s    //e6X6XZ^6_`r%   r&   N)r   r   r;   r<   r=   r   r   r   r   r   r   delete_GDALDEMProcessingOptionsr	  r?   r&   r%   r   r  r    s/    7-/IOdeGHa <<r%   r  c                  (    [         R                  " U 6 $ )zDEMProcessingInternal(char const * dest, Dataset dataset, char const * pszProcessing, char const * pszColorFilename, GDALDEMProcessingOptions options, GDALProgressFunc callback=0, void * callback_data=None) -> Dataset)r   r  rx   s    r   r  r    r  r%   c                   N    \ rS rSrSr\" S S SS9r\rS r	\
R                  rSrg	)
r  i  z(Proxy of C++ GDALNearblackOptions class.c                 6    U R                   R                  5       $ r0   r  r  s    r   r  GDALNearblackOptions.<lambda>  r  r%   c                 8    U R                   R                  U5      $ r0   r  r  s     r   r  rG    r  r%   r  r  c                 T    [         R                  " U [         R                  " U6 5        g)zL__init__(GDALNearblackOptions self, char ** options) -> GDALNearblackOptionsN)r   GDALNearblackOptions_swiginitnew_GDALNearblackOptionsr  s     r   r   GDALNearblackOptions.__init__  r	  r%   r&   N)r   r   r;   r<   r=   r   r   r   r   r   r   delete_GDALNearblackOptionsr	  r?   r&   r%   r   r  r    r#  r%   r  c                  (    [         R                  " U 6 $ )zwrapper_GDALNearblackDestDS(Dataset dstDS, Dataset srcDS, GDALNearblackOptions options, GDALProgressFunc callback=0, void * callback_data=None) -> int)r   r  rx   s    r   r  r        ,,d33r%   c                  (    [         R                  " U 6 $ )zwrapper_GDALNearblackDestName(char const * dest, Dataset srcDS, GDALNearblackOptions options, GDALProgressFunc callback=0, void * callback_data=None) -> Dataset)r   r
  rx   s    r   r
  r
        ..55r%   c                   N    \ rS rSrSr\" S S SS9r\rS r	\
R                  rSrg	)
r  i  z#Proxy of C++ GDALGridOptions class.c                 6    U R                   R                  5       $ r0   r  r  s    r   r  GDALGridOptions.<lambda>  r  r%   c                 8    U R                   R                  U5      $ r0   r  r  s     r   r  rT    r  r%   r  r  c                 T    [         R                  " U [         R                  " U6 5        g)zB__init__(GDALGridOptions self, char ** options) -> GDALGridOptionsN)r   GDALGridOptions_swiginitnew_GDALGridOptionsr  s     r   r   GDALGridOptions.__init__   r  r%   r&   N)r   r   r;   r<   r=   r   r   r   r   r   r   delete_GDALGridOptionsr	  r?   r&   r%   r   r  r    r  r%   r  c                  (    [         R                  " U 6 $ )zGridInternal(char const * dest, Dataset dataset, GDALGridOptions options, GDALProgressFunc callback=0, void * callback_data=None) -> Dataset)r   r  rx   s    r   r  r  (  r@  r%   c                   N    \ rS rSrSr\" S S SS9r\rS r	\
R                  rSrg	)
r  i+  z(Proxy of C++ GDALRasterizeOptions class.c                 6    U R                   R                  5       $ r0   r  r  s    r   r  GDALRasterizeOptions.<lambda>.  r  r%   c                 8    U R                   R                  U5      $ r0   r  r  s     r   r  r^  .  r  r%   r  r  c                 T    [         R                  " U [         R                  " U6 5        g)zL__init__(GDALRasterizeOptions self, char ** options) -> GDALRasterizeOptionsN)r   GDALRasterizeOptions_swiginitnew_GDALRasterizeOptionsr  s     r   r   GDALRasterizeOptions.__init__1  r	  r%   r&   N)r   r   r;   r<   r=   r   r   r   r   r   r   delete_GDALRasterizeOptionsr	  r?   r&   r%   r   r  r  +  r#  r%   r  c                  (    [         R                  " U 6 $ )zwrapper_GDALRasterizeDestDS(Dataset dstDS, Dataset srcDS, GDALRasterizeOptions options, GDALProgressFunc callback=0, void * callback_data=None) -> int)r   r(  rx   s    r   r(  r(  9  rO  r%   c                  (    [         R                  " U 6 $ )zwrapper_GDALRasterizeDestName(char const * dest, Dataset srcDS, GDALRasterizeOptions options, GDALProgressFunc callback=0, void * callback_data=None) -> Dataset)r   r'  rx   s    r   r'  r'  =  rQ  r%   c                   N    \ rS rSrSr\" S S SS9r\rS r	\
R                  rSrg	)
r+  i@  z(Proxy of C++ GDALFootprintOptions class.c                 6    U R                   R                  5       $ r0   r  r  s    r   r  GDALFootprintOptions.<lambda>C  r  r%   c                 8    U R                   R                  U5      $ r0   r  r  s     r   r  ri  C  r  r%   r  r  c                 T    [         R                  " U [         R                  " U6 5        g)zL__init__(GDALFootprintOptions self, char ** options) -> GDALFootprintOptionsN)r   GDALFootprintOptions_swiginitnew_GDALFootprintOptionsr  s     r   r   GDALFootprintOptions.__init__F  r	  r%   r&   N)r   r   r;   r<   r=   r   r   r   r   r   r   delete_GDALFootprintOptionsr	  r?   r&   r%   r   r+  r+  @  r#  r%   r+  c                  (    [         R                  " U 6 $ )zwrapper_GDALFootprintDestDS(Dataset dstDS, Dataset srcDS, GDALFootprintOptions options, GDALProgressFunc callback=0, void * callback_data=None) -> int)r   rG  rx   s    r   rG  rG  N  rO  r%   c                  (    [         R                  " U 6 $ )zwrapper_GDALFootprintDestName(char const * dest, Dataset srcDS, GDALFootprintOptions options, GDALProgressFunc callback=0, void * callback_data=None) -> Dataset)r   r=  rx   s    r   r=  r=  R  rQ  r%   c                   N    \ rS rSrSr\" S S SS9r\rS r	\
R                  rSrg	)
rQ  iU  z'Proxy of C++ GDALBuildVRTOptions class.c                 6    U R                   R                  5       $ r0   r  r  s    r   r  GDALBuildVRTOptions.<lambda>X  r  r%   c                 8    U R                   R                  U5      $ r0   r  r  s     r   r  rt  X  r  r%   r  r  c                 T    [         R                  " U [         R                  " U6 5        g)zJ__init__(GDALBuildVRTOptions self, char ** options) -> GDALBuildVRTOptionsN)r   GDALBuildVRTOptions_swiginitnew_GDALBuildVRTOptionsr  s     r   r   GDALBuildVRTOptions.__init__[  s    **41N1NPT1UVr%   r&   N)r   r   r;   r<   r=   r   r   r   r   r   r   delete_GDALBuildVRTOptionsr	  r?   r&   r%   r   rQ  rQ  U  s/    2-/IOdeGHW 77r%   rQ  c                  (    [         R                  " U 6 $ )zBuildVRTInternalObjects(char const * dest, int object_list_count, GDALBuildVRTOptions options, GDALProgressFunc callback=0, void * callback_data=None) -> Dataset)r   rY  rx   s    r   rY  rY  c  r  r%   c                  (    [         R                  " U 6 $ )zBuildVRTInternalNames(char const * dest, char ** source_filenames, GDALBuildVRTOptions options, GDALProgressFunc callback=0, void * callback_data=None) -> Dataset)r   rZ  rx   s    r   rZ  rZ  g  r  r%   c                   N    \ rS rSrSr\" S S SS9r\rS r	\
R                  rSrg	)
r^  ij  z0Proxy of C++ GDALMultiDimTranslateOptions class.c                 6    U R                   R                  5       $ r0   r  r  s    r   r  %GDALMultiDimTranslateOptions.<lambda>m  r  r%   c                 8    U R                   R                  U5      $ r0   r  r  s     r   r  r  m  r  r%   r  r  c                 T    [         R                  " U [         R                  " U6 5        g)z\__init__(GDALMultiDimTranslateOptions self, char ** options) -> GDALMultiDimTranslateOptionsN)r   %GDALMultiDimTranslateOptions_swiginit new_GDALMultiDimTranslateOptionsr  s     r   r   %GDALMultiDimTranslateOptions.__init__p  s    33D%:`:`bf:ghr%   r&   N)r   r   r;   r<   r=   r   r   r   r   r   r   #delete_GDALMultiDimTranslateOptionsr	  r?   r&   r%   r   r^  r^  j  s/    ;-/IOdeGHi @@r%   r^  c                  (    [         R                  " U 6 $ )zwrapper_GDALMultiDimTranslateDestName(char const * dest, int object_list_count, GDALMultiDimTranslateOptions multiDimTranslateOptions, GDALProgressFunc callback=0, void * callback_data=None) -> Dataset)r   rf  rx   s    r   rf  rf  x  s    66==r%   r  )Nr   TFFFFFFTTTTFTFNN)Nr   TNFTTNNNN)NFNNNF)+NNNNNTNNNNNFFFNNNNNNNNNNNNNNNNNFNNFNFNFFNNN)NNNNFNr   NNNNFFFNFFNNNN)NNNFNNNFFNNN)NNNNNNNNNNNNNNNNNNN)NNNNNNNNNNNNNNNFNN)	NNNNNNNNN)r   Fr   (j  r  r   _swig_python_version_info__package__r   r	   r   builtinsr   r   r   r'   r-   r7   r   r9   rE   rL   osgeo.gdalconstr~  rN   
byteordersrY  	byteorderrZ  r[  r\  r_  r`  GDT_CFloat32GDT_CFloat64r  array_modesri   ru   rw   r|   r   r   r   r   objectr   r   r   r   r   r   r   r   r   r   r   r  r
  r  r  GRIORA_BilinearGRIORA_CubicGRIORA_CubicSplineGRIORA_LanczosGRIORA_Average
GRIORA_RMSGRIORA_ModeGRIORA_Gaussr3  r)  r^  rd  r  r  r  r  r  r  r  r  r  r  r%  r)  r5  rO  rW  r\  rd  rg  rk  r  r  r  
contextlibcontextmanagerr  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  rl   r  DirEntry_swigregisterrn   ro   r  r  r  r  r  r  r  r  r  r  r  r   r#  r%  r'  r?  r+  r-  r/  r1  r3  r5  r7  r9  r;  r=  r?  rB  rD  rG  rJ  VSILFILE_swigregisterVSI_STAT_EXISTS_FLAGVSI_STAT_NATURE_FLAGVSI_STAT_SIZE_FLAGVSI_STAT_SET_ERROR_FLAGVSI_STAT_CACHE_ONLYrU  StatBuf_swigregisterr>  rg  ri  r@  rl  rn  rp  rC  rA  rB  ru  rw  VSI_RANGE_STATUS_UNKNOWNVSI_RANGE_STATUS_DATAVSI_RANGE_STATUS_HOLEry  r{  r}  r  r  r  r   r  r  r  MajorObject_swigregisterr  Driver_swigregisterr   r   r  ColorEntry_swigregisterr  GCP_swigregisterr+  r-  r/  r1  r3  r5  r7  r9  r;  r=  r?  rA  rC  rE  rG  rI  VirtualMem_swigregisterr[  AsyncReader_swigregisterrw  Dataset_swigregisterGEDTST_NONEr  r  Group_swigregisterrN  Statistics_swigregisterr`  MDArray_swigregisterr  Attribute_swigregisterr  Dimension_swigregisterr|  re  r  rc  ExtendedDataType_swigregisterrC  EDTComponent_swigregisterrW  Band_swigregisterrY   ColorTable_swigregisterr	  !RasterAttributeTable_swigregisterr	  SubdatasetInfo_swigregisterr
  r
  Relationship_swigregisterre
  TermProgressrZ   ra   rk
  rn
  rq
  rs
  rv
  ry
  r{
  r}
  r
  r
  r
  GVM_DiagonalGVM_EdgeGVM_MaxGVM_MinGVOT_NORMALGVOT_MIN_TARGET_HEIGHT_FROM_DEM"GVOT_MIN_TARGET_HEIGHT_FROM_GROUNDr
  r
  r
  r
  &GDALTransformerInfoShadow_swigregisterr
  r
  #SuggestedWarpOutputRes_swigregisterr
  r
  r
  r  r
  r
  r
  r
  r
  r
  r
  r
  r  r
  r*  r
  r
  r
  r
  r
  r
  r
  r
  r
  r
  r
  r
  r
  r\   r  rX   r   r
  r
  r
  r
  __version__r   GDALInfoOptions_swigregisterr   r   "GDALVectorInfoOptions_swigregisterr   r   $GDALMultiDimInfoOptions_swigregisterr	  r5  !GDALTranslateOptions_swigregisterr`  r  GDALWarpAppOptions_swigregisterr  r  r  'GDALVectorTranslateOptions_swigregisterr  r  r  %GDALDEMProcessingOptions_swigregisterr  r  !GDALNearblackOptions_swigregisterr  r
  r  GDALGridOptions_swigregisterr  r  !GDALRasterizeOptions_swigregisterr(  r'  r+  !GDALFootprintOptions_swigregisterrG  r=  rQ   GDALBuildVRTOptions_swigregisterrY  rZ  r^  )GDALMultiDimTranslateOptions_swigregisterrf  r&   r%   r   <module>r     s   :#/"[
L$ L $   
##*S]]2K)K$$*S]]2K)K##*S]]2K)K$$*S]]2K)K%%*S]]2K)K%%*S]]2K)K&&*S]]2K)K&&*S]]2K)K""*S]]2K)K	> $& $),,'+;:J6 :J~<@"3
R6 :>BG9>HL7<(,8?t> ##"&!#(#'!#'!%  $OEd>9,@= %%vzG  -ii%6G
  "$$004$!"4$Y^44D$ET4t$4EHNM: TUQT!U$t)BWBW ,,$4uEE4 $TchD"'d)@FD'aT 15-1!FJ"& $"!&*ESNl
iB CGGH?C;@AF,0+/r[h!lH +/59FK&*	NH`cB T"..a"4vCpH: "$))dtd D5UuDuTt4tdjHXc@ " "&#,0  $ $!"#!%#*.,026#yHv]c@ !#!%(,!!! $".2""# 15!kGZ,]^ IMLP&*DPL%dP.$4;4  1  1FC4  ((9)(0,+#7/')((*+&+*$! ) 7v 70   H %(!(3(.3).&&.)1''*$)''',+%%/-v    H %11 11 -- 77 // 6f 6&   7 #!(("$!##""&/ !99 33 33 ,#*1*8)#-/+& /+f   { +>4[ >4B   & !  [ [   j )&& &V   s ******..--**((+1 1&   j );& ;6   { +n	k n	d   7 #pEF pEf    E E"   j )l=f l=`   7 #N  N f   Y '(3 (3V   Y '##!!%%B$v B$L  # #$4 576 78    -K=; K=`    %= %=P   j )kC6 kC^  ' '(< =EV E.  ! !. 1*aC6 aCH    -4 !!60131-.-.6524 !!>>
--
--"'"G"G %*%M%M "3,.\ \4  , ,-F G$oV o0  ) )*@ A;7
G;T:*($$1$%$(*(*&35!''')-5)'(")#'30 /	4f 	4  " "? 3%	:F 	:  ( ()> ?+	<f 	<  * *+B C-	96 	9  ' '(< =*	7 	7  % %&8 9/1	? 	?  - -.H I:<	=v 	=  + +,D E.	96 	9  ' '(< =46	4f 	4  " "? 3%	96 	9  ' '(< =46	96 	9  ' '(< =46	8& 	8  & &': ;0.	A6 	A  / /0L M>QC  s   o: :
pp