{
  "id": 27098,
  "title": "Submission error",
  "url": "/competitions/dstl-satellite-imagery-feature-detection/discussion/27098",
  "author_name": "",
  "post_date": "2016-12-29T22:50:29.060Z",
  "votes": 1,
  "comment_count": 2,
  "views": 170,
  "content": "<p>Dear Kaggle admin,</p>\n\n<p>It seems that I hit a \"bug\" in the LB evaluation. Could you kindly verify if it is really the case?</p>\n\n<p>The error message is </p>\n\n<p>\"Evaluation Exception: For image 6020_4_3, class 1, there's an exception in geometry NetTopologySuite.Geometries.TopologyException: no outgoing dirEdge found [ (0.00687675, -0.0020863214285714283, NaN) ] at Kaggle.Metrics.Custom.JaccardDSTL.compareMultipolygon(IGeometry predMultipoly, IGeometry truthMultipoly) at Kaggle.Metrics.Custom.JaccardDSTL.calculateIoUVector(Dictionary<code>2 submission, Dictionary</code>2 solution)..\" </p>\n\n<p>I attached the screenshot for your reference.</p>\n\n<p>The associated line in my submission file is </p>\n\n<p>6020_4_3,1,\"MULTIPOLYGON (((0.0 0, 0.001146125 0, 0.001146125 -0.00113, 0.0 -0.00113, 0.0 0)), ((0.005730625 -0.0018362499999999998, 0.00687675 -0.0018362499999999998, 0.00687675 -0.0029662499999999997, 0.005730625 -0.0029662499999999997, 0.005730625 -0.0018362499999999998)), ((0.00687675 -0.0019775, 0.008022875 -0.0019775, 0.008022875 -0.0031075, 0.00687675 -0.0031075, 0.00687675 -0.0019775)), ((0.005730625 -0.0029662499999999997, 0.00687675 -0.0029662499999999997, 0.00687675 -0.00409625, 0.005730625 -0.00409625, 0.005730625 -0.0029662499999999997)), ((0.001146125 -0.0035312499999999997, 0.00229225 -0.0035312499999999997, 0.00229225 -0.00466125, 0.001146125 -0.00466125, 0.001146125 -0.0035312499999999997)), ((0.005730625 -0.00409625, 0.00687675 -0.00409625, 0.00687675 -0.00522625, 0.005730625 -0.00522625, 0.005730625 -0.00409625)), ((0.001146125 -0.00466125, 0.00229225 -0.00466125, 0.00229225 -0.0057912499999999995, 0.001146125 -0.0057912499999999995, 0.001146125 -0.00466125)), ((0.0045845 -0.005084999999999999, 0.005730625 -0.005084999999999999, 0.005730625 -0.006215, 0.0045845 -0.006215, 0.0045845 -0.005084999999999999)), ((0.005730625 -0.00748625, 0.00687675 -0.00748625, 0.00687675 -0.008616249999999999, 0.005730625 -0.008616249999999999, 0.005730625 -0.00748625)), ((0.008022875 -0.00776875, 0.009169 -0.00776875, 0.009169 -0.008898749999999999, 0.008022875 -0.008898749999999999, 0.008022875 -0.00776875)), ((0.008022875 -0.008898749999999999, 0.009169 -0.008898749999999999, 0.009169 -0.01002875, 0.008022875 -0.01002875, 0.008022875 -0.008898749999999999)))\"</p>\n\n<p>Many thanks and best regards,\ntarobxl</p>",
  "messages": [
    {
      "id": "153121",
      "postDate": "12/29/2016 22:50:29",
      "content": "<p>Dear Kaggle admin,</p>\n\n<p>It seems that I hit a \"bug\" in the LB evaluation. Could you kindly verify if it is really the case?</p>\n\n<p>The error message is </p>\n\n<p>\"Evaluation Exception: For image 6020_4_3, class 1, there's an exception in geometry NetTopologySuite.Geometries.TopologyException: no outgoing dirEdge found [ (0.00687675, -0.0020863214285714283, NaN) ] at Kaggle.Metrics.Custom.JaccardDSTL.compareMultipolygon(IGeometry predMultipoly, IGeometry truthMultipoly) at Kaggle.Metrics.Custom.JaccardDSTL.calculateIoUVector(Dictionary<code>2 submission, Dictionary</code>2 solution)..\" </p>\n\n<p>I attached the screenshot for your reference.</p>\n\n<p>The associated line in my submission file is </p>\n\n<p>6020_4_3,1,\"MULTIPOLYGON (((0.0 0, 0.001146125 0, 0.001146125 -0.00113, 0.0 -0.00113, 0.0 0)), ((0.005730625 -0.0018362499999999998, 0.00687675 -0.0018362499999999998, 0.00687675 -0.0029662499999999997, 0.005730625 -0.0029662499999999997, 0.005730625 -0.0018362499999999998)), ((0.00687675 -0.0019775, 0.008022875 -0.0019775, 0.008022875 -0.0031075, 0.00687675 -0.0031075, 0.00687675 -0.0019775)), ((0.005730625 -0.0029662499999999997, 0.00687675 -0.0029662499999999997, 0.00687675 -0.00409625, 0.005730625 -0.00409625, 0.005730625 -0.0029662499999999997)), ((0.001146125 -0.0035312499999999997, 0.00229225 -0.0035312499999999997, 0.00229225 -0.00466125, 0.001146125 -0.00466125, 0.001146125 -0.0035312499999999997)), ((0.005730625 -0.00409625, 0.00687675 -0.00409625, 0.00687675 -0.00522625, 0.005730625 -0.00522625, 0.005730625 -0.00409625)), ((0.001146125 -0.00466125, 0.00229225 -0.00466125, 0.00229225 -0.0057912499999999995, 0.001146125 -0.0057912499999999995, 0.001146125 -0.00466125)), ((0.0045845 -0.005084999999999999, 0.005730625 -0.005084999999999999, 0.005730625 -0.006215, 0.0045845 -0.006215, 0.0045845 -0.005084999999999999)), ((0.005730625 -0.00748625, 0.00687675 -0.00748625, 0.00687675 -0.008616249999999999, 0.005730625 -0.008616249999999999, 0.005730625 -0.00748625)), ((0.008022875 -0.00776875, 0.009169 -0.00776875, 0.009169 -0.008898749999999999, 0.008022875 -0.008898749999999999, 0.008022875 -0.00776875)), ((0.008022875 -0.008898749999999999, 0.009169 -0.008898749999999999, 0.009169 -0.01002875, 0.008022875 -0.01002875, 0.008022875 -0.008898749999999999)))\"</p>\n\n<p>Many thanks and best regards,\ntarobxl</p>",
      "rawMarkdown": "Dear Kaggle admin,\r\n\r\nIt seems that I hit a \"bug\" in the LB evaluation. Could you kindly verify if it is really the case?\r\n\r\nThe error message is \r\n\r\n\"Evaluation Exception: For image 6020_4_3, class 1, there's an exception in geometry NetTopologySuite.Geometries.TopologyException: no outgoing dirEdge found [ (0.00687675, -0.0020863214285714283, NaN) ] at Kaggle.Metrics.Custom.JaccardDSTL.compareMultipolygon(IGeometry predMultipoly, IGeometry truthMultipoly) at Kaggle.Metrics.Custom.JaccardDSTL.calculateIoUVector(Dictionary`2 submission, Dictionary`2 solution)..\" \r\n\r\nI attached the screenshot for your reference.\r\n\r\nThe associated line in my submission file is \r\n\r\n\r\n6020_4_3,1,\"MULTIPOLYGON (((0.0 0, 0.001146125 0, 0.001146125 -0.00113, 0.0 -0.00113, 0.0 0)), ((0.005730625 -0.0018362499999999998, 0.00687675 -0.0018362499999999998, 0.00687675 -0.0029662499999999997, 0.005730625 -0.0029662499999999997, 0.005730625 -0.0018362499999999998)), ((0.00687675 -0.0019775, 0.008022875 -0.0019775, 0.008022875 -0.0031075, 0.00687675 -0.0031075, 0.00687675 -0.0019775)), ((0.005730625 -0.0029662499999999997, 0.00687675 -0.0029662499999999997, 0.00687675 -0.00409625, 0.005730625 -0.00409625, 0.005730625 -0.0029662499999999997)), ((0.001146125 -0.0035312499999999997, 0.00229225 -0.0035312499999999997, 0.00229225 -0.00466125, 0.001146125 -0.00466125, 0.001146125 -0.0035312499999999997)), ((0.005730625 -0.00409625, 0.00687675 -0.00409625, 0.00687675 -0.00522625, 0.005730625 -0.00522625, 0.005730625 -0.00409625)), ((0.001146125 -0.00466125, 0.00229225 -0.00466125, 0.00229225 -0.0057912499999999995, 0.001146125 -0.0057912499999999995, 0.001146125 -0.00466125)), ((0.0045845 -0.005084999999999999, 0.005730625 -0.005084999999999999, 0.005730625 -0.006215, 0.0045845 -0.006215, 0.0045845 -0.005084999999999999)), ((0.005730625 -0.00748625, 0.00687675 -0.00748625, 0.00687675 -0.008616249999999999, 0.005730625 -0.008616249999999999, 0.005730625 -0.00748625)), ((0.008022875 -0.00776875, 0.009169 -0.00776875, 0.009169 -0.008898749999999999, 0.008022875 -0.008898749999999999, 0.008022875 -0.00776875)), ((0.008022875 -0.008898749999999999, 0.009169 -0.008898749999999999, 0.009169 -0.01002875, 0.008022875 -0.01002875, 0.008022875 -0.008898749999999999)))\"\r\n\r\nMany thanks and best regards,\r\ntarobxl",
      "votes": null
    },
    {
      "id": "153192",
      "postDate": "12/30/2016 11:10:18",
      "content": "<p>Your multipolygon isn't valid, try fixing it using a 0 buffer from shapely.</p>\n\n<pre><code>&gt;&gt;&gt; from shapely import wkt  \n&gt;&gt;&gt; p = wkt.loads(\"MULTIPOLYGON (((0.0 0, 0.001146125 0, 0.001146125 -0.00113, 0.0 -0.00113, 0.0 0)), ((0.005730625 -0.0018362499999999998, 0.00687675 -0.0018362499999999998, 0.00687675 -0.0029662499999999997, 0.005730625 -0.0029662499999999997, 0.005730625 -0.0018362499999999998)), ((0.00687675 -0.0019775, 0.008022875 -0.0019775, 0.008022875 -0.0031075, 0.00687675 -0.0031075, 0.00687675 -0.0019775)), ((0.005730625 -0.0029662499999999997, 0.00687675 -0.0029662499999999997, 0.00687675 -0.00409625, 0.005730625 -0.00409625, 0.005730625 -0.0029662499999999997)), ((0.001146125 -0.0035312499999999997, 0.00229225 -0.0035312499999999997, 0.00229225 -0.00466125, 0.001146125 -0.00466125, 0.001146125 -0.0035312499999999997)), ((0.005730625 -0.00409625, 0.00687675 -0.00409625, 0.00687675 -0.00522625, 0.005730625 -0.00522625, 0.005730625 -0.00409625)), ((0.001146125 -0.00466125, 0.00229225 -0.00466125, 0.00229225 -0.0057912499999999995, 0.001146125 -0.0057912499999999995, 0.001146125 -0.00466125)), ((0.0045845 -0.005084999999999999, 0.005730625 -0.005084999999999999, 0.005730625 -0.006215, 0.0045845 -0.006215, 0.0045845 -0.005084999999999999)), ((0.005730625 -0.00748625, 0.00687675 -0.00748625, 0.00687675 -0.008616249999999999, 0.005730625 -0.008616249999999999, 0.005730625 -0.00748625)), ((0.008022875 -0.00776875, 0.009169 -0.00776875, 0.009169 -0.008898749999999999, 0.008022875 -0.008898749999999999, 0.008022875 -0.00776875)), ((0.008022875 -0.008898749999999999, 0.009169 -0.008898749999999999, 0.009169 -0.01002875, 0.008022875 -0.01002875, 0.008022875 -0.008898749999999999)))\")  \n&gt;&gt;&gt; \n&gt;&gt;&gt; p.is_valid  \nSelf-intersection at or near point 0.001146125 -0.0046612499999999996  \nFalse  \n&gt;&gt;&gt; p = p.buffer(0)  \n&gt;&gt;&gt; p.is_valid  \nTrue  \n</code></pre>",
      "rawMarkdown": "Your multipolygon isn't valid, try fixing it using a 0 buffer from shapely.\r\n\r\n\r\n\r\n    >>> from shapely import wkt  \r\n    >>> p = wkt.loads(\"MULTIPOLYGON (((0.0 0, 0.001146125 0, 0.001146125 -0.00113, 0.0 -0.00113, 0.0 0)), ((0.005730625 -0.0018362499999999998, 0.00687675 -0.0018362499999999998, 0.00687675 -0.0029662499999999997, 0.005730625 -0.0029662499999999997, 0.005730625 -0.0018362499999999998)), ((0.00687675 -0.0019775, 0.008022875 -0.0019775, 0.008022875 -0.0031075, 0.00687675 -0.0031075, 0.00687675 -0.0019775)), ((0.005730625 -0.0029662499999999997, 0.00687675 -0.0029662499999999997, 0.00687675 -0.00409625, 0.005730625 -0.00409625, 0.005730625 -0.0029662499999999997)), ((0.001146125 -0.0035312499999999997, 0.00229225 -0.0035312499999999997, 0.00229225 -0.00466125, 0.001146125 -0.00466125, 0.001146125 -0.0035312499999999997)), ((0.005730625 -0.00409625, 0.00687675 -0.00409625, 0.00687675 -0.00522625, 0.005730625 -0.00522625, 0.005730625 -0.00409625)), ((0.001146125 -0.00466125, 0.00229225 -0.00466125, 0.00229225 -0.0057912499999999995, 0.001146125 -0.0057912499999999995, 0.001146125 -0.00466125)), ((0.0045845 -0.005084999999999999, 0.005730625 -0.005084999999999999, 0.005730625 -0.006215, 0.0045845 -0.006215, 0.0045845 -0.005084999999999999)), ((0.005730625 -0.00748625, 0.00687675 -0.00748625, 0.00687675 -0.008616249999999999, 0.005730625 -0.008616249999999999, 0.005730625 -0.00748625)), ((0.008022875 -0.00776875, 0.009169 -0.00776875, 0.009169 -0.008898749999999999, 0.008022875 -0.008898749999999999, 0.008022875 -0.00776875)), ((0.008022875 -0.008898749999999999, 0.009169 -0.008898749999999999, 0.009169 -0.01002875, 0.008022875 -0.01002875, 0.008022875 -0.008898749999999999)))\")  \r\n    >>> \r\n    >>> p.is_valid  \r\n    Self-intersection at or near point 0.001146125 -0.0046612499999999996  \r\n    False  \r\n    >>> p = p.buffer(0)  \r\n    >>> p.is_valid  \r\n    True",
      "votes": null
    },
    {
      "id": "153203",
      "postDate": "12/30/2016 12:00:12",
      "content": "<p>Thanks. I got it now.</p>",
      "rawMarkdown": "Thanks. I got it now.",
      "votes": null
    }
  ],
  "comments": [
    {
      "id": 153192,
      "author_name": "shawn775",
      "author_url": "",
      "post_date": "12/30/2016 11:10:18",
      "content": "<p>Your multipolygon isn't valid, try fixing it using a 0 buffer from shapely.</p>\n\n<pre><code>&gt;&gt;&gt; from shapely import wkt  \n&gt;&gt;&gt; p = wkt.loads(\"MULTIPOLYGON (((0.0 0, 0.001146125 0, 0.001146125 -0.00113, 0.0 -0.00113, 0.0 0)), ((0.005730625 -0.0018362499999999998, 0.00687675 -0.0018362499999999998, 0.00687675 -0.0029662499999999997, 0.005730625 -0.0029662499999999997, 0.005730625 -0.0018362499999999998)), ((0.00687675 -0.0019775, 0.008022875 -0.0019775, 0.008022875 -0.0031075, 0.00687675 -0.0031075, 0.00687675 -0.0019775)), ((0.005730625 -0.0029662499999999997, 0.00687675 -0.0029662499999999997, 0.00687675 -0.00409625, 0.005730625 -0.00409625, 0.005730625 -0.0029662499999999997)), ((0.001146125 -0.0035312499999999997, 0.00229225 -0.0035312499999999997, 0.00229225 -0.00466125, 0.001146125 -0.00466125, 0.001146125 -0.0035312499999999997)), ((0.005730625 -0.00409625, 0.00687675 -0.00409625, 0.00687675 -0.00522625, 0.005730625 -0.00522625, 0.005730625 -0.00409625)), ((0.001146125 -0.00466125, 0.00229225 -0.00466125, 0.00229225 -0.0057912499999999995, 0.001146125 -0.0057912499999999995, 0.001146125 -0.00466125)), ((0.0045845 -0.005084999999999999, 0.005730625 -0.005084999999999999, 0.005730625 -0.006215, 0.0045845 -0.006215, 0.0045845 -0.005084999999999999)), ((0.005730625 -0.00748625, 0.00687675 -0.00748625, 0.00687675 -0.008616249999999999, 0.005730625 -0.008616249999999999, 0.005730625 -0.00748625)), ((0.008022875 -0.00776875, 0.009169 -0.00776875, 0.009169 -0.008898749999999999, 0.008022875 -0.008898749999999999, 0.008022875 -0.00776875)), ((0.008022875 -0.008898749999999999, 0.009169 -0.008898749999999999, 0.009169 -0.01002875, 0.008022875 -0.01002875, 0.008022875 -0.008898749999999999)))\")  \n&gt;&gt;&gt; \n&gt;&gt;&gt; p.is_valid  \nSelf-intersection at or near point 0.001146125 -0.0046612499999999996  \nFalse  \n&gt;&gt;&gt; p = p.buffer(0)  \n&gt;&gt;&gt; p.is_valid  \nTrue  \n</code></pre>",
      "votes": null,
      "replies": []
    },
    {
      "id": 153203,
      "author_name": "tarobxl",
      "author_url": "",
      "post_date": "12/30/2016 12:00:12",
      "content": "<p>Thanks. I got it now.</p>",
      "votes": null,
      "replies": []
    }
  ],
  "raw_markdown_by_id": {
    "153121": "Dear Kaggle admin,\r\n\r\nIt seems that I hit a \"bug\" in the LB evaluation. Could you kindly verify if it is really the case?\r\n\r\nThe error message is \r\n\r\n\"Evaluation Exception: For image 6020_4_3, class 1, there's an exception in geometry NetTopologySuite.Geometries.TopologyException: no outgoing dirEdge found [ (0.00687675, -0.0020863214285714283, NaN) ] at Kaggle.Metrics.Custom.JaccardDSTL.compareMultipolygon(IGeometry predMultipoly, IGeometry truthMultipoly) at Kaggle.Metrics.Custom.JaccardDSTL.calculateIoUVector(Dictionary`2 submission, Dictionary`2 solution)..\" \r\n\r\nI attached the screenshot for your reference.\r\n\r\nThe associated line in my submission file is \r\n\r\n\r\n6020_4_3,1,\"MULTIPOLYGON (((0.0 0, 0.001146125 0, 0.001146125 -0.00113, 0.0 -0.00113, 0.0 0)), ((0.005730625 -0.0018362499999999998, 0.00687675 -0.0018362499999999998, 0.00687675 -0.0029662499999999997, 0.005730625 -0.0029662499999999997, 0.005730625 -0.0018362499999999998)), ((0.00687675 -0.0019775, 0.008022875 -0.0019775, 0.008022875 -0.0031075, 0.00687675 -0.0031075, 0.00687675 -0.0019775)), ((0.005730625 -0.0029662499999999997, 0.00687675 -0.0029662499999999997, 0.00687675 -0.00409625, 0.005730625 -0.00409625, 0.005730625 -0.0029662499999999997)), ((0.001146125 -0.0035312499999999997, 0.00229225 -0.0035312499999999997, 0.00229225 -0.00466125, 0.001146125 -0.00466125, 0.001146125 -0.0035312499999999997)), ((0.005730625 -0.00409625, 0.00687675 -0.00409625, 0.00687675 -0.00522625, 0.005730625 -0.00522625, 0.005730625 -0.00409625)), ((0.001146125 -0.00466125, 0.00229225 -0.00466125, 0.00229225 -0.0057912499999999995, 0.001146125 -0.0057912499999999995, 0.001146125 -0.00466125)), ((0.0045845 -0.005084999999999999, 0.005730625 -0.005084999999999999, 0.005730625 -0.006215, 0.0045845 -0.006215, 0.0045845 -0.005084999999999999)), ((0.005730625 -0.00748625, 0.00687675 -0.00748625, 0.00687675 -0.008616249999999999, 0.005730625 -0.008616249999999999, 0.005730625 -0.00748625)), ((0.008022875 -0.00776875, 0.009169 -0.00776875, 0.009169 -0.008898749999999999, 0.008022875 -0.008898749999999999, 0.008022875 -0.00776875)), ((0.008022875 -0.008898749999999999, 0.009169 -0.008898749999999999, 0.009169 -0.01002875, 0.008022875 -0.01002875, 0.008022875 -0.008898749999999999)))\"\r\n\r\nMany thanks and best regards,\r\ntarobxl",
    "153192": "Your multipolygon isn't valid, try fixing it using a 0 buffer from shapely.\r\n\r\n\r\n\r\n    >>> from shapely import wkt  \r\n    >>> p = wkt.loads(\"MULTIPOLYGON (((0.0 0, 0.001146125 0, 0.001146125 -0.00113, 0.0 -0.00113, 0.0 0)), ((0.005730625 -0.0018362499999999998, 0.00687675 -0.0018362499999999998, 0.00687675 -0.0029662499999999997, 0.005730625 -0.0029662499999999997, 0.005730625 -0.0018362499999999998)), ((0.00687675 -0.0019775, 0.008022875 -0.0019775, 0.008022875 -0.0031075, 0.00687675 -0.0031075, 0.00687675 -0.0019775)), ((0.005730625 -0.0029662499999999997, 0.00687675 -0.0029662499999999997, 0.00687675 -0.00409625, 0.005730625 -0.00409625, 0.005730625 -0.0029662499999999997)), ((0.001146125 -0.0035312499999999997, 0.00229225 -0.0035312499999999997, 0.00229225 -0.00466125, 0.001146125 -0.00466125, 0.001146125 -0.0035312499999999997)), ((0.005730625 -0.00409625, 0.00687675 -0.00409625, 0.00687675 -0.00522625, 0.005730625 -0.00522625, 0.005730625 -0.00409625)), ((0.001146125 -0.00466125, 0.00229225 -0.00466125, 0.00229225 -0.0057912499999999995, 0.001146125 -0.0057912499999999995, 0.001146125 -0.00466125)), ((0.0045845 -0.005084999999999999, 0.005730625 -0.005084999999999999, 0.005730625 -0.006215, 0.0045845 -0.006215, 0.0045845 -0.005084999999999999)), ((0.005730625 -0.00748625, 0.00687675 -0.00748625, 0.00687675 -0.008616249999999999, 0.005730625 -0.008616249999999999, 0.005730625 -0.00748625)), ((0.008022875 -0.00776875, 0.009169 -0.00776875, 0.009169 -0.008898749999999999, 0.008022875 -0.008898749999999999, 0.008022875 -0.00776875)), ((0.008022875 -0.008898749999999999, 0.009169 -0.008898749999999999, 0.009169 -0.01002875, 0.008022875 -0.01002875, 0.008022875 -0.008898749999999999)))\")  \r\n    >>> \r\n    >>> p.is_valid  \r\n    Self-intersection at or near point 0.001146125 -0.0046612499999999996  \r\n    False  \r\n    >>> p = p.buffer(0)  \r\n    >>> p.is_valid  \r\n    True",
    "153203": "Thanks. I got it now."
  },
  "source": "meta"
}