all kinds of GIS related algorithm