Wie konvertiere ich Shapefile-Geometrien mit OGR in WKB?

8

Ich habe die Geometrie eines Features des Shapefiles erhalten und möchte diese Geometrie im Postgis speichern (in WKB-Formaten, wie sie beim Importieren von Shapefiles mit den Befehlen shp2pgsql und psql auftreten). Wie konvertiere ich dann

Um Geometrie zu erhalten, habe ich die OSGeo OGR-Bibliothek verwendet, z.

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

und ich habe

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

Wie wird es in die WKB-Geometrie konvertiert? Ich benutze dafür Python.

Vicky
quelle

Antworten:

9

Du bist fast am Ziel. Sie müssen nur die ExportToWkbFunktion aufrufen .

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
quelle
Danke geographika .. gibt es eine Ressource verfügbar, wo ich nach den verschiedenen verfügbaren APIs suchen kann.
Vicky
Die Python-Bindungen spiegeln die OGR C-API gdal.org/ogr/classOGRGeometry.html
geographika