Chain-of-Programming (CoP) : Empowering Large Language Models for Geospatial Code Generation