https://t.me/RX1948
Server : Apache
System : Linux iad1-shared-b8-43 6.6.49-grsec-jammy+ #10 SMP Thu Sep 12 23:23:08 UTC 2024 x86_64
User : dh_edsupp ( 6597262)
PHP Version : 8.2.26
Disable Function : NONE
Directory :  /lib/python3/dist-packages/django/contrib/gis/gdal/__pycache__/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Current File : //lib/python3/dist-packages/django/contrib/gis/gdal/__pycache__/datasource.cpython-310.pyc
o

�a��@s|dZddlmZddlmZddlmZddlmZddl	m
Z
ddlmZddl
mZdd	lmZmZGd
d�de�ZdS)
a�
 DataSource is a wrapper for the OGR Data Source object, which provides
 an interface for reading vector geometry data from many different file
 formats (including ESRI shapefiles).

 When instantiating a DataSource object, use the filename of a
 GDAL-supported data source.  For example, a SHP file or a
 TIGER/Line file from the government.

 The ds_driver keyword is used internally when a ctypes pointer
 is passed in directly.

 Example:
  ds = DataSource('/home/foo/bar.shp')
  for layer in ds:
      for feature in layer:
          # Getting the geometry for the feature.
          g = feature.geom

          # Getting the 'description' field for the feature.
          desc = feature['description']

          # We can also increment through all of the fields
          #  attached to this feature.
          for field in feature:
              # Get the name of the field (e.g. 'description')
              nm = field.name

              # Get the type (integer) of the field, e.g. 0 => OFTInteger
              t = field.type

              # Returns the value the field; OFTIntegers return ints,
              #  OFTReal returns floats, all else returns string.
              val = field.value
�)�byref)�Path)�GDALBase)�Driver)�
GDALException)�Layer)�ds)�force_bytes�	force_strc@sPeZdZdZejZddd�Zdd�Zdd	�Z	d
d�Z
edd
��Zedd��Z
dS)�
DataSourcez Wraps an OGR Data Source object.F�utf-8cCs�|rd|_nd|_||_t��t|ttf�r7t��}zt�	t
|�|jt|��}Wn$ty6td|��wt||j�rFt|tj�rF|}ntdt
|���|rZ||_t|�|_dStd|��)N�rz%Could not open the datasource at "%s"z"Invalid data source input type: %szInvalid data source file "%s")�_write�encodingr�ensure_registered�
isinstance�strr�ptr_type�capi�open_dsr	rr�type�ptr�driver)�self�ds_input�	ds_driver�writerr�r�D/usr/lib/python3/dist-packages/django/contrib/gis/gdal/datasource.py�__init__7s&�zDataSource.__init__cCs�t|t�rzt�|jt|��}Wn5tytd|��wt|t�r>d|kr.|j	kr8nnt�
|j|�}ntd|��tdt
|���t||�S)z@Allows use of the index [] operator to get a layer at the index.z!Invalid OGR layer name given: %s.rz=Index out of range when accessing layers in a datasource: %s.zInvalid index type: %s)rrr�get_layer_by_namerr	r�
IndexError�int�layer_count�	get_layer�_ptr�	TypeErrorrr)r�index�layerrrr�__getitem__Xs
�

zDataSource.__getitem__cCs|jS)z3Return the number of layers within the data source.)r#�rrrr�__len__hszDataSource.__len__cCsd|j|jfS)z2Return OGR GetName and Driver for the Data Source.z%s (%s))�namerr*rrr�__str__lszDataSource.__str__cCst�|j�S)z/Return the number of layers in the data source.)r�get_layer_countr%r*rrrr#pszDataSource.layer_countcCst�|j�}t||jdd�S)z#Return the name of the data source.T)�strings_only)r�get_ds_namer%r
r)rr,rrrr,uszDataSource.nameN)FFr)�__name__�
__module__�__qualname__�__doc__r�
destroy_ds�
destructorrr)r+r-�propertyr#r,rrrrr3s
!
rN)r4�ctypesr�pathlibr�django.contrib.gis.gdal.baser�django.contrib.gis.gdal.driverr�django.contrib.gis.gdal.errorr�django.contrib.gis.gdal.layerr�"django.contrib.gis.gdal.prototypesrr�django.utils.encodingr	r
rrrrr�<module>s#

https://t.me/RX1948 - 2025