2010/4/1 Grant Ingersoll <gsing...@apache.org>

>
> On Apr 1, 2010, at 8:22 AM, Helleringer, Nicolas wrote:
>
> I did put a comment on the jira issue pointing to the code I wrote inside
> Chris Male perspective.
> He answered on the JIRA topic as well.
>
>
> Yep, saw that.  If you wish for that code to be in Lucene, you need to post
> it as a patch to Lucene and grant provenance to the ASF.
>
That is what we want to happen. We are working on it, both of us.


> Here's another question:
> Given the same latitude and same distance, shouldn't there be the same
> number of box ids no matter the longitude?  Yet the following code says
> otherwise:
> public void testCartesianPolyFilterBuilder() throws Exception {
>     CartesianPolyFilterBuilder cpfb = new
> CartesianPolyFilterBuilder(CartesianTierPlotter.DEFALT_FIELD_PREFIX, 2, 15);
>     //try out some shapes
>     final double miles = 20.0;
>         // Hawaii
>         // 2300 miles to Marshall Island Airfield
>     //Hawaii to Midway is 911 miles
>     lat = 0;
>     lng = -179.9;
>     Shape shape;
>     shape = cpfb.getBoxShape(lat, lng, miles);
>     System.out.println("Tier: " + shape.getTierLevel());
>     System.out.println("area: " + shape.getArea().size());
>     lat = 30;
>     lng = -100;
>     shape = cpfb.getBoxShape(lat, lng, miles);
>     System.out.println("Tier: " + shape.getTierLevel());
>     System.out.println("area: " + shape.getArea().size());
>
>     lat = 30;
>     lng = 100;
>     shape = cpfb.getBoxShape(lat, lng, miles);
>     System.out.println("Tier: " + shape.getTierLevel());
>     System.out.println("area: " + shape.getArea().size());
>   }
>
> -Grant
>

No.
The longitude has an effect because of the projection used to go from a
spherical world to a flat coordinates system.
See http://www.nsshutdown.com/projects/lucene/whitepaper/locallucene_v2.html
 and http://en.wikipedia.org/wiki/Sinusoidal_projection

You can clearly see that all longitude are not equals in terms of number of
boxes.

You could ask why using Sinusoidal projection ? Because it is does not have
to  much distance distortion in populated places and it is very simple to
calculate.

Hope it helps.

Nicolas

Reply via email to