[postgis-users] creating a grid; transform error

Puneet Kishor punk.kish at gmail.com
Thu Mar 15 20:52:11 PDT 2012


Thanks Mike... works.


On Mar 15, 2012, at 10:08 PM, Mike Toews wrote:

> On 16 March 2012 15:47, Puneet Kishor <punk.kish at gmail.com> wrote:
>> I am trying to create a simple 1 deg x 1 deg grid and transform it to spherical mercator
>> 
>>        SELECT ST_Transform(ST_MakeEnvelope(minx, miny, maxx, maxy, 4326), 900913) the_geom
>>        FROM (
>>                SELECT lng minx, lat miny, (lng + 1) maxx, (lat + 1) maxy
>>                FROM (
>>                        SELECT Generate_series(-180, 180, 1) lng, Generate_series(-90, 90, 1) lat
>>                ) series
>>                WHERE (lng + 1) < 181 AND (lat + 1) < 91
>>        ) lat_lng
>> 
>> 
>> I get
>> 
>>        ERROR: transform: couldn't project point (-180 -90 0): tolerance condition error (-20)
>> 
>> 
>> 
>> What am I doing wrong?
> 
> Transform has difficulties at the poles, since the limits of math are stretched.
> 
> If you aren't gridding polar bears and/or penguins, then you should
> use only latitudes from 79S to 79N. Try this:
> 
> SELECT ST_Transform(ST_MakeEnvelope(minx, miny, maxx, maxy, 4326),
> 900913) the_geom
> FROM (
>    SELECT lng minx, lat miny, (lng + 1) maxx, (lat + 1) maxy
>    FROM (
>        SELECT Generate_series(-180, 179, 1) lng, Generate_series(-89,
> 88, 1) lat
>    ) series
>    ORDER BY lng, lat
> ) lat_lng;




More information about the postgis-users mailing list