
    nj                         S SK r S SKJr  S rS rS r\ R                  4S jr\S:X  a#  \ R                  " \" \ R                  5      5        gg)    N)ogrc                 2    U S   nU S   nU S   nUS-   nXU4$ )Nr         i   )xyzxyzs       V/var/www/html/pdf-tiff/venv/lib/python3.13/site-packages/osgeo_utils/samples/vec_tr.pyTransformPointr   &   s0    AAAAAA	DA!9    c                    U R                  5       S:  aU  [        U R                  5       5       H6  nU R                  U5      n[        U5      nX2Ld  M%  U R	                  U5        M8     U $ [        U R                  5       5       H\  nU R                  U5      U R                  U5      U R                  U5      4n[        U5      nU R                  XS   US   US   5        M^     U $ )Nr   r   r   )GetGeometryCountrangeGetGeometryRefWalkAndTransformSetGeometryDirectlyGetPointCountGetXGetYGetZr   SetPoint)geomiold_geomnew_geomr   s        r   r   r   4   s    "t,,./A**1-H'1H'((2	 0
 4%%'(yy|TYYq\499Q<8S!aQQQ0 ) Kr   c                  0    [        S5        [        S5        g)Nz'Usage: vec_tr.py infile outfile [layer] r   )printr   r   r   Usager!   K   s    	
34	"Ir   c                 2   S nS nS nU SS   H"  nUc  UnM
  Uc  UnM  Uc  UnM  [        5       s  $    Uc
  [        5       $ [        R                  " USS9nUb  UR                  U5      nOUR	                  S5      nUR                  5       n[        R                  " S5      nUR                  U5        UR                  U5      n	U	R                  UR                  5       UR                  5       UR                  5       S9n
UR                  5       n[        U5       H  nUR                  U5      n[        R                   " UR                  5       UR#                  5       5      nUR%                  UR'                  5       5        UR)                  UR+                  5       5        U
R-                  U5        M     UR/                  5       nUb  UR1                  5       R3                  5       n[5        U5      n[        R6                  " U
R                  5       S9nUR9                  U5        UR;                  U5        U
R=                  U5        UR?                  5         UR?                  5         UR/                  5       nUb  M  U	R?                  5         UR?                  5         g)Nr   r   )updatezESRI Shapefile)	geom_typesrs)feature_def) r!   r   OpenGetLayerByNameGetLayerGetLayerDefnGetDriverByNameDeleteDataSourceCreateDataSourceCreateLayerGetNameGetGeomTypeGetSpatialRefGetFieldCountr   GetFieldDefn	FieldDefnGetTypeSetWidthGetWidthSetPrecisionGetPrecisionCreateFieldGetNextFeaturer   Cloner   FeatureSetFromr   CreateFeatureDestroy)argvinfileoutfile
layer_nameargin_dsin_layerin_defn
shp_drivershp_ds	shp_layerin_field_count	fld_indexsrc_fdfdin_featr   out_feats                     r   mainrR   Q   s@   FGJABx>F_GJ 7N  w
 HHVA&E''
3>>!$##%G
 $$%56J(((1F""W%8%8%:@V@V@X # I **,N>*	%%i0]]6>>+V^^-=>
FOO%&
++-.b! + %%'G

%%'--/%;;9+A+A+CD!$$T*)))+ 
& NN	MMOr   __main__)
sysosgeor   r   r   r!   rA   rR   __name__exitr   r   r   <module>rX      sO   >  
. hh Qh zHHT#((^ r   