Python osgeo.ogr.CreateGeometryFromWkb() Examples
The following are 5
code examples of osgeo.ogr.CreateGeometryFromWkb().
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: spatialiteDb.py From DsgTools with GNU General Public License v2.0 | 6 votes |
def insertFrame(self, scale, mi, inom, frame): self.checkAndOpenDb() srid = self.findEPSG() geoSrid = QgsCoordinateReferenceSystem(int(srid)).geographicCRSAuthId().split(':')[-1] ogr.UseExceptions() outputDS = self.buildOgrDatabase() outputLayer=outputDS.GetLayerByName('public_aux_moldura_a') newFeat=ogr.Feature(outputLayer.GetLayerDefn()) auxGeom = ogr.CreateGeometryFromWkb(frame) #set geographic srid from frame geoSrs = ogr.osr.SpatialReference() geoSrs.ImportFromEPSG(int(geoSrid)) auxGeom.AssignSpatialReference(geoSrs) #reproject geom outSpatialRef = outputLayer.GetSpatialRef() coordTrans = osr.CoordinateTransformation(geoSrs, outSpatialRef) auxGeom.Transform(coordTrans) newFeat.SetGeometry(auxGeom) newFeat.SetField('mi', mi) newFeat.SetField('inom', inom) newFeat.SetField('escala', str(scale)) out=outputLayer.CreateFeature(newFeat) outputDS.Destroy()
Example #2
Source File: shapefileDb.py From DsgTools with GNU General Public License v2.0 | 6 votes |
def insertFrame(self, scale, mi, inom, frame): self.checkAndOpenDb() srid = self.findEPSG() geoSrid = QgsCoordinateReferenceSystem(int(srid)).geographicCRSAuthId().split(':')[-1] ogr.UseExceptions() outputDS = self.buildOgrDatabase() outputLayer=outputDS.GetLayerByName(self.getFrameLayerName()) newFeat=ogr.Feature(outputLayer.GetLayerDefn()) auxGeom = ogr.CreateGeometryFromWkb(frame) #set geographic srid from frame geoSrs = ogr.osr.SpatialReference() geoSrs.ImportFromEPSG(int(geoSrid)) auxGeom.AssignSpatialReference(geoSrs) #reproject geom outSpatialRef = outputLayer.GetSpatialRef() coordTrans = osr.CoordinateTransformation(geoSrs, outSpatialRef) auxGeom.Transform(coordTrans) newFeat.SetGeometry(auxGeom) newFeat.SetField('mi', mi) newFeat.SetField('inom', inom) newFeat.SetField('escala', str(scale)) out=outputLayer.CreateFeature(newFeat) outputDS.Destroy()
Example #3
Source File: jqvmap.py From bitcoin-arbitrage-trading-bot with MIT License | 5 votes |
def output_ogr(self, output): driver = ogr.GetDriverByName( 'ESRI Shapefile' ) if os.path.exists( output['file_name'] ): driver.DeleteDataSource( output['file_name'] ) source = driver.CreateDataSource( output['file_name'] ) layer = source.CreateLayer( self.layer_dfn.GetName(), geom_type = self.layer_dfn.GetGeomType(), srs = self.layer.GetSpatialRef() ) for field in self.fields: fd = ogr.FieldDefn( str(field['name']), field['type'] ) fd.SetWidth( field['width'] ) if 'precision' in field: fd.SetPrecision( field['precision'] ) layer.CreateField( fd ) for geometry in self.geometries: if geometry.geom is not None: feature = ogr.Feature( feature_def = layer.GetLayerDefn() ) for index, field in enumerate(self.fields): if field['name'] in geometry.properties: feature.SetField( index, geometry.properties[field['name']].encode('utf-8') ) else: feature.SetField( index, '' ) feature.SetGeometryDirectly( ogr.CreateGeometryFromWkb( shapely.wkb.dumps( geometry.geom ) ) ) layer.CreateFeature( feature ) feature.Destroy() source.Destroy()
Example #4
Source File: gdal2cesium.py From gdal2cesium with GNU General Public License v2.0 | 5 votes |
def write_fake_tile(self,tz,tx,ty,NB_FLAGS): tilefilename = os.path.join(self.tmpoutput, str(tz), str(tx), "%s.%s" % (ty, self.tileext)) # Create directories for the tile if not os.path.exists(os.path.dirname(tilefilename)): os.makedirs(os.path.dirname(tilefilename)) if self.options.createtileindexshp and self.tilelayer is not None: self.ti_cum += 1 tilelayerdefn = self.tilelayer.GetLayerDefn() feat = ogr.Feature(tilelayerdefn) feat.SetField('id', self.ti_cum) feat.SetField('zoom', tz) feat.SetField('tile', "%s_%s_%s" % (tz, tx, ty)) feat.SetField('children', NB_FLAGS) b = self.geodetic.TileBounds(tx, ty, tz) geom = ogr.CreateGeometryFromWkb(makeline(b[0], b[3], b[2], b[1]).wkb) feat.SetGeometry(geom) self.tilelayer.CreateFeature(feat) feat = geom = None # convert to integer representation of heightmap accordind to Cesium format and append children flags byte tilearrayint = (numpy.zeros(4096,numpy.dtype('int16')) + 1000) * 5 tilearrayint.tofile(tilefilename) child_water_bytes = struct.pack('<BB',NB_FLAGS,0x00) with open(tilefilename,'ab') as outfile: outfile.write(child_water_bytes)
Example #5
Source File: base.py From geoio with MIT License | 4 votes |
def _instantiate_geom(self,g): """Attempt to convert the geometry pass in to and ogr Geometry object. Currently implements the base ogr.CreateGeometryFrom* methods and will reform fiona geometry dictionaries into a format that ogr.CreateGeometryFromJson will correctly handle. """ if isinstance(g,ogr.Geometry): # If the input geometry is already an ogr object, create a copy # of it. This is requred because of a subtle issue that causes # gdal to crash if the input geom is used elsewhere. The working # theory is that the geometry is freed when going out of a scope # while it is needed in the upper level loop. In this code, the # problem comes about between self.iter_vector and self.get_data # with mask=True. return ogr.CreateGeometryFromJson(str(g.ExportToJson())) # Handle straight ogr GML try: return ogr.CreateGeometryFromGML(g) except: pass # Handle straight ogr Wkb try: return ogr.CreateGeometryFromWkb(g) except: pass # Handle straight ogr Json try: return ogr.CreateGeometryFromJson(g) except: pass # Handle straight ogr Wkt try: return ogr.CreateGeometryFromWkt(g) except: pass # Handle fiona Json geometry format try: gjson = str(g).replace('(','[').replace(')',']') return ogr.CreateGeometryFromJson(gjson) except: pass raise ValueError("A geometry object was not able to be created from " \ "the value passed in.")