[GIS] How to convert Shapefile geometries to WKB using OGR

ogrpythonshapefilewell-known-binary

I got the geometry of a feature of the shapefile, and i want to save that geometry in the postgis (in WKB formats like it happens when we import shapefiles using shp2pgsql and psql commands). How do I convert then

To get Geometry i have used OSGeo OGR library
eg:

feat = layer.GetFeature(0)
geometry = feat.GetGeometryRef()

and I have got

<osgeo.ogr.Geometry; proxy of <Swig Object of type 'OGRGeometryShadow *' at 0x0096A2D8> >

so how will convert it into the WKB geometry?
I am using Python for this.

Best Answer

You are almost there. You just need to call the ExportToWkb function.

import ogr
# Get the driver
driver = ogr.GetDriverByName('ESRI Shapefile')
# Open a shapefile
shapefileName = "D:/temp/myshapefile.shp"
dataset = driver.Open(shapefileName, 0)

layer = dataset.GetLayer()
for index in xrange(layer.GetFeatureCount()):
    feature = layer.GetFeature(index)
    wkb = feature.GetGeometryRef().ExportToWkb()
Related Question