Error analysis on grid-based slope and aspect algorithms