Hi Adam
I think I have figured it out. Because of the precision,
the two polygons are not the same.
That also explains that why sometimes the intersection()
gives me two intersection points looking "exactly" the same
but if you look at the double precision, they are actually two
different points. In reality, these two points can be safely
considered the same point. I can solve this by comparing the
two points distance. However, sometimes also because of the
precision, the intersection() does not even give me any
intersection points especially when the line is right across
the vertex of the polygon. How do I solve this kind of
problem?