<!-- 
RSS generated by JIRA (9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66) at Thu Feb 08 02:55:06 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-772] geo polygon searches</title>
                <link>https://jira.mongodb.org/browse/SERVER-772</link>
                <project id="10000" key="SERVER">Core Server</project>
                    <description></description>
                <environment></environment>
        <key id="11542">SERVER-772</key>
            <summary>geo polygon searches</summary>
                <type id="4" iconUrl="https://jira.mongodb.org/secure/viewavatar?size=xsmall&amp;avatarId=14710&amp;avatarType=issuetype">Improvement</type>
                                            <priority id="3" iconUrl="https://jira.mongodb.org/images/icons/priorities/major.svg">Major - P3</priority>
                        <status id="6" iconUrl="https://jira.mongodb.org/images/icons/statuses/closed.png" description="The issue is considered finished, the resolution is correct. Issues which are closed can be reopened.">Closed</status>
                    <statusCategory id="3" key="done" colorName="success"/>
                                    <resolution id="9">Done</resolution>
                                        <assignee username="greg_10gen">Greg Studer</assignee>
                                    <reporter username="eliot">Eliot Horowitz</reporter>
                        <labels>
                    </labels>
                <created>Wed, 17 Mar 2010 10:53:52 +0000</created>
                <updated>Tue, 12 Jul 2016 00:29:21 +0000</updated>
                            <resolved>Thu, 14 Apr 2011 15:10:16 +0000</resolved>
                                                    <fixVersion>1.9.0</fixVersion>
                                    <component>Querying</component>
                                        <votes>27</votes>
                                    <watches>26</watches>
                                                                                                                <comments>
                            <comment id="28930" author="auto" created="Wed, 13 Apr 2011 22:27:20 +0000"  >&lt;p&gt;Author:&lt;/p&gt;
{u&apos;login&apos;: u&apos;gregstuder&apos;, u&apos;name&apos;: u&apos;gregs&apos;, u&apos;email&apos;: u&apos;greg@10gen.com&apos;}
&lt;p&gt;Message: exact results for polygon searches &lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-772&quot; title=&quot;geo polygon searches&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-772&quot;&gt;&lt;del&gt;SERVER-772&lt;/del&gt;&lt;/a&gt;&lt;br/&gt;
Branch: master&lt;br/&gt;
&lt;a href=&quot;https://github.com/mongodb/mongo/commit/845eb8c9d8924f990ae36f81bf50a12dc38458e8&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/mongodb/mongo/commit/845eb8c9d8924f990ae36f81bf50a12dc38458e8&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="28834" author="greg_10gen" created="Tue, 12 Apr 2011 17:52:40 +0000"  >&lt;p&gt;Still should address precision issues in polygon searches.&lt;/p&gt;</comment>
                            <comment id="28833" author="auto" created="Tue, 12 Apr 2011 17:49:25 +0000"  >&lt;p&gt;Author:&lt;/p&gt;
{u&apos;login&apos;: u&apos;gregstuder&apos;, u&apos;name&apos;: u&apos;gregs&apos;, u&apos;email&apos;: u&apos;greg@10gen.com&apos;}
&lt;p&gt;Message: cache bounding boxes no distance required &lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-772&quot; title=&quot;geo polygon searches&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-772&quot;&gt;&lt;del&gt;SERVER-772&lt;/del&gt;&lt;/a&gt;&lt;br/&gt;
Branch: master&lt;br/&gt;
&lt;a href=&quot;https://github.com/mongodb/mongo/commit/46363cf5f2a46cec5add6ffcf784881d45e3322b&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/mongodb/mongo/commit/46363cf5f2a46cec5add6ffcf784881d45e3322b&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="28832" author="auto" created="Tue, 12 Apr 2011 17:49:24 +0000"  >&lt;p&gt;Author:&lt;/p&gt;
{u&apos;login&apos;: u&apos;gregstuder&apos;, u&apos;name&apos;: u&apos;gregs&apos;, u&apos;email&apos;: u&apos;greg@10gen.com&apos;}
&lt;p&gt;Message: randomized polygon test for &lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-772&quot; title=&quot;geo polygon searches&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-772&quot;&gt;&lt;del&gt;SERVER-772&lt;/del&gt;&lt;/a&gt;&lt;br/&gt;
Branch: master&lt;br/&gt;
&lt;a href=&quot;https://github.com/mongodb/mongo/commit/678dd045058bdef50c217a6c6ca8a254401416cb&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/mongodb/mongo/commit/678dd045058bdef50c217a6c6ca8a254401416cb&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="28831" author="auto" created="Tue, 12 Apr 2011 17:49:22 +0000"  >&lt;p&gt;Author:&lt;/p&gt;
{u&apos;login&apos;: u&apos;gregstuder&apos;, u&apos;name&apos;: u&apos;gregs&apos;, u&apos;email&apos;: u&apos;greg@10gen.com&apos;}
&lt;p&gt;Message: converted to new geohash expand algorithm &lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-772&quot; title=&quot;geo polygon searches&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-772&quot;&gt;&lt;del&gt;SERVER-772&lt;/del&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;currently uses non-exact matching logic&lt;br/&gt;
Branch: master&lt;br/&gt;
&lt;a href=&quot;https://github.com/mongodb/mongo/commit/c05b16d7711ff5d5b63b60e7d9ccb049eb08b379&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/mongodb/mongo/commit/c05b16d7711ff5d5b63b60e7d9ccb049eb08b379&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="28830" author="auto" created="Tue, 12 Apr 2011 17:49:21 +0000"  >&lt;p&gt;Author:&lt;/p&gt;
{u&apos;login&apos;: u&apos;bgianfo&apos;, u&apos;name&apos;: u&apos;Brian Gianforcaro&apos;, u&apos;email&apos;: u&apos;b.gianfo@gmail.com&apos;}
&lt;p&gt;Message: &lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-772&quot; title=&quot;geo polygon searches&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-772&quot;&gt;&lt;del&gt;SERVER-772&lt;/del&gt;&lt;/a&gt; Add $polygon capabilties to GeoSpatial Search&lt;/p&gt;

