[gdal-dev] New behaviour of "PROMOTE_TO_MULTI" ?

Bo Victor Thomsen bo.victor.thomsen at gmail.com
Sun Jul 31 01:00:11 PDT 2022


Thanks to Hugues and Richard for responding to my questions.

However, I'm using the ogr2ogr inside a DOS .cmd file like this:

for /R D:\tmp %%f in (*.tab) do ogr2ogr --config PG_USE_COPY yes 
-progress -lco OVERWRITE=YES -lco SCHEMA=mat -dim XY -a_srs EPSG:25832 
-f "PostgreSQL" PG:"host=localhost port=5432 user=*** password=*** 
dbname=geodata" "%%f"

I.e. iterating through a directory plus sub-directories and converting 
every found tab file into a table into schema "mat" using ogr2ogr

The tab files contains either points, linestrings or polygons. Polygons 
and linestrings can be a mix of simple and multi-objects. Each tab-file 
contains only one main type.

So I can't use "-nlt multipolygons". And the point of this project was 
to get rid of a fairly complex postgres based function that checks an 
uploaded table and change its geometry type using "alter table ... using 
st_multi(geom)" type of commands.

That was why I tried to use "-nlt promote_to_multi". According to this 
mail:

https://lists.osgeo.org/pipermail/gdal-dev/2012-September/034128.html

Even Rouault describes the exact behaviour I'm looking for: Simple 
linestrings / polygons will be changed to multi types and points will be 
left alone. And the geometry type will be set to a "multi*" as needed.

What actually happens is that linestrings, polygons /and/ points all are 
changed to multi type, but the geometry type remains "Geometry".


Med venlig hilsen / Kind regards

Bo Victor Thomsen

Den 25-07-2022 kl. 15:52 skrev Hugues François:
> Hi,
>
> I guess you should either
> => drop the created table prior to launch the ogr2ogr command with the 
> -nlt PROMOTE_TO_MULTI switch
> => or maually alter the existing table: ALTER TABLE schema.table ALTER 
> COLUMN geom TYPE geometry(MultiPolygon, SRID) using ST_MULTI(geom)
>
> HTH,
> Hug
>
>
> ------------------------------------------------------------------------
> *De: *"Richard Greenwood" <richard.greenwood at gmail.com>
> *À: *"Bo Victor Thomsen" <bo.victor.thomsen at gmail.com>
> *Cc: *"gdal dev" <gdal-dev at lists.osgeo.org>
> *Envoyé: *Lundi 25 Juillet 2022 15:32:35
> *Objet: *Re: [gdal-dev] New behaviour of "PROMOTE_TO_MULTI" ?
>
> Have you tried -nlt MultiPolygon?
>
> On Mon, Jul 25, 2022 at 2:54 AM Bo Victor Thomsen 
> <bo.victor.thomsen at gmail.com> wrote:
>
>     I have a MapInfo .tab file containing polygons, both simple and
>     multipolygons (and only polygons).
>
>     Using this command: (all ogr2ogr commands are one-liners, but
>     examples are split for lucidity)
>
>     ogr2ogr
>       --config PG_USE_COPY yes
>       -progress
>       -lco OVERWRITE=YES
>       -dim XY
>       -f "PostgreSQL" PG:"host=localhost port=5432 user=***
>     password=*** dbname=geodata"
>       FREDSKOV.TAB
>
>     will (correctly) create a table in Postgres of PostGIS type
>     "Geometry"
>
>     If I change the command to:
>
>     ogr2ogr
>       --config PG_USE_COPY yes
>       -progress
>       -lco OVERWRITE=YES
>       -dim XY
>     *  -nlt PROMOTE_TO_MULTI*
>       -f "PostgreSQL" PG:"host=localhost port=5432 user=***
>     password=*** dbname=geodata"
>       FREDSKOV.TAB
>
>     I would expect the table to change the PostGIS type to
>     "MultiPolygon". However it still is registered as "Geometry".
>
>     Checking the table using SQL command:
>
>     SELECT ST_geometrytype(wkb_geometry), count(*) FROM mat.fredskov
>     group by 1
>
>     affirms, that all geometries now is of type "ST_MultiPolygon".
>
>     AFAIK, this is a new behaviour. Or what ?
>
>     Postgres/Postgis version : 13.2,  3.1
>
>     OGR2OGR version:  both 3.4 andf 3.6 dev.
>
>
>
>
>     -- 
>     Med venlig hilsen / Kind regards
>
>     Bo Victor Thomsen
>
>     _______________________________________________
>     gdal-dev mailing list
>     gdal-dev at lists.osgeo.org
>     https://lists.osgeo.org/mailman/listinfo/gdal-dev
>
>
>
> -- 
> Richard W. Greenwood
> www.greenwoodmap.com <http://www.greenwoodmap.com>
>
>
> [Fichier texte:ATT00001]
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.osgeo.org/pipermail/gdal-dev/attachments/20220731/7c14cb8f/attachment.htm>


More information about the gdal-dev mailing list