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