Spatial Reasoning for Effective GIS