File manager - Edit - /usr/local/CyberCP/lib/python3.10/site-packages/django/contrib/gis/gdal/__pycache__/datasource.cpython-310.pyc
Back
o �h � @ s| d Z ddlmZ ddlmZ ddlmZ ddlmZ ddl m Z ddlmZ ddl mZ dd lmZmZ G d d� de�ZdS ) 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 @ sP e Zd ZdZejZddd�Zdd� Zdd � Z d d� Z edd � �Zedd� �Z dS )� DataSourcez Wraps an OGR Data Source object.F�utf-8c C s� |rd| _ nd| _ || _t�� t|ttf�r7t�� }zt� t |�| j t|��}W n$ ty6 td| ��w t|| j�rFt|tj�rF|}ntdt |� ��|rZ|| _t|�| _d S td| ��)N� r z%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 r r �type�ptr�driver)�self�ds_input� ds_driver�writer r � r �U/usr/local/CyberCP/lib/python3.10/site-packages/django/contrib/gis/gdal/datasource.py�__init__7 s* ��zDataSource.__init__c C s� t |t�rzt�| jt|��}W n5 ty td| ��w t |t�r>d| kr.| j k r8n nt� | j|�}ntd| ��tdt |� ��t|| �S )z@Allows use of the index [] operator to get a layer at the index.z!Invalid OGR layer name given: %s.r z=Index out of range when accessing layers in a datasource: %s.zInvalid index type: %s)r r r �get_layer_by_namer r r � IndexError�int�layer_count� get_layer�_ptr� TypeErrorr r )r �index�layerr r r �__getitem__Z s � �� zDataSource.__getitem__c C s | j S )z3Return the number of layers within the data source.)r# �r r r r �__len__m s zDataSource.__len__c C s d| j | jf S )z2Return OGR GetName and Driver for the Data Source.z%s (%s))�namer r* r r r �__str__q s zDataSource.__str__c C s t �| j�S )z/Return the number of layers in the data source.)r �get_layer_countr% r* r r r r# u s zDataSource.layer_countc C s t �| j�}t|| jdd�S )z#Return the name of the data source.T)�strings_only)r �get_ds_namer% r r )r r, r r r r, z s zDataSource.nameN)FFr )�__name__� __module__�__qualname__�__doc__r � destroy_ds� destructorr r) r+ r- �propertyr# r, r r r r r 3 s # r N)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.prototypesr r �django.utils.encodingr r r r r r r �<module> s #
| ver. 1.4 |
Github
|
.
| PHP 8.2.28 | Generation time: 0.02 |
proxy
|
phpinfo
|
Settings