else
{
char *proj_str = palloc(maxproj4len);
- int id = abs(srid);
+ int id = srid;
/* UTM North */
if ( id >= SRID_NORTH_UTM_START && id <= SRID_NORTH_UTM_END )
{
- snprintf(proj_str, maxproj4len, "+proj=utm +zone=%d +ellps=WGS84 +datum=WGS84 +units=m +no_defs", id - SRID_NORTH_UTM_START);
+ snprintf(proj_str, maxproj4len, "+proj=utm +zone=%d +ellps=WGS84 +datum=WGS84 +units=m +no_defs", id - SRID_NORTH_UTM_START + 1);
}
/* UTM South */
else if ( id >= SRID_SOUTH_UTM_START && id <= SRID_SOUTH_UTM_END )
{
- snprintf(proj_str, maxproj4len, "+proj=utm +zone=%d +south +ellps=WGS84 +datum=WGS84 +units=m +no_defs", id - SRID_SOUTH_UTM_START);
+ snprintf(proj_str, maxproj4len, "+proj=utm +zone=%d +south +ellps=WGS84 +datum=WGS84 +units=m +no_defs", id - SRID_SOUTH_UTM_START + 1);
}
/* Lambert Azimuthal Equal Area South Pole */
else if ( id == SRID_SOUTH_LAMBERT )
WHERE f_table_name = 'road_pg' AND f_geometry_column = 'roads_geom';
DROP TABLE road_pg;
+-- #1596
+WITH inp AS ( SELECT
+ 'POLYGON((-176 -22,-176 -21,-175 -21,-175 -22,-176 -22))'::geography as a,
+ 'POINT(-176 -22)'::geography as p
+) SELECT '#1596', ST_Summary(ST_Intersection(a,p)) FROM inp;
+
-- Clean up
DELETE FROM spatial_ref_sys;