Ngôn ngữ tốt nhất để lập trình với GDAL


20

Tôi sẽ bắt đầu tạo các chương trình để xử lý dữ liệu địa lý từ máy chủ PostGIS và sẽ sử dụng GDAL.

Theo kinh nghiệm của bạn, với ngôn ngữ tốt nhất để lập trình với nó? Tôi có thể lập trình bằng Perl và Python, nhưng muốn biết ngôn ngữ có nhiều đoạn mã hơn để sử dụng lại, ví dụ, thư viện, v.v.


6
Tôi không có bất kỳ bằng chứng nào về điều đó, nhưng cảm giác của tôi là Python có nhiều thư viện và người dùng hơn nhiều so với Perl. Vì vậy, đó là phiếu bầu của tôi!
blah238

Tôi nghĩ rằng đã có rất nhiều ứng dụng hoạt động với postgis. Nếu bạn hỏi một câu hỏi khác nói nhu cầu của bạn là gì, có lẽ bạn có thể đủ khả năng làm việc :)
Francisco Puga

Câu trả lời:


26

Cá nhân, tôi thực sự thích mã hóa với GDAL trong Python. Khi bạn đã cài đặt xong và làm cho nó hoạt động tốt, nó hoạt động khá dễ dàng. Ngoài ra với python, bạn có thể sử dụng một số mô-đun tích hợp 'pin bao gồm' (os, math, chuỗi, sys, ngẫu nhiên, v.v.), cũng như các mô-đun của bên thứ ba như NumPy (hữu ích cho các hoạt động raster) trong số các mô-đun khác.

Để biết danh sách toàn diện các thư viện Python của Python, xem tại đây: Các công cụ / mô-đun / add-in Python quan trọng trong GIS là gì? ).

Một giới thiệu thực sự tuyệt vời về các ràng buộc Python GDAL có thể được tìm thấy ở đây:

http://www.gis.usu.edu/~chrisg/python/2009/

Bạn có thể có được thời gian tối thiểu với một chút hiểu biết và đọc, ví dụ bạn có thể nắm giữ một shapefile trong 2 dòng:

driver = ogr.GetDriverByName('ESRI Shapefile')
datasource = driver.Open('shapefile.shp')

Thật dễ dàng để làm bất cứ điều gì bạn muốn với tệp sau khi bạn đã đọc qua tài liệu ( http://www.gdal.org/annotated.html ) và bạn biết bạn đang làm gì.

Xem ở đây để biết một số ví dụ về những gì có thể trong mã đơn giản và tối thiểu:

http://svn.osgeo.org/gdal/trunk/gdal/swig/python/samples/


13

Dường như với tôi đây là một câu hỏi khá chủ quan. Từ quan điểm của GDAL / OGR tôi sẽ nói rằng về cơ bản các khả năng tương tự của thư viện được bộc lộ trong Python và Perl. Vì vậy, rất nhiều có thể phụ thuộc vào sở thích ngôn ngữ của bạn và những thành phần khác bạn có thể muốn.

Bản thân tôi là một anh chàng trăn, nhưng tôi muốn nói lên một chút thay mặt cho perl và lưu ý rằng môi trường GeoInformatica được duy trì bởi Ari Jolma bao gồm GDAL / OGR và một loạt các công cụ hữu ích khác cho các nhà viết kịch bản perl. Tôi khuyến khích bạn kiểm tra xem nó:

http://geoinformatics.tkk.fi/


7

Không có câu hỏi ngôn ngữ tốt nhất là Python . Bởi vì nó mở ra rất nhiều khả năng khác ngoài việc sử dụng GDAL:

1) Với python, bạn có thể kết nối với máy chủ postgis của mình bằng ORM như SQLAlchemy, nó sẽ cung cấp nhiều hàm cấp cao để xử lý dữ liệu của bạn và chuẩn bị cho gdal.

2) Bạn có thể sử dụng các thư viện python khác để làm việc với geodata , như Shapely hoặc Thư viện địa lý hiệu suất cao .

3) Bạn có các ràng buộc rất tốt cho đầu ra bản đồ trong python, như Mapnik .

4) Bạn có một số khung và API cấp cao sẽ giúp bạn tiết kiệm rất nhiều công việc như Geodjango (bạn có thể sử dụng nó cục bộ) hoặc API Qgis .


6

Phiếu bầu thứ ba cho Python. Đối với tôi, ngoài những câu trả lời xuất sắc ở trên, đó là vì tôi đã chán ngấy với việc phải biết nửa tá ngôn ngữ kịch bản cho các công việc khác nhau một thời gian, vì vậy ngay khi ESRI hỗ trợ Python, tôi đã bỏ tất cả (gần như - Javascript là vẫn hữu ích) ủng hộ Python. Điều tuyệt vời là các gói không phải là GIS khác mà tôi sử dụng cũng hỗ trợ Python, vì vậy tôi có thể gọi GDAL / OGR từ các API của tất cả các loại phần mềm. Python cũng là một ngôn ngữ cấp cao, vì vậy tôi viết khoảng một phần mười mã mà ngay cả một ngôn ngữ được quản lý như C # cũng cần.

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.