Como converter geometrias de Shapefile para WKB usando OGR?

8

Eu obtive a geometria de um recurso do shapefile e quero salvá-la no postgis (nos formatos WKB, como acontece quando importamos os shapefiles usando os comandos shp2pgsql e psql). Como faço para converter então

Para obter Geometry, usei a biblioteca OSGeo OGR, por exemplo:

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

e eu tenho

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

então, como a converterá na geometria WKB? Eu estou usando Python para isso.

Vicky
fonte

Respostas:

9

Você está quase lá. Você só precisa chamar a ExportToWkbfunção.

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()
geographika
fonte
Obrigado geographika .. existe algum recurso disponível whare posso procurar as diferentes APIs disponíveis.
Vicky
As ligações Python espelhar a OGR C API gdal.org/ogr/classOGRGeometry.html
geographika