Here on, you are basically instantiating Point objects just to use their wkt representation. I would use directly a string with wkt data