Làm cách nào để chuyển đổi hình học Shapefile sang WKB bằng OGR?


8

Tôi đã nhận được hình dạng của một tính năng của shapefile và tôi muốn lưu hình học đó trong postgis (ở định dạng WKB giống như khi chúng ta nhập shapefiles bằng lệnh shp2pgsql và psql). Làm thế nào để tôi chuyển đổi sau đó

Để có được Hình học, tôi đã sử dụng thư viện OSGeo OGR, vd:

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

và tôi đã có

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

Vậy làm thế nào để chuyển đổi nó thành hình học WKB? Tôi đang sử dụng Python cho việc này.

Câu trả lời:


9

Bạn gần như ở đó. Bạn chỉ cần gọi ExportToWkbhàm.

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

Cảm ơn geographika .. có bất kỳ nguồn tài nguyên nào mà tôi có thể tìm kiếm các api khác nhau có sẵn.
Vicky

Các ràng buộc Python phản chiếu API OGR C gdal.org/ogr/ classOGRGeometry.html
geographika
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.