<!-- 
RSS generated by JIRA (9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66) at Thu Feb 08 03:32:15 UTC 2024

It is possible to restrict the fields that are returned in this document by specifying the 'field' parameter in your request.
For example, to request only the issue key and summary append 'field=key&field=summary' to the URL of your request.
-->
<rss version="0.92" >
<channel>
    <title>MongoDB Jira</title>
    <link>https://jira.mongodb.org</link>
    <description>This file is an XML representation of an issue</description>
    <language>en-us</language>    <build-info>
        <version>9.7.1</version>
        <build-number>970001</build-number>
        <build-date>13-04-2023</build-date>
    </build-info>


<item>
            <title>[SERVER-13599] $geoIntersects does not return polygon with shared edge</title>
                <link>https://jira.mongodb.org/browse/SERVER-13599</link>
                <project id="10000" key="SERVER">Core Server</project>
                    <description>&lt;p/&gt;
&lt;div id=&quot;syntaxplugin&quot; class=&quot;syntaxplugin&quot; style=&quot;border: 1px dashed #bbb; border-radius: 5px !important; overflow: auto; max-height: 30em;&quot;&gt;
&lt;table cellspacing=&quot;0&quot; cellpadding=&quot;0&quot; border=&quot;0&quot; width=&quot;100%&quot; style=&quot;font-size: 1em; line-height: 1.4em !important; font-weight: normal; font-style: normal; color: black;&quot;&gt;
		&lt;tbody &gt;
				&lt;tr id=&quot;syntaxplugin_code_and_gutter&quot;&gt;
						&lt;td  style=&quot; line-height: 1.4em !important; padding: 0em; vertical-align: top;&quot;&gt;
					&lt;pre style=&quot;font-size: 1em; margin: 0 10px;  margin-top: 10px;   width: auto; padding: 0;&quot;&gt;&lt;span style=&quot;color: black; font-family: &apos;Consolas&apos;, &apos;Bitstream Vera Sans Mono&apos;, &apos;Courier New&apos;, Courier, monospace !important;&quot;&gt;db.polygon.drop();&lt;/span&gt;&lt;/pre&gt;
			&lt;/td&gt;
		&lt;/tr&gt;
				&lt;tr id=&quot;syntaxplugin_code_and_gutter&quot;&gt;
						&lt;td  style=&quot; line-height: 1.4em !important; padding: 0em; vertical-align: top;&quot;&gt;
					&lt;pre style=&quot;font-size: 1em; margin: 0 10px;   width: auto; padding: 0;&quot;&gt;&lt;span style=&quot;color: black; font-family: &apos;Consolas&apos;, &apos;Bitstream Vera Sans Mono&apos;, &apos;Courier New&apos;, Courier, monospace !important;&quot;&gt;db.polygon.insert([ { &quot;_id&quot; : &quot;Poly1&quot;, &quot;shape&quot; : { &quot;type&quot; : &quot;Polygon&quot;, &quot;coordinates&quot; : [ [ [0.0000, 0.000],[3.000,0.000],[3.000,3.000],[0.000,3.000], [0.0000, 0.000]]]}},&lt;/span&gt;&lt;/pre&gt;
			&lt;/td&gt;
		&lt;/tr&gt;
				&lt;tr id=&quot;syntaxplugin_code_and_gutter&quot;&gt;
						&lt;td  style=&quot; line-height: 1.4em !important; padding: 0em; vertical-align: top;&quot;&gt;
					&lt;pre style=&quot;font-size: 1em; margin: 0 10px;   width: auto; padding: 0;&quot;&gt;&lt;span style=&quot;color: black; font-family: &apos;Consolas&apos;, &apos;Bitstream Vera Sans Mono&apos;, &apos;Courier New&apos;, Courier, monospace !important;&quot;&gt;... { &quot;_id&quot; : &quot;Poly2&quot;, &quot;shape&quot; : { &quot;type&quot; : &quot;Polygon&quot;, &quot;coordinates&quot; : [ [ [3.00,0.00],[6.00,0.00],[6.00,3.00],[3.00,3.00],[3.00,0.00] ] ] } } ]);&lt;/span&gt;&lt;/pre&gt;
			&lt;/td&gt;
		&lt;/tr&gt;
				&lt;tr id=&quot;syntaxplugin_code_and_gutter&quot;&gt;
						&lt;td  style=&quot; line-height: 1.4em !important; padding: 0em; vertical-align: top;&quot;&gt;
					&lt;pre style=&quot;font-size: 1em; margin: 0 10px;   width: auto; padding: 0;&quot;&gt;&lt;span style=&quot;color: black; font-family: &apos;Consolas&apos;, &apos;Bitstream Vera Sans Mono&apos;, &apos;Courier New&apos;, Courier, monospace !important;&quot;&gt;db.polygon.ensureIndex({shape:&quot;2dsphere&quot;});&lt;/span&gt;&lt;/pre&gt;
			&lt;/td&gt;
		&lt;/tr&gt;
				&lt;tr id=&quot;syntaxplugin_code_and_gutter&quot;&gt;
						&lt;td  style=&quot; line-height: 1.4em !important; padding: 0em; vertical-align: top;&quot;&gt;
					&lt;pre style=&quot;font-size: 1em; margin: 0 10px;   width: auto; padding: 0;&quot;&gt;&lt;span style=&quot;color: black; font-family: &apos;Consolas&apos;, &apos;Bitstream Vera Sans Mono&apos;, &apos;Courier New&apos;, Courier, monospace !important;&quot;&gt;var box={&quot;type&quot; : &quot;Polygon&quot;, &quot;coordinates&quot; : [ [ [ 0.000, 0.0000 ], [ 3.0000, 0.0000 ], [ 3.000, 3.000 ], [ 0.000, 3.000 ], [ 0.000, 0.0000 ] ] ] }&lt;/span&gt;&lt;/pre&gt;
			&lt;/td&gt;
		&lt;/tr&gt;
				&lt;tr id=&quot;syntaxplugin_code_and_gutter&quot;&gt;
						&lt;td  style=&quot; line-height: 1.4em !important; padding: 0em; vertical-align: top;&quot;&gt;
					&lt;pre style=&quot;font-size: 1em; margin: 0 10px;   width: auto; padding: 0;&quot;&gt;&lt;span style=&quot;color: black; font-family: &apos;Consolas&apos;, &apos;Bitstream Vera Sans Mono&apos;, &apos;Courier New&apos;, Courier, monospace !important;&quot;&gt;db.polygon.find( {shape: {$geoIntersects: {$geometry: box}}}, {_id:1})&lt;/span&gt;&lt;/pre&gt;
			&lt;/td&gt;
		&lt;/tr&gt;
				&lt;tr id=&quot;syntaxplugin_code_and_gutter&quot;&gt;
						&lt;td  style=&quot; line-height: 1.4em !important; padding: 0em; vertical-align: top;&quot;&gt;
					&lt;pre style=&quot;font-size: 1em; margin: 0 10px;   margin-bottom: 10px;  width: auto; padding: 0;&quot;&gt;&lt;span style=&quot;color: black; font-family: &apos;Consolas&apos;, &apos;Bitstream Vera Sans Mono&apos;, &apos;Courier New&apos;, Courier, monospace !important;&quot;&gt;{ &quot;_id&quot; : &quot;Poly1&quot; }&lt;/span&gt;&lt;/pre&gt;
			&lt;/td&gt;
		&lt;/tr&gt;
			&lt;/tbody&gt;
