[gdal-dev] ogr2ogr from postGIS to shapefile not clipping

Even Rouault even.rouault at spatialys.com
Fri Aug 24 07:25:17 PDT 2018


On vendredi 24 août 2018 05:35:46 CEST Pere Roca Ristol wrote:
> I want to run a SQL query, in postgis 2.3.2, converting the result in a
> shapefile (using OGR2OGR) This is the SQL query that* perfectly works* from
> pgADmin:
> 
> select geom,a_code as code,ST_Area(ST_Transform(ST_Intersection(TABLE1.geom,
> ST_GeomFromText('POLYGON((31.7 -13.1, 31.6
>  -13.04,31.96 -13.04,31.9 -13.1,31.7
>  -13.1))',4326) ),32736))*0.0001::double precision as area from TABLE1
> where...
> 
> Trying go execute in ogr2ogr (see below), the '*clipping*' part doesn't
> work,so I get the *full* postGIS table (but in the saved shapefile)

What do you call the 'clipping part' : the ST_Intersection uses inside the 
ST_Area ? That clips only for the purpose of ST_Area operation, but not in the 
geom column that is selected. So it is expected that your geometries in the 
geom column are not clipped (neither in pgadmin, ogr2ogr or whatever other 
tool)

> 
> ogr2ogr -f 'ESRI Shapefile' unzipped/test_sql.shp PG:'host=myhost user=user
> dbname=dbname password=ww!' -sql 'select geom,a_code as
> code,ST_Area(ST_Transform(ST_Intersection(TABLE1.geom,
> ST_GeomFromText('POLYGON((31.7 -13.1, 31.6
> -13.04,31.96 -13.04,31.9 -13.1,31.7 -13.1))',4326)
> ),32736))*0.0001::double precision as area from TABLE1 where...'
> 
> Later i discovered parameters like...
> 
> [-clipsrc [xmin ymin xmax ymax]|WKT|datasource|spat_extent]
>            [-clipsrcsql sql_statement] [-clipsrclayer layer]
>            [-clipsrcwhere expression]
>            [-clipdst [xmin ymin xmax ymax]|WKT|datasource]
>            [-clipdstsql sql_statement] [-clipdstlayer layer]

Those will only operate on the source or target SRS. If you need to clip in a 
intermediate SRS, then you need to do the clipping in SQL with ST_Transform 
and ST_Intersection in the column that selects the geometry.

-- 
Spatialys - Geospatial professional services
http://www.spatialys.com


More information about the gdal-dev mailing list