Python GDAL: ogr.open hoặc driver.open?


10

Tôi đã sử dụng GDAL với python để thao tác với shapefiles. Khi mở tệp nguồn, trước tiên tôi đặt trình điều khiển thành ES ES Shapefile, trước khi gọi phương thức "Mở" của trình điều khiển với shapefile cần thiết.

Tôi đã không có vấn đề với điều này; tuy nhiên tôi tò mò không biết sự khác biệt giữa phương thức trình điều khiển Driver Open Open và hàm ogr là Open Open. Ví dụ, sự khác biệt giữa:

driver = ogr.GetDriverByName("ESRI Shapefile")
source = driver.Open(“O:\myshp.shp”,0)

source = ogr.Open(“O:\myshp.shp”,0)

Có một kịch bản cụ thể mà bạn sẽ sử dụng một kịch bản khác?


Câu hỏi tiếp theo: có vẻ như driver = gdal.GetDriverByNamehoạt động và gdal.Openhoạt động, nhưng driver.Openkhông. Không có tương đương cho các tập tin raster? Tôi biết GDAL và OGR ban đầu được phát triển bởi những người khác nhau, nhưng những mâu thuẫn API và thiếu tài liệu này thực sự rất đau đớn ...
Adam Stewart

Câu trả lời:


11

Nếu bạn chỉ định trình điều khiển, OGR sẽ chỉ cố gắng mở tệp của bạn với trình điều khiển được chỉ định.

Nếu bạn không chỉ định nó, OGR sẽ cố gắng mở tệp của bạn với tất cả các trình điều khiển. Nó sẽ lặp qua tất cả các trình điều khiển cho đến khi tìm thấy trình điều khiển có thể mở tệp của bạn. Thứ tự nó cố gắng mở chúng là thứ tự giống như được liệt kê trong ogrinfo --formats.

Xem thêm câu hỏi này: Buộc OGR sử dụng trình điều khiển cụ thể cho định dạng đầu vào

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.