
    nj,                    h   S SK r S SKrS SKrS SKJrJrJr   " S S\5      rS r	S r
SqS r " S	 S
\5      r " S S\5      rSqSqSq\R$                  q " S S\5      r\" / SQ5      rS\S4S jrS rS rS rS rS rS rS rS r\ S:X  a#  \RB                  " \" \RD                  5      5        gg)    N)gdalogrosrc                       \ rS rSrSS jrSrg)ScaledProgressObject/   Nc                 4    Xl         X l        X0l        X@l        g N)minmaxcbkcbk_data)selfminimaxir   r   s        W/var/www/html/pdf-tiff/venv/lib/python3.13/site-packages/osgeo_utils/samples/ogr2ogr.py__init__ScaledProgressObject.__init__0   s         )r   r   r   r   r
   __name__
__module____qualname____firstlineno__r   __static_attributes__ r   r   r   r   /   s    !r   r   c                     UR                   c  gUR                  UR                  XR                  UR                  -
  -  -   XR                  5      $ )NT)r   r   r   r   )pctmsgdatas      r   ScaledProgressFuncr!   :   s=    xx88DHHshh&9::COOr   c                 D    U R                  5       UR                  5       :H  $ r
   )lower)abs     r   EQUALr&   C   s    779	!!r   c                    [        U S-  5      nUS:  a  SnUS:  a  SnU[        :  a  [        S:  a  SqU[        ::  a  gU[        :  an  [        S-   q[        S-  S:X  a-  [        R                  R	                  S	[        S-  S
-  -  5        O[        R                  R	                  S5        U[        :  a  Mn  US:X  a  [        S5        g[        R                  R                  5         g)Ng      D@r   (   '   r'   T      z%d
   .z - done.)int	nLastTicksysstdoutwriteprintflush)
dfComplete
pszMessagepProgressArg	nThisTicks       r   TermProgressr:   O   s     J%&I1}	2~	 9b	I
i
M	MaJJTi!mr%9:;JJS! i
 Bj  	

r   c                       \ rS rSrS rSrg)TargetLayerInfop   c                 <    S U l         S U l        S U l        S U l        g r
   )
poDstLayerpoCTpanMap
iSrcZFieldr   s    r   r   TargetLayerInfo.__init__q   s    	r   )rB   rA   r@   r?   Nr   r   r   r   r<   r<   p   s    r   r<   c                       \ rS rSrS rSrg)AssociatedLayersy   c                      S U l         S U l        g r
   
poSrcLayerpsInforC   s    r   r   AssociatedLayers.__init__z   s    r   rI   Nr   r   r   r   rF   rF   y   s    r   rF   F   c                       \ rS rSrS rSrg)Enum   c                     X;   a  U$ [         er
   )AttributeError)r   names     r   __getattr__Enum.__getattr__   s    <Kr   r   N)r   r   r   r   rT   r   r   r   r   rO   rO      s    r   rO   )NONE
SEGMENTIZESIMPLIFY_PRESERVE_TOPOLOGYc                 >   [        [        R                  " S5      5      nUS:  a  [        S5        gSnS nS n/ n/ n/ n	Sn
SnSnSnS nS nS nSnS nS nS nS nS nS nS nSnSn[        R
                  nSn/ nSnS nS n Sn!Sn"S n#S n$S n%S n&S n'S n(S n)S n*S n+S n,Sn"Sn-S n.S	n/U c  [        R                  n [        R                  " U 5      n U c  g
[        U 5      n0Sn1U1U0:  Ga?  [        U U1   S5      (       a  U1U0S-
  :  a  U1S-   n1U U1   nGO[        U U1   S5      (       a$  U1U0S-
  :  a  U1S-   n1UR                  U U1   5        GO[        U U1   S5      (       a$  U1U0S-
  :  a  U1S-   n1U	R                  U U1   5        GO[        U U1   S5      (       a  SqGO[        U U1   5      S:  a  [        U U1   SS S5      (       a  SqSqGOQ[        U U1   S5      (       a  SnSnGO7[        U U1   S5      (       a  SnSnGO[        U U1   S5      (       a  SnGO[        U U1   S5      (       a  U1U0S-
  :  a  U1S-   n1[        U U1   5      qGO[        U U1   S5      (       a  U1U0S-
  :  a  U1S-   n1U U1   nGO[        U U1   S5      (       a  U1U0S-
  :  a  U1S-   n1U U1   nGO[        U U1   S5      (       Ga  U1U0S-
  :  Ga  [        U U1S-      S5      (       a  [        R"                  nGO[        U U1S-      S5      (       a  [        R$                  nGO[        U U1S-      S5      (       a  SnGO[        U U1S-      S5      (       a  [        R&                  nGO^[        U U1S-      S5      (       a  [        R(                  nGO5[        U U1S-      S5      (       a  [        R*                  nGO[        U U1S-      S5      (       a  [        R,                  nGO[        U U1S-      S 5      (       a  [        R.                  nGO[        U U1S-      S!5      (       a  [        R0                  nGO[        U U1S-      S"5      (       a  [        R2                  nGOh[        U U1S-      S#5      (       a#  [        R$                  [        R4                  -  nGO.[        U U1S-      S$5      (       a  [        R6                  nGO[        U U1S-      S%5      (       a  [        R8                  nO[        U U1S-      S&5      (       a  [        R:                  nO[        U U1S-      S'5      (       a  [        R<                  nO[        U U1S-      S(5      (       a  [        R>                  nOe[        U U1S-      S)5      (       a  [        R@                  nO=[        U U1S-      S*5      (       a  [        RB                  nO[        S+U U1S-      -  5        gU1S-   n1GOg[        U U1   S,5      (       aB  U1U0S-
  :  a9  [        U U1S-      5      n/U/S
:w  a  U/S-:w  a  [        S.U U1S-      -  5        gU1S-   n1GO[        U U1   S/5      (       d  [        U U1   S05      (       a  U1U0S-
  :  a  U1S-   n1[        U U1   5      qG
O[        U U1   S15      (       a  U1U0S-
  :  a  U1S-   n1U U1   nG
O[        U U1   S25      (       a;  U1U0S-
  :  a2  U1S-   n1U U1   n[        US35      (       d  [        US5      (       a  S nSnG
OS[        U U1   S45      (       a  U1U0S-
  :  a  U1S-   n1U U1   nSn
G
O([        U U1   S55      (       GaZ  U1S6-   U0:  GaP  [        RD                  " [        RF                  5      n2U2RI                  [K        U U1S-      5      [K        U U1S
-      5      5        U2RI                  [K        U U1S-      5      [K        U U1S6-      5      5        U2RI                  [K        U U1S--      5      [K        U U1S6-      5      5        U2RI                  [K        U U1S--      5      [K        U U1S
-      5      5        U2RI                  [K        U U1S-      5      [K        U U1S
-      5      5        [        RD                  " [        R*                  5      nURM                  U25        U1S6-   n1GO[        U U1   S75      (       a  U1U0S-
  :  a  U1S-   n1U U1   nGO[        U U1   S85      (       aX  U1U0S-
  :  aO  U1S-   n1U U1   nURO                  S95      S	:w  a  URQ                  S95      nOURQ                  S:5      nUS   S;:X  a  / nGO$[        U U1   S<5      (       a.  U1U0S-
  :  a%  U1S-   n1[        RR                  n[K        U U1   5      nGO[        U U1   S=5      (       a.  U1U0S-
  :  a%  U1S-   n1[        RT                  n[K        U U1   5      nGO[        U U1   S>5      (       GaC  U1U0S-
  :  Ga9  U1S-   n1U U1   n3U3RO                  S95      S	:w  a  U3RQ                  S95      n4OU3RQ                  S:5      n4U4 H  n5[        U5S?5      (       d  [        U5S@5      (       d  [        U5SA5      (       dw  [        U5SB5      (       df  [        U5SC5      (       dU  [        U5SD5      (       dD  [        U5SE5      (       d3  [        U5SF5      (       d"  [        U5SG5      (       d  [        U5SH5      (       a  UR                  U55        M  [        U5SI5      (       a  SI/n  GOf[        SJU5-  5        [W        5       s  $    GOH[        U U1   SK5      (       a  SnGO0[        U U1   SL5      (       GaC  U1U0S-
  :  Ga9  Sn![Y        U U1S-      5      (       GaZ  U1U0S6-
  :  GaP  [        RD                  " [        RF                  5      n2U2RI                  [K        U U1S-      5      [K        U U1S
-      5      5        U2RI                  [K        U U1S-      5      [K        U U1S6-      5      5        U2RI                  [K        U U1S--      5      [K        U U1S6-      5      5        U2RI                  [K        U U1S--      5      [K        U U1S
-      5      5        U2RI                  [K        U U1S-      5      [K        U U1S
-      5      5        [        RD                  " [        R*                  5      n#U#RM                  U25        U1S6-   n1GO[        U U1S-      5      SM:  a  [        U U1S-      SSM S5      (       d/  [        U U1S-      5      SN:  aU  [        U U1S-      SSN S"5      (       a;  [        RZ                  " U U1S-      5      n#U#c  [        SO5        [W        5       $ U1S-   n1GO[        U U1S-      SP5      (       a  U1S-   n1GOU U1S-      n$U1S-   n1GO[        U U1   SQ5      (       a  U1U0S-
  :  a  U U1S-      n%U1S-   n1GO[        U U1   SR5      (       a  U1U0S-
  :  a  U U1S-      n&U1S-   n1GO[        U U1   SS5      (       a  U1U0S-
  :  a  U U1S-      n'U1S-   n1GOT[        U U1   ST5      (       Ga@  U1U0S-
  :  Ga6  [Y        U U1S-      5      (       GaZ  U1U0S6-
  :  GaP  [        RD                  " [        RF                  5      n2U2RI                  [K        U U1S-      5      [K        U U1S
-      5      5        U2RI                  [K        U U1S-      5      [K        U U1S6-      5      5        U2RI                  [K        U U1S--      5      [K        U U1S6-      5      5        U2RI                  [K        U U1S--      5      [K        U U1S
-      5      5        U2RI                  [K        U U1S-      5      [K        U U1S
-      5      5        [        RD                  " [        R*                  5      n(U(RM                  U25        U1S6-   n1GO[        U U1S-      5      SM:  a  [        U U1S-      SSM S5      (       d/  [        U U1S-      5      SN:  aU  [        U U1S-      SSN S"5      (       a;  [        RZ                  " U U1S-      5      n(U(c  [        SO5        [W        5       $ U1S-   n1GO+[        U U1S-      SP5      (       a  U1S-   n1GOU U1S-      n)U1S-   n1O[        U U1   SU5      (       a  U1U0S-
  :  a  U U1S-      n*U1S-   n1O[        U U1   SV5      (       a  U1U0S-
  :  a  U U1S-      n+U1S-   n1O[        U U1   SW5      (       a  U1U0S-
  :  a  U U1S-      n,U1S-   n1O~[        U U1   SX5      (       a  Sn-Og[        U U1   SY5      (       a  U1U0S-
  :  a  U U1S-      n.U1S-   n1O<U U1   S   SZ:X  a
  [W        5       $ Uc  U U1   nOUc  U U1   nOUR                  U U1   5        U1S-   n1U1U0:  a  GM?  Uc
  [W        5       $ [        (       a  U-(       a  [        S[5        [W        5       $ U!(       a*  U$b'  []        U$U%U&U'5      n#U#c  [        S\5        [W        5       $ O5U!(       a.  U#c+  Ub  UR_                  5       n#U#c  [        S]5        [W        5       $ U)b&  []        U)U*U+U,5      n(U(c  [        S^5        [W        5       $ [        R`                  " US5      n6U6cg  [        S_S`U-  -   5        [c        [        Rd                  " 5       5       H3  n7[        Sa[        Rf                  " U75      Ri                  5       -   5        M5     gS n8S n9U(       Ga  [        Rj                  " SSb9   [        Rl                  " 5          [        R`                  " US5      n8S S S 5        S S S 5        U8c  U(       d  U(       aj  [        Rj                  " SSb9   [        Rl                  " 5          [        R`                  " US5      n8S S S 5        S S S 5        U8c  SnOU8Ro                  5         S n8U(       a  [        S_ScU-  -   5        gOU(       a  [        Sd5        U8b  U8Rg                  5       n9U(       Gdw  [        Rp                  " U5      n9U9co  [        SeU-  5        [        Sf5        [c        [        Rd                  " 5       5       H3  n7[        Sg[        Rf                  " U75      Ri                  5       -  5        M5     gU9Rs                  [        Rt                  5      (       d  [        ShU-  5        g[        U9Ri                  5       S5      (       ax  Ucu  [        U5      S:  d  U(       d_  U6Rw                  5       S:  aK  UcH  [        [x        Rz                  R}                  U5      S   Si5      (       a   [x        R~                  " U5        U9R                  XhSl9n8U8c  [        U< SmU< 35        gUbX  [        R                  " 5       nUR                  [        R                  5        UR                  U5      S:w  a  [        SnU-  5        gUbX  [        R                  " 5       nUR                  [        R                  5        UR                  U5      S:w  a  [        SnU-  5        gU6Rg                  5       S L=(       a!    U6Rg                  5       Ri                  5       So:H  n:Sn;U:(       aG  U6Ri                  5       Sp:w  a3  [        R                  " U6Ri                  5       5      n<U<b  U<R                  n;UGb  Ub  [        Sq5        U(       a  [        Sr5        U6R                  UUS 5      n=U=Gbd  Sn>U(       aR  U:(       a  UnUn OFU=Rs                  [        R                  5      (       d  [        Ss5        SnOU=R                  5       n>UnUn [        U9Ri                  5       S5      (       az  Ucw   [x        R~                  " U5      R                  n?U?[~        R                  -  S:X  a?  [x        Rz                  R}                  [x        Rz                  R                  U5      5      S   n[        U6U=U8U	UU
UUUUUUUU/UUU"U-U.U5      n@U=R                  5         U@b"  [        W@U6U=U8UUUUU/UUU>U#U(U-U;S UU 5      (       d  [        St5        gU6R                  U=5        GOU:(       Ga  [        R                  " SuS 5      Gcz  [        R                  " SuSv5        U6Rw                  5       nA[c        UA5       VBs/ s H  nB[        5       PM     nCnB[        U9Ri                  5       S5      (       a  [        U5      S:X  d  WAS:X  az  Ucw   [x        R~                  " U5      R                  n?U?[~        R                  -  S:X  a?  [x        Rz                  R}                  [x        Rz                  R                  U5      5      S   nU(       a  U:(       a  UnUn U(       dP  S /WA-  n[c        UA5       H:  nDU6R                  UD5      nEUEc  [        SwWD-  5          gWERi                  5       UWD'   M<     OAU:(       a:  SxnF[        U5       H  u  nDnGUDS:w  a  WFS9-   nFWFWG-   nFM     U6R                  WFS S 5        [c        WA5       H  nDU6R                  UD5      nEUEc  [        SwWD-  5          gWEWCWD   lY        [        UUERi                  5       5      S:  a  UbD  WER                  U5      S:w  a/  [        SyU< SzWERi                  5       < S{35        [        (       d    gUb  WER                  U5        [        U6WEU8U	UU
UUUUUUUU/UUU"U-U.U5      n@U@c  [        (       d    gW@WCWD   l]        M  S WCWD   l]        M     SnHUH(       a  SnH[c        WA5       H  nDWCUD   R                  nEUCUD   R                  n@S/nIU@bO  [        W@U6WEU8UUUUU/UUSU#U(U-U;WIUU 5      (       d,  [        (       d!  [        S|WERi                  5       -   S}-   5          gO3WER                  5       nJUJb   WIS   S-   UIS'   WER                  5       nJUJb  M   WIS   S:w  d  M  SnHM     WH(       a  M  GOSnK/ nLU(       dY  U6Rw                  5       nKS /UK-  nLSnD[c        UK5       H1  nDU6R                  UD5      nEUEc  [        SwWD-  5          gWEWLWD'   UDS-   nDM3     OJ[        U5      nKS /UK-  nLSnDU H1  nMU6R                  UM5      nEUEc  [        S~WM-  5          gWEWLWD'   UDS-   nDM3     S/WK-  nNSnOSnP[c        UK5       H  nDWLUD   nEUb0  WER                  U5      S:w  a  [        SU-  5        [        (       d    gUb  WER                  U5        U(       d  MX  U:(       a  Ma  WERs                  [        R                  5      (       d  [        Ss5        SnM  WER                  5       WNWD'   WOUNUD   -  nOM     [c        WK5       GH|  nDWLUD   nEU(       a2  U:(       a  UnUn O&[        n[        WPS-  WO-  UPWNWD   -   S-  UO-  UU5      n WPWNWD   -  nP[        U9Ri                  5       S5      (       a  WKS:X  az  Ucw   [x        R~                  " U5      R                  n?U?[~        R                  -  S:X  a?  [x        Rz                  R}                  [x        Rz                  R                  U5      5      S   n[        U6WEU8U	UU
UUUUUUUU/UUU"U-U.U5      n@UER                  5         U@b(  [        W@U6WEU8UUUUU/UUWNWD   U#U(U-U;S UU 5      (       a  GMB  [        (       a  GMP  [        S|WER                  5       Ri                  5       -   S}-   5          g   U8R                  5         U6R                  5         g! , (       d  f       GN= f! , (       d  f       GN= f! , (       d  f       GN= f! , (       d  f       GN= f! [         a;     [x        R                  " USj5         G
N1! [         a    [        SkU-  5          gf = ff = f! [         a     GNf = fs  snBf ! [         a     GNXf = f! [         a     GN}f = f)NVERSION_NUMi  z6ERROR: Python bindings of GDAL 1.8.0 or later requiredr+   zESRI ShapefileFr   r'      z-fz-dscoz-lcoz-preserve_fidT   z-skipz-appendz
-overwritez-updatez-fidz-sqlz-nlnz-nltrV   GEOMETRYPROMOTE_TO_MULTIPOINT
LINESTRINGPOLYGONGEOMETRYCOLLECTION
MULTIPOINTMULTILINESTRINGMULTIPOLYGONGEOMETRY25DPOINT25DLINESTRING25D
POLYGON25DGEOMETRYCOLLECTION25DMULTIPOINT25DMULTILINESTRING25DMULTIPOLYGON25Dz-nlt %s: type not recognised.z-dim   z-dim %s: value not handled.z-tgz-gtz-s_srsz-a_srsNULLz-t_srsz-spatr,   z-wherez-select,  z	-simplifyz-segmentizez-fieldTypeToStringIntegerRealStringDateTimeDateTimeBinaryIntegerListRealList
StringListAllz1Unhandled type for fieldtypeasstring option : %s z	-progressz-clipsrc      zGFAILURE: Invalid geometry. Must be a valid POLYGON or MULTIPOLYGON WKT
spat_extentz-clipsrcsqlz-clipsrclayerz-clipsrcwherez-clipdstz-clipdstsqlz-clipdstlayerz-clipdstwherez-explodecollectionsz-zfield-zLFAILURE: cannot use -preserve_fid and -explodecollections at the same time

z*FAILURE: cannot load source clip geometry
zoFAILURE: -clipsrc must be used with -spat option or a
bounding box, WKT string or datasource must be specified
z(FAILURE: cannot load dest clip geometry
z	FAILURE:
z:Unable to open datasource `%s' with the following drivers.z  ->  )useExceptionsz/Unable to open existing output datasource `%s'.zaWARNING: Datasource creation options ignored since an existing datasource
         being updated.zUnable to find driver `%s'.z$The following drivers are available:z  ->  %sz0%s driver does not support data source creation.z.SHPi  z7Failed to create directory %s
for shapefile datastore.
)optionsz driver failed to create z$Failed to process SRS definition: %sOSMz
/vsistdin/z/-where clause ignored in combination with -sql.z-layer names ignored in combination with -sql.z;Progress turned off as fast feature count is not available.zPTerminating translation prematurely after failed
translation from sql statement.OGR_INTERLEAVED_READINGYESz,FAILURE: Couldn't fetch advertised layer %d!zSET interest_layers =zFAILURE: SetAttributeFilter(z) on layer 'z
' failed.
zFTerminating translation prematurely after failed
translation of layer z# (use -skipfailures to skip errors)z,FAILURE: Couldn't fetch advertised layer %s!z'FAILURE: SetAttributeFilter(%s) failed.      ?)dr/   r   VersionInfor4   GeomOperationrV   r1   argvr   GeneralCmdLineProcessorlenr&   appendbPreserveFIDbSkipFailuresnGroupTransactionsnFIDToFetchwkbNone
wkbUnknownwkbPointwkbLineString
wkbPolygonwkbGeometryCollectionwkbMultiPointwkbMultiLineStringwkbMultiPolygon	wkb25DBitwkbPoint25DwkbLineString25DwkbPolygon25DwkbGeometryCollection25DwkbMultiPoint25DwkbMultiLineString25DwkbMultiPolygon25DGeometrywkbLinearRingAddPoint_2DfloatAddGeometryfindsplitrX   rW   UsageIsNumberCreateGeometryFromWktLoadGeometryCloneOpenrangeGetDriverCount	GetDriverGetNameExceptionMgrquiet_errorsdeleteGetDriverByNameTestCapabilityODrCCreateDataSourceGetLayerCountospathsplitextstatOSErrormkdirCreateDataSourcer   SpatialReferenceSetAxisMappingStrategyOAMS_TRADITIONAL_GIS_ORDERSetFromUserInputVSIStatLsize
ExecuteSQLOLCFastFeatureCountGetFeatureCountst_modeS_IFDIRbasenameSetupTargetLayerResetReadingTranslateLayerReleaseResultSetGetConfigOptionSetConfigOptionrF   GetLayer	enumeraterJ   CSLFindStringSetAttributeFilterSetSpatialFilterrK   GetNextFeatureGetLayerByNamer!   r   GetLayerDefnDestroy)Qargsprogress_funcprogress_dataversion_num	pszFormatpszDataSourcepszDestDataSourcepapszLayers	papszDSCOpapszLCO
bTransformbAppendbUpdate
bOverwritepszOutputSRSDefpszSourceSRSDefpoOutputSRSbNullifyOutputSRSpoSourceSRSpszNewLayerNamepszWHEREpoSpatialFilter	pszSelectpapszSelFieldspszSQLStatementeGTypebPromoteToMultieGeomOpdfGeomOpParampapszFieldTypesToStringbDisplayProgresspfnProgressr8   bClipSrcbWrapDateline	poClipSrcpszClipSrcDSpszClipSrcSQLpszClipSrcLayerpszClipSrcWhere	poClipDstpszClipDstDSpszClipDstSQLpszClipDstLayerpszClipDstWherebExplodeCollections	pszZField	nCoordDimnArgciArgoRingpszFieldTypeToStringtokenstokenpoDSiDriverpoODSpoDriver	bSrcIsOSMnSrcFileSizesStatpoResultSetnCountLayerFeaturesmoderK   nSrcLayerCount_pasAssocLayersiLayerpoLayerosInterestLayers
papszLayerbHasLayersNonEmptyanReadFeatureCount	poFeaturenLayerCount
papoLayers	layernamepanLayerCountFeaturesnCountLayersFeaturesnAccCountFeaturessQ                                                                                    r   mainr-     s    d&&}56KTFG IMKIHJGGJOOKKOHOINOFO  GM KLHMILMOOILMOO MII|xx&&t,D
 |IED
,dT""teai'7!8DT
I4:w''D519,<!8DT$Z(4:v&&4%!)+;!8DOODJ'4://Ld_!eDJqOW&E&E M!"4:y))GG4:|,,JG4:y))G4:v&&4%!)+;!8Dd4j/K4:v&&4%!)+;!8D"4jO4:v&&4%!)+;!8D"4jO4:v&&4%!)+;T$(^V,,tD1H~z22tD1H~'9::"&tD1H~w//tD1H~|44**tD1H~y11tD1H~';<<22tD1H~|44**tD1H~'899//tD1H~~66,,tD1H~}55#--7tD1H~z22tD1H~77--tD1H~|44**tD1H~'>??55tD1H~77--tD1H~';<<22tD1H~'899//5TAXFG!8D4:v&&4%!)+;DN+IA~)q.3d4!8nDE!8D $t*e$$d4j%(@(@UQY!8D!$T$Z4:x((TEAI-=!8D"4jO4:x((TEAI-=!8D"4jO_f--1O1O"&$(!4:x((TEAI-=!8D"4jOJ4:w''D1Hu,<LL!2!23EeDN3U4q>5JKeDN3U4q>5JKeDN3U4q>5JKeDN3U4q>5JKeDN3U4q>5JK!ll3>>:O''.!8D4:x((TEAI-=!8DDzH4:y))dUQY.>!8DT
I~~c"b(!*!5!*!5a B&!#4:{++uqy0@!8D#>>G!$t*-M4:}--$2B!8D#..G!$t*-M4:344	9I!8D#': #((-3-33C8-33C8%++UF++UH--UF++UF++UJ//UH--UM22UJ//UL11 ,22595%((/4g+ MPUUV 7N-  0 4:{++# 4:z**teai/?HTAX''D519,<S%6%67!!%TAX"7tD1H~9NO!!%TAX"7tD1H~9NO!!%TAX"7tD1H~9NO!!%TAX"7tD1H~9NO!!%TAX"7tD1H~9NOLL8	%%e,ax DN#q(U4q>!A3F	-R-RDN#r)$tax.2.??55d4!8nE	$b !7NaxtD1H~}55ax  $D1H~ax4:}--$2B NM!8D4://D5194D"4!8nO!8D4://D5194D"4!8nO!8D4:z**teai/?TAX''D519,<S%6%67!!%TAX"7tD1H~9NO!!%TAX"7tD1H~9NO!!%TAX"7tD1H~9NO!!%TAX"7tD1H~9NO!!%TAX"7tD1H~9NOLL8	%%e,ax DN#q(U4q>!A3F	-R-RDN#r)$tax.2.??55d4!8nE	$b !7NaxtD1H~}55ax  $D1H~ax4:}--$2B NM!8D4://D5194D"4!8nO!8D4://D5194D"4!8nO!8D4:455"&4:y))dUQY.>TAXI!8D$Z]c!7N& $T
" JMtDz*axm	 ,p	 w|+\	
 wL, -/
	 ?@7N  
i'&'--/IO 7N -/
	 =>7N
 88M5)D
 |J	
 S//12G(S]]73;;==> 3 
 EHE2D4E4E4GHH.5E 5H2=W%%E:D<M<M<OHH%6>E =P:=#GLLN E G'((
   ,
 (H
 &&y1/);<89 !3!3!56j3==#9#A#A#CCD 7 &&s'?'?@@DyPQ (""$&677'[!A%kd>P>P>RUV>V'bgg&&'89!<fEE)*  ))*;)O=Y@QRS
 "**,**3+I+IJ''8A=8?JK
 "**,**3+I+IJ''8A=8?JK
  ,T1A1I1I1Ku1TILT\\^|3dlln- ::L
 "CDABoooM""#"/K#0L$33C4K4KLLWX',$ +6*E*E*G'"/K#0L X%%')9::?V77#45==Dt||+1*,''*:*:GG,,->?++ &!'#)F. $$&~^!##'& &* 8
 !!+.
 
t++,EtLT6> ++-6;N6KL6K*,6KL (""$&677[!Q&.A*='ww01994<<'A-&(gg&6&6(():;''O 	'K(L
 &>1K/--/?H6QR&-oo&7F# 0 #: *3K*@&FJ{+;c+A('7*'D$ +A
  0$=
 N+FmmF+GDvMN07N6"-['//*;<A'11(;q@'):<  -}#$".,,_=)#%"#+!'). >--06v&-04v&-c ,l " !&/(0;;'/66&'S"%*" #!'-"+%#)%%/(.'(' * !.6%oo/0 DD  ! !( 6 6 8I#/0B10E0I*1-$+$:$:$<	 $/ &a(A-)-&_ 0 ! l 

 ,,.K+-JF,--/?H6QR%,
6"! - k*K+-JF(	--i8?H9TU%,
6"! ) "#k 1  K(F (G#--h71<ChNO(= *((9		--c.E.EFFWX',$4;4K4K4M)&1(,A&,II(% )* K(F (G"/K#0L"4K#7)C/2FF*-B6-JJ./ &%$L !6v!>> h&&(*:;;1$#+77#45==Dt||+1*,''*:*:GG,,->?++ &!'#)F.   " %%#!)&1'  ' * $m.**,4467 <<  )L 
MMOLLN] 5H4G22
 =P<O::|  
	 HH.4 57HI 
r  P M&  d  s   I>Az&JAzJ,Az&K!A{
K7Az8LA{
R:A{ [.A6A|$ `+A|5a9A6A|: u%A6A}z
Az#	zAz&z&
Az5z8
A{	{A{
{

A{{
A|!{'A||A||A|!|A||A|!|$
A|2|1A|2|:
A}}A}}
A}}A}c                  F   [        S5        [        [        R                  " 5       5       H^  n [        R                  " U 5      nUR                  [        R                  5      (       d  M?  [        SUR                  5       -   S-   5        M`     [        S5        [        S5        g)Na  Usage: ogr2ogr [--help-general] [-skipfailures] [-append] [-update] [-gt n]
               [-select field_list] [-where restricted_where] 
               [-progress] [-sql <sql statement>] 
               [-spat xmin ymin xmax ymax] [-preserve_fid] [-fid FID]
               [-a_srs srs_def] [-t_srs srs_def] [-s_srs srs_def]
               [-f format_name] [-overwrite] [[-dsco NAME=VALUE] ...]
               [-simplify tolerance]
               [-fieldTypeToString All|(type1[,type2]...)] [-explodecollections] 
               dst_datasource_name src_datasource_name
               [-lco NAME=VALUE] [-nln name] [-nlt type] [-dim 2|3] [layer [layer ...]]

 -f format_name: output file format name, possible values are:z	     -f ""a   -append: Append to existing layer instead of creating new if it exists
 -overwrite: delete the output layer and recreate it empty
 -update: Open existing output datasource in update mode
 -progress: Display progress on terminal. Only works if input layers have the "fast feature count" capability
 -select field_list: Comma-delimited list of fields from input layer to
                     copy to the new layer (defaults to all)
 -where restricted_where: Attribute query (like SQL WHERE)
 -sql statement: Execute given SQL statement and save result.
 -skipfailures: skip features or layers that fail to convert
 -gt n: group n features per transaction (default 200)
 -spat xmin ymin xmax ymax: spatial query extents
 -simplify tolerance: distance tolerance for simplification.
 -dsco NAME=VALUE: Dataset creation option (format specific)
 -lco  NAME=VALUE: Layer creation option (format specific)
 -nln name: Assign an alternate name to the new layer
 -nlt type: Force a geometry type for new layer.  One of NONE, GEOMETRY,
      POINT, LINESTRING, POLYGON, GEOMETRYCOLLECTION, MULTIPOINT,
      MULTIPOLYGON, or MULTILINESTRING.  Add "25D" for 3D layers.
      Default is type of source layer.
 -dim dimension: Force the coordinate dimension to the specified value.
 -fieldTypeToString type1,...: Converts fields of specified types to
      fields of type string in the new layer. Valid types are : 
      Integer, Real, String, Date, Time, DateTime, Binary, IntegerList, RealList,
      StringList. Special value All can be used to convert all fields to strings.a   -a_srs srs_def: Assign an output SRS
 -t_srs srs_def: Reproject/transform to this SRS on output
 -s_srs srs_def: Override source SRS

 Srs_def can be a full WKT definition (hard to escape properly),
 or a well known definition (i.e. EPSG:4326) or a file with a WKT
 definition.r\   )r4   r   r   r   r   r   r   r   )r  r  s     r   r   r     s    		K ++-.==)""3#;#;<<+ 0 0 22S89	 / 
	^: 
	 r   c                 L    SnU  H  n[        X15      (       a  Us  $ US-   nM     g)Nr   r+   r'   )r&   )vmystristrIters       r   r   r     s/    	A  HE  r   c                 <     [        U 5        g! [         a     gf = f)NTF)r   
ValueError)pszStrs    r   r   r     s#    f s    
c                    S n[         R                  " U S5      nUc  g Ub  UR                  US S 5      nO&Ub  UR                  U5      nOUR	                  S5      nUc  [        S5        UR                  5         g Ub  UR                  U5        UR                  5       nUGb  UR                  5       nUb  [        UR                  5       5      n	Uc$  [         R                  " [         R                  5      nU	[         R                  :X  a  UR                  U5        OU	[         R                  :X  aA  [!        UR#                  5       5       H#  n
UR                  UR                  U
5      5        M%     O0[        S5        Ub  UR%                  U5        UR                  5         g UR                  5       nUb  GM  Ub  UR%                  U5        UR                  5         U$ )NFr   z0Failed to identify source layer from datasource.z$ERROR: Geometry not of polygon type.)r   r   r   r   r   r4   r   r   r   GetGeometryRef
wkbFlattenGetGeometryTyper   r   r   r   r   GetGeometryCountr   )pszDSpszSQLpszLyrpszWherepoGeomr  poLyrpoFeat	poSrcGeomeTypeiGeoms              r   r   r     s   F88E5!D|d3		##F+a }@A  *!!#F

))+	 y88:;E~c&9&9:&""9-#---"9#=#=#?@E&&y'?'?'FG A <=%))%0%%'+ 
. e$LLNMr   c                 *    U [         R                  ) -  $ r
   )r   r   )xs    r   r:  r:    s    r   c                    U c  g [        U R                  5       5      nU[        R                  :X  a1  U R	                  SU R                  5       U R                  5       U5        g U[        R                  :X  d  U[        R                  :X  aR  [        U R                  5       5       H4  nU R	                  X0R                  U5      U R                  U5      U5        M6     g U[        R                  :X  dP  U[        R                  :X  d<  U[        R                  :X  d(  U[        R                  :X  d  U[        R                  :X  a<  [        U R!                  5       5       H  n[#        U R%                  U5      U5        M      g g )Nr   )r:  r;  r   r   SetPointGetXGetYr   r   r   GetPointCountr   r   r   r   r   r<  SetZr9  )rA  dfZr   r3  s       r   rN  rN    s   ~..01F6;;=&++-=	3$$	$#2C2C(Cv++-.AOOA{{1~v{{1~sC / 	#.. S&&&S+++S(((S...v..01A&&q)3/ 2 /r   c                 B   Uc  UR                  5       R                  5       nS nU(       a  Uc  UR                  5       nUc  [        S5        g [        R
                  " X5      nUcL  S n[        S5        UR                  S5      n[        SU-   5        UR                  S5      n[        SU-   5        g UR                  5       nUc  U(       d  UR                  5       n[        R                  " S5        UR                  U5      n[        R                  " 5         [        R                  " 5         SnUbd  UR                  5       n[        U5       H=  nUR                  U5      nUc  M  UR                  5       UR                  5       :X  d  M=    O   UU:X  a  S nUb*  U(       a#  UR                  U5      S:w  a  [        S5        g S nUGc
  US	:X  Gak  UR!                  5       nU["        R$                  -  nU(       aa  ['        U5      ["        R(                  :X  a  ["        R*                  U-  nO0['        U5      ["        R,                  :X  a  ["        R.                  U-  nU(       a  ['        U5      ["        R0                  :X  a  ["        R2                  U-  nO['        U5      ["        R*                  :X  a  ["        R(                  U-  nOa['        U5      ["        R.                  :X  a  ["        R,                  U-  nO0['        U5      ["        R4                  :X  a  ["        R6                  U-  nUb  U["        R$                  -  nUS
:X  a  U["        R$                  ) -  nOUS:X  a  U["        R$                  -  nUR9                  ["        R:                  5      (       d  [        SU-   S-   5        g [        R                  " 5         UR=                  XFX5      nUc  g Sn
O.U
(       d  [        SU-   S-   S-   5        g U(       a  [        S5        UR?                  5       nS/U-  nUR                  5       nU	Gb  U
(       Gd  SnUb  UR?                  5       nU	 GH  n URA                  U 5      n!U!S:  Ga  URC                  U!5      n"["        RD                  " U"RG                  5       U"RI                  5       5      n#U#RK                  U"RM                  5       5        U#RO                  U"RQ                  5       5        Uba  [S        US5      S:w  d2  [S        U["        RT                  " U"RI                  5       5      5      S:w  a  U#RW                  ["        RX                  5        Sn$Ub  URA                  U#RG                  5       5      n$U$S:  a  U$UU!'   GM4  UR[                  U#5      S:X  aY  Uc  UR                  5       nUb6  UR?                  5       US-   :w  a  [        SU#RG                  5       -  5        GM  UUU!'   US-   nGM  GM  [        SU -   S-   5        [\        (       a  GM    g    UR9                  ["        R^                  5      (       a  Uc  / n%[        U5       Hr  n!URC                  U!5      RG                  5       n&Sn'U	 H  n [a        U&U 5      (       d  M  Sn'  O   Ub  [a        U&U5      (       a  Sn'U'(       a  Ma  U%Rc                  U&5        Mt     URe                  U%5        GOU
(       Gd  SnUb  UR?                  5       n[        U5       GH  n(URC                  U(5      n"["        RD                  " U"RG                  5       U"RI                  5       5      n#U#RK                  U"RM                  5       5        U#RO                  U"RQ                  5       5        Uba  [S        US5      S:w  d2  [S        U["        RT                  " U"RI                  5       5      5      S:w  a  U#RW                  ["        RX                  5        Sn$Ub  URA                  U#RG                  5       5      n$U$S:  a  U$UU('   GM  UR[                  U#5      S:X  d  GM4  Uc  UR                  5       nUb6  UR?                  5       US-   :w  a  [        SU#RG                  5       -  5        GM  UUU('   US-   nGM     O^Uc  [        S5        g [        U5       H@  n(URC                  U(5      n"URA                  U"RG                  5       5      n$U$S:  d  M;  U$UU('   MB     Sn)Ub  URA                  U5      n)[g        5       n*UU*l4        UU*l5        UU*l6        U)U*l7        U*$ )Nz[Can't transform coordinates, source layer has no
coordinate system.  Use -s_srs to set one.zFailed to create coordinate transformation between the
following coordinate systems.  This may be because they
are not transformable.r   zSource:
zTarget:
CPLQuietErrorHandlerr'   z.DeleteLayer() failed when overwrite requested.r[   r\   ro   zLayer z3not found, and CreateLayer not supported by driver.FzFAILED: Layer z+already exists, and -append not specified.
z.        Consider using -append, or -overwrite.z^WARNING: Layer creation options ignored since an existing layer is
         being appended to.r~   r+   zIThe output driver has claimed to have added the %s field, but it did not!zField 'z' not found in source layer.TzpoDstFDefn == NULL.
)8r   r   GetSpatialRefr4   r   CoordinateTransformationExportToPrettyWktr   PushErrorHandlerr   PopErrorHandler
ErrorResetr   r   r   DeleteLayerGetGeomTyper   r   r:  r   r   r   r   r   r   r   r   r   ODsCCreateLayerCreateLayerGetFieldCountGetFieldIndexGetFieldDefn	FieldDefn
GetNameRefGetTypeSetWidthGetWidthSetPrecisionGetPrecisionr   GetFieldTypeNameSetType	OFTStringCreateFieldr   OLCIgnoreFieldsr&   r   SetIgnoredFieldsr<   r?   r@   rA   rB   )+poSrcDSrJ   poDstDSr   r   r   r   r   r   r   r   r   r   r  r   r   r   r
  r  r   r@   pszWKT
poSrcFDefnr?   r   r'  r!  n25DBitnSrcFieldCountrA   
poDstFDefnnDstFieldCountpapszSelField	iSrcFieldpoSrcFieldDefn
oFieldDefn	iDstFieldpapszIgnoredFieldspszFieldNamebFieldRequestediFieldrB   rK   s+                                              r   r   r   7  so   . $113;;=
 D$224K? ++KE<F+ !2215F+&' 2215F+&'
 ((*J#4 ..0 	01''8JOOF++-K(F&&v.G "w'8J<N<N<P'P ) [ J *v&!+BC

 R<++-Fs}},Gf%):):: 33g=F'3>>9 007:F"f%):):: \\G3F'3+A+AA ..8F'3+>+>> ^^g5F'3+D+DD ^^g5F$#--/>s}}n,F!^cmm+F%%c&9&9::!"GH
 ((vX

 <= ??	
 0  --/NTN"F((*J!'!'557N+M"00?IA~!+!8!8!C ]]"--/1G1G1I
 ##N$;$;$=>''(C(C(EF*6!"95ARG$/,,^-C-C-EF 	 &&s}}5 	) * 8 89N9N9P QI>(1F9%++J71<!)%/%<%<%>
 #.&446.1:LLg(3356
 -;y))7!);! =& i-/2PPQ$}c ,t $$S%8%899h>N!#">2	)66yALLN"'%3M\=99*. &4
 (U<-K-K&*O '&--l; 3 ''(:;!'557NN+F'44V<N))+^-C-C-EJ  7 7 9:##N$?$?$AB&25u=C +(()?)?)AB 	 ""3==1 I%&44Z5J5J5LM	A~!*v''
3q8%!+!8!8!:J *"002nq6HHc$//12
 &4F6N%3a%7NU ,^ )*N+F'44V<N"001J1J1LMIA~!*v	 , J--i8
F"FFKFM"FMr   c                    SnSnSnU R                   nU R                  nU R                  nU R                  nUc  U(       d  UR	                  5       n[        U5      [        R                  :X  a  SnO?[        U5      [        R                  :X  a  SnO[        U5      [        R                  :X  a  SnSnSn[        S:  a  UR                  5          S n[        [        R                  :w  a  US:X  a  UR                  [        5      nOS nOUR                  5       nUc  GOSnSnU(       a  UR!                  5       n U b  [        U R#                  5       5      n!U![        R$                  :X  d<  U![        R                  :X  d(  U![        R                  :X  d  U![        R&                  :X  a  U R)                  5       nUnUS:X  a  Sn[+        U5       GHF  n"US-   nU[        :X  a"  UR-                  5         UR                  5         Sn[.        R0                  " 5         [        R2                  " UR5                  5       5      nUR7                  USU5      S:w  aH  [        S:  a  UR-                  5         [9        SUR;                  5       UR=                  5       4-  5          g[>        (       a  URA                  UR;                  5       5        UR!                  5       n#U#Gb  US:  a2  U#R!                  U"5      RC                  5       n$URE                  U$5        U$n#US:w  a>  [G        U#URI                  U5      5        U#RC                  5       n%URE                  U%5        U%n#US:X  d  US:X  a  U#RK                  U5        U	[L        RN                  :X  a  OAU	[L        RP                  :X  a-  U
S:  a'  U#RS                  U
5      n&U&b  URE                  U&5        U&n#UbW  U#RU                  U5      n'U'b  U'RW                  5       (       a  US-   nUb  U" US	-  U-  S
U5        GMA  URE                  U'5        U'n#Ub[  U#RY                  U5      n(U(S:w  aC  [        S:  a  UR-                  5         [9        SUR;                  5       -  5        [Z        (       d    gOUb  U#R]                  U5        Ub?  U#RU                  U5      n'U'b  U'RW                  5       (       a  GM  URE                  U'5        U'n#U(       a&  URE                  [        R^                  " U#5      5        OU(       d2  U(       aQ  [        U#R#                  5       5      [        R                  :X  a&  URE                  [        R`                  " U#5      5        O^U(       d2  U(       aP  [        U#R#                  5       5      [        Rb                  :X  a%  URE                  [        Rd                  " U#5      5        [.        R0                  " 5         URg                  U5      S:w  d  GM  [Z        (       a  GM-  [        S:  a  URi                  5           g   US-   nUb  US:w  ap  US-  S:X  af  URk                  SS S 5      n)U)b?  U)R                  5       n*U*b,  U*Rm                  S5      n+[o        U+5      n,U" U,S	-  U-  S
U5        URq                  U)5        OU" US	-  U-  S
U5        Ub  UUS'   GM  [        S:  a  UR-                  5         g)NFTr   r+   z,Unable to translate feature %d from layer %sr'   r\   ro   r   rs   zTFailed to reproject feature %d (geometry probably out of source or destination SRS).i  zGetBytesRead())9r?   r@   rA   rB   rR  r:  r   r   r   r   r   StartTransactionr   NullFID
GetFeaturer   r9  r;  r   r   r<  r   CommitTransactionr   rW  Featurer   SetFromWithMapr4   GetFIDr   r   SetFIDr   SetGeometryDirectlyrN  GetFieldAsDoubleSetCoordinateDimensionr   rW   rX   SimplifyPreserveTopologyIntersectionIsEmpty	Transformr   AssignSpatialReferenceForceToPolygonForceToMultiPolygonr   ForceToMultiLineStringCreateFeatureRollbackTransactionr   GetFieldAsStringr/   r   )-rK   rl  rJ   rm  r   r   r   r   r  r   r   r  r   r  r
  r  pnReadFeatureCountr   r8   bForceToPolygonbForceToMultiPolygonbForceToMultiLineStringr?   r@   rA   rB   nFeaturesInTransactionnCountpoDstFeaturer&  nPartsnIterspoSrcGeometryeSrcTypeiPartpoDstGeometrypoPartpoDupGeometry	poNewGeom	poClippedeErr	poFCLayerrC  pszReadSize	nReadSizes-                                                r   r   r     s&   , O #""J;;D]]F""J#4 ..0&S^^+	F	s22	2#	F	s55	5"&
 FA##%
#++% &*&11+>	 	 #113I%446M(%m&C&C&EF 1 113#9#993#6#663#<#<<*;;=F#F{!"6]E%;a%?"%);;,,.++-)*&OO;;z'>'>'@AL**9a@AE%)002B ''):+=+=+?@A
 |##I$4$4$67(779M(A:*99%@FFHF 44V<$*M#	(B(B:(NO$1$7$7$9M 44]C$1M>Y!^!88Cm666 }GGG%) - F F} UI ,$88C(1( - : :9 EI (I,=,=,?,?!'!&2' &/B BB ! 44Y?$-M#(2248Dqy-1&88:r'..01  -}#( ,!88E( - : :9 EI (I,=,=,?,?  44Y?$-M" 44S5G5G5VW)#"=#@#@#BCs~~U 44//> -#"=#@#@#BCsGXGXX 4422=A OO''5:==%)224o #t !"q TMa' ' 2 23CT4 PI ,!*!9!9!;!-*0*A*A!*DK(+K(8I' )C, >L ,,Y7FSL+>>LQ)$*q!] ` A$$&r   __main__)#r   r   r1   osgeor   r   r   objectr   r!   r&   r0   r:   r<   rF   r   r   r   r  r   setrO   r   r-  r   r   r   r   r:  rN  r   r   r   exitr   r   r   r   <module>r     s   L 
  
    
!6 !P" 	Bf v   kk3  IJ ,d nl>B2j 0:W~
fR zHHT#((^ r   