Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Best Python GIS library? [closed]

Tags:

python

gis

I am looking for recommendations as to the best Python GIS library currently available based on the following (subjective) criteria:

  • Ease of use / Pythonic interface / Documentation
  • Power in terms of available features today, and potentially in the future (is it still being developed or dead).

So far I have looked at, in some detail:

  • GEOS/OGR/GDAL: So far I have been looking at this library, using this webpage as a tutor. My initial reaction is that while some things have been easy, already I have been running into a few potholes. For example, if I want to create a MultiPoint geometry and determine which points are inside a Polygon using the Union() function, I run into problems, but the Python bindings are just generated by SWIG and all of the documentation is computer generated. I made this post because it struck me that there might be better libraries out there.

  • GeoDjango: Well this is again based on the GEOS C/C++ library, but it appears the interface might be intuitive, and possibly better documented. I also have the sense it is being actively updated. I'm not interested in web applications, but this doesn't seem to be an issue?

  • Shapely: Again based on the GEOS library, seems to have a Pythonic interface. Not sure about feature support or development status.

Others? Thoughts? Thanks in advance!

like image 996
Ben Avatar asked Aug 23 '11 06:08

Ben


2 Answers

In 2011, this is how you check a project's vital signs: https://github.com/sgillies/shapely/commits/master/.

In my honest opinion (disclaimer: I am the lead developer and manual author), Shapely's documentation is right up there with any other GIS software; maybe not quite as good as the PostGIS manual (crême de la crême), but better than ArcPy's, and much better than GEOS's.

like image 189
sgillies Avatar answered Sep 28 '22 08:09

sgillies


I've used GeoDjango, it's pretty good, especially if you are familiar with Django. There is also GeoAlchemy for SQLAlchemy, which might be a good alternative. Both are fairly well documented, pythonic libraries.

like image 39
zeekay Avatar answered Sep 28 '22 06:09

zeekay