That's pretty cool, you just saved me an awful lot of time! Thanks, Jan On Mon, Apr 29, 2024 at 4:31 PM Even Rouault <even.roua...@spatialys.com> wrote:
> Hi, > > Something like: > > > from osgeo import ogr > original_field_names = [ "toolongforshapefile1", "toolongforshapefile2"] > map_to_shp = {} > tmpfilename = "/vsimem/temp.shp" > ds = ogr.GetDriverByName("ESRI Shapefile").CreateDataSource(tmpfilename) > lyr = ds.CreateLayer("temp") > lyr_defn = lyr.GetLayerDefn() > for name in original_field_names: > lyr.CreateField(ogr.FieldDefn(name)) > shp_field_name = lyr_defn.GetFieldDefn(lyr_defn.GetFieldCount() - > 1).GetNameRef() > map_to_shp[name] = shp_field_name > ds = None > ogr.GetDriverByName("ESRI Shapefile").DeleteDataSource(tmpfilename) > print(map_to_shp) > > Even > > Le 29/04/2024 à 16:23, Jan Heckman via gdal-dev a écrit : > > Hi everyone, > > I want to make a map of original (let's say postgresql/postgis) column > > names to those used in a shapefile after conversion; assuming that at > > least some column names in postgis will be over 10 characters in > > length, and shortening may produce conflicts. Basically I know how > > this is done, appending _<n>, but I hope that there is preferably a > > python method available in Qgis python to get the list of column names > > used in the shapefile. > > Any help or pointers are welcome! > > Thanks, > > Jan > > > > _______________________________________________ > > gdal-dev mailing list > > gdal-dev@lists.osgeo.org > > https://lists.osgeo.org/mailman/listinfo/gdal-dev > > -- > http://www.spatialys.com > My software is free, but my time generally not. > >
_______________________________________________ gdal-dev mailing list gdal-dev@lists.osgeo.org https://lists.osgeo.org/mailman/listinfo/gdal-dev