Mapnik features that need fixing (also see the Tickets page):
- Python binding does not support query object
- Ability to query datasources for number of features, feature type, and attribute fields is needed
- Mapserver python bindings could do this six years ago: http://trac.osgeo.org/mapserver/browser/trunk/mapserver/mapscript/python/examples/shpinfo.py#L37
- memory_featureset::next is commented out, thus memory_dataset doesn't quite work (patch posted here: http://lists.berlios.de/pipermail/mapnik-users/2008-August/001075.html), see ticket #111
- Project is in need of a set of visual unit tests -- how do we know what's fixed, broken, and needs improvement?
Error Handling
- Feature::to_string() sometimes returns "TODO" (sample code here, http://gist.github.com/5009)
- Causes breakage/unicode errors when using GetFeatureInfo? with WMS OGC Server
Code/API Documentation
- More C++ classes and parameters need to be documented!
- See Doxygen output, or lack thereof of a public, canonical www doxygen view (this should probably be removed from trunk unless rebuilt)
- More Python binding docstrings
- Regeneration of Python Epydocs
- List archive => First generated two years ago
- Better error handling would be great, currently Mapnik sometimes fails silently (for example, the memory_dataset / memory_featureset iteration defect, or failed shapefile I/O).
Unexpected behavior
- Segfaults when compiled & run from XCode on Leopard -- memory corruption?
- "Nil" extents don't work as one might expect (they are initialized to have negative length and negative width, but do not properly support expand_to_include etc.)
- XML parser should ignore <xmlcomment> if found as child node in 'Datasource'
Wishlist
- Ruby binding :)
- Mixed imperative / declarative DSL (domain-specific language) for mapping, in the spirit of jQuery, Rails, or Haml-quality design