&lt;p&gt;Add the new GeoPolygonBrowse which uses a point a ray&lt;br/&gt;
casting algorithm to determine if a point is contained&lt;br/&gt;
in a N-point polygon, convex polygon&apos;s should be supported.&lt;/p&gt;

&lt;p&gt;A general unit test was added also for the plugin was added also&lt;br/&gt;
Branch: master&lt;br/&gt;
&lt;a href=&quot;https://github.com/mongodb/mongo/commit/ec2af8b55aaed263b875943bd73be2bc7ba3d780&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/mongodb/mongo/commit/ec2af8b55aaed263b875943bd73be2bc7ba3d780&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="24907" author="redbeard0531" created="Tue, 1 Mar 2011 00:08:30 +0000"  >&lt;p&gt;@Germ&#225;n: no, the 2d index is only for storing points, not shapes.&lt;/p&gt;</comment>
                            <comment id="23574" author="lordflies" created="Thu, 10 Feb 2011 16:29:35 +0000"  >&lt;p&gt;I&apos;m not sure if this would help me with my current problem. Find below the description:&lt;/p&gt;

&lt;p&gt;1. There are venues (e.g shops) stored as documents in the database. Their location is represented as a single point.&lt;/p&gt;

&lt;p&gt;2. There are big venues (e.g. airports, parks) stored as documents in the database. Their location is represented as a polygon (array of ordered points = vertexes) instead of as a single point.&lt;/p&gt;

&lt;p&gt;3. I need to search (=GeoNear) for the venues around certain coordenates and get back venues whose location is either defined as a single point or a polygon.&lt;/p&gt;

&lt;p&gt;4. Bare in mind that I could be near the polygon (e.g. close to one of the edges) but far from its vertexes so a search engine that only check that my coordenates are near the vertexes wouldn&apos;t work.&lt;/p&gt;

&lt;p&gt;In other words, would I be able to use GeoNear() to get the distance between a single point an a polygon?&lt;/p&gt;

