Python osgeo.ogr.OFTString() Examples
The following are 7
code examples of osgeo.ogr.OFTString().
You can vote up the ones you like or vote down the ones you don't like,
and go to the original project or source file by following the links above each example.
You may also want to check out all available functions/classes of the module
osgeo.ogr
, or try the search function
.
Example #1
Source File: function_vector.py From dzetsaka with GNU General Public License v3.0 | 5 votes |
def saveToShape(self, array, srs, outShapeFile): # Parse a delimited text file of volcano data and create a shapefile # use a dictionary reader so we can access by field name # set up the shapefile driver outDriver = ogr.GetDriverByName('ESRI Shapefile') # create the data source if os.path.exists(outShapeFile): outDriver.DeleteDataSource(outShapeFile) # Remove output shapefile if it already exists # options = ['SPATIALITE=YES']) ds = outDriver.CreateDataSource(outShapeFile) # create the spatial reference, WGS84 lyrout = ds.CreateLayer('randomSubset', srs) fields = [ array[1].GetFieldDefnRef(i).GetName() for i in range( array[1].GetFieldCount())] for f in fields: field_name = ogr.FieldDefn(f, ogr.OFTString) field_name.SetWidth(24) lyrout.CreateField(field_name) for k in array: lyrout.CreateFeature(k) # Save and close the data source ds = None
Example #2
Source File: shape.py From cadasta-platform with GNU Affero General Public License v3.0 | 5 votes |
def create_shp_layer(self, layer_type): srs = osr.SpatialReference() srs.ImportFromEPSG(4326) if layer_type in shp_types.keys(): layer = self.shp_datasource.CreateLayer( layer_type, srs, geom_type=shp_types[layer_type]) field = ogr.FieldDefn('id', ogr.OFTString) layer.CreateField(field) return layer
Example #3
Source File: test_shp.py From qgisSpaceSyntaxToolkit with GNU General Public License v3.0 | 5 votes |
def setUp(self): def createlayer(driver): lyr = shp.CreateLayer("edges", None, ogr.wkbLineString) namedef = ogr.FieldDefn("Name", ogr.OFTString) namedef.SetWidth(32) lyr.CreateField(namedef) return lyr drv = ogr.GetDriverByName("ESRI Shapefile") testdir = os.path.join(tempfile.gettempdir(), 'shpdir') shppath = os.path.join(tempfile.gettempdir(), 'tmpshp.shp') self.deletetmp(drv, testdir, shppath) os.mkdir(testdir) shp = drv.CreateDataSource(shppath) lyr = createlayer(shp) self.names = ['a', 'b', 'c', 'c'] # edgenames self.paths = ([(1.0, 1.0), (2.0, 2.0)], [(2.0, 2.0), (3.0, 3.0)], [(0.9, 0.9), (4.0, 0.9), (4.0, 2.0)]) self.simplified_names = ['a', 'b', 'c'] # edgenames self.simplified_paths = ([(1.0, 1.0), (2.0, 2.0)], [(2.0, 2.0), (3.0, 3.0)], [(0.9, 0.9), (4.0, 2.0)]) for path, name in zip(self.paths, self.names): feat = ogr.Feature(lyr.GetLayerDefn()) g = ogr.Geometry(ogr.wkbLineString) for p in path: g.AddPoint_2D(*p) feat.SetGeometry(g) feat.SetField("Name", name) lyr.CreateFeature(feat) self.shppath = shppath self.testdir = testdir self.drv = drv
Example #4
Source File: process_level.py From SMAC-M with MIT License | 5 votes |
def featuresToFile(features, dst_drv, dst_name, dst_srs, layer_name=None, geomtype=None, overwrite=True): if not features: # features is empty list print("No Features Created") return drv = ogr.GetDriverByName(dst_drv) if drv is None: print("Driver not available ({})".format(dst_drv)) return dsrc = drv.CreateDataSource(dst_name) if dsrc is None: print("DataSource creation failed") return if not geomtype: f0 = features[0] geomref = features[0].GetGeometryRef() if geomref is not None: geomtype = geomref.GetGeometryType() else: return layer = dsrc.CreateLayer(layer_name, srs=dst_srs, geom_type=geomtype) # Create the fields for the new file for i in range(features[0].GetFieldCount()): fieldDef = features[0].GetFieldDefnRef(i) if "List" in ogr.GetFieldTypeName(fieldDef.GetType()): t = ogr.GetFieldTypeName(fieldDef.GetType())[:-4] if t == "String": fieldDef = ogr.FieldDefn(fieldDef.GetName(), ogr.OFTString) elif t == "Integer": fieldDef = ogr.FieldDefn(fieldDef.GetName(), ogr.OFTInteger) layer.CreateField(fieldDef) # print layer_name for feature in features: layer.CreateFeature(feature)
Example #5
Source File: utils.py From Python-Geospatial-Development-Third-Edition with MIT License | 4 votes |
def get_ogr_feature_attribute(attr, feature): attr_name = attr.name if not feature.IsFieldSet(attr_name): return (True, None) if attr.type == ogr.OFTInteger: value = str(feature.GetFieldAsInteger(attr_name)) elif attr.type == ogr.OFTIntegerList: value = repr(feature.GetFieldAsIntegerList(attr_name)) elif attr.type == ogr.OFTReal: value = feature.GetFieldAsDouble(attr_name) value = "%*.*f" % (attr.width, attr.precision, value) elif attr.type == ogr.OFTRealList: values = feature.GetFieldAsDoubleList(attr_name) str_values = [] for value in values: str_values.append("%*.*f" % (attr.width, attr.precision, value)) value = repr(str_values) elif attr.type == ogr.OFTString: value = feature.GetFieldAsString(attr_name) elif attr.type == ogr.OFTStringList: value = repr(feature.GetFieldAsStringList(attr_name)) elif attr.type == ogr.OFTDate: parts = feature.GetFieldAsDateTime(attr_name) year,month,day,hour,minute,second,tzone = parts value = "%d,%d,%d,%d" % (year,month,day,tzone) elif attr.type == ogr.OFTTime: parts = feature.GetFieldAsDateTime(attr_name) year,month,day,hour,minute,second,tzone = parts value = "%d,%d,%d,%d" % (hour,minute,second,tzone) elif attr.type == ogr.OFTDateTime: parts = feature.GetFieldAsDateTime(attr_name) year,month,day,hour,minute,second,tzone = parts value = "%d,%d,%d,%d,%d,%d,%d,%d" % (year,month,day, hour,minute, second,tzone) else: return (False, "Unsupported attribute type: " + str(attr.type)) return (True, value) #############################################################################
Example #6
Source File: utils.py From Python-Geospatial-Development-Third-Edition with MIT License | 4 votes |
def set_ogr_feature_attribute(attr, value, feature): attr_name = attr.name if value == None: feature.UnsetField(attr_name) return if attr.type == ogr.OFTInteger: feature.SetField(attr_name, int(value)) elif attr.type == ogr.OFTIntegerList: integers = eval(value) feature.SetFieldIntegerList(attr_name, integers) elif attr.type == ogr.OFTReal: feature.SetField(attr_name, float(value)) elif attr.type == ogr.OFTRealList: floats = [] for s in eval(value): floats.append(eval(s)) feature.SetFieldDoubleList(attr_name, floats) elif attr.type == ogr.OFTString: feature.SetField(attr_name, value) elif attr.type == ogr.OFTStringList: strings = [] for s in eval(value): strings.append(s.encode(encoding)) feature.SetFieldStringList(attr_name, strings) elif attr.type == ogr.OFTDate: parts = value.split(",") year = int(parts[0]) month = int(parts[1]) day = int(parts[2]) tzone = int(parts[3]) feature.SetField(attr_name, year, month, day, 0, 0, 0, tzone) elif attr.type == ogr.OFTTime: parts = value.split(",") hour = int(parts[0]) minute = int(parts[1]) second = int(parts[2]) tzone = int(parts[3]) feature.SetField(attr_name, 0, 0, 0, hour, minute, second, tzone) elif attr.type == ogr.OFTDateTime: parts = value.split(",") year = int(parts[0]) month = int(parts[1]) day = int(parts[2]) hour = int(parts[3]) minute = int(parts[4]) second = int(parts[5]) tzone = int(parts[6]) feature.SetField(attr_mame, year, month, day, hour, minute, second, tzone)
Example #7
Source File: gdal2cesium.py From gdal2cesium with GNU General Public License v2.0 | 4 votes |
def make_tiles(self): # Generate the vrt files for zoom ranges i = 0 tmp_res = -1 vrt_file = None for tz in range(self.tminz,self.tmaxz+1): res = self.zoom_resolutions[tz][0] # I check only with resx, because resy will be positively correlated if res != tmp_res: if i>0: self.vrts[vrt_file][1] = tz-1 tmp_res = res resx = self.zoom_resolutions[tz][0] resy = self.zoom_resolutions[tz][1] self.make_vrt(resx,resy,i) vrt_file = "cesium_%s.vrt" % i self.vrts[vrt_file] = [tz,None] i += 1 if tz == self.tmaxz: self.vrts[vrt_file][1] = tz self.ti_cum = 0 if self.options.createtileindexshp and self.tilelayer is None: driver = ogr.GetDriverByName('Esri Shapefile') shptileindexfile = os.path.join(self.output,'tilesindex.shp') if os.path.exists(shptileindexfile): for f in glob.glob(self.output+'/tilesindex.*'): os.remove(f) shptileindex = driver.CreateDataSource(shptileindexfile) self.tilelayer = shptileindex.CreateLayer('tiles', None, ogr.wkbLineString) self.tilelayer.CreateField(ogr.FieldDefn('id', ogr.OFTInteger)) self.tilelayer.CreateField(ogr.FieldDefn('zoom', ogr.OFTInteger)) self.tilelayer.CreateField(ogr.FieldDefn('tile', ogr.OFTString)) self.tilelayer.CreateField(ogr.FieldDefn('children', ogr.OFTInteger)) # Generate parent tiles self.generate_fake_parent_tiles() # For each vrt (i.e. zoom range) generate the tiles self.steps = len(self.vrts) self.step = 1 for vrt in self.vrts.keys(): self.process_vrt(vrt) if not self.options.keepfiles: try: os.remove(vrt) except: pass self.step += 1 self.create_layerjsonfile() if self.options.createtileindexshp and self.tilelayer is not None: shptileindex.Destroy() shptileindex = self.tilelayer = feat = geom = None print """Processing finished. Tiles written to "%s".""" % self.output