&lt;/table&gt;
&lt;/div&gt;
&lt;p/&gt;

&lt;p&gt;Poly2 and box share two adjacent points [ 3.0000, 0.0000 ] and [ 3.000, 3.000 ] so Poly2 should be returned, but it&apos;s not.&lt;/p&gt;

&lt;p&gt;Analogously, using box of points from Poly2 will only match Poly2 and not Poly1.   &lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;http://docs.mongodb.org/manual/reference/operator/query/geoIntersects/#geointersects&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;Our docs say&lt;/a&gt;:  A location intersects a GeoJSON object if the intersection is non-empty. This includes documents that have a shared edge. &lt;/p&gt;

&lt;p&gt;This happens in 2.4 (v1) and 2.6(v2).  It happens with line/polygon and polygon/polygon intersections.&lt;/p&gt;</description>
                <environment></environment>
        <key id="131276">SERVER-13599</key>
            <summary>$geoIntersects does not return polygon with shared edge</summary>
                <type id="1" iconUrl="https://jira.mongodb.org/secure/viewavatar?size=xsmall&amp;avatarId=14703&amp;avatarType=issuetype">Bug</type>
                                            <priority id="3" iconUrl="https://jira.mongodb.org/images/icons/priorities/major.svg">Major - P3</priority>
                        <status id="10038" iconUrl="https://jira.mongodb.org/images/icons/subtask.gif" description="">Backlog</status>
                    <statusCategory id="2" key="new" colorName="default"/>
                                    <resolution id="-1">Unresolved</resolution>
                                        <assignee username="backlog-query-integration">Backlog - Query Integration</assignee>
                                    <reporter username="asya.kamsky@mongodb.com">Asya Kamsky</reporter>
                        <labels>
                            <label>qi-geo</label>
                            <label>query-44-grooming</label>
                    </labels>
                <created>Tue, 15 Apr 2014 16:20:53 +0000</created>
                <updated>Thu, 28 Dec 2023 18:35:44 +0000</updated>
                                                                            <component>Geo</component>
                                        <votes>3</votes>
                                    <watches>16</watches>
                                                                                                                <comments>
                            <comment id="880639" author="ramon.fernandez" created="Tue, 14 Apr 2015 13:04:32 +0000"  >&lt;p&gt;Actually if the behavior described in a ticket is present in all versions what we do is to leave the &quot;affected versions&quot; field empty.&lt;/p&gt;</comment>
                            <comment id="880514" author="christian.tonhaeuser@navteq.com" created="Tue, 14 Apr 2015 07:48:06 +0000"  >&lt;p&gt;&lt;a href=&quot;https://jira.mongodb.org/secure/ViewProfile.jspa?name=asya&quot; class=&quot;user-hover&quot; rel=&quot;asya&quot;&gt;asya&lt;/a&gt;,&lt;br/&gt;
Could you please add 3.0 to the affected versions?&lt;/p&gt;

&lt;p&gt;Thanks and regards,&lt;/p&gt;

&lt;p&gt;Christian&lt;/p&gt;</comment>
                            <comment id="878959" author="alioli" created="Sat, 11 Apr 2015 03:05:22 +0000"  >&lt;p&gt;Thank you very much &lt;a href=&quot;https://jira.mongodb.org/secure/ViewProfile.jspa?name=asya&quot; class=&quot;user-hover&quot; rel=&quot;asya&quot;&gt;asya&lt;/a&gt;,&lt;/p&gt;

&lt;p&gt;it is good to hear that you are able to make this kind of effort for the geospatial community! I&apos;m looking forward to the update.&lt;/p&gt;</comment>
                            <comment id="878934" author="asya" created="Sat, 11 Apr 2015 01:16:16 +0000"  >&lt;p&gt;&lt;a href=&quot;https://jira.mongodb.org/secure/ViewProfile.jspa?name=AliOli&quot; class=&quot;user-hover&quot; rel=&quot;AliOli&quot;&gt;AliOli&lt;/a&gt;,&lt;/p&gt;

&lt;p&gt;We are discussing our options internally and will update this ticket when we converge on a solution - we are considering several possible ways to resolve/fix this issue.&lt;/p&gt;