&lt;p&gt;Would this fix help me with my problem? &lt;/p&gt;</comment>
                            <comment id="22744" author="virtualandy" created="Thu, 27 Jan 2011 16:50:55 +0000"  >&lt;p&gt;I guess this is a separate issue, but wanted to put in a request for &apos;finding bounding regions containing a query point.&apos; &lt;/p&gt;

&lt;p&gt;I mentioned this at MongoBoulder to Kyle and some of the other folks, but it would be fantastic (not to mention a huge advantage over other doc data stores) to query MongoDB for which stored polygons contain a point. Polygon intersection (which polygons intersect with this one?) and other geospatial-ly features would be great, too. Thanks for considering it.&lt;/p&gt;</comment>
                            <comment id="22686" author="redbeard0531" created="Tue, 25 Jan 2011 22:50:04 +0000"  >&lt;p&gt;This ticket is for finding all points within a bounding polygon.&lt;/p&gt;

&lt;p&gt;Finding bounding regions containing a query point (geocoding) is a different problem and will probably require a different index type since the current one is only for storing points, not shapes.&lt;/p&gt;</comment>
                            <comment id="22356" author="caged" created="Fri, 14 Jan 2011 04:52:07 +0000"  >&lt;p&gt;I think what Carlos is speaking of and what the patch implement are two separate use cases.  The proposed patch would return all points within a given bounding box, while Carlos&apos; proposal would return all bounding boxes containing a particular point.&lt;/p&gt;

