private static void AppendPolygon(StringBuilder sb, IPolygon poly) { if (poly == null || poly.RingCount == 0) { return; } bool first = true; for (int i = 0; i < poly.RingCount; i++) { IRing r = poly[i]; if (r != null && r.PointCount > 2) { if (!first) { sb.Append(","); } r.ClosePath(); AppendPointCollection(sb, r); first = false; } } }