/django/contrib/gis/gdal/prototypes/ds.py
Python | 71 lines | 53 code | 7 blank | 11 comment | 0 complexity | 40a7ec48f88f9281af24788bb1c24695 MD5 | raw file
Possible License(s): BSD-3-Clause
1""" 2 This module houses the ctypes function prototypes for OGR DataSource 3 related data structures. OGR_Dr_*, OGR_DS_*, OGR_L_*, OGR_F_*, 4 OGR_Fld_* routines are relevant here. 5""" 6from ctypes import c_char_p, c_double, c_int, c_long, c_void_p, POINTER 7from django.contrib.gis.gdal.envelope import OGREnvelope 8from django.contrib.gis.gdal.libgdal import lgdal 9from django.contrib.gis.gdal.prototypes.generation import \ 10 const_string_output, double_output, geom_output, int_output, \ 11 srs_output, void_output, voidptr_output 12 13c_int_p = POINTER(c_int) # shortcut type 14 15### Driver Routines ### 16register_all = void_output(lgdal.OGRRegisterAll, [], errcheck=False) 17cleanup_all = void_output(lgdal.OGRCleanupAll, [], errcheck=False) 18get_driver = voidptr_output(lgdal.OGRGetDriver, [c_int]) 19get_driver_by_name = voidptr_output(lgdal.OGRGetDriverByName, [c_char_p]) 20get_driver_count = int_output(lgdal.OGRGetDriverCount, []) 21get_driver_name = const_string_output(lgdal.OGR_Dr_GetName, [c_void_p]) 22 23### DataSource ### 24open_ds = voidptr_output(lgdal.OGROpen, [c_char_p, c_int, POINTER(c_void_p)]) 25destroy_ds = void_output(lgdal.OGR_DS_Destroy, [c_void_p], errcheck=False) 26release_ds = void_output(lgdal.OGRReleaseDataSource, [c_void_p]) 27get_ds_name = const_string_output(lgdal.OGR_DS_GetName, [c_void_p]) 28get_layer = voidptr_output(lgdal.OGR_DS_GetLayer, [c_void_p, c_int]) 29get_layer_by_name = voidptr_output(lgdal.OGR_DS_GetLayerByName, [c_void_p, c_char_p]) 30get_layer_count = int_output(lgdal.OGR_DS_GetLayerCount, [c_void_p]) 31 32### Layer Routines ### 33get_extent = void_output(lgdal.OGR_L_GetExtent, [c_void_p, POINTER(OGREnvelope), c_int]) 34get_feature = voidptr_output(lgdal.OGR_L_GetFeature, [c_void_p, c_long]) 35get_feature_count = int_output(lgdal.OGR_L_GetFeatureCount, [c_void_p, c_int]) 36get_layer_defn = voidptr_output(lgdal.OGR_L_GetLayerDefn, [c_void_p]) 37get_layer_srs = srs_output(lgdal.OGR_L_GetSpatialRef, [c_void_p]) 38get_next_feature = voidptr_output(lgdal.OGR_L_GetNextFeature, [c_void_p]) 39reset_reading = void_output(lgdal.OGR_L_ResetReading, [c_void_p], errcheck=False) 40test_capability = int_output(lgdal.OGR_L_TestCapability, [c_void_p, c_char_p]) 41get_spatial_filter = geom_output(lgdal.OGR_L_GetSpatialFilter, [c_void_p]) 42set_spatial_filter = void_output(lgdal.OGR_L_SetSpatialFilter, [c_void_p, c_void_p], errcheck=False) 43set_spatial_filter_rect = void_output(lgdal.OGR_L_SetSpatialFilterRect, [c_void_p, c_double, c_double, c_double, c_double], errcheck=False) 44 45### Feature Definition Routines ### 46get_fd_geom_type = int_output(lgdal.OGR_FD_GetGeomType, [c_void_p]) 47get_fd_name = const_string_output(lgdal.OGR_FD_GetName, [c_void_p]) 48get_feat_name = const_string_output(lgdal.OGR_FD_GetName, [c_void_p]) 49get_field_count = int_output(lgdal.OGR_FD_GetFieldCount, [c_void_p]) 50get_field_defn = voidptr_output(lgdal.OGR_FD_GetFieldDefn, [c_void_p, c_int]) 51 52### Feature Routines ### 53clone_feature = voidptr_output(lgdal.OGR_F_Clone, [c_void_p]) 54destroy_feature = void_output(lgdal.OGR_F_Destroy, [c_void_p], errcheck=False) 55feature_equal = int_output(lgdal.OGR_F_Equal, [c_void_p, c_void_p]) 56get_feat_geom_ref = geom_output(lgdal.OGR_F_GetGeometryRef, [c_void_p]) 57get_feat_field_count = int_output(lgdal.OGR_F_GetFieldCount, [c_void_p]) 58get_feat_field_defn = voidptr_output(lgdal.OGR_F_GetFieldDefnRef, [c_void_p, c_int]) 59get_fid = int_output(lgdal.OGR_F_GetFID, [c_void_p]) 60get_field_as_datetime = int_output(lgdal.OGR_F_GetFieldAsDateTime, [c_void_p, c_int, c_int_p, c_int_p, c_int_p, c_int_p, c_int_p, c_int_p]) 61get_field_as_double = double_output(lgdal.OGR_F_GetFieldAsDouble, [c_void_p, c_int]) 62get_field_as_integer = int_output(lgdal.OGR_F_GetFieldAsInteger, [c_void_p, c_int]) 63get_field_as_string = const_string_output(lgdal.OGR_F_GetFieldAsString, [c_void_p, c_int]) 64get_field_index = int_output(lgdal.OGR_F_GetFieldIndex, [c_void_p, c_char_p]) 65 66### Field Routines ### 67get_field_name = const_string_output(lgdal.OGR_Fld_GetNameRef, [c_void_p]) 68get_field_precision = int_output(lgdal.OGR_Fld_GetPrecision, [c_void_p]) 69get_field_type = int_output(lgdal.OGR_Fld_GetType, [c_void_p]) 70get_field_type_name = const_string_output(lgdal.OGR_GetFieldTypeName, [c_int]) 71get_field_width = int_output(lgdal.OGR_Fld_GetWidth, [c_void_p])