1. A method of interpreting a geospatial query comprising: accepting a user input, requesting geospatial information, from a user interface configured to accept dynamic predicates; translating the user input into intermediate data acceptable to one or more geoserver applications; sending at least a portion of the intermediate data to the one or more geoserver applications; obtaining a result returned from the one or more geoserver applications; and rendering a geospatial image of the result for presentation to an end user.