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.

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()

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
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.