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
28476
October 19, 2004 06:04AM
10932
October 19, 2004 07:55AM
9334
October 19, 2004 11:14AM
10369
October 21, 2004 09:28AM
9248
October 19, 2004 06:59PM
7710
October 20, 2004 07:39AM
7719
October 21, 2004 09:10AM
8963
October 22, 2004 07:17AM
6897
October 23, 2004 02:48AM
6317
October 23, 2004 03:09AM
6443
October 23, 2004 03:12AM
6318
October 23, 2004 02:59PM
8092
October 24, 2004 12:34PM
5602
October 24, 2004 01:31PM
Re: clustering by latitude / longitude
13248
October 21, 2005 10:21AM
7358
October 24, 2005 05:07PM
5659
January 28, 2006 05:24AM
5214
March 02, 2006 04:24PM
7306
October 09, 2007 09:28AM
5822
December 06, 2005 05:34AM
7119
December 06, 2005 06:36AM
5400
December 24, 2005 01:10PM
8959
December 26, 2005 03:49PM
5530
October 09, 2007 09:36AM
7234
December 26, 2005 03:51PM
14389
December 26, 2005 04:21PM
16217
January 20, 2006 10:26AM
7629
January 11, 2006 06:37AM
10504
February 26, 2006 05:31PM
15930
March 02, 2006 05:23PM
5588
May 02, 2006 03:09PM
8165
May 03, 2006 08:59AM
8718
June 06, 2006 04:09AM
29533
December 13, 2007 04:10PM
5641
August 15, 2008 01:52AM
6262
April 05, 2006 02:59PM
4801
May 02, 2006 03:22PM
5783
May 05, 2006 09:44AM
14718
June 25, 2006 09:32PM
5592
August 30, 2006 12:54PM
6117
July 14, 2007 01:09AM
7719
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.