In 1.2a5, Shapely's BaseGeometry delegation to libgeos was mediated by several descriptor classes. I thought it was a pretty clever idea, but it definitely obscured the code not only to pydoc but also to other programmers. I've replaced these with good old fashioned methods, so now you can
>>> help(Point) and get useful help about the Point class's methods. The delegation to libgeos in the new BaseGeometry methods is now mediated by a host of middleware objects wrapped up in the "impl" (for "implementation) attribute of the class. This pushes most of the messy GEOS concerns out of shapely/geometry/base.py. I hope you'll agree with me that this is a bit more clear. Tests are all passing and coverage is still pretty decent: Ran 24 tests in 0.474s OK (gispy-lab)gauthier2:Shapely-1.2 seang$ coverage -r shapely/*.py shapely/geometry/*.py Name Stmts Exec Cover ------------------------------------------------------ shapely/__init__ 0 0 100% shapely/coords 96 91 94% shapely/ctypes_declarations 174 174 100% shapely/geometry/__init__ 9 9 100% shapely/geometry/base 221 197 89% shapely/geometry/collection 17 9 52% shapely/geometry/geo 45 27 60% shapely/geometry/linestring 125 96 76% shapely/geometry/multilinestring 68 47 69% shapely/geometry/multipoint 94 80 85% shapely/geometry/multipolygon 79 65 82% shapely/geometry/point 129 118 91% shapely/geometry/polygon 258 220 85% shapely/geometry/proxy 31 27 87% shapely/geoms 46 0 0% shapely/geos 231 158 68% shapely/impl 7 7 100% shapely/iterops 32 27 84% shapely/linref 17 17 100% shapely/ops 37 36 97% shapely/predicates 16 13 81% shapely/prepared 24 18 75% shapely/topology 41 40 97% shapely/wkb 28 19 67% shapely/wkt 24 17 70% ------------------------------------------------------ TOTAL 1849 1512 81% -- Sean _______________________________________________ Community mailing list [email protected] http://lists.gispython.org/mailman/listinfo/community
