[postgis-users] Benshmark postgis

George Silva georger.silva at gmail.com
Thu Nov 25 10:30:51 PST 2010


To eliminate the problemas presented by Paul, create a regular grid of 1x1
degrees and populate it randomly with points. Then make your test. All
square polygons will have 4 vertexes and the test is "less biased".

George

On Thu, Nov 25, 2010 at 3:22 PM, Paul Ramsey <pramsey at opengeo.org> wrote:

> Depends on who you think the results will be valid for. The
> countries-of-the-world is a somewhat non-standard GIS collection given
> the wide variation in polygon sizes, the large numbers of vertices in
> the larger polygons, and the extreme coverage of the overall area that
> the bounding boxes of the larger polygons command. In many ways your
> test of "against the whole world" will be largely a test of "against
> Russia, Canada, Brazil, and the USA"
>
> Data matters,
>
> P
>
>
> On Thu, Nov 25, 2010 at 9:16 AM, Arnaud Vandecasteele
> <arnaud.sig at gmail.com> wrote:
>  Hi all,
> >
> > I've to do a quick benchmark  of postgis. The case is to check if a
> > point is inside (or not) a polygon.
> > To do so, I've uploaded in my database a big shapefile which contains
> > all the world's countries.
> > After that I've made a simple stored function [1]. This one, take two
> > arguments :
> > 1 - The number of points to check
> > 2 - The number of polygon to check
> >
> > Then I run the query and i change the number of iterations or the
> > number of feature.
> >
> > Do you think it's a good way to have some pertinents results ?
> >
> >
> > Best regards
> >
> > Arnaud
> >
> >
> > [1]
> > -- Function: random_poi(integer, integer)
> >
> > -- DROP FUNCTION random_poi(integer, integer);
> >
> > CREATE OR REPLACE FUNCTION random_poi(integer, integer)
> >  RETURNS void AS
> > $BODY$
> > DECLARE
> >        iteration alias for $1;
> >        nb_feat alias for $2;
> >        pt_x numeric;
> >        pt_y numeric;
> >        geom_poi geometry;
> >        i int := 0;
> > BEGIN
> >        WHILE i < iteration LOOP
> >                i := i + 1;
> >                -- CREATE RANDOM POSITION
> >                pt_x := random()*100;
> >                pt_y := random()*100;
> >                -- CREATE RANDOM GEOM POI
> >                geom_poi := ST_GeometryFromText(text 'POINT('||pt_x||'
> '||pt_y||')');
> >                PERFORM ST_CONTAINS(geom_poi, the_geom) FROM world_poly
> LIMIT nb_feat;
> >        END LOOP;
> >        return;
> > END;
> > $BODY$
> >  LANGUAGE 'plpgsql' IMMUTABLE STRICT
> >  COST 100;
> > ALTER FUNCTION random_poi(integer, integer) OWNER TO postgres;
> > _______________________________________________
> > postgis-users mailing list
> > postgis-users at postgis.refractions.net
> > http://postgis.refractions.net/mailman/listinfo/postgis-users
> >
> _______________________________________________
> postgis-users mailing list
> postgis-users at postgis.refractions.net
> http://postgis.refractions.net/mailman/listinfo/postgis-users
>



-- 
George R. C. Silva

Desenvolvimento em GIS
http://blog.geoprocessamento.net
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.osgeo.org/pipermail/postgis-users/attachments/20101125/1c3f9893/attachment.html>


More information about the postgis-users mailing list