Re: clustering by latitude / longitude
Hey guys,
I agree that restricting your query to a latitude and longitude region is the best proposed solution thus far. However, it is a spatially partitioned indexing method and might not (or maybe it is!) right for your application. The problem with using a spatial partitioning indexing is that it does not reduce the complexity involved if the dataset has clustering (lots of datapoints densely packed within a given region - something probably very common for the service you're offering since one would expect the number of datapoints in a region to be directly proportional to the population in that area so cities would have a dense set of points whereas suburban areas would be much more sparse). In the extreme, if ALL your datapoints fell within a latitude/longitude region (of the smallest granularity region size you're using) then your query's performance is the same as if you didn't partition the space at all!
Also, how are you going to deal with searching for datapoints in neighboring regions that might fall within your range query?
To mitigate all of the above issues, my suggestion is to pursue the "spatial extensions" of mySql as was suggested by another member. mySql uses an R-Tree to index your dataset. It is a dataset partitioning index so it scales better with whatever dataset you give it (unless your dataset is uniformly distributed over the space then it's performance should be roughly that of the latitude/longitude method, no worse). Plus all the complex issues you raised above (especially with regard to performance) have been worked out and are highly optimized for storing on external memory.
I haven't used mySql for spatial queries so I couldn't help you out there (the mySql reference pages should though), but I have learned a bit of the algorithms and theory involved in spatial indexing methods. Sorry if this isn't of much practical value.
Edited 2 time(s). Last edit at 10/21/2005 10:22AM by Dustin Burke.
Subject
Views
Written By
Posted
30242
October 19, 2004 06:04AM
12522
October 19, 2004 07:55AM
9685
October 19, 2004 11:14AM
11383
October 21, 2004 09:28AM
9554
October 19, 2004 06:59PM
8178
October 20, 2004 07:39AM
8030
October 21, 2004 09:10AM
9297
October 22, 2004 07:17AM
7944
October 23, 2004 02:48AM
7917
October 23, 2004 03:09AM
6765
October 23, 2004 03:12AM
6610
October 23, 2004 02:59PM
8617
October 24, 2004 12:34PM
6721
October 24, 2004 01:31PM
Re: clustering by latitude / longitude
14631
October 21, 2005 10:21AM
7635
October 24, 2005 05:07PM
7483
January 28, 2006 05:24AM
5481
March 02, 2006 04:24PM
7572
October 09, 2007 09:28AM
7640
December 06, 2005 05:34AM
7423
December 06, 2005 06:36AM
5651
December 24, 2005 01:10PM
9365
December 26, 2005 03:49PM
5885
October 09, 2007 09:36AM
7543
December 26, 2005 03:51PM
14753
December 26, 2005 04:21PM
16514
January 20, 2006 10:26AM
7920
January 11, 2006 06:37AM
12063
February 26, 2006 05:31PM
16387
March 02, 2006 05:23PM
5886
May 02, 2006 03:09PM
8487
May 03, 2006 08:59AM
9071
June 06, 2006 04:09AM
31008
December 13, 2007 04:10PM
6025
August 15, 2008 01:52AM
6514
April 05, 2006 02:59PM
5090
May 02, 2006 03:22PM
6135
May 05, 2006 09:44AM
15175
June 25, 2006 09:32PM
7282
August 30, 2006 12:54PM
6362
July 14, 2007 01:09AM
9422
November 03, 2006 10:25AM
Sorry, you can't reply to this topic. It has been closed.
Content reproduced on this site is the property of the respective copyright holders.
It is not reviewed in advance by Oracle and does not necessarily represent the opinion
of Oracle or any other party.