A knowledge based system for cartographic symbol design