[postgis-users] "Gist" code doesnt use "R-tree"....??? Why???

?? ? nacta46 at hotmail.com
Thu May 3 04:32:41 PDT 2007


>From: Mark Cave-Ayland <mark.cave-ayland at ilande.co.uk>
>Reply-To: PostGIS Users Discussion <postgis-users at postgis.refractions.net>
>To: PostGIS Users Discussion <postgis-users at postgis.refractions.net>
>Subject: Re: [postgis-users] "Gist" code doesnt use "R-tree"....??? Why???
>Date: Thu, 03 May 2007 10:36:40 +0100
>
>On Wed, 2007-05-02 at 18:49 +0900, ?? ? wrote:
> > Actalluy, "Gist" code doesnt use "R-tree".
> > There are "AM extention" functions and "gistproc.c" file which split to
> > "R-tree".
> > However, I checked on that the 'gistproc.c' function didnt be called 
>when i
> > was generating a 'index' with using 'gist' even though it was spatial 
>data.
> > So, I want to know how to use 'R-tree' with "gist".
>
>Are you talking about the PostGIS R-Tree implementation or the internal
>PostgreSQL implementation? If you can provide the SQL commands you used
>to generate your tables and indices, along with the version of
>PostgreSQL you are using, someone might be able to help you further.
>
>
>Kind regards,
>
>Mark.

Hi~ Thanks.

i used "prstgres 8.2.3 and postgis 1.2.1".

At first, i generated a table, geometry column, spatial index and then 
inserted point data until those were splitted.

SQL command using below method.

CREATE TABLE MAP (name varchar(20));
SELECT AddGeometryColumn('map','location',423,'POINT',2);
CREATE INDEX location_idx ON map USING GIST(location);
INSERT INTO map (name, location) VALUES ('a', GeomFromText('POINT(10 
552)',423));
INSERT INTO map (name, location) VALUES ('b', GeomFromText('POINT(16 
4562)',423));
INSERT INTO map (name, location) VALUES ('c', GeomFromText('POINT(124 
562)',423));
INSERT INTO map (name, location) VALUES ('d', GeomFromText('POINT(1234 
452)',423));
INSERT INTO map (name, location) VALUES ('e', GeomFromText('POINT(13 
5672)',423));
INSERT INTO map (name, location) VALUES ('f', GeomFromText('POINT(15 
62)',423));

As a debugging method, i called the elog function located in c files in 
/src/backand/access/gist
to print out the name of function and file when the function was called as 
the code version of postgres.

Thanks alot~





More information about the postgis-users mailing list