Creating the foundations of a universal client-side Web GIS system