&lt;p&gt;It&apos;s not 100% clear which one of these scenarios are covered by this ticket.  I see value in both of them.&lt;/p&gt;</comment>
                            <comment id="22250" author="carlos8f" created="Mon, 10 Jan 2011 22:55:59 +0000"  >&lt;p&gt;The commit above doesn&apos;t enable much in the way of geocoding, which I think would be a huge use case. To geocode, a given point must be checked against geometry stored in mongo. Here&apos;s a possible syntax, following the GeoJSON spec (&lt;a href=&quot;http://geojson.org/geojson-spec.html#geometry-objects&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;http://geojson.org/geojson-spec.html#geometry-objects&lt;/a&gt;)&lt;/p&gt;

&lt;p&gt;mypoint = &lt;/p&gt;
{type: &quot;Point&quot;, coordinates: [-123.45, 34.56]}
&lt;p&gt;;&lt;br/&gt;
db.features.find({&quot;geometry.coordinates&quot;: {$contains: mypoint}});&lt;/p&gt;

&lt;p&gt;...where the &quot;geometry&quot; property is a GeoJSON-compliant geometry object of a polygon.&lt;/p&gt;

&lt;p&gt;A variety of geometric functions could be implemented using this syntax. Perhaps the GEOS library (&lt;a href=&quot;http://geos.osgeo.org/&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;http://geos.osgeo.org/&lt;/a&gt;) could be incorporated as an optional build option, to support some of the more exotic geometric stuff.&lt;/p&gt;

&lt;p&gt;I would probably use this feature on a daily basis if it was part of mongoDB. For the moment I&apos;ve implemented equivalent functionality in PHP at &lt;a href=&quot;https://github.com/carlos8f/metageo&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/carlos8f/metageo&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="20270" author="eliot" created="Fri, 12 Nov 2010 20:24:11 +0000"  >&lt;p&gt;working with a contributor on getting a patch merged&lt;/p&gt;</comment>
                            <comment id="19805" author="eliot" created="Fri, 29 Oct 2010 02:19:10 +0000"  >&lt;p&gt;Patch here:&lt;br/&gt;
&lt;a href=&quot;http://github.com/mongodb/mongo/pull/7&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;http://github.com/mongodb/mongo/pull/7&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="19440" author="cmolina" created="Thu, 21 Oct 2010 14:35:57 +0000"  >&lt;p&gt;After benchmarking against PostGIS, all we need to switch our entire vast amount of geospatial data crunching to mongodb is this feature. +1&lt;/p&gt;</comment>
                            <comment id="18716" author="mikejs" created="Thu, 30 Sep 2010 20:35:35 +0000"  >&lt;p&gt;Polygon indexes is the one thing preventing my project from dumping postgres entirely. Specifically we need to store various political boundaries (US state borders, legislative district boundaries, zip code areas, etc.) and then query which polygons a given point is within (being able to query which polygons a different given polygon is completely or partially contained within  would be a plus, too).&lt;/p&gt;</comment>
                            <comment id="13209" author="cgriego" created="Sat, 27 Mar 2010 14:48:07 +0000"  >&lt;p&gt;+1 for adding this feature. I want the ability to do queries based around Flickr&apos;s Shapefiles public dataset.&lt;br/&gt;
&lt;a href=&quot;http://code.flickr.com/blog/2009/05/21/flickr-shapefiles-public-dataset-10/&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;http://code.flickr.com/blog/2009/05/21/flickr-shapefiles-public-dataset-10/&lt;/a&gt;&lt;/p&gt;</comment>
                    </comments>
                <issuelinks>
                            <issuelinktype id="10011">
                    <name>Depends</name>
                                            <outwardlinks description="depends on">
                                        <issuelink>
            <issuekey id="11406">SERVER-690</issuekey>
        </issuelink>
                            </outwardlinks>
                                                        </issuelinktype>
                            <issuelinktype id="10012">
                    <name>Related</name>
                                            <outwardlinks description="related to">
                                        <issuelink>
            <issuekey id="21689">SERVER-3726</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="21687">SERVER-3725</issuekey>
        </issuelink>
                            </outwardlinks>
                                                                <inwardlinks description="is related to">
                                                        </inwardlinks>
                                    </issuelinktype>
                    </issuelinks>
                <attachments>
                    </attachments>
                <subtasks>
                    </subtasks>
                <customfields>
                                                <customfield id="customfield_10050" key="com.atlassian.jira.toolkit:comments">
                        <customfieldname># Replies</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>17.0</customfieldvalue>
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                <customfield id="customfield_10055" key="com.atlassian.jira.ext.charting:firstresponsedate">
                        <customfieldname>Date of 1st Reply</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>Sat, 27 Mar 2010 14:48:07 +0000</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_10052" key="com.atlassian.jira.toolkit:dayslastcommented">
                        <customfieldname>Days since reply</customfieldname>
                        <customfieldvalues>
                                        12 years, 45 weeks ago
    
                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_18254" key="com.onresolve.jira.groovy.groovyrunner:scripted-field">
                        <customfieldname>Dependencies</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue><![CDATA[<s><a href='https://jira.mongodb.org/browse/SERVER-690'>SERVER-690</a></s>]]></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>ramon.fernandez@mongodb.com</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_11151" key="com.atlassian.jira.toolkit:LastCommentDate">
                        <customfieldname>Last public comment date</customfieldname>
                        <customfieldvalues>
                            12 years, 45 weeks 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_10051" key="com.atlassian.jira.toolkit:participants">
                        <customfieldname>Participants</customfieldname>
                        <customfieldvalues>
                                        <customfieldvalue>virtualandy</customfieldvalue>
            <customfieldvalue>auto</customfieldvalue>
            <customfieldvalue>cmolina</customfieldvalue>
            <customfieldvalue>carlos8f</customfieldvalue>
            <customfieldvalue>cgriego</customfieldvalue>
            <customfieldvalue>eliot</customfieldvalue>
            <customfieldvalue>lordflies</customfieldvalue>
            <customfieldvalue>greg_10gen</customfieldvalue>
            <customfieldvalue>caged</customfieldvalue>
            <customfieldvalue>mathias@mongodb.com</customfieldvalue>
            <customfieldvalue>mikejs</customfieldvalue>
    
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                        <customfield id="customfield_14254" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>Product Rank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>1|hrpqcf:</customfieldvalue>

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

                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_10558" key="com.pyxis.greenhopper.jira:gh-global-rank">
                        <customfieldname>Rank (Obsolete)</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>22553</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_10053" key="com.atlassian.jira.ext.charting:timeinstatus">
                        <customfieldname>Time In Status</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|hrkcqn:</customfieldvalue>

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