[postgis-users] Rv: Postgis for Postgres 64 bits
Darrel Maddy
darrel.maddy at newcastle.ac.uk
Sat Feb 4 13:59:52 PST 2012
Thanks again for the rapid response. I have been using gdal_translate as you suggest to reconstitute images, although, as yet, I have only successfully done this when the tiled target image is in a table of its own. I am probably being a bit slow but have not yet figured out how to extract one target image from a table which contains multiple tiled images using only gdal_translate - ideally I do not want to have to create a separate table for the target image but rather simply extract the image of interest from a PG table containing all of the images (hope that makes sense).
Darrel
-----Original Message-----
From: postgis-users-bounces at postgis.refractions.net [mailto:postgis-users-bounces at postgis.refractions.net] On Behalf Of Paragon Corporation
Sent: 04 February 2012 21:44
To: 'PostGIS Users Discussion'
Subject: Re: [postgis-users] Rv: Postgis for Postgres 64 bits
> "First thing 1000x1000 blocks is too big. If you are going to be
> doing a lot of ST_Value calls, you probably want to chunk your tiles
> to 100x100 or below.
>
> ST_Value currently requires doing a memcopy for each call so the
> bigger your tiles the more memcopying it will have to do.
>
> On top of that the bigger your tiles, the less useful ST_Intersects
> is. Its kind of the same issue with big geometries -- like if you
> stuffed all of africa in one record, and then were searching for a
> city in Africa, the ST_Intersects will not be that useful."
>
> Thanks for this. I did do a few tests. This is what I got:
>
> Tile Size Time
> 2000 350873ms
> 1000 235415
> 500 288298
> 300 234895
> 200 231374
>
> I guess I was concerned that at 200x200 the images were split across
> 3344 rows as opposed to the 176 of the 1000x1000. I am learning here,
> so I will give 100x100 a go (tomorrow) - I just worry about when I
> need to put the images back together (images will be uploaded as tiles
> and then the originals - model outputs - will be deleted). The
> geometry is composed of
> 100 points (this is for testing only - final configuration has yet to
> be determined) - I figured it would be faster if they were all on the
> same tile, but may be not?
>
> Thanks
>
> Darrel
>
Bborie probably has more info on this since he's working it and can hopefully chime in. Right now the ST_Union you'd use in the db is not very efficient since its using plpgsql. Doing it with the gdal_translate is a lot faster and you can do basic where conditions with that like where file_name='...'.
In 2.0 ST_Union will be done mostly in C so should be faster.
As far as reconstituting, yes and no. If your tiles are smaller and you don't need the full tile, doing clip operations and union subset that covers a geometric region will be faster again because of the whole memcopy issue.
However if you need to export the tile -- reconsitute the original, then you are right a bigger tile would be better, though you may want to try gdal_translate as that I think is much more efficient for export.
http://www.postgis.org/documentation/manual-svn/RT_FAQ.html#id2997931
A lot fo these performance issues we'll be dealing with in the 2.1 release, but for 2.0, we are just focussing on functionality and stability.
Hope that helps,
Regina
_______________________________________________
postgis-users mailing list
postgis-users at postgis.refractions.net
http://postgis.refractions.net/mailman/listinfo/postgis-users
More information about the postgis-users
mailing list