¿Cómo convertir geometrías de Shapefile a WKB usando OGR?


8

Obtuve la geometría de una característica del archivo de forma, y ​​quiero guardar esa geometría en el postgis (en formatos WKB como sucede cuando importamos archivos de forma usando los comandos shp2pgsql y psql). ¿Cómo me convierto entonces

Para obtener Geometría, he usado la biblioteca OSGeo OGR, por ejemplo:

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

y tengo

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

Entonces, ¿cómo lo convertirá en la geometría WKB? Estoy usando Python para esto.

Respuestas:


9

Ya casi has llegado. Solo necesita llamar a la ExportToWkbfunción.

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

Gracias geographika ... ¿hay algún recurso disponible donde pueda buscar las diferentes API disponibles?
Vicky

Los enlaces de Python reflejan la API de OGR C gdal.org/ogr/classOGRGeometry.html
geographika
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.