本文整理匯總了Python中ogr.OFTInteger方法的典型用法代碼示例。如果您正苦於以下問題:Python ogr.OFTInteger方法的具體用法?Python ogr.OFTInteger怎麽用?Python ogr.OFTInteger使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在類ogr
的用法示例。
在下文中一共展示了ogr.OFTInteger方法的4個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Python代碼示例。
示例1: create_temp_shape
# 需要導入模塊: import ogr [as 別名]
# 或者: from ogr import OFTInteger [as 別名]
def create_temp_shape(self, name, point_list):
vector_file = os.path.join(self.temp_dir.name, name)
shape_driver = ogr.GetDriverByName("ESRI Shapefile") # Depreciated; replace at some point
vector_data_source = shape_driver.CreateDataSource(vector_file)
vector_layer = vector_data_source.CreateLayer("geometry", self.srs, geom_type=ogr.wkbPolygon)
ring = ogr.Geometry(ogr.wkbLinearRing)
for point in point_list:
ring.AddPoint(point[0], point[1])
poly = ogr.Geometry(ogr.wkbPolygon)
poly.AddGeometry(ring)
vector_feature_definition = vector_layer.GetLayerDefn()
vector_feature = ogr.Feature(vector_feature_definition)
vector_feature.SetGeometry(poly)
vector_layer.CreateFeature(vector_feature)
vector_layer.CreateField(ogr.FieldDefn("class", ogr.OFTInteger))
feature = ogr.Feature(vector_layer.GetLayerDefn())
feature.SetField("class", 3)
vector_data_source.FlushCache()
self.vectors.append(vector_data_source) # Check this is the right thing to be saving here
self.vector_paths.append(vector_file)
示例2: create_100x100_shp
# 需要導入模塊: import ogr [as 別名]
# 或者: from ogr import OFTInteger [as 別名]
def create_100x100_shp(self, name):
"""Cretes a shapefile with a vector layer named "geometry" containing a 100mx100m square , top left corner
being at wgs coords 10,10.
This polygon has a field, 'class' with a value of 3. Left in for back-compatability"""
# TODO Generalise this
vector_file = os.path.join(self.temp_dir.name, name)
shape_driver = ogr.GetDriverByName("ESRI Shapefile") # Depreciated; replace at some point
vector_data_source = shape_driver.CreateDataSource(vector_file)
vector_layer = vector_data_source.CreateLayer("geometry", self.srs, geom_type=ogr.wkbPolygon)
ring = ogr.Geometry(ogr.wkbLinearRing)
ring.AddPoint(10.0, 10.0)
ring.AddPoint(10.0, 110.0)
ring.AddPoint(110.0, 110.0)
ring.AddPoint(110.0, 10.0)
ring.AddPoint(10.0, 10.0)
poly = ogr.Geometry(ogr.wkbPolygon)
poly.AddGeometry(ring)
vector_feature_definition = vector_layer.GetLayerDefn()
vector_feature = ogr.Feature(vector_feature_definition)
vector_feature.SetGeometry(poly)
vector_layer.CreateFeature(vector_feature)
vector_layer.CreateField(ogr.FieldDefn("class", ogr.OFTInteger))
feature = ogr.Feature(vector_layer.GetLayerDefn())
feature.SetField("class", 3)
vector_data_source.FlushCache()
self.vectors.append(vector_data_source) # Check this is the right thing to be saving here
self.vector_paths.append(vector_file)
示例3: Add_Field
# 需要導入模塊: import ogr [as 別名]
# 或者: from ogr import OFTInteger [as 別名]
def Add_Field(input_lyr, field_name, ogr_field_type):
"""
Add a field to a layer using the following ogr field types:
0 = ogr.OFTInteger
1 = ogr.OFTIntegerList
2 = ogr.OFTReal
3 = ogr.OFTRealList
4 = ogr.OFTString
5 = ogr.OFTStringList
6 = ogr.OFTWideString
7 = ogr.OFTWideStringList
8 = ogr.OFTBinary
9 = ogr.OFTDate
10 = ogr.OFTTime
11 = ogr.OFTDateTime
"""
# List fields
fields_ls = List_Fields(input_lyr)
# Check if field exist
if field_name in fields_ls:
raise Exception('Field: "{0}" already exists'.format(field_name))
# Create field
inp_field = ogr.FieldDefn(field_name, ogr_field_type)
input_lyr.CreateField(inp_field)
return inp_field
示例4: dbf_to_df
# 需要導入模塊: import ogr [as 別名]
# 或者: from ogr import OFTInteger [as 別名]
def dbf_to_df(path):
"""
Return DataFrame from attributes stored in dBase/xBase format.
Uses OGR's ESRI Shapefile driver to read records from the file.
Parameters
----------
path : str
File path to the dBase/xBase file.
Returns
-------
df : pandas.DataFrame
"""
import ogr
# Open the file and collect information on fields.
dbf = ogr.Open(path)
table = dbf.GetLayer()
header = table.GetLayerDefn()
ncolumns = header.GetFieldCount()
column_names = [header.GetFieldDefn(i).GetName() for i in range(ncolumns)]
column_types = [header.GetFieldDefn(i).GetType() for i in range(ncolumns)]
def read(row, i):
"""Return i-th field of a record."""
# For performance, use the appropriate field type function.
fld_type = column_types[i]
if fld_type == ogr.OFTInteger:
return row.GetFieldAsInteger(i)
elif fld_type == ogr.OFTReal:
return row.GetFieldAsDouble(i)
elif fld_type == ogr.OFTStringList:
return row.GetFieldAsStringList(i)
elif fld_type == ogr.OFTIntegerList:
return row.GetFieldAsIntegerList(i)
elif fld_type == ogr.OFTRealList:
return row.GetFieldAsDoubleList(i)
else:
return row.GetFieldAsString(i)
# Represent records with memory-efficient generators.
values = lambda row: (read(row, i) for i in range(ncolumns))
records = (values(row) for row in table)
df = pd.DataFrame.from_records(records, columns=column_names,
coerce_float=False)
return df