Quantcast
Channel: Question and Answer » gdal
Viewing all articles
Browse latest Browse all 397

How to create dataset in python with creation options like in ogr2ogr with -dsco options

$
0
0

In ogr2ogr there is dsco option (data source creation option).
e.g. ogr2ogr -f DXF -dsco trailer=trailer_buildings.dxf -dsco header=header_buildings.dxf out.dxf test_buldings_shp.shp. It works well, but how can I use the same dsco options in Python?

from osgeo import ogr,gdal
import os,sys

def create_dxf(dxf_out_path):   
    header_path = u'c:header.dxf'
    trailer_path = u'c:trailer.dxf'
    dxf_driver = ogr.GetDriverByName('DXF')
    dsco = {'HEADER':header_path,'TRAILER':trailer_path}
    dxf_ds = dxf_driver.CreateDataSource(dxf_out_path,**dsco)
    gdal.SetConfigOption('DXF_INLINE_BLOCKS', 'TRUE')

This code throws an error: TypeError: Driver_CreateDataSource() takes at most 3 arguments (4 given)

If I keep only one argument in dsco dictionary I get the following error:
TypeError: ‘header’ is an invalid keyword argument for this function. I’ve tried UPPER and lower cases but nothing helps. Documentation tells to watch supported options for each format here. And I clearly see that in DXF format there are HEADER and TRAILER creation option. But Python errors tells me vise versa things. I think option name in ogr2ogr utility doesn’t correspond to option name in python gdal library, and if it so, where i can find documentation with full list of options for each vector format and for each language and utility? (e.g. ogr2ogr: -dsco HEADER='dxf_path.dxf'; python: kwargs = {'dxf_header':'dxf_path.dxf'}, etc…)


Viewing all articles
Browse latest Browse all 397

Trending Articles