Python osgeo.ogr.wkbLineString() Examples
The following are 3
code examples of osgeo.ogr.wkbLineString().
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: listing13_3.py From osgeopy-code with MIT License | 5 votes |
def plot_layer(filename, symbol, layer_index=0, **kwargs): """Plots an OGR layer using the given symbol.""" ds = ogr.Open(filename) for row in ds.GetLayer(layer_index): geom = row.geometry() geom_type = geom.GetGeometryType() # Polygons if geom_type == ogr.wkbPolygon: plot_polygon(geom, symbol, **kwargs) # Multipolygons elif geom_type == ogr.wkbMultiPolygon: for i in range(geom.GetGeometryCount()): subgeom = geom.GetGeometryRef(i) plot_polygon(subgeom, symbol, **kwargs) # Lines elif geom_type == ogr.wkbLineString: plot_line(geom, symbol, **kwargs) # Multilines elif geom_type == ogr.wkbMultiLineString: for i in range(geom.GetGeometryCount()): subgeom = geom.GetGeometryRef(i) plot_line(subgeom, symbol, **kwargs) # Points elif geom_type == ogr.wkbPoint: plot_point(geom, symbol, **kwargs) # Multipoints elif geom_type == ogr.wkbMultiPoint: for i in range(geom.GetGeometryCount()): subgeom = geom.GetGeometryRef(i) plot_point(subgeom, symbol, **kwargs) # Now plot countries, rivers, and cities.
Example #2
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 #3
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