Nathan wrote:
> Alexander Sidorov wrote:
>> Hello!
>>
>> What is the most efficient way of filtering geomerty objects by
>> latitude/longitude? I need to retrieve LinkedGeoData objects inside some
>> rectangular boundaries. Here is how I filter objects now :
>>
>> where
>> {
>>   ?entity geo:lat ?lat .
>>   ?entity geo:long ?long .
>>   FILTER ( ?lat >= 56.4881360279505 && ?lat <= 56.5118226056529 && ?long >=
>> 84.9451732635498 && ?long <= 84.9880886077881 )
>> }
>>
>> One more possible implementation:
>>
>> where
>> {
>>   ?entity geo:geometry ?geo .
>>   FILTER ( bif:st_y(?geo) >= 56.4881360279505 && bif:st_y(?geo) <=
>> 56.5118226056529 && bif:st_x(?geo) >= 84.9451732635498 && bif:st_x(?geo) <=
>> 84.9880886077881 )
>> }
>>
>> What is the most efficient way?
> 
> I would have though st_within [1] would have been fastest, but you could
> just run the three versions and time each one to see which is fastest.
> 
> http://docs.openlinksw.com/virtuoso/fn_st_within.html
> 

ack ignore that, getting confused between mysql and virtuoso; was
thinking of "mbr contains" functionality where you see if points are
within a minimum bounding rectangle.

staff: is support for mbr and related functions planned, wip or due soon?

Best,

Nathan

Reply via email to