&lt;p&gt;Asya Kamsky&lt;br/&gt;
Product Management&lt;/p&gt;
</comment>
                            <comment id="877774" author="alioli" created="Fri, 10 Apr 2015 01:39:55 +0000"  >&lt;p&gt;I find it interesting that the question of how to deal with degenerate cases in geospatial computation has a decades-old argument at its core. Basically, the issue can be dealt with by the &lt;em&gt;perturbation technique&lt;/em&gt; (aka &lt;a href=&quot;http://arxiv.org/pdf/math.CO/9410209&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;SoS, 1990&lt;/a&gt;), as S2 does, or by using algorithms that deal with the degenerate cases directly (&lt;a href=&quot;http://www.mpi-inf.mpg.de/~mehlhorn/ftp/DegeneracyGeometry.pdf&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;Burnikel, Melhorn, &amp;amp; Schirra, 1994&lt;/a&gt;).&lt;/p&gt;

&lt;p&gt;As &lt;a href=&quot;https://jira.mongodb.org/secure/ViewProfile.jspa?name=siyuan.zhou%4010gen.com&quot; class=&quot;user-hover&quot; rel=&quot;siyuan.zhou@10gen.com&quot;&gt;siyuan.zhou@10gen.com&lt;/a&gt; sufficiently explained, the perturbations used in S2 make it challenging to implement operators that comply with the &lt;a href=&quot;http://en.wikipedia.org/wiki/DE-9IM#Spatial_predicates&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;DE-9IM&lt;/a&gt; spatial predicates. The remark that&lt;/p&gt;
&lt;blockquote&gt;&lt;p&gt;Degeneracies occur very rare in reality, with probability zero if we draw a finite number of geometries&lt;/p&gt;&lt;/blockquote&gt;
&lt;p&gt;is, however, incorrect. The full quote reads:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Degeneracies occur with probability zero if we draw a fi�nite number of geometric objects, each represented by a fi�nite set of numbers from the (inf�nite) set of all such objects, provided there is&lt;br/&gt;
no bound on the precision of the numbers used. &lt;b&gt;In real-life computing this is not the case&lt;/b&gt;; that&lt;br/&gt;
is, there is only a fi�nite set of available numbers and thus a bound on the precision that can be&lt;br/&gt;
achieved. As a consequence, we are doomed to work with degenerate data.&lt;/p&gt;&lt;/blockquote&gt;

&lt;p&gt;It might be the case that S2 has chosen an unfortunate approach to dealing with degeneracies, but I&apos;m not entirely convinced that the perturbations are the problem. There are some tests that deal with shared edges in &lt;a href=&quot;https://code.google.com/p/s2-geometry-library/source/browse/geometry/s2polygon_test.cc&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;s2polygon_test&lt;/a&gt;, but I find them hard to read. Can someone who watches this issue verify that S2 actually considers two polygons with a shared edge to be disjoint (i.e. not to intersect)?&lt;/p&gt;

&lt;p&gt;If the problem is inherent to S2, would there be any chance that a future MongoDB version will rely on a library for spatial computation/geohashing that does support the DE-9IM predicates? Other databases that offer spatial indexing do comply with the (full suite of) predicates, e.g. with PostGIS and Neo4j Spatial. The most promising library probably is &lt;a href=&quot;https://www.openhub.net/p/geos&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;GEOS&lt;/a&gt;, because it supports all predicates, is coded in C++, is actively maintained, and is being used successfully in many production environments (underlying PostGIS).&lt;/p&gt;

&lt;p&gt;It would be useful for us to get an idea of the MongoDB roadmap for spatial indexing. Of course, nothing is stopping me from using GEOS directly, except that it would be such a shame to have to build custom indexes on top of MongoDB. This may sound blunt, but my real question is: when, if at all, can we expect MongoDB to offer competitive spatial indexing? If this is not a priority, I should consider using an alternative for applications that would benefit from DE-9IM compliance.&lt;/p&gt;</comment>
                            <comment id="876659" author="siyuan.zhou@10gen.com" created="Thu, 9 Apr 2015 04:38:38 +0000"  >&lt;h3&gt;&lt;a name=&quot;Problem&quot;&gt;&lt;/a&gt;Problem&lt;/h3&gt;

&lt;p&gt;There is an inconsistency between the behavior and the documentation. After investigating into S2 library, I think it&apos;s worth summarizing the properties of geometry operations in S2.&lt;/p&gt;

&lt;h4&gt;&lt;a name=&quot;PointLine&quot;&gt;&lt;/a&gt;Point - Line&lt;/h4&gt;
&lt;p&gt;Let&apos;s start from the basis. We are talking about the line segment as edge of polygon defined internally, not the behavior of LingString of GeoJSON.&lt;/p&gt;

&lt;p&gt;In S2, if a point is not a vertex of that line segment, it lies on either the left or the right of the line, never exactly &lt;b&gt;on the line&lt;/b&gt; for simplicity, following the idea of the paper &quot;Simulation of Simplicity&quot; to handle degenerate. Which side it lies on is deterministic and depends on both the point and the line. This means no three points are collinear (on the same great circle of sphere), since the tie is always broken.&lt;/p&gt;

&lt;p&gt;The relation of a line segment and its vertex is special and discussed in particular context later.&lt;/p&gt;

&lt;h4&gt;&lt;a name=&quot;PolygonPolygon&quot;&gt;&lt;/a&gt;Polygon - Polygon&lt;/h4&gt;
&lt;p&gt;Polygon containment and intersection are well defined for a polygon. Contains() return true if the &lt;b&gt;interior&lt;/b&gt; of this polygon is a superset of  the &lt;b&gt;interior&lt;/b&gt; of the given other loop. A polygon contains itself.&lt;/p&gt;

&lt;p&gt;For shared vertices, S2 tests the interior of both angles, based on counter-clockwise ordering. If two polygons share a same edge, like the case in Description, they don&apos;t intersect if their interiors don&#8217;t.&lt;/p&gt;

&lt;p&gt;If two polygon have collinear edges but not exactly the same, remember S2 doesn&apos;t allow collinear points, AB will be above or below AC in the following case. Containment can be defined accordingly.&lt;/p&gt;
&lt;p/&gt;
&lt;div id=&quot;syntaxplugin&quot; class=&quot;syntaxplugin&quot; style=&quot;border: 1px dashed #bbb; border-radius: 5px !important; overflow: auto; max-height: 30em;&quot;&gt;
&lt;table cellspacing=&quot;0&quot; cellpadding=&quot;0&quot; border=&quot;0&quot; width=&quot;100%&quot; style=&quot;font-size: 1em; line-height: 1.4em !important; font-weight: normal; font-style: normal; color: black;&quot;&gt;
		&lt;tbody &gt;
				&lt;tr id=&quot;syntaxplugin_code_and_gutter&quot;&gt;
						&lt;td  style=&quot; line-height: 1.4em !important; padding: 0em; vertical-align: top;&quot;&gt;
					&lt;pre style=&quot;font-size: 1em; margin: 0 10px;  margin-top: 10px;   margin-bottom: 10px;  width: auto; padding: 0;&quot;&gt;&lt;span style=&quot;color: black; font-family: &apos;Consolas&apos;, &apos;Bitstream Vera Sans Mono&apos;, &apos;Courier New&apos;, Courier, monospace !important;&quot;&gt;A---------&amp;gt;B--------&amp;gt;C&lt;/span&gt;&lt;/pre&gt;
			&lt;/td&gt;
		&lt;/tr&gt;
			&lt;/tbody&gt;
&lt;/table&gt;
&lt;/div&gt;
&lt;p/&gt;

&lt;h4&gt;&lt;a name=&quot;PointinPolygon&quot;&gt;&lt;/a&gt;Point in Polygon&lt;/h4&gt;
&lt;p&gt;In MongoDB, a polygon contains / intersects a point if it intersects with the point&apos;s cell. A cell is a square with side of 8.67 mm on average, used for geo hashing. We expand a point to its cell to cover edges and vertices of  the other geometry. Note that &lt;/p&gt;
&lt;p/&gt;
&lt;div id=&quot;syntaxplugin&quot; class=&quot;syntaxplugin&quot; style=&quot;border: 1px dashed #bbb; border-radius: 5px !important; overflow: auto; max-height: 30em;&quot;&gt;
&lt;table cellspacing=&quot;0&quot; cellpadding=&quot;0&quot; border=&quot;0&quot; width=&quot;100%&quot; style=&quot;font-size: 1em; line-height: 1.4em !important; font-weight: normal; font-style: normal; color: black;&quot;&gt;
		&lt;tbody &gt;
				&lt;tr id=&quot;syntaxplugin_code_and_gutter&quot;&gt;
						&lt;td  style=&quot; line-height: 1.4em !important; padding: 0em; vertical-align: top;&quot;&gt;
					&lt;pre style=&quot;font-size: 1em; margin: 0 10px;  margin-top: 10px;   margin-bottom: 10px;  width: auto; padding: 0;&quot;&gt;&lt;span style=&quot;color: black; font-family: &apos;Consolas&apos;, &apos;Bitstream Vera Sans Mono&apos;, &apos;Courier New&apos;, Courier, monospace !important;&quot;&gt;Polygon.Contains(point) == Polygon.Intersects(point) &lt;/span&gt;&lt;/pre&gt;
			&lt;/td&gt;
		&lt;/tr&gt;
			&lt;/tbody&gt;
&lt;/table&gt;
&lt;/div&gt;
&lt;p/&gt;

&lt;p&gt;Degenerate occurs when the point is its cell&apos;s vertex, like the case reported in the first comment. &lt;/p&gt;
&lt;p/&gt;
&lt;div id=&quot;syntaxplugin&quot; class=&quot;syntaxplugin&quot; style=&quot;border: 1px dashed #bbb; border-radius: 5px !important; overflow: auto; max-height: 30em;&quot;&gt;
&lt;table cellspacing=&quot;0&quot; cellpadding=&quot;0&quot; border=&quot;0&quot; width=&quot;100%&quot; style=&quot;font-size: 1em; line-height: 1.4em !important; font-weight: normal; font-style: normal; color: black;&quot;&gt;
		&lt;tbody &gt;
				&lt;tr id=&quot;syntaxplugin_code_and_gutter&quot;&gt;
						&lt;td  style=&quot; line-height: 1.4em !important; padding: 0em; vertical-align: top;&quot;&gt;
					&lt;pre style=&quot;font-size: 1em; margin: 0 10px;  margin-top: 10px;   width: auto; padding: 0;&quot;&gt;&lt;span style=&quot;color: black; font-family: &apos;Consolas&apos;, &apos;Bitstream Vera Sans Mono&apos;, &apos;Courier New&apos;, Courier, monospace !important;&quot;&gt;         ^&lt;/span&gt;&lt;/pre&gt;
			&lt;/td&gt;
		&lt;/tr&gt;
				&lt;tr id=&quot;syntaxplugin_code_and_gutter&quot;&gt;
						&lt;td  style=&quot; line-height: 1.4em !important; padding: 0em; vertical-align: top;&quot;&gt;
					&lt;pre style=&quot;font-size: 1em; margin: 0 10px;   width: auto; padding: 0;&quot;&gt;&lt;span style=&quot;color: black; font-family: &apos;Consolas&apos;, &apos;Bitstream Vera Sans Mono&apos;, &apos;Courier New&apos;, Courier, monospace !important;&quot;&gt;     C&apos; C|______B&lt;/span&gt;&lt;/pre&gt;
			&lt;/td&gt;
		&lt;/tr&gt;
				&lt;tr id=&quot;syntaxplugin_code_and_gutter&quot;&gt;
						&lt;td  style=&quot; line-height: 1.4em !important; padding: 0em; vertical-align: top;&quot;&gt;
					&lt;pre style=&quot;font-size: 1em; margin: 0 10px;   width: auto; padding: 0;&quot;&gt;&lt;span style=&quot;color: black; font-family: &apos;Consolas&apos;, &apos;Bitstream Vera Sans Mono&apos;, &apos;Courier New&apos;, Courier, monospace !important;&quot;&gt;         |      |&lt;/span&gt;&lt;/pre&gt;
			&lt;/td&gt;
		&lt;/tr&gt;
				&lt;tr id=&quot;syntaxplugin_code_and_gutter&quot;&gt;
						&lt;td  style=&quot; line-height: 1.4em !important; padding: 0em; vertical-align: top;&quot;&gt;
					&lt;pre style=&quot;font-size: 1em; margin: 0 10px;   width: auto; padding: 0;&quot;&gt;&lt;span style=&quot;color: black; font-family: &apos;Consolas&apos;, &apos;Bitstream Vera Sans Mono&apos;, &apos;Courier New&apos;, Courier, monospace !important;&quot;&gt;         |      |&lt;/span&gt;&lt;/pre&gt;
			&lt;/td&gt;
		&lt;/tr&gt;
				&lt;tr id=&quot;syntaxplugin_code_and_gutter&quot;&gt;
						&lt;td  style=&quot; line-height: 1.4em !important; padding: 0em; vertical-align: top;&quot;&gt;
					&lt;pre style=&quot;font-size: 1em; margin: 0 10px;   width: auto; padding: 0;&quot;&gt;&lt;span style=&quot;color: black; font-family: &apos;Consolas&apos;, &apos;Bitstream Vera Sans Mono&apos;, &apos;Courier New&apos;, Courier, monospace !important;&quot;&gt;         |O     |A (~7.1e-8, 0)(lng, lat)&lt;/span&gt;&lt;/pre&gt;
			&lt;/td&gt;
		&lt;/tr&gt;
				&lt;tr id=&quot;syntaxplugin_code_and_gutter&quot;&gt;
						&lt;td  style=&quot; line-height: 1.4em !important; padding: 0em; vertical-align: top;&quot;&gt;
					&lt;pre style=&quot;font-size: 1em; margin: 0 10px;   width: auto; padding: 0;&quot;&gt;&lt;span style=&quot;color: black; font-family: &apos;Consolas&apos;, &apos;Bitstream Vera Sans Mono&apos;, &apos;Courier New&apos;, Courier, monospace !important;&quot;&gt;---------+------+---&amp;gt;&lt;/span&gt;&lt;/pre&gt;
			&lt;/td&gt;
		&lt;/tr&gt;
				&lt;tr id=&quot;syntaxplugin_code_and_gutter&quot;&gt;
						&lt;td  style=&quot; line-height: 1.4em !important; padding: 0em; vertical-align: top;&quot;&gt;
					&lt;pre style=&quot;font-size: 1em; margin: 0 10px;   width: auto; padding: 0;&quot;&gt;&lt;span style=&quot;color: black; font-family: &apos;Consolas&apos;, &apos;Bitstream Vera Sans Mono&apos;, &apos;Courier New&apos;, Courier, monospace !important;&quot;&gt;         |      A&apos;&lt;/span&gt;&lt;/pre&gt;
			&lt;/td&gt;
		&lt;/tr&gt;
				&lt;tr id=&quot;syntaxplugin_code_and_gutter&quot;&gt;
						&lt;td  style=&quot; line-height: 1.4em !important; padding: 0em; vertical-align: top;&quot;&gt;
					&lt;pre style=&quot;font-size: 1em; margin: 0 10px;   margin-bottom: 10px;  width: auto; padding: 0;&quot;&gt;&lt;span style=&quot;color: black; font-family: &apos;Consolas&apos;, &apos;Bitstream Vera Sans Mono&apos;, &apos;Courier New&apos;, Courier, monospace !important;&quot;&gt;         |&lt;/span&gt;&lt;/pre&gt;
			&lt;/td&gt;
		&lt;/tr&gt;
			&lt;/tbody&gt;
&lt;/table&gt;
&lt;/div&gt;
&lt;p/&gt;

&lt;p&gt;As shown above, OABC is the tiny cell of point O. It intersects the upper right polygon, but also intersects the upper left and lower right polygons, since C is considered as C&apos; inside upper left polygon, according to &quot;no collinear&quot; rule. The same is true for A to be considered as A&apos;. As a result, the point intersects with 3 out of 4 polygons.&lt;/p&gt;

&lt;p&gt;To sum up the rules about point in polygon test.&lt;/p&gt;
&lt;ul&gt;
	&lt;li&gt;If it&apos;s in the interior, everything is intuitive.&lt;/li&gt;
	&lt;li&gt;If it&apos;s in the exterior, it may intersect if it&apos;s too close due to the cell expansion.&lt;/li&gt;
	&lt;li&gt;If it&apos;s &lt;b&gt;on the boundary&lt;/b&gt;, its either inside or outside, or both since we expand it to its cell.&lt;/li&gt;
	&lt;li&gt;If it&apos;s a vertex of the polygon, it may not may not be contained.&lt;/li&gt;
	&lt;li&gt;Loops do not necessarily contain all (or any) of their vertices.&lt;/li&gt;
	&lt;li&gt;The only guarantee S2 offers is that a shared vertex must be contained by at least one polygon that shares the point. This guarantee is critical for cell&apos;s definition, since a point must be hashed to a cell and the cell must contain it.&lt;/li&gt;
&lt;/ul&gt;


&lt;h4&gt;&lt;a name=&quot;LinePolygon&quot;&gt;&lt;/a&gt;Line - Polygon&lt;/h4&gt;
&lt;p&gt;Line - Polygon intersection works find for non-degenerates.&lt;/p&gt;

&lt;p&gt;The intersection of a polygon and its edges is the only degenerate case. In a nutshell, there&apos;s no guarantee. The intersection test depends on the containment of the first vertex of line and edge clipping against polygon. Reverting a line gives the opposite edge clipping for degenerates, but it also changes the first vertex. Anyway, reverting the line can be a workaround to give better coverage for edges, but I can imagine there&apos;ll be some corner cases.&lt;/p&gt;


&lt;h3&gt;&lt;a name=&quot;Impacts&quot;&gt;&lt;/a&gt;Impacts&lt;/h3&gt;

&lt;p&gt;Degeneracies occur very rare in reality, with probability zero if we draw a finite number of geometries (ref. Simulation of Simplicity). Besides, the use cases where degenerate must be treated one way or the other are not clear. In most cases, there is a workaround, like expanding geometries or tweaking coordinates.&lt;/p&gt;

&lt;p&gt;However, the inconsistency with documentation indeed causes confusion. What properties of degenerate MongoDB should provide and why they are useful is also unclear.�&lt;/p&gt;

&lt;h3&gt;&lt;a name=&quot;NextStep&quot;&gt;&lt;/a&gt;Next Step&lt;/h3&gt;
&lt;p&gt;We need to update the documentation to reflect the actual behavior. In short term, no code change is planned.&lt;/p&gt;</comment>
                            <comment id="862401" author="christian.tonhaeuser@navteq.com" created="Tue, 24 Mar 2015 15:59:35 +0000"  >&lt;p&gt;Error also exists in 3.0.0&lt;/p&gt;

&lt;p&gt;However, the example from Google Groups behaves even worse than shown by Asya Kamsky:&lt;br/&gt;
Only the first of the four points is returned, on 2.4.10 as well as on 3.0.0! &lt;br/&gt;
Didn&apos;t get around to test it on a 2.6, yet.&lt;/p&gt;

&lt;p&gt;Edit: If the documentation would at least reflect the &lt;em&gt;actual&lt;/em&gt; behaviour of the operator, customers might be able to work around the issues. Nevertheless, we&apos;d prefer a fixed bug to updated documentation in this case.&lt;/p&gt;</comment>
                            <comment id="708786" author="asya" created="Tue, 2 Sep 2014 02:53:02 +0000"  >&lt;p&gt;Another instance of this reported on Google Groups:&lt;/p&gt;

&lt;p&gt;similar issue.  Four intersecting polygons exist in a collection as shown below, however, only three are returned when the &lt;p/&gt;
&lt;div id=&quot;syntaxplugin&quot; class=&quot;syntaxplugin&quot; style=&quot;border: 1px dashed #bbb; border-radius: 5px !important; overflow: auto; max-height: 30em;&quot;&gt;
&lt;table cellspacing=&quot;0&quot; cellpadding=&quot;0&quot; border=&quot;0&quot; width=&quot;100%&quot; style=&quot;font-size: 1em; line-height: 1.4em !important; font-weight: normal; font-style: normal; color: black;&quot;&gt;
		&lt;tbody &gt;
				&lt;tr id=&quot;syntaxplugin_code_and_gutter&quot;&gt;
						&lt;td  style=&quot; line-height: 1.4em !important; padding: 0em; vertical-align: top;&quot;&gt;
					&lt;pre style=&quot;font-size: 1em; margin: 0 10px;  margin-top: 10px;   margin-bottom: 10px;  width: auto; padding: 0;&quot;&gt;&lt;span style=&quot;color: black; font-family: &apos;Consolas&apos;, &apos;Bitstream Vera Sans Mono&apos;, &apos;Courier New&apos;, Courier, monospace !important;&quot;&gt; [0, 0] &lt;/span&gt;&lt;/pre&gt;
			&lt;/td&gt;
		&lt;/tr&gt;
			&lt;/tbody&gt;
&lt;/table&gt;
&lt;/div&gt;
&lt;p/&gt; intersecting point is queried.&lt;/p&gt;

&lt;p&gt;Existing Polygons:&lt;/p&gt;
&lt;p/&gt;
&lt;div id=&quot;syntaxplugin&quot; class=&quot;syntaxplugin&quot; style=&quot;border: 1px dashed #bbb; border-radius: 5px !important; overflow: auto; max-height: 30em;&quot;&gt;
&lt;table cellspacing=&quot;0&quot; cellpadding=&quot;0&quot; border=&quot;0&quot; width=&quot;100%&quot; style=&quot;font-size: 1em; line-height: 1.4em !important; font-weight: normal; font-style: normal; color: black;&quot;&gt;
		&lt;tbody &gt;
				&lt;tr id=&quot;syntaxplugin_code_and_gutter&quot;&gt;
						&lt;td  style=&quot; line-height: 1.4em !important; padding: 0em; vertical-align: top;&quot;&gt;
					&lt;pre style=&quot;font-size: 1em; margin: 0 10px;  margin-top: 10px;   width: auto; padding: 0;&quot;&gt;&lt;span style=&quot;color: black; font-family: &apos;Consolas&apos;, &apos;Bitstream Vera Sans Mono&apos;, &apos;Courier New&apos;, Courier, monospace !important;&quot;&gt;{ &quot;_id&quot; : &quot;1000390&quot;, &quot;loc&quot; : { &quot;type&quot; : &quot;Polygon&quot;, &quot;coordinates&quot; : [ [ [ 0, 0 ], [ 0, 1 ], [ 1, 1 ], [ 1, 0 ], [ 0, 0 ] ] ] } }&lt;/span&gt;&lt;/pre&gt;
			&lt;/td&gt;
		&lt;/tr&gt;
				&lt;tr id=&quot;syntaxplugin_code_and_gutter&quot;&gt;
						&lt;td  style=&quot; line-height: 1.4em !important; padding: 0em; vertical-align: top;&quot;&gt;
					&lt;pre style=&quot;font-size: 1em; margin: 0 10px;   width: auto; padding: 0;&quot;&gt;&lt;span style=&quot;color: black; font-family: &apos;Consolas&apos;, &apos;Bitstream Vera Sans Mono&apos;, &apos;Courier New&apos;, Courier, monospace !important;&quot;&gt;{ &quot;_id&quot; : &quot;7000499&quot;, &quot;loc&quot; : { &quot;type&quot; : &quot;Polygon&quot;, &quot;coordinates&quot; : [ [ [ 0, -1 ], [ 0, 0 ], [ 1, 0 ], [ 1, -1 ], [ 0, -1 ] ] ] } }&lt;/span&gt;&lt;/pre&gt;
			&lt;/td&gt;
		&lt;/tr&gt;
				&lt;tr id=&quot;syntaxplugin_code_and_gutter&quot;&gt;
						&lt;td  style=&quot; line-height: 1.4em !important; padding: 0em; vertical-align: top;&quot;&gt;
					&lt;pre style=&quot;font-size: 1em; margin: 0 10px;   width: auto; padding: 0;&quot;&gt;&lt;span style=&quot;color: black; font-family: &apos;Consolas&apos;, &apos;Bitstream Vera Sans Mono&apos;, &apos;Courier New&apos;, Courier, monospace !important;&quot;&gt;{ &quot;_id&quot; : &quot;3000100&quot;, &quot;loc&quot; : { &quot;type&quot; : &quot;Polygon&quot;, &quot;coordinates&quot; : [ [ [ -1, 0 ], [ -1, 1 ], [ 0, 1 ], [ 0, 0 ], [ -1, 0 ] ] ] } }&lt;/span&gt;&lt;/pre&gt;
			&lt;/td&gt;
		&lt;/tr&gt;
				&lt;tr id=&quot;syntaxplugin_code_and_gutter&quot;&gt;
						&lt;td  style=&quot; line-height: 1.4em !important; padding: 0em; vertical-align: top;&quot;&gt;
					&lt;pre style=&quot;font-size: 1em; margin: 0 10px;   margin-bottom: 10px;  width: auto; padding: 0;&quot;&gt;&lt;span style=&quot;color: black; font-family: &apos;Consolas&apos;, &apos;Bitstream Vera Sans Mono&apos;, &apos;Courier New&apos;, Courier, monospace !important;&quot;&gt;{ &quot;_id&quot; : &quot;5000209&quot;, &quot;loc&quot; : { &quot;type&quot; : &quot;Polygon&quot;, &quot;coordinates&quot; : [ [ [ -1, -1], [ -1, 0 ], [ 0, 0 ], [ 0, -1 ], [ -1, -1 ] ] ] } }&lt;/span&gt;&lt;/pre&gt;
			&lt;/td&gt;
		&lt;/tr&gt;
			&lt;/tbody&gt;
&lt;/table&gt;
&lt;/div&gt;
&lt;p/&gt;

&lt;p/&gt;
&lt;div id=&quot;syntaxplugin&quot; class=&quot;syntaxplugin&quot; style=&quot;border: 1px dashed #bbb; border-radius: 5px !important; overflow: auto; max-height: 30em;&quot;&gt;
&lt;table cellspacing=&quot;0&quot; cellpadding=&quot;0&quot; border=&quot;0&quot; width=&quot;100%&quot; style=&quot;font-size: 1em; line-height: 1.4em !important; font-weight: normal; font-style: normal; color: black;&quot;&gt;
		&lt;tbody &gt;
				&lt;tr id=&quot;syntaxplugin_code_and_gutter&quot;&gt;
						&lt;td  style=&quot; line-height: 1.4em !important; padding: 0em; vertical-align: top;&quot;&gt;
					&lt;pre style=&quot;font-size: 1em; margin: 0 10px;  margin-top: 10px;   margin-bottom: 10px;  width: auto; padding: 0;&quot;&gt;&lt;span style=&quot;color: black; font-family: &apos;Consolas&apos;, &apos;Bitstream Vera Sans Mono&apos;, &apos;Courier New&apos;, Courier, monospace !important;&quot;&gt;&amp;gt; db.mycollection.find( { loc : { $geoIntersects : { $geometry : { type: &quot;Point&quot;, coordinates: [0,0] }}}} )&lt;/span&gt;&lt;/pre&gt;
			&lt;/td&gt;
		&lt;/tr&gt;
			&lt;/tbody&gt;
&lt;/table&gt;
&lt;/div&gt;
&lt;p/&gt;

&lt;p&gt;Result:&lt;/p&gt;

&lt;p/&gt;
&lt;div id=&quot;syntaxplugin&quot; class=&quot;syntaxplugin&quot; style=&quot;border: 1px dashed #bbb; border-radius: 5px !important; overflow: auto; max-height: 30em;&quot;&gt;
&lt;table cellspacing=&quot;0&quot; cellpadding=&quot;0&quot; border=&quot;0&quot; width=&quot;100%&quot; style=&quot;font-size: 1em; line-height: 1.4em !important; font-weight: normal; font-style: normal; color: black;&quot;&gt;
		&lt;tbody &gt;
				&lt;tr id=&quot;syntaxplugin_code_and_gutter&quot;&gt;
						&lt;td  style=&quot; line-height: 1.4em !important; padding: 0em; vertical-align: top;&quot;&gt;
					&lt;pre style=&quot;font-size: 1em; margin: 0 10px;  margin-top: 10px;   width: auto; padding: 0;&quot;&gt;&lt;span style=&quot;color: black; font-family: &apos;Consolas&apos;, &apos;Bitstream Vera Sans Mono&apos;, &apos;Courier New&apos;, Courier, monospace !important;&quot;&gt;{ &quot;_id&quot; : &quot;1000390&quot;, &quot;loc&quot; : { &quot;type&quot; : &quot;Polygon&quot;, &quot;coordinates&quot; : [ [ [ 0, 0 ], [ 0, 1 ], [ 1, 1 ], [ 1, 0 ], [ 0, 0 ] ] ] } }&lt;/span&gt;&lt;/pre&gt;
			&lt;/td&gt;
		&lt;/tr&gt;
				&lt;tr id=&quot;syntaxplugin_code_and_gutter&quot;&gt;
						&lt;td  style=&quot; line-height: 1.4em !important; padding: 0em; vertical-align: top;&quot;&gt;
					&lt;pre style=&quot;font-size: 1em; margin: 0 10px;   width: auto; padding: 0;&quot;&gt;&lt;span style=&quot;color: black; font-family: &apos;Consolas&apos;, &apos;Bitstream Vera Sans Mono&apos;, &apos;Courier New&apos;, Courier, monospace !important;&quot;&gt;{ &quot;_id&quot; : &quot;7000499&quot;, &quot;loc&quot; : { &quot;type&quot; : &quot;Polygon&quot;, &quot;coordinates&quot; : [ [ [ 0, -1 ], [ 0, 0 ], [ 1, 0 ], [ 1, -1 ], [ 0, -1 ] ] ] } }&lt;/span&gt;&lt;/pre&gt;
			&lt;/td&gt;
		&lt;/tr&gt;
				&lt;tr id=&quot;syntaxplugin_code_and_gutter&quot;&gt;
						&lt;td  style=&quot; line-height: 1.4em !important; padding: 0em; vertical-align: top;&quot;&gt;
					&lt;pre style=&quot;font-size: 1em; margin: 0 10px;   margin-bottom: 10px;  width: auto; padding: 0;&quot;&gt;&lt;span style=&quot;color: black; font-family: &apos;Consolas&apos;, &apos;Bitstream Vera Sans Mono&apos;, &apos;Courier New&apos;, Courier, monospace !important;&quot;&gt;{ &quot;_id&quot; : &quot;3000100&quot;, &quot;loc&quot; : { &quot;type&quot; : &quot;Polygon&quot;, &quot;coordinates&quot; : [ [ [ -1, 0 ], [ -1, 1 ], [ 0, 1 ], [ 0, 0 ], [ -1, 0 ] ] ] } }&lt;/span&gt;&lt;/pre&gt;
			&lt;/td&gt;
		&lt;/tr&gt;
			&lt;/tbody&gt;
&lt;/table&gt;
&lt;/div&gt;
&lt;p/&gt;</comment>
                    </comments>
                <issuelinks>
                            <issuelinktype id="10320">
                    <name>Documented</name>
                                            <outwardlinks description="documents">
                                                        </outwardlinks>
                                                        </issuelinktype>
                            <issuelinktype id="10010">
                    <name>Duplicate</name>
                                                                <inwardlinks description="is duplicated by">
                                        <issuelink>
            <issuekey id="107390">SERVER-12462</issuekey>
        </issuelink>
                            </inwardlinks>
                                    </issuelinktype>
                            <issuelinktype id="10012">
                    <name>Related</name>
                                            <outwardlinks description="related to">
                                        <issuelink>
            <issuekey id="195169">DOCS-5193</issuekey>
        </issuelink>
                            </outwardlinks>
                                                                <inwardlinks description="is related to">
                                        <issuelink>
            <issuekey id="193530">SERVER-17851</issuekey>
        </issuelink>
                            </inwardlinks>
                                    </issuelinktype>
                    </issuelinks>
                <attachments>
                    </attachments>
                <subtasks>
                    </subtasks>
                <customfields>
                                                <customfield id="customfield_10050" key="com.atlassian.jira.toolkit:comments">
                        <customfieldname># Replies</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>8.0</customfieldvalue>
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                <customfield id="customfield_12751" key="com.atlassian.jira.plugin.system.customfieldtypes:multiselect">
                        <customfieldname>Assigned Teams</customfieldname>
                        <customfieldvalues>
                                <customfieldvalue key="25467"><![CDATA[Query Integration]]></customfieldvalue>
    
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                            <customfield id="customfield_13552" key="com.go2group.jira.plugin.crm:crm_generic_field">
                        <customfieldname>Case</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue><![CDATA[[500A000000UaYPVIA3]]]></customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                            <customfield id="customfield_10055" key="com.atlassian.jira.ext.charting:firstresponsedate">
                        <customfieldname>Date of 1st Reply</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>Tue, 24 Mar 2015 15:59:35 +0000</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_10052" key="com.atlassian.jira.toolkit:dayslastcommented">
                        <customfieldname>Days since reply</customfieldname>
                        <customfieldvalues>
                                        8 years, 44 weeks, 1 day ago
    
                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_18254" key="com.onresolve.jira.groovy.groovyrunner:scripted-field">
                        <customfieldname>Dependencies</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue><![CDATA[]]></customfieldvalue>


                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_15850" key="com.atlassian.jira.plugins.jira-development-integration-plugin:devsummary">
                        <customfieldname>Development</customfieldname>
                        <customfieldvalues>
                            
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    <customfield id="customfield_10057" key="com.atlassian.jira.toolkit:lastusercommented">
                        <customfieldname>Last comment by Customer</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>true</customfieldvalue>
                        </customfieldvalues>
                    </customfield>
                                                                                            <customfield id="customfield_10056" key="com.atlassian.jira.toolkit:lastupdaterorcommenter">
                        <customfieldname>Last commenter</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>alyssa.clark@mongodb.com</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_11151" key="com.atlassian.jira.toolkit:LastCommentDate">
                        <customfieldname>Last public comment date</customfieldname>
                        <customfieldvalues>
                            8 years, 44 weeks, 1 day ago
                        </customfieldvalues>
                    </customfield>
                                                                                                                        <customfield id="customfield_10000" key="com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons">
                        <customfieldname>Old_Backport</customfieldname>
                        <customfieldvalues>
                                <customfieldvalue key="10000"><![CDATA[No]]></customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_10032" key="com.atlassian.jira.plugin.system.customfieldtypes:select">
                        <customfieldname>Operating System</customfieldname>
                        <customfieldvalues>
                                <customfieldvalue key="10026"><![CDATA[ALL]]></customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                <customfield id="customfield_10051" key="com.atlassian.jira.toolkit:participants">
                        <customfieldname>Participants</customfieldname>
                        <customfieldvalues>
                                        <customfieldvalue>AliOli</customfieldvalue>
            <customfieldvalue>asya.kamsky@mongodb.com</customfieldvalue>
            <customfieldvalue>backlog-query-integration</customfieldvalue>
            <customfieldvalue>christian.tonhaeuser@navteq.com</customfieldvalue>
            <customfieldvalue>ramon.fernandez@mongodb.com</customfieldvalue>
            <customfieldvalue>siyuan.zhou@mongodb.com</customfieldvalue>
    
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                        <customfield id="customfield_14254" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>Product Rank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>1|hrlwsf:</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                <customfield id="customfield_12550" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>Rank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>2|hr2dhz:</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_10558" key="com.pyxis.greenhopper.jira:gh-global-rank">
                        <customfieldname>Rank (Obsolete)</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>112687</customfieldvalue>
                        </customfieldvalues>
                    </customfield>
                                                                                            <customfield id="customfield_23361" key="com.onresolve.jira.groovy.groovyrunner:scripted-field">
                        <customfieldname>Requested By</customfieldname>
                        <customfieldvalues>
                                

                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                <customfield id="customfield_22870" key="com.onresolve.jira.groovy.groovyrunner:scripted-field">
                        <customfieldname>Triagers</customfieldname>
                        <customfieldvalues>
                                

                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                                                    <customfield id="customfield_14350" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>serverRank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>1|hse7db:</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                    </customfields>
    </item>
</channel>
</rss>