<br>I have found some future scope of enhancement of the library . Those are  like <br><br>1. It dosn&#39;t support Visitor design pattern<br><br>    
All the classes like Polygon, Point, LineString etc all are derived
from Geometry class. If I need same operation based on different class
then I need to maintain switch cases based on GeometryTypeId.<br>
     As per example: I want to implement a routine which will determine
a given point is moving toward or backward to those classes the my Implementation will be<br><br>calcPosition(Geometry *g){<br><br>     switch (g-&gt;GeometryTypeId){<br>
<br>     Case  GEOS_POINT:<br>               funcForPoint(  point);          //point can be data member of class<br>    Case  GEOS_LINESTRING:<br>
               funcForPoint( point);<br>    Case  GEOS_POLYGON:<br>
               funcForPoint(point);<br>     }<br>}<br><br><br>The
implementation is c-style and poor in maintenance since if I need one
more class to include then the switch case will be required to adjust.<br><br>If there is support of visitor in the OM then the implementation would be<br>
<br><br>calcPosition( Geometry *g,){<br>       g-&gt;accept(myVisitor);         <div id=":1w1">          //accept will be provided from OM. It should be implemented in every class of OM<br>                                                          //implementation of accept:  accept( VisitorBase &amp;v){ v.visit(this)}<br>

}<br><br>class myVisitor :: VisitorBase                 //VisitorBase will be provide from OM<br>{<br><br>private:<br>          Point point;<br>public:<br><br>         visit (Polygon &amp;p)<br>        {<br>          //point is also available;<br>

        }<br>         visit (Point &amp;p)<br>
        {<br>
          //point is also available;<br>
        }<br>         visit (LineString &amp;p)<br>
        {<br>
          //point is also available;<br>
        }<br>};<br><br><br><br>2. 
Derive class CoordinateArraySequence can not be used directly every time the base class CoordinateSequence has to be used in the
current situation. Need the interface to use the derive class also.<br><br><br>Thanks &amp; Regards,<br>Debabrata Bardhan<br><br></div>