Hi Mike
Sorry for not getting back to you sooner. I don't think what you're trying to
do is possible with Sphinx, I'm afraid - it's really only useful at comparing
points with points, not points with areas.
Perhaps look into PostGIS or other such tools?
--
Pat
On 30/09/2011, at 5:47 AM, Mike Ackerman wrote:
> I have a model which belongs_to a "Location" model which contains a
> latitude, longitude, and radius. This effectively forms a circular
> area that this item covers on the map.
>
> I'm attempting to filter my results by determining if the point passed
> into my geo-search scope lies within my Model's 'Location' area that
> it covers.
>
> I attempted using:
> :with => {"@geodist" => 0.0..loc.radius} before I realized that the
> location that I'm passing in is a single point and has no radius.
>
> Instead I need to do some math and figure out if say:
> (myPoint.lat - locationModelInstance.lat)^2 + (myPoint.long -
> locationModelInstance.long)^2 < locationModelInstance.radius
>
> Am I able to do math somewhere inside of the sphinx scope? I see in
> the documentation that :conditions expects a hash with key/value
> pairs...
>
> I want something like this (but obviously not using conditions b/c i
> can't):
> sphinx_scope(:falls_within_area) { |loc|
> { :geo => [loc.lat.to_radians, loc.lng.to_radians],
> :conditions => { (loc.lat - location.lat)^2 + (loc.lng -
> location.lng)^2 <= location.radius^2 },
> :order => "@geodist ASC"
> }
> }
>
> --
> You received this message because you are subscribed to the Google Groups
> "Thinking Sphinx" group.
> To post to this group, send email to [email protected].
> To unsubscribe from this group, send email to
> [email protected].
> For more options, visit this group at
> http://groups.google.com/group/thinking-sphinx?hl=en.
>
--
You received this message because you are subscribed to the Google Groups
"Thinking Sphinx" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to
[email protected].
For more options, visit this group at
http://groups.google.com/group/thinking-sphinx?hl=en.